欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應(yīng)用容器的遷移方法及裝置與流程

文檔序號(hào):12824302閱讀:472來(lái)源:國(guó)知局
應(yīng)用容器的遷移方法及裝置與流程

本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及應(yīng)用容器的遷移方法及裝置。



背景技術(shù):

近年來(lái),隨著docker(一個(gè)開(kāi)源的應(yīng)用容器引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器)容器的廣泛應(yīng)用,對(duì)docker容器中運(yùn)行的應(yīng)用的數(shù)據(jù)存儲(chǔ)也有了更多的需求。

存儲(chǔ)區(qū)域網(wǎng)絡(luò)(storageareanetwork,簡(jiǎn)稱san)是一種為存儲(chǔ)而建立的專用網(wǎng)絡(luò),其通過(guò)光纖通道交換機(jī)連接存儲(chǔ)陣列和服務(wù)器主機(jī),形成了一個(gè)專用的存儲(chǔ)網(wǎng)絡(luò),實(shí)現(xiàn)了塊存儲(chǔ)的網(wǎng)絡(luò)化。由于san存儲(chǔ)具有很好的傳輸速率和擴(kuò)展性能,因此非常適合應(yīng)用在docker上來(lái)實(shí)現(xiàn)應(yīng)用數(shù)據(jù)的持久化,但目前的san存儲(chǔ)有很大的缺陷:

1)多個(gè)節(jié)點(diǎn)同時(shí)接入san的時(shí)候,多個(gè)節(jié)點(diǎn)的數(shù)據(jù)不能保持同步,甚至?xí)汛鎯?chǔ)設(shè)備寫(xiě)壞;

2)docker容器從集群中的一個(gè)節(jié)點(diǎn)遷移到其它節(jié)點(diǎn)時(shí),docker容器對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)不能同時(shí)遷移。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的主要目的在于提出一種應(yīng)用容器的遷移方法及裝置,旨在實(shí)現(xiàn)集群的多個(gè)節(jié)點(diǎn)共享san塊存儲(chǔ),從而保證應(yīng)用容器在集群節(jié)點(diǎn)之間進(jìn)行遷移時(shí)對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)的同步。

為實(shí)現(xiàn)上述目的,本發(fā)明提供一種應(yīng)用容器的遷移方法,應(yīng)用于接入存儲(chǔ)區(qū)域網(wǎng)絡(luò)san塊存儲(chǔ)的集群主機(jī),所述集群主機(jī)搭載集群存儲(chǔ)系統(tǒng)和集群文件系統(tǒng),所述方法包括如下步驟:

在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息;

將所述待遷移應(yīng)用容器遷移至所述目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的所述san塊存儲(chǔ)配置信息控制所述集群文件系統(tǒng)在所述目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ);

將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

可選地,所述在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息的步驟之前,還包括:

在所述集群主機(jī)接入san塊存儲(chǔ)時(shí),通過(guò)所述集群文件系統(tǒng)對(duì)接入的所述san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至所述集群存儲(chǔ)系統(tǒng)。

可選地,所述將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中的步驟包括:

將接入的所述san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷;

將所述邏輯存儲(chǔ)卷掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

可選地,所述將所述邏輯存儲(chǔ)卷掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中的步驟包括:

將所述邏輯存儲(chǔ)卷掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中;

將掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中的所述邏輯存儲(chǔ)卷掛載至所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

可選地,所述方法還包括:

在接收到應(yīng)用容器的數(shù)據(jù)訪問(wèn)指令時(shí),根據(jù)所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄訪問(wèn)所述遷移后的應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ)。

此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種應(yīng)用容器的遷移裝置,應(yīng)用于接入存儲(chǔ)區(qū)域網(wǎng)絡(luò)san塊存儲(chǔ)的集群主機(jī),所述集群主機(jī)搭載集群存儲(chǔ)系統(tǒng)和集群文件系統(tǒng),所述裝置包括:

