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

云平臺(tái)的構(gòu)建方法及云平臺(tái)與流程

文檔序號(hào):11411042閱讀:1942來源:國知局
云平臺(tái)的構(gòu)建方法及云平臺(tái)與流程

本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種云平臺(tái)的構(gòu)建方法及云平臺(tái)。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,云計(jì)算由于其高效、便捷、可配置等優(yōu)勢(shì),正在逐漸取代傳統(tǒng)的計(jì)算方式。當(dāng)前,云計(jì)算的系統(tǒng)通??梢圆捎胦penstack架構(gòu)來實(shí)現(xiàn)。openstack通過提供計(jì)算服務(wù)(nova)、網(wǎng)絡(luò)服務(wù)(neutron)、塊存儲(chǔ)服務(wù)(cinder)、計(jì)算服務(wù)(glance)和認(rèn)證服務(wù)(keystone)等,可以作為云計(jì)算系統(tǒng)中的管理中間件。

為了構(gòu)建完整的云計(jì)算系統(tǒng),通常會(huì)為openstack配置相應(yīng)的底層服務(wù)。當(dāng)前,可以基于ceph系統(tǒng)建立存儲(chǔ)后端,以配合openstack的塊存儲(chǔ)服務(wù),從而為計(jì)算服務(wù)提供虛擬機(jī)鏡像的存取支持。

現(xiàn)有技術(shù)中,在云計(jì)算系統(tǒng)中通常僅配置單一的存儲(chǔ)后端,各個(gè)計(jì)算節(jié)點(diǎn)中虛擬機(jī)的鏡像文件均可以存儲(chǔ)于該單一的存儲(chǔ)后端中。然而,采用單一的存儲(chǔ)后端通常會(huì)存在以下問題:

1.一旦該存儲(chǔ)后端發(fā)生故障,會(huì)導(dǎo)致所有的計(jì)算節(jié)點(diǎn)陷入癱瘓,系統(tǒng)的容災(zāi)率較低;

2.隨著數(shù)據(jù)量的不斷增大,勢(shì)必需要對(duì)存儲(chǔ)后端進(jìn)行擴(kuò)容。當(dāng)前的擴(kuò)容方式是通過在存儲(chǔ)后端中添加存儲(chǔ)節(jié)點(diǎn),然而,在實(shí)際應(yīng)用中,通過添加存儲(chǔ)節(jié)點(diǎn)進(jìn)行擴(kuò)容的方式,有時(shí)候會(huì)導(dǎo)致計(jì)算節(jié)點(diǎn)中虛擬機(jī)發(fā)生崩潰,系統(tǒng)的穩(wěn)定性也較差。



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

本申請(qǐng)的目的在于提供一種云平臺(tái)的構(gòu)建方法及平臺(tái),能夠提高整個(gè)云平臺(tái)的容災(zāi)率和穩(wěn)定性。

為實(shí)現(xiàn)上述目的,本申請(qǐng)一方面提供一種云平臺(tái)的構(gòu)建方法,所述云平臺(tái)包括多個(gè)計(jì)算節(jié)點(diǎn)以及至少兩個(gè)存儲(chǔ)后端,所述構(gòu)建方法包括:

建立所述計(jì)算節(jié)點(diǎn)與所述至少兩個(gè)存儲(chǔ)后端之間的關(guān)聯(lián)關(guān)系,以使得每個(gè)計(jì)算節(jié)點(diǎn)有且僅有一個(gè)存儲(chǔ)后端與其關(guān)聯(lián)。

在本實(shí)施方式中,每個(gè)所述計(jì)算節(jié)點(diǎn)上部署至少一個(gè)虛擬機(jī);

當(dāng)計(jì)算節(jié)點(diǎn)的虛擬機(jī)生成鏡像文件時(shí),確定所述鏡像文件的類型;所述鏡像文件的類型包括基礎(chǔ)鏡像文件和導(dǎo)出鏡像文件;

根據(jù)所述鏡像文件的類型以及生成所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,對(duì)所述鏡像文件進(jìn)行存儲(chǔ)。

在本實(shí)施方式中,為所述存儲(chǔ)后端設(shè)置可用域;相應(yīng)地,建立所述計(jì)算節(jié)點(diǎn)與所述至少兩個(gè)存儲(chǔ)后端之間的關(guān)聯(lián)關(guān)系包括:

將所述計(jì)算節(jié)點(diǎn)劃分至所述可用域中,使得每個(gè)計(jì)算節(jié)點(diǎn)有且僅劃入一個(gè)可用域;將各個(gè)所述可用域的域值分配給各自的計(jì)算節(jié)點(diǎn)。

在本實(shí)施方式中,所述方法還包括:

當(dāng)存儲(chǔ)后端數(shù)量大于兩個(gè)時(shí),將存儲(chǔ)后端兩兩合并,并為合并后的存儲(chǔ)后端設(shè)置不同的可用域。

在本實(shí)施方式中,所述方法還包括:

當(dāng)某個(gè)可用域中的預(yù)設(shè)計(jì)算節(jié)點(diǎn)產(chǎn)生虛擬機(jī)變更計(jì)算節(jié)點(diǎn)操作時(shí),從該可用域中選擇可變更的目標(biāo)計(jì)算節(jié)點(diǎn);

將產(chǎn)生所述虛擬機(jī)變更計(jì)算節(jié)點(diǎn)操作的虛擬機(jī)從所述預(yù)設(shè)計(jì)算節(jié)點(diǎn)變更至所述目標(biāo)計(jì)算節(jié)點(diǎn)。

