[發(fā)明專利]一種基于CRIU的Podman自動(dòng)遷移系統(tǒng)及方法在審
| 申請(qǐng)?zhí)枺?/td> | 202011253412.8 | 申請(qǐng)日: | 2020-11-11 |
| 公開(kāi)(公告)號(hào): | CN112286640A | 公開(kāi)(公告)日: | 2021-01-29 |
| 發(fā)明(設(shè)計(jì))人: | 林菲;楊興;陳卓涵 | 申請(qǐng)(專利權(quán))人: | 杭州電子科技大學(xué) |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455;G06F8/61;G06F9/50;G06N3/00 |
| 代理公司: | 杭州浙科專利事務(wù)所(普通合伙) 33213 | 代理人: | 孫孟輝 |
| 地址: | 310018 浙*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 criu podman 自動(dòng) 遷移 系統(tǒng) 方法 | ||
本發(fā)明公開(kāi)了一種基于CRIU的Podman自動(dòng)遷移系統(tǒng),包括調(diào)度節(jié)點(diǎn)和工作節(jié)點(diǎn),所述工作節(jié)點(diǎn)上部署容器業(yè)務(wù),同時(shí)設(shè)置采集模塊、傳輸模塊、gRPC通信模塊等組件,所述調(diào)度節(jié)點(diǎn)上部署Etcd存儲(chǔ),分析與調(diào)度模塊以及gRPC通信模塊。本發(fā)明還公開(kāi)了一種基于CRIU的Podman自動(dòng)遷移方法。本發(fā)明實(shí)時(shí)監(jiān)控集群各節(jié)點(diǎn)資源使用情況,在資源使用超過(guò)預(yù)設(shè)限制時(shí),自動(dòng)選擇待遷移容器,通過(guò)調(diào)度與分析模塊選擇最合適的工作節(jié)點(diǎn),并遷移到目標(biāo)節(jié)點(diǎn)。整個(gè)過(guò)程無(wú)需人工干涉,使整個(gè)集群負(fù)載趨于均衡;Podman容器遷移采用動(dòng)態(tài)遷移的方式進(jìn)行,保留了容器運(yùn)行時(shí)的狀態(tài),在高性能計(jì)算場(chǎng)景下避免重新啟動(dòng)帶來(lái)的進(jìn)度丟失、重復(fù)計(jì)算。
技術(shù)領(lǐng)域
本發(fā)明屬于虛擬化技術(shù)熱遷移領(lǐng)域,具體涉及一種基于CRIU的Podman自動(dòng)遷移系統(tǒng)及方法。
背景技術(shù)
Linux容器是由Linux 內(nèi)核所提供的具有特定隔離功能的進(jìn)程,Linux容器技術(shù)能夠讓?xiě)?yīng)用及其整個(gè)運(yùn)行時(shí)環(huán)境(包括全部所需文件)一起進(jìn)行打包或隔離,從而在不同環(huán)境(如開(kāi)發(fā)、測(cè)試和生產(chǎn)等環(huán)境)之間輕松遷移應(yīng)用的同時(shí),還可保留應(yīng)用的全部功能。
容器技術(shù)采用Namespace、Cgroup和UnionFS技術(shù),完全采用沙箱機(jī)制,相互之間不會(huì)有任何接口。相比與傳統(tǒng)的虛擬化方式,具有諸多優(yōu)勢(shì),例如:實(shí)現(xiàn)更快的交付和部署;高效的擴(kuò)縮容;更高的資源利用率等。
虛擬機(jī)熱遷移是指在保證虛擬機(jī)中服務(wù)正常運(yùn)行的同時(shí),將其從一個(gè)物理主機(jī)拷貝到另一個(gè)物理主機(jī),整個(gè)遷移過(guò)程對(duì)用戶是透明的,即用戶感覺(jué)不到虛擬機(jī)位置的變化。與傳統(tǒng)虛擬機(jī)的熱遷移研究相比,目前針對(duì)容器熱遷移技術(shù)的研究還相對(duì)較少。其中對(duì)熱遷移過(guò)程中的研究主要集中在如何降低內(nèi)存頁(yè)的傳輸量,因?yàn)樘摂M機(jī)的內(nèi)存在所有遷移狀態(tài)中傳輸數(shù)據(jù)最多,耗時(shí)最長(zhǎng)。
Docker是現(xiàn)在廣泛使用的容器技術(shù),但由于其本身采用C/S架構(gòu),必須以root權(quán)限運(yùn)行一個(gè)守護(hù)進(jìn)程(docker daemon)進(jìn)程,這些缺點(diǎn)的存在可能有一定的安全隱患。
Podman是一個(gè)開(kāi)源的容器運(yùn)行時(shí)項(xiàng)目,提供與 Docker 非常相似的功能。它不需要系統(tǒng)上運(yùn)行任何守護(hù)進(jìn)程,并且也可以在沒(méi)有 root 權(quán)限的情況下運(yùn)行。Podman使用了經(jīng)典的fork-exec模型,該模型還提高了審計(jì)功能,因?yàn)橛捎谌鄙儆脩羟袚Q,審計(jì)系統(tǒng)可以記錄哪個(gè)用戶 執(zhí)行了與容器相關(guān)的操作。Podman的發(fā)展主要由Red Hat驅(qū)動(dòng),這導(dǎo)致將相應(yīng)的軟件包集成到Red Hat Enterprise Linux(RHEL)及其衍生版本中,這一細(xì)節(jié)對(duì)于經(jīng)常依賴基于RHEL發(fā)行版的HPC環(huán)境很有幫助。
針對(duì)Podman的自動(dòng)遷移系統(tǒng),部分功能可以借助CRIU的checkpoint/restore以及pre-dump等功能,仍需要借助一些外部腳本來(lái)實(shí)現(xiàn)選擇容器、選擇合適節(jié)點(diǎn)、自動(dòng)化遷移等功能添加到Podman中。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中存在的上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于CRIU的Podman自動(dòng)遷移系統(tǒng),包括調(diào)度節(jié)點(diǎn)和工作節(jié)點(diǎn),所述工作節(jié)點(diǎn)上部署容器業(yè)務(wù),同時(shí)設(shè)置采集模塊、傳輸模塊、gRPC通信模塊等組件,所述調(diào)度節(jié)點(diǎn)上部署Etcd存儲(chǔ),分析與調(diào)度模塊以及gRPC通信模塊。
進(jìn)一步的,所述采集模塊通過(guò)運(yùn)行shell命令和Podman自帶的命令,定時(shí)收集集群各節(jié)點(diǎn)的網(wǎng)絡(luò)帶寬、內(nèi)存大小、cpu負(fù)載、容器運(yùn)行等狀態(tài)信息,通過(guò)網(wǎng)絡(luò)傳輸存儲(chǔ)到所述Etcd存儲(chǔ)中,為后續(xù)分析與調(diào)度模塊提供數(shù)據(jù)集。
進(jìn)一步的,所述工作節(jié)點(diǎn)包括源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),在源節(jié)點(diǎn)上,傳輸模塊在接收gRPC通信模塊的信號(hào)后,完成源主機(jī)指定容器的檢查點(diǎn)設(shè)置,并保存鏡像文件到指定文件夾;在目標(biāo)節(jié)點(diǎn)上,在接收gRPC通信模塊的信號(hào)后,讀取指定位置上的鏡像文件,恢復(fù)容器運(yùn)行狀態(tài)。
進(jìn)一步的,所述分析與調(diào)度模塊根據(jù)待遷移容器的資源需求情況,利用優(yōu)化的蟻群算法選擇合適的集群節(jié)點(diǎn)進(jìn)行預(yù)調(diào)度,并將結(jié)果傳輸給工作節(jié)點(diǎn)上的gRPC通信模塊。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州電子科技大學(xué),未經(jīng)杭州電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011253412.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。