獲取模塊,用于在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息;

遷移模塊,用于將所述待遷移應(yīng)用容器遷移至所述目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的所述san塊存儲(chǔ)配置信息控制所述集群文件系統(tǒng)在所述目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ);

掛載模塊,用于將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

可選地,所述裝置還包括:

保存模塊,用于在所述集群主機(jī)接入san塊存儲(chǔ)時(shí),通過(guò)所述集群文件系統(tǒng)對(duì)接入的所述san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至所述集群存儲(chǔ)系統(tǒng)。

可選地,所述掛載模塊還用于:

將接入的所述san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷;

將所述邏輯存儲(chǔ)卷掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

可選地,所述掛載模塊還用于:

將所述邏輯存儲(chǔ)卷掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中;

將掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中的所述邏輯存儲(chǔ)卷掛載至所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

可選地,所述裝置還包括:

訪問(wèn)模塊,用于在接收到應(yīng)用容器的數(shù)據(jù)訪問(wèn)指令時(shí),根據(jù)所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄訪問(wèn)所述遷移后的應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ)。

本發(fā)明在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息;將所述待遷移應(yīng)用容器遷移至所述目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的所述san塊存儲(chǔ)配置信息控制所述集群文件系統(tǒng)在所述目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ);將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。本發(fā)明集群主機(jī)通過(guò)搭載特定的集群文件系統(tǒng)控制讀寫(xiě),能夠?qū)崿F(xiàn)集群的多個(gè)節(jié)點(diǎn)共享san塊存儲(chǔ);在應(yīng)用容器從集群主機(jī)的一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)時(shí),能夠通過(guò)另一個(gè)節(jié)點(diǎn)的文件目錄訪問(wèn)該應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ),即該應(yīng)用容器對(duì)應(yīng)的應(yīng)用數(shù)據(jù),從而保證了應(yīng)用容器在集群節(jié)點(diǎn)之間進(jìn)行遷移時(shí)對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)的同步。

附圖說(shuō)明

圖1為本發(fā)明各實(shí)施例的系統(tǒng)架構(gòu)示意圖;

圖2為本發(fā)明應(yīng)用容器的遷移方法第一實(shí)施例的流程示意圖;

圖3為本發(fā)明實(shí)施例中將san塊存儲(chǔ)掛載至應(yīng)用容器的示意圖;

圖4為本發(fā)明應(yīng)用容器的遷移方法第二實(shí)施例的流程示意圖;

圖5為本發(fā)明應(yīng)用容器的遷移方法第三實(shí)施例的流程示意圖;

圖6為本發(fā)明實(shí)施例中將san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷使用的示意圖;

圖7為本發(fā)明應(yīng)用容器的遷移方法第四實(shí)施例的流程示意圖;

圖8為本發(fā)明應(yīng)用容器的遷移裝置第一實(shí)施例的功能模塊示意圖;

圖9為本發(fā)明應(yīng)用容器的遷移裝置第二實(shí)施例的功能模塊示意圖;

圖10為本發(fā)明應(yīng)用容器的遷移裝置第三實(shí)施例的功能模塊示意圖。

本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。

具體實(shí)施方式

應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明提供一種應(yīng)用容器的遷移方法。

參照?qǐng)D1,圖1為本發(fā)明各實(shí)施例的系統(tǒng)架構(gòu)示意圖。該系統(tǒng)架構(gòu)包括由若干主機(jī)節(jié)點(diǎn)組成的集群主機(jī)、控制集群主機(jī)進(jìn)行文件讀寫(xiě)操作的集群文件系統(tǒng)以及用于存儲(chǔ)san塊存儲(chǔ)信息的集群存儲(chǔ)系統(tǒng),其中,集群主機(jī)接入san塊存儲(chǔ),且集群主機(jī)上搭載集群存儲(chǔ)系統(tǒng)和集群文件系統(tǒng)。