在本實(shí)施方式中,對(duì)所述鏡像文件進(jìn)行存儲(chǔ)包括:

當(dāng)所述鏡像文件為基礎(chǔ)鏡像文件時(shí),將所述鏡像文件在各個(gè)所述存儲(chǔ)后端中進(jìn)行存儲(chǔ)。

在本實(shí)施方式中,在將所述鏡像文件在各個(gè)所述存儲(chǔ)后端中進(jìn)行存儲(chǔ)之前,所述方法還包括:

為所述基礎(chǔ)鏡像文件添加可用域?qū)傩?,并將所述可用域?qū)傩缘臄?shù)值設(shè)置為空。

在本實(shí)施方式中,所述方法還包括:

在根據(jù)指定鏡像文件創(chuàng)建虛擬機(jī)時(shí),在計(jì)算服務(wù)中設(shè)置過濾器;

其中,所述過濾器用于確定所述指定鏡像文件的類型;當(dāng)所述指定鏡像文件的類型為基礎(chǔ)鏡像文件時(shí),選擇任一計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī);當(dāng)所述指定鏡像文件的類型為導(dǎo)出鏡像文件時(shí),選擇可用域的域值與所述指定鏡像文件的可用域的域值相同的一個(gè)計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)

在本實(shí)施方式中,對(duì)所述鏡像文件進(jìn)行存儲(chǔ)包括:

當(dāng)所述鏡像文件為導(dǎo)出鏡像文件時(shí),確定產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,并將所述鏡像文件存儲(chǔ)于確定出的所述存儲(chǔ)后端中。

在本實(shí)施方式中,在將所述鏡像文件存儲(chǔ)于確定出的所述存儲(chǔ)后端中之前,所述方法還包括:

確定產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的可用域的域值;

為所述鏡像文件添加可用域?qū)傩?,并將所述可用域?qū)傩缘馁x值設(shè)置為所述可用域的域值。

在本實(shí)施方式中,所述方法還包括:

在計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)和產(chǎn)生鏡像文件時(shí),取消在計(jì)算節(jié)點(diǎn)校驗(yàn)其所對(duì)應(yīng)存儲(chǔ)后端標(biāo)識(shí)是否和所使用鏡像在鏡像服務(wù)指定字段所包含的存儲(chǔ)后端標(biāo)識(shí)相一致的步驟。

在本實(shí)施方式中,所述方法還包括:

對(duì)虛擬機(jī)執(zhí)行導(dǎo)出鏡像文件的操作時(shí),由所述虛擬機(jī)所處的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的計(jì)算服務(wù)獲取所述導(dǎo)出鏡像文件的尺寸信息,并由所述計(jì)算服務(wù)將所述尺寸信息發(fā)送至鏡像服務(wù)。

另一方面,本申請(qǐng)還提供一種云平臺(tái),所述云平臺(tái)包括多個(gè)計(jì)算節(jié)點(diǎn)以及至少兩個(gè)存儲(chǔ)后端,每個(gè)所述計(jì)算節(jié)點(diǎn)上部署有至少一個(gè)虛擬機(jī),所述云平臺(tái)包括:

關(guān)聯(lián)關(guān)系建立單元,用于建立所述計(jì)算節(jié)點(diǎn)與所述至少兩個(gè)存儲(chǔ)后端之間的關(guān)聯(lián)關(guān)系,以使得每個(gè)計(jì)算節(jié)點(diǎn)有且僅有一個(gè)存儲(chǔ)后端與其關(guān)聯(lián);

鏡像文件類型確定單元,用于當(dāng)計(jì)算節(jié)點(diǎn)中產(chǎn)生鏡像文件時(shí),確定所述鏡像文件的類型;所述鏡像文件的類型包括基礎(chǔ)鏡像文件和導(dǎo)出鏡像文件;

鏡像文件存儲(chǔ)單元,用于根據(jù)所述鏡像文件的類型以及產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,對(duì)所述鏡像文件進(jìn)行存儲(chǔ)。

在本實(shí)施方式中,為所述存儲(chǔ)后端設(shè)置可用域;相應(yīng)地,所述關(guān)聯(lián)關(guān)系建立單元包括:

可用域劃分模塊,用于將所述計(jì)算節(jié)點(diǎn)劃分至各個(gè)可用域中,使得每個(gè)計(jì)算節(jié)點(diǎn)有且僅劃入一個(gè)可用域;

域值分配模塊,用于將各個(gè)所述可用域的域值分配給各自的計(jì)算節(jié)點(diǎn)。

在本實(shí)施方式中,所述云平臺(tái)還包括:

目標(biāo)計(jì)算節(jié)點(diǎn)確定單元,用于當(dāng)目標(biāo)可用域中的預(yù)設(shè)計(jì)算節(jié)點(diǎn)產(chǎn)生虛擬機(jī)變更計(jì)算節(jié)點(diǎn)操作時(shí),從該可用域中選擇可變更的目標(biāo)計(jì)算節(jié)點(diǎn);

變更單元,用于將產(chǎn)生所述虛擬機(jī)變更計(jì)算節(jié)點(diǎn)操作的虛擬機(jī)從所述預(yù)設(shè)計(jì)算節(jié)點(diǎn)變更至所述目標(biāo)計(jì)算節(jié)點(diǎn)處。

在本實(shí)施方式中,所述鏡像文件存儲(chǔ)單元包括:

基礎(chǔ)鏡像文件存儲(chǔ)模塊,用于當(dāng)所述鏡像文件為基礎(chǔ)鏡像文件時(shí),將所述鏡像文件在各個(gè)所述存儲(chǔ)后端中進(jìn)行存儲(chǔ);

導(dǎo)出鏡像文件存儲(chǔ)模塊,用于當(dāng)所述鏡像文件為導(dǎo)出鏡像文件時(shí),確定產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,并將所述鏡像文件存儲(chǔ)于確定出的所述存儲(chǔ)后端中。

在本實(shí)施方式中,所述云平臺(tái)還包括:

類型確定單元,用于在根據(jù)指定鏡像文件創(chuàng)建虛擬機(jī)時(shí),確定所述指定鏡像文件的類型;

虛擬機(jī)創(chuàng)建單元,用于當(dāng)所述指定鏡像文件的類型為基礎(chǔ)鏡像文件時(shí),選擇任一計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī);當(dāng)所述指定鏡像文件的類型為導(dǎo)出鏡像文件時(shí),選擇可用域的域值與所述指定鏡像文件的可用域的域值相同的一個(gè)計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)。

由上可見,本申請(qǐng)?zhí)峁┑募夹g(shù)方案,可以在云平臺(tái)中設(shè)置至少兩個(gè)存儲(chǔ)后端,這樣,在其中一個(gè)存儲(chǔ)后端發(fā)生故障時(shí),其它的存儲(chǔ)后端還能夠正常使用,提高了云平臺(tái)的容災(zāi)率。在具備至少兩個(gè)存儲(chǔ)后端的云平臺(tái)中,首先可以將各個(gè)計(jì)算節(jié)點(diǎn)分別與不同的存儲(chǔ)后端進(jìn)行關(guān)聯(lián),這樣,每一個(gè)存儲(chǔ)后端可以與各自的計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)。當(dāng)計(jì)算節(jié)點(diǎn)產(chǎn)生鏡像文件時(shí),需要根據(jù)鏡像文件的具體類型,有區(qū)分地進(jìn)行存儲(chǔ)。具體地,在本申請(qǐng)中,當(dāng)鏡像文件為基礎(chǔ)鏡像文件時(shí),需要在各個(gè)存儲(chǔ)后端中均進(jìn)行存儲(chǔ);而當(dāng)鏡像文件為導(dǎo)出鏡像文件時(shí),需要將該導(dǎo)出鏡像文件存儲(chǔ)至產(chǎn)生該導(dǎo)出鏡像文件的計(jì)算節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)后端中。這樣處理的目的在于,基礎(chǔ)鏡像只承載出廠狀態(tài)的操作系統(tǒng),因此可以由任一計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī),從而需要存儲(chǔ)于各個(gè)存儲(chǔ)后端中。而導(dǎo)出鏡像文件具備虛擬機(jī)運(yùn)行中的操作系統(tǒng)的某個(gè)用戶狀態(tài),將該導(dǎo)出鏡像文件存儲(chǔ)在生成該虛擬機(jī)的計(jì)算節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)后端,使得當(dāng)需要?jiǎng)?chuàng)建與導(dǎo)出鏡像文件狀態(tài)相同的虛擬機(jī)時(shí),可以利用該導(dǎo)出鏡像文件并選擇與同一存儲(chǔ)后端相關(guān)聯(lián)的計(jì)算節(jié)點(diǎn)以創(chuàng)建新的虛擬機(jī)。這樣,導(dǎo)出鏡像文件只可以存儲(chǔ)于其中一個(gè)存儲(chǔ)后端中?;诖?,通過增加額外的存儲(chǔ)后端,可以提高云平臺(tái)的容災(zāi)率,并使以添加新的存儲(chǔ)后端對(duì)云平臺(tái)進(jìn)行存儲(chǔ)擴(kuò)容時(shí)不再對(duì)線上運(yùn)行的虛擬機(jī)構(gòu)成影響,從而可以保證云平臺(tái)的穩(wěn)定性。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例一中云平臺(tái)的構(gòu)建方法流程圖;

圖2是本發(fā)明實(shí)施例一中計(jì)算節(jié)點(diǎn)與存儲(chǔ)后端的關(guān)聯(lián)示意圖;

圖3是本發(fā)明實(shí)施例一中鏡像文件的存儲(chǔ)示意圖;

圖4是本發(fā)明實(shí)施例二中云平臺(tái)的功能模塊圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。

實(shí)施例一

本申請(qǐng)?zhí)峁┑亩啻鎯?chǔ)后端的云平臺(tái)中,可以包括計(jì)算節(jié)點(diǎn)以及至少兩個(gè)存儲(chǔ)后端。其中,所述計(jì)算節(jié)點(diǎn)可以是具備數(shù)據(jù)處理功能的物理設(shè)備。為了充分利用計(jì)算節(jié)點(diǎn)的cpu、內(nèi)存等資源,在所述計(jì)算節(jié)點(diǎn)上可以承載零臺(tái)或多臺(tái)虛擬機(jī),這些虛擬機(jī)可以具備各自的操作系統(tǒng),以處理不同的計(jì)算任務(wù)。

在本實(shí)施方式中,所述計(jì)算節(jié)點(diǎn)可以基于openstack架構(gòu)進(jìn)行工作。所述計(jì)算節(jié)點(diǎn)可以與計(jì)算服務(wù)的子服務(wù)nova-compute相對(duì)應(yīng)。所述計(jì)算節(jié)點(diǎn)上的虛擬機(jī)在運(yùn)行時(shí),可以通過導(dǎo)出鏡像操作獲取運(yùn)行中虛擬機(jī)某個(gè)用戶態(tài)的鏡像文件。