同時(shí)參照?qǐng)D2,圖2為本發(fā)明應(yīng)用容器的遷移方法第一實(shí)施例的流程示意圖。所述方法包括如下步驟:

步驟s10,在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息;

本實(shí)施例中的應(yīng)用容器為docker容器,docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器,docker容器可以為不同的應(yīng)用程序提供一個(gè)獨(dú)立的運(yùn)行環(huán)境。在docker容器中運(yùn)行的應(yīng)用所產(chǎn)生的運(yùn)行數(shù)據(jù),均可以保存在san塊存儲(chǔ)中,即便搭載該容器的主機(jī)宕機(jī),也能保證應(yīng)用運(yùn)行的數(shù)據(jù)不丟失,從而實(shí)現(xiàn)應(yīng)用數(shù)據(jù)的持久化。

在圖1所示的系統(tǒng)架構(gòu)中,由于主機(jī)節(jié)點(diǎn)宕機(jī)、擴(kuò)容或不能滿足應(yīng)用程序的操作環(huán)境等因素的存在,應(yīng)用容器往往需要從集群主機(jī)中的一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)。在本實(shí)施例中,首先,當(dāng)應(yīng)用容器需要遷移時(shí),可由管理人員向集群主機(jī)輸入遷移指令,集群的控制器接收到應(yīng)用容器遷移指令時(shí),根據(jù)接收到的應(yīng)用容器遷移指令確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息,其中,san塊存儲(chǔ)配置信息包括塊存儲(chǔ)名稱、服務(wù)器地址以及訪問(wèn)服務(wù)器的賬號(hào)、密碼等信息。

步驟s20,將所述待遷移應(yīng)用容器遷移至所述目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的所述san塊存儲(chǔ)配置信息控制所述集群文件系統(tǒng)在所述目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ);

然后,集群的控制器根據(jù)應(yīng)用容器遷移指令將待遷移應(yīng)用容器遷移至目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的san塊存儲(chǔ)配置信息控制集群文件系統(tǒng)在目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ),之后,目標(biāo)節(jié)點(diǎn)的主機(jī)就可以讀寫(xiě)san塊存儲(chǔ)里面的數(shù)據(jù)。

步驟s30,將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

在目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ)后,再將接入的san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

具體地,參照?qǐng)D3,圖3為本發(fā)明實(shí)施例中將san塊存儲(chǔ)掛載至應(yīng)用容器的示意圖。假設(shè)san塊存儲(chǔ)分為存儲(chǔ)a和存儲(chǔ)b,則先將存儲(chǔ)a和存儲(chǔ)b分別掛載至目標(biāo)節(jié)點(diǎn)的文件目錄,形成/a/b和/a/c兩個(gè)目錄,再進(jìn)一步將/a/b和/a/c兩個(gè)目錄掛載到docker容器的文件目錄,形成/mnt/b和/mnt/c兩個(gè)目錄,這樣,主機(jī)就可通過(guò)這兩個(gè)目錄來(lái)訪問(wèn)應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ)。

在本實(shí)施例中,在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息;將所述待遷移應(yīng)用容器遷移至所述目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的所述san塊存儲(chǔ)配置信息控制所述集群文件系統(tǒng)在所述目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ);將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。本實(shí)施例集群主機(jī)通過(guò)搭載特定的集群文件系統(tǒng)控制讀寫(xiě),能夠?qū)崿F(xiàn)集群的多個(gè)節(jié)點(diǎn)共享san塊存儲(chǔ);在應(yīng)用容器從集群主機(jī)的一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)時(shí),能夠通過(guò)另一個(gè)節(jié)點(diǎn)的文件目錄訪問(wèn)該應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ),即該應(yīng)用容器對(duì)應(yīng)的應(yīng)用數(shù)據(jù),從而保證了應(yīng)用容器在集群節(jié)點(diǎn)之間進(jìn)行遷移時(shí)對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)的同步。

進(jìn)一步地,參照?qǐng)D4,圖4為本發(fā)明應(yīng)用容器的遷移方法第二實(shí)施例的流程示意圖?;谏鲜鰬?yīng)用容器的遷移方法第一實(shí)施例,在步驟s10之前,還可以包括:

步驟s40,在所述集群主機(jī)接入san塊存儲(chǔ)時(shí),通過(guò)所述集群文件系統(tǒng)對(duì)接入的所述san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至所述集群存儲(chǔ)系統(tǒng)。

在本實(shí)施例中,在集群主機(jī)接入san塊存儲(chǔ)時(shí),首先通過(guò)集群文件系統(tǒng)對(duì)接入的san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至集群存儲(chǔ)系統(tǒng),其中,san塊存儲(chǔ)配置信息包括塊存儲(chǔ)名稱、服務(wù)器地址以及訪問(wèn)服務(wù)器的賬號(hào)、密碼等信息;之后,各個(gè)節(jié)點(diǎn)在需要接入san塊存儲(chǔ)時(shí),可從集群存儲(chǔ)系統(tǒng)獲取到san塊存儲(chǔ)配置信息,然后將san塊存儲(chǔ)配置信息中的賬號(hào)、密碼和管理員輸入的賬號(hào)、密碼進(jìn)行比對(duì),若兩者一致,則允許該主機(jī)節(jié)點(diǎn)接入san塊存儲(chǔ),主機(jī)節(jié)點(diǎn)可以直接掛載該塊存儲(chǔ)并使用。需要說(shuō)明的是,集群文件系統(tǒng)可以支持多個(gè)主機(jī)同時(shí)掛載和讀寫(xiě),對(duì)于多個(gè)節(jié)點(diǎn)同時(shí)訪問(wèn)的情況,可采用分布式鎖來(lái)控制讀寫(xiě),從而保證讀寫(xiě)的準(zhǔn)確性和可靠性。

在本實(shí)施例中,在集群主機(jī)接入san塊存儲(chǔ)時(shí),通過(guò)集群文件系統(tǒng)對(duì)接入的san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至集群存儲(chǔ)系統(tǒng),能夠保證節(jié)點(diǎn)主機(jī)方便接入san塊存儲(chǔ),實(shí)現(xiàn)了多個(gè)主機(jī)共享san塊存儲(chǔ)。

進(jìn)一步地,參照?qǐng)D5,圖5為本發(fā)明應(yīng)用容器的遷移方法第三實(shí)施例的流程示意圖。基于上述應(yīng)用容器的遷移方法第一實(shí)施例,所述步驟s30可以包括:

步驟s31,將接入的所述san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷;

步驟s32,將所述邏輯存儲(chǔ)卷掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

為方便san塊存儲(chǔ)的管理,集群的控制器可將接入的san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷。

參照?qǐng)D6,圖6為本發(fā)明實(shí)施例中將san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷使用的示意圖。在主機(jī)接入san塊存儲(chǔ)時(shí),將san塊存儲(chǔ)劃分為多個(gè)volume(邏輯存儲(chǔ)卷),包括volume1、volume2和volume3,然后,可以將volume1掛載至docker容器1的/dir1目錄下,將volume3掛載至docker容器2的/dir1目錄下,將volume2掛載至docker容器1和docker容器3的/dir2目錄下,即不同的應(yīng)用容器可以使用同一個(gè)邏輯存儲(chǔ)卷,每個(gè)邏輯存儲(chǔ)卷也可以分配給不同的應(yīng)用容器,具體實(shí)施時(shí)可進(jìn)行靈活設(shè)置。此外,每個(gè)邏輯存儲(chǔ)卷可進(jìn)行單獨(dú)管理,且保持一定的獨(dú)立性,互相之間不受影響。

進(jìn)一步地,所述步驟s32可以包括:

步驟s321,將所述邏輯存儲(chǔ)卷掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中;

步驟s322,將掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中的所述邏輯存儲(chǔ)卷掛載至所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