在本實(shí)施方式中,所述存儲(chǔ)后端可以基于ceph文件系統(tǒng)進(jìn)行工作。所述存儲(chǔ)后端可以是分布式的結(jié)構(gòu),其中可以包含多個(gè)存儲(chǔ)節(jié)點(diǎn)。所述存儲(chǔ)節(jié)點(diǎn)可以是具備數(shù)據(jù)存儲(chǔ)功能的物理設(shè)備。

請(qǐng)參閱圖1,在本實(shí)施方式中,所述多存儲(chǔ)后端的云平臺(tái)的構(gòu)建方法可以包括以下步驟。

s1:建立所述計(jì)算節(jié)點(diǎn)與所述至少兩個(gè)存儲(chǔ)后端之間的關(guān)聯(lián)關(guān)系,以使得每個(gè)計(jì)算節(jié)點(diǎn)有且僅有一個(gè)存儲(chǔ)后端與其關(guān)聯(lián)。

在本實(shí)施方式中,由于具備至少兩個(gè)存儲(chǔ)后端,可以為每個(gè)存儲(chǔ)后端關(guān)聯(lián)相應(yīng)的計(jì)算節(jié)點(diǎn)。在實(shí)際應(yīng)用中,每個(gè)存儲(chǔ)后端可以對(duì)應(yīng)各自的可用域(availability_zone)。為了區(qū)分不同的可用域,可以預(yù)先為各個(gè)可用域設(shè)置相應(yīng)的域值。所述域值可以是一個(gè)數(shù)值,也可以是一個(gè)字符串,本申請(qǐng)文件并不做限定。例如,當(dāng)前具備兩個(gè)存儲(chǔ)后端,這兩個(gè)存儲(chǔ)后端分別對(duì)應(yīng)域值為“az1”和“az2”的兩個(gè)可用域。

在本實(shí)施方式中,可以將所述計(jì)算節(jié)點(diǎn)劃分至各個(gè)可用域中,其中,不同可用域中的計(jì)算節(jié)點(diǎn)各不相同。具體地,可以通過openstack計(jì)算服務(wù)的內(nèi)置指令,為各個(gè)計(jì)算節(jié)點(diǎn)設(shè)置相應(yīng)的域值。為計(jì)算節(jié)點(diǎn)設(shè)置的域值可以是當(dāng)前存儲(chǔ)后端對(duì)應(yīng)域值中的一個(gè)。例如,當(dāng)前兩個(gè)存儲(chǔ)后端的域值分別為“az1”和“az2”,那么可以為計(jì)算節(jié)點(diǎn)設(shè)置域值“az1”或者“az2”。需要說明的是,一個(gè)計(jì)算節(jié)點(diǎn)僅具備一個(gè)域值,因此,不同存儲(chǔ)后端關(guān)聯(lián)的計(jì)算節(jié)點(diǎn)各不相同。由上可見,將各個(gè)所述可用域的域值分配給各自關(guān)聯(lián)的計(jì)算節(jié)點(diǎn),從而可以實(shí)現(xiàn)對(duì)計(jì)算節(jié)點(diǎn)的劃分。

請(qǐng)參閱圖2,在一個(gè)實(shí)際應(yīng)用示例中,當(dāng)前共計(jì)存在m個(gè)存儲(chǔ)后端以及n個(gè)計(jì)算節(jié)點(diǎn)。其中,m個(gè)存儲(chǔ)后端對(duì)應(yīng)的可用域的域值依次為az1、az2直至azm。如圖2所示,n個(gè)計(jì)算節(jié)點(diǎn)可以被關(guān)聯(lián)至對(duì)應(yīng)的存儲(chǔ)后端,處于同一個(gè)存儲(chǔ)后端中的計(jì)算節(jié)點(diǎn)可以具備相同的域值。例如,存儲(chǔ)后端1中的計(jì)算節(jié)點(diǎn)1至i的域值均為“az1”。

在本申請(qǐng)一個(gè)實(shí)施方式中,在步驟s1之后還可以包括:

s2:當(dāng)計(jì)算節(jié)點(diǎn)的虛擬機(jī)產(chǎn)生鏡像文件時(shí),確定所述鏡像文件的類型;所述鏡像文件的類型包括基礎(chǔ)鏡像文件和導(dǎo)出鏡像文件。

在本實(shí)施方式中,計(jì)算節(jié)點(diǎn)中的虛擬機(jī)可以產(chǎn)生鏡像文件。具體地,所述鏡像文件可以被劃分為基礎(chǔ)鏡像文件和導(dǎo)出鏡像文件。其中,所述基礎(chǔ)鏡像文件可以指用原生操作系統(tǒng)(如centos7和windows2012等)制作的鏡像文件,所述基礎(chǔ)鏡像文件承載了出廠狀態(tài)的操作系統(tǒng),不具備用戶的個(gè)性化配置(如安裝的軟件和運(yùn)行的程序等)。所述導(dǎo)出鏡像文件指對(duì)運(yùn)行中的虛擬機(jī)通過導(dǎo)出鏡像操作獲得的鏡像文件,由于這一類的鏡像文件是針對(duì)運(yùn)行中的虛擬機(jī)產(chǎn)生的,因此這一類的鏡像文件通常會(huì)對(duì)應(yīng)一個(gè)系統(tǒng)運(yùn)行狀態(tài)。