在劃分好邏輯存儲(chǔ)卷之后,可先將邏輯存儲(chǔ)卷掛載至目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中,即主機(jī)的文件目錄,再進(jìn)一步將掛載至目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中的邏輯存儲(chǔ)卷掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中,由此完成應(yīng)用容器的遷移,同時(shí),在完成應(yīng)用容器的遷移之后,原主機(jī)節(jié)點(diǎn)可以移除不再使用的塊存儲(chǔ)。

在本實(shí)施例中,通過(guò)將接入主機(jī)節(jié)點(diǎn)的san塊存儲(chǔ)劃分為多個(gè)邏輯存儲(chǔ)卷,可以方便主機(jī)對(duì)san塊存儲(chǔ)的管理,充分利用san塊存儲(chǔ)資源。

進(jìn)一步地,參照?qǐng)D7,圖7為本發(fā)明應(yīng)用容器的遷移方法第四實(shí)施例的流程示意圖?;谏鲜鰬?yīng)用容器的遷移方法各實(shí)施例,所述步驟s30之后,還可以包括:

步驟s50,在接收到應(yīng)用容器的數(shù)據(jù)訪問(wèn)指令時(shí),根據(jù)所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄訪問(wèn)所述遷移后的應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ)。

可以理解的是,在多個(gè)主機(jī)節(jié)點(diǎn)同時(shí)接入san塊存儲(chǔ)時(shí),若其中一個(gè)主機(jī)節(jié)點(diǎn)通過(guò)數(shù)據(jù)讀寫(xiě)修改了san塊存儲(chǔ)中的應(yīng)用數(shù)據(jù),則其他節(jié)點(diǎn)通過(guò)接入的塊存儲(chǔ)也可以訪問(wèn)該修改的應(yīng)用數(shù)據(jù),由此能夠?qū)崿F(xiàn)多個(gè)節(jié)點(diǎn)應(yīng)用數(shù)據(jù)的同步。

在本實(shí)施例中,目標(biāo)主機(jī)在接收到應(yīng)用容器的數(shù)據(jù)訪問(wèn)指令時(shí),可根據(jù)遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄訪問(wèn)遷移后的應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ),從而訪問(wèn)san塊存儲(chǔ)中的應(yīng)用數(shù)據(jù),由此,應(yīng)用容器從集群主機(jī)的一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)時(shí),可在目標(biāo)節(jié)點(diǎn)通過(guò)相應(yīng)的文件目錄訪問(wèn)該應(yīng)用容器對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù),從而實(shí)現(xiàn)了應(yīng)用容器在集群節(jié)點(diǎn)之間進(jìn)行遷移時(shí)對(duì)應(yīng)的應(yīng)用數(shù)據(jù)的同步。

本發(fā)明還提供一種應(yīng)用容器的遷移裝置。

參照?qǐng)D1,圖1為本發(fā)明實(shí)施例存儲(chǔ)區(qū)域網(wǎng)絡(luò)san的系統(tǒng)架構(gòu)示意圖。該系統(tǒng)架構(gòu)包括由若干主機(jī)節(jié)點(diǎn)組成的集群主機(jī)、控制集群主機(jī)進(jìn)行文件讀寫(xiě)操作的集群文件系統(tǒng)以及用于存儲(chǔ)san塊存儲(chǔ)信息的集群存儲(chǔ)系統(tǒng),其中,集群主機(jī)接入san塊存儲(chǔ),且集群主機(jī)上搭載集群存儲(chǔ)系統(tǒng)和集群文件系統(tǒng)。

同時(shí)參照?qǐng)D8,圖8為本發(fā)明應(yīng)用容器的遷移裝置第一實(shí)施例的功能模塊示意圖。所述裝置包括:

獲取模塊10,用于在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息;