在本實(shí)施方式中,由于基礎(chǔ)鏡像文件和導(dǎo)出鏡像文件的不同,因此對(duì)于基礎(chǔ)鏡像文建和導(dǎo)出鏡像文件的存儲(chǔ)方式也會(huì)存在不同。基于此,在計(jì)算節(jié)點(diǎn)中產(chǎn)生鏡像文件時(shí),要先確定所述鏡像文件的類型。

s3:根據(jù)所述鏡像文件的類型以及產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,對(duì)所述鏡像文件進(jìn)行存儲(chǔ)。

在本實(shí)施方式中,基礎(chǔ)鏡像文件不會(huì)帶有操作系統(tǒng)的運(yùn)行狀態(tài),因此可以由任一計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī),從而需要存儲(chǔ)于各個(gè)存儲(chǔ)后端中。而導(dǎo)出鏡像文件具備虛擬機(jī)的系統(tǒng)運(yùn)行狀態(tài),因此,只有與同一個(gè)存儲(chǔ)后端相關(guān)聯(lián)的計(jì)算節(jié)點(diǎn)才能夠根據(jù)該導(dǎo)出鏡像文件創(chuàng)建虛擬機(jī)。這樣,導(dǎo)出鏡像文件只可以存儲(chǔ)于其中一個(gè)存儲(chǔ)后端中。

在本實(shí)施方式中,當(dāng)所述鏡像文件為基礎(chǔ)鏡像文件時(shí),需要將所述鏡像文件在每個(gè)所述存儲(chǔ)后端中進(jìn)行存儲(chǔ)。具體地,可以在鏡像服務(wù)(glance)中,為所述鏡像文件添加可用域?qū)傩?,并將所述可用域?qū)傩缘闹翟O(shè)置為空(none)??捎糜?qū)傩缘闹禐榭占幢砻鞑粸樵撶R像文件指定可用域,該鏡像文件需要被存儲(chǔ)于每個(gè)存儲(chǔ)后端內(nèi)。

在本實(shí)施方式中,當(dāng)所述鏡像文件為導(dǎo)出鏡像文件時(shí),可以確定產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,并將所述鏡像文件存儲(chǔ)于確定出的所述存儲(chǔ)后端中。例如,處于可用域az1中的計(jì)算節(jié)點(diǎn)產(chǎn)生導(dǎo)出鏡像文件時(shí),只將該導(dǎo)出鏡像文件存儲(chǔ)于域值為az1的存儲(chǔ)后端內(nèi),在其它的存儲(chǔ)后端中不存在該鏡像的拷貝。具體地,可以確定產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的可用域的域值,并在鏡像服務(wù)(glance)中,為所述鏡像文件添加可用域?qū)傩?,并將所述可用域?qū)傩缘臄?shù)值設(shè)置為確定出的可用域的域值。例如,處于可用域az1中的計(jì)算節(jié)點(diǎn)產(chǎn)生導(dǎo)出鏡像文件后,計(jì)算服務(wù)為該導(dǎo)出鏡像文件添加可用域?qū)傩?,并將所述可用域?qū)傩缘闹翟O(shè)置為az1。

綜上,在本實(shí)施方式中,基礎(chǔ)鏡像文件可用域?qū)傩灾禐榭眨以谠破脚_(tái)上線時(shí)由運(yùn)維人員在每個(gè)存儲(chǔ)后端都準(zhǔn)備一份拷貝,因此使用基礎(chǔ)鏡像文件可由任一計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)。而導(dǎo)出鏡像文件可用域?qū)傩灾挡粸榭?,且只在有相同可用域值的存?chǔ)后端中存在一份,因此,使用導(dǎo)出鏡像文件只能由關(guān)聯(lián)到相同存儲(chǔ)后端的計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)。這樣,導(dǎo)出鏡像文件通常只可以存儲(chǔ)于其中一個(gè)存儲(chǔ)后端中。

需要說明的是,在實(shí)際應(yīng)用場(chǎng)景中,為了提高存儲(chǔ)后端的存儲(chǔ)量,還可能存在當(dāng)存儲(chǔ)后端數(shù)量大于兩個(gè)時(shí),將存儲(chǔ)后端兩兩合并,并設(shè)置不同的可用域。因此,在本實(shí)施方式中,所述方法還可以包括將至少兩個(gè)存儲(chǔ)后端合并為一個(gè)存儲(chǔ)后端,并為合并后的存儲(chǔ)后端設(shè)置可用域的步驟。

請(qǐng)參閱圖3,在一個(gè)實(shí)際應(yīng)用示例中,當(dāng)前具備az1和az2兩個(gè)存儲(chǔ)后端。其中,基礎(chǔ)鏡像文件1需同時(shí)存儲(chǔ)于域值為az1和域值為az2的存儲(chǔ)后端中(由運(yùn)維人員在云平臺(tái)上線之前實(shí)施)。而對(duì)于域值為az1的計(jì)算節(jié)點(diǎn)生成的導(dǎo)出鏡像文件1,只可以被存儲(chǔ)于域值為az1的存儲(chǔ)后端中(由用戶在線上云平臺(tái)操作產(chǎn)生)。同樣的,對(duì)于域值為az12的計(jì)算節(jié)點(diǎn)生成的導(dǎo)出鏡像文件2,只可以被存儲(chǔ)于域值為az2的存儲(chǔ)后端中。

在本申請(qǐng)一個(gè)實(shí)施方式中,在建立所述計(jì)算節(jié)點(diǎn)與所述至少兩個(gè)存儲(chǔ)后端之間的關(guān)聯(lián)關(guān)系之后,還需要對(duì)可能導(dǎo)致計(jì)算節(jié)點(diǎn)變更的虛擬機(jī)操作固化可用域。具體地,固化可用域的目的在于將計(jì)算節(jié)點(diǎn)的變更限制于該計(jì)算節(jié)點(diǎn)所處的可用域內(nèi)。也就是說,當(dāng)某個(gè)虛擬機(jī)需要從一個(gè)計(jì)算節(jié)點(diǎn)變更至另一個(gè)計(jì)算節(jié)點(diǎn)時(shí),變更之前的計(jì)算節(jié)點(diǎn)和變更之后的計(jì)算節(jié)點(diǎn)都應(yīng)當(dāng)處于同一個(gè)可用域中。

在本實(shí)施方式中,可能導(dǎo)致計(jì)算節(jié)點(diǎn)變更的虛擬機(jī)操作可以包括變更配置、冷遷移、熱遷移、疏散和取消擱置等。具體地,當(dāng)目標(biāo)可用域中的預(yù)設(shè)計(jì)算節(jié)點(diǎn)產(chǎn)生虛擬機(jī)變更操作時(shí),可以先在所述目標(biāo)可用域中確定目標(biāo)計(jì)算節(jié)點(diǎn)。然后可以將產(chǎn)生所述虛擬機(jī)變更操作的虛擬機(jī)從所述預(yù)設(shè)計(jì)算節(jié)點(diǎn)變更至所述目標(biāo)計(jì)算節(jié)點(diǎn)處。這樣便可以保證變更之前的計(jì)算節(jié)點(diǎn)和變更之后的計(jì)算節(jié)點(diǎn)都處于同一個(gè)可用域中。

在本實(shí)施方式中,在目標(biāo)可用域中確定目標(biāo)計(jì)算節(jié)點(diǎn)的方式可以包括在所述目標(biāo)可用域中隨機(jī)選取一個(gè)與所述預(yù)設(shè)計(jì)算節(jié)點(diǎn)不同的計(jì)算節(jié)點(diǎn),并將選取的計(jì)算節(jié)點(diǎn)作為所述目標(biāo)計(jì)算節(jié)點(diǎn)。當(dāng)然,為了保證虛擬機(jī)在變更之后能夠正常運(yùn)行,還可以將所述目標(biāo)可用域中除所述預(yù)設(shè)計(jì)算節(jié)點(diǎn)之外的計(jì)算節(jié)點(diǎn)按照當(dāng)前剩余的cpu資源和內(nèi)存資源進(jìn)行排序,并將剩余的cpu資源和內(nèi)存資源最多的計(jì)算節(jié)點(diǎn)作為所述目標(biāo)計(jì)算節(jié)點(diǎn)。

在本申請(qǐng)一個(gè)實(shí)施方式中,可以為計(jì)算服務(wù)(nova)的調(diào)度器添加一個(gè)過濾器,該過濾器可以在根據(jù)指定鏡像文件創(chuàng)建虛擬機(jī)時(shí),將計(jì)算節(jié)點(diǎn)的可用域與所述指定鏡像文件的可用域進(jìn)行匹配。具體地,首先可以確定所述指定鏡像文件的類型。當(dāng)所述指定鏡像文件的類型為基礎(chǔ)鏡像文件時(shí),表明其在所有存儲(chǔ)后端都存在一份拷貝,此時(shí)可以選擇任一計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)。然而,當(dāng)所述指定鏡像文件的類型為導(dǎo)出鏡像文件時(shí),表明其在僅在某一個(gè)存儲(chǔ)后端存在一份拷貝,此時(shí)可以選擇可用域的域值與所述指定鏡像文件的可用域的域值相同的一個(gè)計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)。例如,所述指定鏡像文件為導(dǎo)出鏡像文件,計(jì)算服務(wù)可以查詢到該導(dǎo)出鏡像文件的可用域的域值為az1,那么此時(shí)可以從域值為az1的計(jì)算節(jié)點(diǎn)中選取一個(gè)計(jì)算節(jié)點(diǎn),并通過選取出的該計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)。

在本申請(qǐng)一個(gè)實(shí)施方式中,考慮到在單一存儲(chǔ)后端的系統(tǒng)架構(gòu)中,每當(dāng)在計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)或產(chǎn)生導(dǎo)出鏡像文件時(shí),都會(huì)在計(jì)算節(jié)點(diǎn)校驗(yàn)其所對(duì)應(yīng)ceph存儲(chǔ)后端的標(biāo)識(shí)是否與其所使用鏡像在鏡像服務(wù)的指定字段所包含的鏡像文件所在存儲(chǔ)位置的標(biāo)識(shí)一致。例如,通常都會(huì)校驗(yàn)計(jì)算節(jié)點(diǎn)關(guān)聯(lián)的ceph存儲(chǔ)后端的“fsid”與鏡像服務(wù)中l(wèi)ocation字段所包含的“fsid”是否相等,若相等,則允許創(chuàng)建虛擬機(jī)或進(jìn)行導(dǎo)出鏡像操作,否則會(huì)拒絕請(qǐng)求。該機(jī)制本就只能在單一存儲(chǔ)后端情境下保障計(jì)算服務(wù)和鏡像服務(wù)使用相同存儲(chǔ)后端,在多存儲(chǔ)后端場(chǎng)景下顯然是不適用的?;诖?,在本實(shí)施方式中,在計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)和產(chǎn)生鏡像文件時(shí),取消校驗(yàn)計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)存儲(chǔ)后端標(biāo)識(shí)是否與鏡像在鏡像服務(wù)中的location字段所包含的存儲(chǔ)后端標(biāo)識(shí)相等,從而可以使創(chuàng)建虛擬機(jī)或產(chǎn)生導(dǎo)出鏡像文件支持多后端場(chǎng)景。