本實(shí)施例中的應(yīng)用容器為docker容器,docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器,docker容器可以為不同的應(yīng)用程序提供一個(gè)獨(dú)立的運(yùn)行環(huán)境。在docker容器中運(yùn)行的應(yīng)用所產(chǎn)生的運(yùn)行數(shù)據(jù),均可以保存在san塊存儲(chǔ)中,即便搭載該容器的主機(jī)宕機(jī),也能保證應(yīng)用運(yùn)行的數(shù)據(jù)不丟失,從而實(shí)現(xiàn)應(yīng)用數(shù)據(jù)的持久化。

在圖1所示的系統(tǒng)架構(gòu)中,由于主機(jī)節(jié)點(diǎn)宕機(jī)、擴(kuò)容或不能滿足應(yīng)用程序的操作環(huán)境等因素的存在,應(yīng)用容器往往需要從集群主機(jī)中的一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)。在本實(shí)施例中,首先,當(dāng)應(yīng)用容器需要遷移時(shí),可由管理人員向集群主機(jī)輸入遷移指令,獲取模塊10接收到應(yīng)用容器遷移指令時(shí),根據(jù)接收到的應(yīng)用容器遷移指令確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息,其中,san塊存儲(chǔ)配置信息包括塊存儲(chǔ)名稱、服務(wù)器地址以及訪問(wèn)服務(wù)器的賬號(hào)、密碼等信息。

遷移模塊20,用于將所述待遷移應(yīng)用容器遷移至所述目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的所述san塊存儲(chǔ)配置信息控制所述集群文件系統(tǒng)在所述目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ);

然后,遷移模塊20根據(jù)應(yīng)用容器遷移指令將待遷移應(yīng)用容器遷移至目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的san塊存儲(chǔ)配置信息控制集群文件系統(tǒng)在目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ),之后,目標(biāo)節(jié)點(diǎn)的主機(jī)就可以讀寫(xiě)san塊存儲(chǔ)里面的數(shù)據(jù)。

掛載模塊30,用于將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

在目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ)后,掛載模塊30再將接入的san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

具體地,參照?qǐng)D3,圖3為本發(fā)明實(shí)施例中將san塊存儲(chǔ)掛載至應(yīng)用容器的示意圖。假設(shè)san塊存儲(chǔ)分為存儲(chǔ)a和存儲(chǔ)b,則掛載模塊30先將存儲(chǔ)a和存儲(chǔ)b分別掛載至目標(biāo)節(jié)點(diǎn)的文件目錄,形成/a/b和/a/c兩個(gè)目錄,再進(jìn)一步將/a/b和/a/c兩個(gè)目錄掛載到docker容器的文件目錄,形成/mnt/b和/mnt/c兩個(gè)目錄,這樣,主機(jī)就可通過(guò)這兩個(gè)目錄來(lái)訪問(wèn)應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ)。

在本實(shí)施例中,獲取模塊10在接收到應(yīng)用容器遷移指令時(shí),確定待遷移應(yīng)用容器遷移的目標(biāo)節(jié)點(diǎn),并從所述集群存儲(chǔ)系統(tǒng)獲取預(yù)先存儲(chǔ)的san塊存儲(chǔ)配置信息;遷移模塊20將所述待遷移應(yīng)用容器遷移至所述目標(biāo)節(jié)點(diǎn),并根據(jù)獲取到的所述san塊存儲(chǔ)配置信息控制所述集群文件系統(tǒng)在所述目標(biāo)節(jié)點(diǎn)接入san塊存儲(chǔ);掛載模塊30將接入的所述san塊存儲(chǔ)掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。本實(shí)施例集群主機(jī)通過(guò)搭載特定的集群文件系統(tǒng)控制讀寫(xiě),能夠?qū)崿F(xiàn)集群的多個(gè)節(jié)點(diǎn)共享san塊存儲(chǔ);在應(yīng)用容器從集群主機(jī)的一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)時(shí),能夠通過(guò)另一個(gè)節(jié)點(diǎn)的文件目錄訪問(wèn)該應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ),即該應(yīng)用容器對(duì)應(yīng)的應(yīng)用數(shù)據(jù),從而保證了應(yīng)用容器在集群節(jié)點(diǎn)之間進(jìn)行遷移時(shí)對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù)的同步。

進(jìn)一步地,參照?qǐng)D9,圖9為本發(fā)明應(yīng)用容器的遷移裝置第二實(shí)施例的功能模塊示意圖?;谏鲜鰬?yīng)用容器的遷移裝置第一實(shí)施例,所述裝置還可以包括:

保存模塊40,用于在所述集群主機(jī)接入san塊存儲(chǔ)時(shí),通過(guò)所述集群文件系統(tǒng)對(duì)接入的所述san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至所述集群存儲(chǔ)系統(tǒng)。

在本實(shí)施例中,在集群主機(jī)接入san塊存儲(chǔ)時(shí),保存模塊40首先通過(guò)集群文件系統(tǒng)對(duì)接入的san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至集群存儲(chǔ)系統(tǒng),其中,san塊存儲(chǔ)配置信息包括塊存儲(chǔ)名稱、服務(wù)器地址以及訪問(wèn)服務(wù)器的賬號(hào)、密碼等信息;之后,各個(gè)節(jié)點(diǎn)在需要接入san塊存儲(chǔ)時(shí),可從集群存儲(chǔ)系統(tǒng)獲取到san塊存儲(chǔ)配置信息,然后將san塊存儲(chǔ)配置信息中的賬號(hào)、密碼和管理員輸入的賬號(hào)、密碼進(jìn)行比對(duì),若兩者一致,則允許該主機(jī)節(jié)點(diǎn)接入san塊存儲(chǔ),主機(jī)節(jié)點(diǎn)可以直接掛載該塊存儲(chǔ)并使用。需要說(shuō)明的是,集群文件系統(tǒng)可以支持多個(gè)主機(jī)同時(shí)掛載和讀寫(xiě),對(duì)于多個(gè)節(jié)點(diǎn)同時(shí)訪問(wèn)的情況,可采用分布式鎖來(lái)控制讀寫(xiě),從而保證讀寫(xiě)的準(zhǔn)確性和可靠性。

在本實(shí)施例中,在集群主機(jī)接入san塊存儲(chǔ)時(shí),通過(guò)集群文件系統(tǒng)對(duì)接入的san塊存儲(chǔ)進(jìn)行格式化處理,并將對(duì)應(yīng)的san塊存儲(chǔ)配置信息保存至集群存儲(chǔ)系統(tǒng),能夠保證節(jié)點(diǎn)主機(jī)方便接入san塊存儲(chǔ),實(shí)現(xiàn)了多個(gè)主機(jī)共享san塊存儲(chǔ)。

進(jìn)一步地,基于上述應(yīng)用容器的遷移裝置第一實(shí)施例,所述掛載模塊30還用于將接入的所述san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷;將所述邏輯存儲(chǔ)卷掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

為方便san塊存儲(chǔ)的管理,掛載模塊30可將接入的san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷。

參照?qǐng)D6,圖6為本發(fā)明實(shí)施例中將san塊存儲(chǔ)劃分為若干個(gè)邏輯存儲(chǔ)卷使用的示意圖。在主機(jī)接入san塊存儲(chǔ)時(shí),將san塊存儲(chǔ)劃分為多個(gè)volume(邏輯存儲(chǔ)卷),包括volume1、volume2和volume3,然后,可以將volume1掛載至docker容器1的/dir1目錄下,將volume3掛載至docker容器2的/dir1目錄下,將volume2掛載至docker容器1和docker容器3的/dir2目錄下,即不同的應(yīng)用容器可以使用同一個(gè)邏輯存儲(chǔ)卷,每個(gè)邏輯存儲(chǔ)卷也可以分配給不同的應(yīng)用容器,具體實(shí)施時(shí)可進(jìn)行靈活設(shè)置。此外,每個(gè)邏輯存儲(chǔ)卷可進(jìn)行單獨(dú)管理,且保持一定的獨(dú)立性,互相之間不受影響。