在本申請(qǐng)一個(gè)實(shí)施方式中,需要說明的是,至少兩個(gè)存儲(chǔ)后端中僅有一個(gè)存儲(chǔ)后端會(huì)與鏡像服務(wù)相對(duì)應(yīng),其它的存儲(chǔ)后端則無法與鏡像服務(wù)相對(duì)應(yīng)。而如果按照現(xiàn)有技術(shù)中單一存儲(chǔ)后端的場(chǎng)景而言,每當(dāng)虛擬機(jī)進(jìn)行導(dǎo)出鏡像文件操作時(shí),通常都會(huì)由鏡像服務(wù)從存儲(chǔ)后端處獲取或者校驗(yàn)導(dǎo)出鏡像文件的尺寸。然而在本申請(qǐng)的多個(gè)存儲(chǔ)后端的場(chǎng)景下,僅有一個(gè)存儲(chǔ)后端與鏡像服務(wù)相對(duì)應(yīng),如果其它的存儲(chǔ)后端關(guān)聯(lián)的計(jì)算節(jié)點(diǎn)中的虛擬機(jī)產(chǎn)生導(dǎo)出鏡像文件操作時(shí),由于其它存儲(chǔ)后端與鏡像服務(wù)并不對(duì)應(yīng),從而導(dǎo)致鏡像服務(wù)無法從存儲(chǔ)后端處獲取鏡像的尺寸,這樣便會(huì)導(dǎo)致無法獲取鏡像尺寸而判定導(dǎo)出操作失敗。舉例來進(jìn)行說明,當(dāng)前具備az1存儲(chǔ)后端與az2存儲(chǔ)后端,其中,az1存儲(chǔ)后端與鏡像服務(wù)相對(duì)應(yīng),而az2存儲(chǔ)后端無法與鏡像服務(wù)相對(duì)應(yīng)。那么當(dāng)az2存儲(chǔ)后端關(guān)聯(lián)的計(jì)算節(jié)點(diǎn)中的虛擬機(jī)產(chǎn)生導(dǎo)出鏡像文件操作時(shí),如果按照現(xiàn)有技術(shù)中由鏡像服務(wù)獲取鏡像尺寸的方式,此時(shí)鏡像服務(wù)便會(huì)嘗試從az1存儲(chǔ)后端中獲取鏡像尺寸(因?yàn)殓R像服務(wù)僅與az1存儲(chǔ)后端相對(duì)應(yīng)),顯然,由于導(dǎo)出鏡像文件操作是在az2可用域中生成的,鏡像服務(wù)必然無法從az1存儲(chǔ)后端處獲取鏡像尺寸。這樣的話,便會(huì)導(dǎo)致導(dǎo)出操作失敗。因此,在本實(shí)施方式中,當(dāng)虛擬機(jī)執(zhí)行導(dǎo)出鏡像文件的操作時(shí),可以由所述虛擬機(jī)所處的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的計(jì)算服務(wù)(而不是鏡像服務(wù))獲取所述導(dǎo)出鏡像文件的尺寸信息,并由所述計(jì)算服務(wù)將所述尺寸信息發(fā)送至鏡像服務(wù)。這樣,便可以使得鏡像服務(wù)可以正常獲取到鏡像尺寸,保證導(dǎo)出操作的順利進(jìn)行。

實(shí)施例二

請(qǐng)參閱圖2,本申請(qǐng)還提供一種云平臺(tái),所述云平臺(tái)包括多個(gè)計(jì)算節(jié)點(diǎn)以及至少兩個(gè)存儲(chǔ)后端,每個(gè)所述計(jì)算節(jié)點(diǎn)可承載零臺(tái)或多臺(tái)虛擬機(jī),所述云平臺(tái)包括:

關(guān)聯(lián)關(guān)系建立單元100,用于建立所述計(jì)算節(jié)點(diǎn)與所述至少兩個(gè)存儲(chǔ)后端之間的關(guān)聯(lián)關(guān)系,以使得每個(gè)計(jì)算節(jié)點(diǎn)有且僅有一個(gè)存儲(chǔ)后端與其關(guān)聯(lián);

鏡像文件類型確定單元200,用于當(dāng)計(jì)算節(jié)點(diǎn)的虛擬機(jī)中產(chǎn)生鏡像文件時(shí),確定所述鏡像文件的類型;所述鏡像文件的類型包括基礎(chǔ)鏡像文件和導(dǎo)出鏡像文件;

鏡像文件存儲(chǔ)單元300,用于根據(jù)所述鏡像文件的類型以及產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,對(duì)所述鏡像文件進(jìn)行存儲(chǔ)。

在本實(shí)施方式中,每個(gè)所述存儲(chǔ)后端具備各自的可用域;相應(yīng)地,所述關(guān)聯(lián)關(guān)系建立單元包括:

可用域劃分模塊,用于將所述計(jì)算節(jié)點(diǎn)劃分至各個(gè)可用域中,使得每個(gè)計(jì)算節(jié)點(diǎn)有且僅劃入一個(gè)可用域;

域值分配模塊,用于將各個(gè)所述可用域的域值分配給各自的計(jì)算節(jié)點(diǎn)。

在本實(shí)施方式中,所述云平臺(tái)還包括:

目標(biāo)計(jì)算節(jié)點(diǎn)確定單元,用于當(dāng)目標(biāo)可用域中的預(yù)設(shè)計(jì)算節(jié)點(diǎn)產(chǎn)生虛擬機(jī)變更計(jì)算節(jié)點(diǎn)操作時(shí),從該可用域中選擇可變更的目標(biāo)計(jì)算節(jié)點(diǎn);

變更單元,用于將產(chǎn)生所述變更計(jì)算節(jié)點(diǎn)操作的虛擬機(jī)從所述預(yù)設(shè)計(jì)算節(jié)點(diǎn)變更至所述目標(biāo)計(jì)算節(jié)點(diǎn)處。

在本實(shí)施方式中,所述鏡像文件存儲(chǔ)單元包括:

基礎(chǔ)鏡像文件存儲(chǔ)模塊,用于當(dāng)所述鏡像文件為基礎(chǔ)鏡像文件時(shí),將所述鏡像文件在各個(gè)所述存儲(chǔ)后端中進(jìn)行存儲(chǔ);

導(dǎo)出鏡像文件存儲(chǔ)模塊,用于當(dāng)所述鏡像文件為導(dǎo)出鏡像文件時(shí),確定產(chǎn)生所述鏡像文件的計(jì)算節(jié)點(diǎn)所關(guān)聯(lián)的存儲(chǔ)后端,并將所述鏡像文件存儲(chǔ)于確定出的所述存儲(chǔ)后端中。

在本實(shí)施方式中,所述云平臺(tái)還包括:

類型確定單元,用于在根據(jù)指定鏡像文件創(chuàng)建虛擬機(jī)時(shí),確定所述指定鏡像文件的類型;

虛擬機(jī)創(chuàng)建單元,用于當(dāng)所述指定鏡像文件的類型為基礎(chǔ)鏡像文件時(shí),選擇任一計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī);當(dāng)所述指定鏡像文件的類型為導(dǎo)出鏡像文件時(shí),選擇可用域的域值與所述指定鏡像文件的可用域的域值相同的一個(gè)計(jì)算節(jié)點(diǎn),并通過選擇的所述計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī)。

上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。

以上所描述的云平臺(tái)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。

由上可見,本申請(qǐng)?zhí)峁┑募夹g(shù)方案,可以在云平臺(tái)中設(shè)置至少兩個(gè)存儲(chǔ)后端,這樣,在其中一個(gè)存儲(chǔ)后端發(fā)生故障時(shí),其它的存儲(chǔ)后端還能夠正常使用,提高了云平臺(tái)的容災(zāi)率。在具備至少兩個(gè)存儲(chǔ)后端的云平臺(tái)中,首先可以將各個(gè)計(jì)算節(jié)點(diǎn)分別與不同的存儲(chǔ)后端進(jìn)行關(guān)聯(lián),這樣,每一個(gè)存儲(chǔ)后端可以與各自的計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)。當(dāng)計(jì)算節(jié)點(diǎn)產(chǎn)生鏡像文件時(shí),需要根據(jù)鏡像文件的具體類型,有區(qū)分地進(jìn)行存儲(chǔ)。具體地,在本申請(qǐng)中,當(dāng)鏡像文件為基礎(chǔ)鏡像文件時(shí),需要在各個(gè)存儲(chǔ)后端中均進(jìn)行存儲(chǔ);而當(dāng)鏡像文件為導(dǎo)出鏡像文件時(shí),需要將該導(dǎo)出鏡像文件存儲(chǔ)至產(chǎn)生該導(dǎo)出鏡像文件的計(jì)算節(jié)點(diǎn)關(guān)聯(lián)的存儲(chǔ)后端中。這樣處理的目的在于,基礎(chǔ)鏡像只承載出廠狀態(tài)的操作系統(tǒng),因此可以由任一計(jì)算節(jié)點(diǎn)創(chuàng)建虛擬機(jī),從而需要存儲(chǔ)于各個(gè)存儲(chǔ)后端中。而導(dǎo)出鏡像文件具備虛擬機(jī)運(yùn)行中的操作系統(tǒng)的某個(gè)用戶狀態(tài),因此,只有與同一個(gè)存儲(chǔ)后端相關(guān)聯(lián)的計(jì)算節(jié)點(diǎn)才能夠根據(jù)該導(dǎo)出鏡像文件創(chuàng)建虛擬機(jī),這樣,導(dǎo)出鏡像文件只可以存儲(chǔ)于其中一個(gè)存儲(chǔ)后端中?;诖?,通過增加額外的存儲(chǔ)后端,可以提高云平臺(tái)的容災(zāi)率,并使以添加新的存儲(chǔ)后端對(duì)云平臺(tái)進(jìn)行存儲(chǔ)擴(kuò)容時(shí)不再對(duì)線上運(yùn)行的虛擬機(jī)構(gòu)成影響,從而可以保證云平臺(tái)的穩(wěn)定性。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
嘉黎县| 江油市| 双牌县| 荣昌县| 弥勒县| 潼南县| 固始县| 平泉县| 囊谦县| 含山县| 南岸区| SHOW| 永济市| 荥阳市| 霍城县| 安图县| 桐梓县| 阿勒泰市| 霍山县| 抚远县| 安福县| 太白县| 重庆市| 桐柏县| 六安市| 浦北县| 兴和县| 盐亭县| 无极县| 武冈市| 涿鹿县| 南昌县| 会同县| 漯河市| 新乡县| 叙永县| 大同市| 云安县| 高阳县| 大理市| 大理市|