進(jìn)一步地,所述掛載模塊30還用于將所述邏輯存儲(chǔ)卷掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中;將掛載至所述目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中的所述邏輯存儲(chǔ)卷掛載至所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中。

在劃分好邏輯存儲(chǔ)卷之后,掛載模塊30可先將邏輯存儲(chǔ)卷掛載至目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中,即主機(jī)的文件目錄,再進(jìn)一步將掛載至目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的文件目錄中的邏輯存儲(chǔ)卷掛載至遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄中,由此完成應(yīng)用容器的遷移,同時(shí),在完成應(yīng)用容器的遷移之后,原主機(jī)節(jié)點(diǎn)可以移除不再使用的塊存儲(chǔ)。

在本實(shí)施例中,通過(guò)將接入主機(jī)節(jié)點(diǎn)的san塊存儲(chǔ)劃分為多個(gè)邏輯存儲(chǔ)卷,可以方便主機(jī)對(duì)san塊存儲(chǔ)的管理,充分利用san塊存儲(chǔ)資源。

進(jìn)一步地,參照?qǐng)D10,圖10為本發(fā)明應(yīng)用容器的遷移裝置第三實(shí)施例的功能模塊示意圖?;谏鲜鰬?yīng)用容器的遷移裝置各實(shí)施例,所述裝置還可以包括:

訪問(wèn)模塊50,用于在接收到應(yīng)用容器的數(shù)據(jù)訪問(wèn)指令時(shí),根據(jù)所述遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄訪問(wèn)所述遷移后的應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ)。

可以理解的是,在多個(gè)主機(jī)節(jié)點(diǎn)同時(shí)接入san塊存儲(chǔ)時(shí),若其中一個(gè)主機(jī)節(jié)點(diǎn)通過(guò)數(shù)據(jù)讀寫(xiě)修改了san塊存儲(chǔ)中的應(yīng)用數(shù)據(jù),則其他節(jié)點(diǎn)通過(guò)接入的塊存儲(chǔ)也可以訪問(wèn)該修改的應(yīng)用數(shù)據(jù),由此能夠?qū)崿F(xiàn)多個(gè)節(jié)點(diǎn)應(yīng)用數(shù)據(jù)的同步。

在本實(shí)施例中,訪問(wèn)模塊50在接收到應(yīng)用容器的數(shù)據(jù)訪問(wèn)指令時(shí),可根據(jù)遷移后的應(yīng)用容器對(duì)應(yīng)的文件目錄訪問(wèn)遷移后的應(yīng)用容器對(duì)應(yīng)的san塊存儲(chǔ),從而訪問(wèn)san塊存儲(chǔ)中的應(yīng)用數(shù)據(jù),由此,應(yīng)用容器從集群主機(jī)的一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)時(shí),可在目標(biāo)節(jié)點(diǎn)通過(guò)相應(yīng)的文件目錄訪問(wèn)該應(yīng)用容器對(duì)應(yīng)的存儲(chǔ)數(shù)據(jù),從而實(shí)現(xiàn)了應(yīng)用容器在集群節(jié)點(diǎn)之間進(jìn)行遷移時(shí)對(duì)應(yīng)的應(yīng)用數(shù)據(jù)的同步。

以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
固镇县| 红安县| 神木县| 五常市| 常州市| 孟连| 平南县| 鄂托克前旗| 平果县| 阳新县| 金堂县| 武汉市| 时尚| 马关县| 鹤峰县| 马边| 名山县| 会宁县| 西畴县| 屏边| 来安县| 黄平县| 买车| 商河县| 阿克陶县| 南部县| 清原| 西乌珠穆沁旗| 额济纳旗| 沁阳市| 新丰县| 新津县| 龙口市| 湟源县| 广元市| 延吉市| 双流县| 沾化县| 益阳市| 东平县| 崇阳县|