一種ha集群中虛擬機(jī)存儲(chǔ)文件遷移方法及其裝置制造方法
【專利摘要】本發(fā)明公開了一種HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法及其裝置,該方法包括:虛擬機(jī)管理平臺(tái)獲取所述HA集群中的特定共享存儲(chǔ)的當(dāng)前空閑率;當(dāng)所述特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作。在本發(fā)明中,有效地降低了由于共享存儲(chǔ)滿而導(dǎo)致的虛擬機(jī)使用異常、業(yè)務(wù)中斷的概率,提高了系統(tǒng)的穩(wěn)定性。
【專利說(shuō)明】一種HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法及其裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法及
其裝置。
【背景技術(shù)】
[0002]參見(jiàn)圖1,使用corosync+pacemaker可以方便地搭建虛擬機(jī)集群,即將虛擬機(jī)作為pacemaker的一個(gè)資源進(jìn)行管理,資源的啟動(dòng)或停止?fàn)顟B(tài)由pacemake對(duì)外提供的配置信息進(jìn)行控制。
[0003]為了方便虛擬機(jī)在集群中的各個(gè)主機(jī)之間遷移,一般將虛擬機(jī)的鏡像文件存放在網(wǎng)絡(luò)共享文件系統(tǒng)中,并在集群中的所有主機(jī)上都mount (掛載)上該共享文件系統(tǒng),即確保集群中的所有物理主機(jī)都可以訪問(wèn)到該共享文件系統(tǒng),且mount到物理主機(jī)上的目標(biāo)目錄名稱一致。
[0004]在HA (High Availability,高可用性)集群中,能夠做到將集群中的多個(gè)物理主機(jī)統(tǒng)一管理、將集群中的所有資源統(tǒng)一管理,并為資源指定默認(rèn)的運(yùn)行位置信息。
[0005]一般地,實(shí)際組網(wǎng)中的共享存儲(chǔ)可以是多個(gè),且連接到存儲(chǔ)的實(shí)際網(wǎng)絡(luò)一般是多個(gè)鏈路聚合(bond),即物理服務(wù)器連接到物理存儲(chǔ)一般是兩個(gè)或兩個(gè)以上的鏈路聚合,存儲(chǔ)設(shè)備連接到存儲(chǔ)網(wǎng)絡(luò)的物理鏈路一般也是兩個(gè)或兩個(gè)以上鏈路聚合,這樣可以有效的抵御單點(diǎn)故障造成的影響。
[0006]每個(gè)共享存儲(chǔ)分別mount到HA集群中的各個(gè)物理主機(jī)上,這多個(gè)共享存儲(chǔ)起到分擔(dān)數(shù)據(jù)存儲(chǔ)的作用。
[0007]但是,HA集群中的虛擬機(jī)在使用一段時(shí)間后,由于用戶數(shù)據(jù)的增加,虛機(jī)的鏡像大小會(huì)增長(zhǎng),如果HA集群中部署了大量的虛擬機(jī),鏡像大小的增長(zhǎng)是比較可觀的,即使預(yù)留了足夠大的空閑空間,也會(huì)出現(xiàn)空間不夠用的時(shí)候,此時(shí)就會(huì)出現(xiàn)虛機(jī)使用異常。
[0008]針對(duì)可能出現(xiàn)網(wǎng)絡(luò)共享存儲(chǔ)空間滿的情況,管理員需要定期的進(jìn)行檢查,在存儲(chǔ)空間空閑率(空閑空間大小/總大小)小于預(yù)設(shè)的警戒低水位(比如20%)時(shí),對(duì)原先的網(wǎng)絡(luò)共享存儲(chǔ)進(jìn)行擴(kuò)容或增加新的網(wǎng)絡(luò)共享存儲(chǔ),并將部分虛擬機(jī)的存儲(chǔ)遷移到新擴(kuò)容的或新增的共享存儲(chǔ)上。
[0009]但是,通過(guò)操作維護(hù)規(guī)范等主觀上檢查、規(guī)避和解決,沒(méi)有在軟件層面上避免或自動(dòng)提醒,出現(xiàn)問(wèn)題的概率高。
【發(fā)明內(nèi)容】
[0010]本發(fā)明提供了一種HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法及其裝置,用以降低由共享存儲(chǔ)滿而導(dǎo)致的虛擬機(jī)使用異常、業(yè)務(wù)中斷的概率,提高系統(tǒng)的穩(wěn)定性。
[0011]為了達(dá)到以上目的,本發(fā)明實(shí)施例提供了一種高可用性HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法,所述HA集群中包括虛擬機(jī)管理平臺(tái)、物理主機(jī)和至少兩個(gè)共享存儲(chǔ),所述物理主機(jī)中運(yùn)行有虛擬機(jī),所述虛擬機(jī)的存儲(chǔ)文件保存在共享存儲(chǔ)中,該方法包括:[0012]虛擬機(jī)管理平臺(tái)獲取所述HA集群中的特定共享存儲(chǔ)的當(dāng)前空閑率;
[0013]當(dāng)所述特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作。
[0014]其中,所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作之前,還包括:
[0015]所述虛擬機(jī)管理平臺(tái)判斷所述HA集群中是否存在當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ),并當(dāng)判斷為是時(shí),確定執(zhí)行對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作的步驟;否則,不對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作;其中,所述第二閾值大于所述第一閾值。
[0016]其中,所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,具體包括以下步驟:
[0017]步驟A、所述虛擬機(jī)管理平臺(tái)將當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ)中,當(dāng)前空閑率最聞的共孚存儲(chǔ)確定為目標(biāo)共孚存儲(chǔ);
[0018]步驟B、所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,遷移至目標(biāo)共享存儲(chǔ)。
[0019]其中,所述步驟B,具體包括:
[0020]步驟B0、確定所述特定共享存儲(chǔ)中,存儲(chǔ)文件實(shí)際大小不超過(guò)所述目標(biāo)共享存儲(chǔ)的可用空間的各個(gè)虛擬機(jī)的遷移優(yōu)先級(jí);
[0021]步驟B1、所述虛擬機(jī)管理平臺(tái)根據(jù)所述特定共享存儲(chǔ)中的虛擬機(jī)的遷移優(yōu)先級(jí),將遷移優(yōu)先級(jí)最高的虛擬機(jī)的存儲(chǔ)文件遷移到所述目標(biāo)共享存儲(chǔ);
[0022]步驟B2、所述虛擬機(jī)管理平臺(tái)判斷進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作后的所述特定共享存儲(chǔ)的當(dāng)前空閑率是否低于所述第一閾值;若判斷為是,則轉(zhuǎn)至步驟A ;否則,結(jié)束當(dāng)前流程;
[0023]其中,未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)高于處于運(yùn)行狀態(tài)的虛擬機(jī);未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)與其存儲(chǔ)文件的實(shí)際大小正相關(guān);處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí),與該虛擬機(jī)的虛擬大小及實(shí)際空間占用率均呈正相關(guān)。
[0024]其中,進(jìn)一步根據(jù)以下公式確定處于運(yùn)行狀態(tài)的虛擬機(jī)i的遷移優(yōu)先級(jí):
[0025]虛擬機(jī)i的遷移優(yōu)先級(jí)=a*vSize i/vSize Max+b*虛擬機(jī)i的占用率
[0026]其中,vSize i為虛擬機(jī)i的虛擬大小,vSize Max為所述特定共享存儲(chǔ)中虛擬機(jī)的虛擬大小的最大值,虛擬機(jī)i的占用率為虛擬機(jī)i的實(shí)際存儲(chǔ)大小與虛擬大小的比值,a和b為不大于I的非負(fù)數(shù),且a+b=l。
[0027]其中,預(yù)先將HA集群中的所有共享存儲(chǔ)均掛載到各個(gè)物理主機(jī),且每個(gè)共享存儲(chǔ)在不同物理主機(jī)下掛載目錄的全路徑名稱相同。
[0028]本發(fā)明實(shí)施例還提供了 一種虛擬機(jī)管理平臺(tái),應(yīng)用于包括物理主機(jī)和至少兩個(gè)共享存儲(chǔ)的高可用性HA集群,所述物理主機(jī)中運(yùn)行有虛擬機(jī),所述虛擬機(jī)的存儲(chǔ)文件保存在該共享存儲(chǔ)中,該虛擬機(jī)管理平臺(tái)包括:
[0029]獲取模塊,用于獲取所述HA集群中的特定共享存儲(chǔ)的當(dāng)前空閑率;
[0030]處理模塊,用于當(dāng)所述特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作。[0031]其中,還包括:
[0032]判斷模塊,用于判斷所述HA集群中是否存在當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ);
[0033]所述處理模塊具體用于,當(dāng)所述判斷模塊判斷為是時(shí),對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作;當(dāng)所述判斷模塊判斷為否時(shí),不對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作;其中,所述第二閾值大于所述第一閾值。
[0034]其中,所述處理模塊具體用于,通過(guò)以下步驟實(shí)現(xiàn)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作:
[0035]步驟A、將當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ)中,當(dāng)前空閑率最高的共享存儲(chǔ)確定為目標(biāo)共享存儲(chǔ);
[0036]步驟B、對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,遷移至目標(biāo)共享存儲(chǔ)。
[0037]其中,所述處理模塊具體用于,通過(guò)以下步驟實(shí)現(xiàn)所述步驟B:
[0038]步驟B0、確定所述特定共享存儲(chǔ)中,存儲(chǔ)文件實(shí)際大小不超過(guò)所述目標(biāo)共享存儲(chǔ)的可用空間的各個(gè)虛擬機(jī)的遷移優(yōu)先級(jí);
[0039]步驟B1、根據(jù)所述特定共享存儲(chǔ)中的虛擬機(jī)的遷移優(yōu)先級(jí),將遷移優(yōu)先級(jí)最高的虛擬機(jī)遷移的存儲(chǔ)文件到所述目標(biāo)共享存儲(chǔ);
[0040]步驟B2、判斷進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作后的所述特定共享存儲(chǔ)的當(dāng)前空閑率是否低于所述第一閾值;若判斷為是,則轉(zhuǎn)至步驟A ;否則,結(jié)束當(dāng)前流程;
[0041]其中,未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)高于處于運(yùn)行狀態(tài)的虛擬機(jī);未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)與其存儲(chǔ)文件的實(shí)際大小正相關(guān);處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí),與該虛擬機(jī)的虛擬大小及實(shí)際空間占用率均呈正相關(guān)。
[0042]其中,所述處理模塊具體用于,進(jìn)一步根據(jù)以下公式確定處于運(yùn)行狀態(tài)的虛擬機(jī)i的遷移優(yōu)先級(jí):
[0043]虛擬機(jī)i的遷移優(yōu)先級(jí)=a*vSize i/vSize Max+b*虛擬機(jī)i的占用率
[0044]其中,vSize i為虛擬機(jī)i的虛擬大小,vSize Max為所述特定共享存儲(chǔ)中虛擬機(jī)的虛擬大小的最大值,虛擬機(jī)i的占用率為虛擬機(jī)i的實(shí)際存儲(chǔ)大小與虛擬大小的比值,a和b為不大于I的非負(fù)數(shù),且a+b=l。
[0045]本發(fā)明上述實(shí)施例中,虛擬機(jī)管理平臺(tái)可以獲取HA集群中特定共享存儲(chǔ)的當(dāng)前空閑率,并當(dāng)該特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),虛擬機(jī)管理平臺(tái)對(duì)特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,有效地降低了由于共享存儲(chǔ)滿而導(dǎo)致的虛擬機(jī)使用異常、業(yè)務(wù)中斷的概率,提高了系統(tǒng)的穩(wěn)定性。
【專利附圖】
【附圖說(shuō)明】
[0046]圖1為現(xiàn)有技術(shù)中的一種虛擬機(jī)集群的組網(wǎng)示意圖;
[0047]圖2為本發(fā)明實(shí)施例提供的一種HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法的流程示意圖;
[0048]圖3為本發(fā)明實(shí)施例提供的一種虛擬機(jī)管理平臺(tái)的結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】
[0049]針對(duì)上述現(xiàn)有技術(shù)的問(wèn)題,本申請(qǐng)實(shí)施例提供了一種HA集群中虛擬機(jī)存儲(chǔ)文件遷移的技術(shù)方案。在該技術(shù)方案中,HA集群中包括虛擬機(jī)管理平臺(tái)、物理主機(jī)和至少兩個(gè)共享存儲(chǔ),虛擬機(jī)管理平臺(tái)可以獲取HA集群中特定共享存儲(chǔ)的當(dāng)前空閑率,并當(dāng)該特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),虛擬機(jī)管理平臺(tái)對(duì)特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,有效地降低了由于共享存儲(chǔ)滿而導(dǎo)致的虛擬機(jī)使用異常、業(yè)務(wù)中斷的概率,提高了系統(tǒng)的穩(wěn)定性。
[0050]其中,虛擬機(jī)存儲(chǔ)文件可以包括該虛擬機(jī)掛載的一個(gè)或多個(gè)鏡像文件。
[0051]下面將結(jié)合本發(fā)明的實(shí)施例中的附圖,對(duì)本發(fā)明的實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的實(shí)施例保護(hù)的范圍。
[0052]如圖2所示,為本發(fā)明實(shí)施例提供的一種HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法的流程示意圖,可以包括以下步驟:
[0053]步驟201、虛擬機(jī)管理平臺(tái)獲取HA集群中的特定共享存儲(chǔ)的當(dāng)前空閑率。
[0054]具體的,在本發(fā)明實(shí)施例中,可以預(yù)先在虛擬機(jī)管理平臺(tái)中配置需要進(jìn)行定期檢查空閑率的共享存儲(chǔ)。虛擬機(jī)管理平臺(tái)可以根據(jù)該配置定期對(duì)特定共享存儲(chǔ)(預(yù)先配置為需要定期檢測(cè)空閑率的共享存儲(chǔ))的空閑率進(jìn)行檢測(cè),獲取該特定共享存儲(chǔ)的當(dāng)前空閑率。
[0055]步驟202、當(dāng)該特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),虛擬機(jī)管理平臺(tái)對(duì)特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作。
[0056]具體的,在本發(fā)明實(shí)施例中,可以預(yù)先設(shè)定觸發(fā)虛擬機(jī)管理平臺(tái)自動(dòng)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作的空閑率警戒低水位(第一閾值)。虛擬機(jī)管理平臺(tái)獲取到特定共享存儲(chǔ)的當(dāng)前空閑率時(shí),可以判斷該特定共享存儲(chǔ)的當(dāng)前空閑率是否低于第一閾值,并當(dāng)判斷結(jié)果為是時(shí),確定需要對(duì)該特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,否則,確定不需要對(duì)該特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,此時(shí),虛擬機(jī)管理平臺(tái)可以在下一個(gè)檢測(cè)周期繼續(xù)對(duì)該特定共享存儲(chǔ)的空閑率進(jìn)行檢測(cè)。
[0057]進(jìn)一步地,為了降低虛擬機(jī)存儲(chǔ)文件遷移操作,對(duì)虛擬機(jī)存儲(chǔ)文件遷移的目標(biāo)共享存儲(chǔ)自身性能的影響,在本發(fā)明實(shí)施例中,可以預(yù)先設(shè)定一個(gè)共享存儲(chǔ)允許遷入的空閑率閾值(第二閾值),即只有當(dāng)共享存儲(chǔ)的空閑率高于該第二閾值時(shí),該共享存儲(chǔ)才能被選為虛擬機(jī)存儲(chǔ)文件遷移的目標(biāo)共享存儲(chǔ)。
[0058]相應(yīng)地,虛擬管理平臺(tái)在確定特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),還需要先判斷HA集群中是否存在當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ),并當(dāng)判斷為是時(shí),確定執(zhí)行對(duì)該特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作的步驟;否則,則認(rèn)為當(dāng)前不存在可用的目標(biāo)共享存儲(chǔ),不對(duì)該特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,在該情況下,虛擬機(jī)管理平臺(tái)可以發(fā)出無(wú)可用目標(biāo)共享存儲(chǔ)的告警信息;其中,第二閾值大于第一閾值。
[0059]當(dāng)虛擬機(jī)管理平臺(tái)確定當(dāng)前存在可用的目標(biāo)共享存儲(chǔ)時(shí),虛擬機(jī)管理平臺(tái)對(duì)特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,具體可以包括以下步驟:
[0060]步驟A、虛擬機(jī)管理平臺(tái)將當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ)中,當(dāng)前空閑率最高的共享存儲(chǔ)確定為目標(biāo)共享存儲(chǔ);[0061]步驟B、虛擬機(jī)管理平臺(tái)對(duì)該特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,遷移至目標(biāo)共孚存儲(chǔ)。
[0062]其中,步驟B可以具體包括:
[0063]步驟B0、確定所述特定共享存儲(chǔ)中,存儲(chǔ)文件實(shí)際大小不超過(guò)所述目標(biāo)共享存儲(chǔ)的可用空間的各個(gè)虛擬機(jī)的遷移優(yōu)先級(jí);
[0064]步驟B1、虛擬機(jī)管理平臺(tái)根據(jù)該特定共享存儲(chǔ)中的虛擬機(jī)的遷移優(yōu)先級(jí),將遷移優(yōu)先級(jí)最高的虛擬機(jī)的存儲(chǔ)文件遷移到該目標(biāo)共享存儲(chǔ);
[0065]步驟B2、虛擬機(jī)管理平臺(tái)判斷進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作后的特定共享存儲(chǔ)的當(dāng)前空閑率是否低于第一閾值,若判斷為是,則轉(zhuǎn)至步驟A ;否則,結(jié)束當(dāng)前流程。
[0066]在本發(fā)明實(shí)施例中,為了保證虛擬機(jī)存儲(chǔ)文件遷移能夠正常進(jìn)行,在確定了目標(biāo)共享存儲(chǔ)之后,需要選擇該特定共享存儲(chǔ)中實(shí)際存儲(chǔ)大小不超過(guò)該目標(biāo)共享存儲(chǔ)的可用空間大小的虛擬機(jī)作為候選的待遷移虛擬機(jī)。例如,假設(shè)目標(biāo)共享存儲(chǔ)的可用空間大小為100G,則候選的待遷移虛擬機(jī)的實(shí)際存儲(chǔ)大小不能超過(guò)100G。
[0067]優(yōu)選地,在特定共享存儲(chǔ)中,未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)高于處于運(yùn)行狀態(tài)的虛擬機(jī);未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)與其存儲(chǔ)文件的實(shí)際大小正相關(guān),即實(shí)際存儲(chǔ)大小越大的虛擬機(jī),遷移優(yōu)先級(jí)越高;處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí),與該虛擬機(jī)的虛擬大小及實(shí)際空間占用率均呈正相關(guān)。
[0068]其中,可以進(jìn)一步根據(jù)以下公式確定處于運(yùn)行狀態(tài)的虛擬機(jī)i的遷移優(yōu)先級(jí):
[0069]虛擬機(jī)i的遷移優(yōu)先級(jí)=a*vSize i/vSize Max+b*虛擬機(jī)i的占用率
[0070]其中,vSize i為虛擬機(jī)i的虛擬大小,vSize Max為所述特定共享存儲(chǔ)中虛擬機(jī)的虛擬大小的最大值,虛擬機(jī)i的占用率為虛擬機(jī)i的實(shí)際存儲(chǔ)大小與虛擬大小的比值,a和b為不大于I的非負(fù)數(shù),且a+b=l。
[0071]其中,虛擬機(jī)的虛擬大小即為實(shí)際創(chuàng)建虛擬機(jī)存儲(chǔ)時(shí)指定的最大空間;實(shí)際存儲(chǔ)大小即為虛擬機(jī)存儲(chǔ)文件實(shí)際使用的空間。
[0072]應(yīng)該認(rèn)識(shí)到,上述確定目標(biāo)共享存儲(chǔ),以及確定特定共享存儲(chǔ)中實(shí)際遷移的虛擬機(jī)的方案僅僅是本發(fā)明實(shí)施例提供的技術(shù)方案的一種具體實(shí)現(xiàn),其并不是對(duì)本發(fā)明保護(hù)范圍的限定,即本發(fā)明實(shí)施例提供的技術(shù)方案中,確定目標(biāo)共享存儲(chǔ),以及確定特定共享存儲(chǔ)中實(shí)際遷移的虛擬機(jī)也可以通過(guò)其他方案實(shí)現(xiàn)。例如,在確定目標(biāo)共享存儲(chǔ)時(shí),可以在當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ)中隨機(jī)選擇或輪詢選擇;在確定特定共享存儲(chǔ)中實(shí)際遷移的虛擬機(jī)時(shí),也可以在該特定共享存儲(chǔ)中實(shí)際存儲(chǔ)大小不超過(guò)目標(biāo)共享存儲(chǔ)的可用空間大小的虛擬機(jī)中隨機(jī)選擇或輪詢選擇,虛擬機(jī)的遷移優(yōu)先級(jí)也可以直接由虛擬機(jī)的實(shí)際存儲(chǔ)大小確定等,其具體實(shí)現(xiàn),在此不再贅述。
[0073]優(yōu)選地,在本發(fā)明實(shí)施例中,還可以預(yù)先設(shè)定觸發(fā)虛擬機(jī)管理平臺(tái)進(jìn)行告警的空閑率警戒低水位(第三閾值),該第三閾值大于第一閾值。當(dāng)虛擬機(jī)管理平臺(tái)確定特定共享存儲(chǔ)的當(dāng)前空閑率低于第三閾值,且高于第一閾值時(shí),該虛擬機(jī)管理平臺(tái)可以進(jìn)行告警,以便管理員及其采取相應(yīng)措施,如對(duì)存儲(chǔ)及時(shí)進(jìn)行擴(kuò)容,避免出現(xiàn)異常。
[0074]為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合具體的應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行描述。
[0075]1、系統(tǒng)組網(wǎng)[0076]以圖1所示組網(wǎng)為例,三臺(tái)物理主機(jī)在一個(gè)HA集群中(為了簡(jiǎn)化,這里僅僅以三臺(tái)物理主機(jī)組成的HA集群為例,實(shí)際組網(wǎng)中的物理主機(jī)節(jié)點(diǎn)個(gè)數(shù)可以靈活的彈性伸展),各物理主機(jī)上運(yùn)行基于Linux (操作系統(tǒng))的qemu-kvm (命令行虛擬系統(tǒng)常用參數(shù))虛擬化平臺(tái),每個(gè)物理主機(jī)上運(yùn)行多個(gè)虛擬機(jī),各虛擬機(jī)上分別跑不同的業(yè)務(wù)(比如,DataBase server(數(shù)據(jù)庫(kù)服務(wù)器)、web server (網(wǎng)頁(yè)服務(wù)器),file server (文件服務(wù)器),mail server (郵件服務(wù)器)等)。
[0077]虛擬機(jī)管理平臺(tái)對(duì)集群內(nèi)的所有物理服務(wù)器主機(jī)進(jìn)行管理,包括增加、刪除物理主機(jī);啟用或禁用HA高可用性功能等。各物理主機(jī)上通過(guò)Iibvirt(軟件名稱)虛擬化中間件與qemu-kvm配合來(lái)實(shí)現(xiàn)增加、刪除、暫停、遷移虛擬機(jī)等所有與虛擬機(jī)生命周期的管理。
[0078]在該實(shí)施例中,集群?jiǎn)⒂肏A時(shí),有如下幾點(diǎn)要求,以確保虛擬機(jī)可以在HA集群中的所有物理主機(jī)上隨意遷移成功:
[0079]I)、集群中的所有主機(jī)都必須mount—個(gè)共享的網(wǎng)絡(luò)存儲(chǔ),且mount的目標(biāo)目錄名必須一直,比如都是/vms/targetlOO ;
[0080]2)、集群中的所有主機(jī)都必須創(chuàng)建相同名稱的虛擬交換機(jī);
[0081]3)、虛擬機(jī)的鏡像文件必須都保存在共享的網(wǎng)絡(luò)存儲(chǔ)中;
[0082]4)、啟動(dòng)HA時(shí),需要將Iibvirt可識(shí)別的虛擬機(jī)的定義文件同步到HA集群中的所有物理主機(jī)上并通過(guò)virsh define命令定義成功。
[0083]2、物理主機(jī)
[0084]運(yùn)行基于Linux的qemu-kvm虛擬化平臺(tái),運(yùn)行Iibvirt等虛擬化中間件,運(yùn)行corosync+pacemker等HA集群軟件,是虛擬機(jī)、虛擬交換機(jī)、存儲(chǔ)的載體。
[0085]虛擬機(jī)管理平臺(tái)通過(guò)SSH (Secure Shell Protocol,安全外殼協(xié)議)等遠(yuǎn)程工具來(lái)管理物理主機(jī)。
[0086]3、虛擬機(jī)管理平臺(tái)
[0087]實(shí)現(xiàn)對(duì)所有物理主機(jī),物理主機(jī)上運(yùn)行的虛擬機(jī)、虛擬交換機(jī),存儲(chǔ)等資源的統(tǒng)一管理。以下重點(diǎn)對(duì)與本發(fā)明相關(guān)的主要功能說(shuō)明如下:
[0088]I)、物理主機(jī)管理
[0089]實(shí)現(xiàn)對(duì)物理主機(jī)的增加、刪除等操作。
[0090]2)、集群HA管理
[0091]通過(guò)SSH工具遠(yuǎn)程管理各個(gè)物理主機(jī)上的corosync+pacemaker的配置,服務(wù)啟停等,實(shí)現(xiàn)HA啟用或停止功能。
[0092]3)、網(wǎng)絡(luò)共享存儲(chǔ)管理
[0093]增加、刪除、暫停和啟動(dòng)集群使用的網(wǎng)絡(luò)共享存儲(chǔ);
[0094]網(wǎng)絡(luò)共享存儲(chǔ)用于存放虛擬機(jī)的鏡像文件,且HA集群中的所有虛機(jī)的所有鏡像文件都需要保存到網(wǎng)絡(luò)共享存儲(chǔ)上,網(wǎng)絡(luò)共享存儲(chǔ)使用mount命令mount到本地(比如/vms/targetl8),操作系統(tǒng)使用網(wǎng)絡(luò)存儲(chǔ)就好比使用本地存儲(chǔ)一樣。
[0095]4)、存儲(chǔ)空閑率定期檢測(cè)
[0096]在管理臺(tái)上啟動(dòng)一個(gè)定時(shí)任務(wù),定期的檢測(cè)所預(yù)置的需要檢測(cè)的共享存儲(chǔ)(比如/vms/target 16>/vms/target 18),且可以配置各共享存儲(chǔ)的預(yù)設(shè)的空閑率警戒低水位II (即第一閾值)、空閑率警戒低水位I (即第三閾值)的閾值(可不配置,不配置時(shí)使用默認(rèn)值分別20%、30%),定時(shí)任務(wù)依據(jù)這些配置定期檢測(cè)并做出后續(xù)動(dòng)作。
[0097]基于上述系統(tǒng)組網(wǎng),該實(shí)施例中的虛擬機(jī)存儲(chǔ)文件遷移方案可以包括以下流程:
[0098]1、共享存儲(chǔ)空間使用率(或空閑率)檢測(cè)流程
[0099]虛擬機(jī)管理平臺(tái)的檢測(cè)模塊可以維護(hù)用于記錄各個(gè)共享存儲(chǔ)的基本信息以及空閑率的表格,其格式可以如表1所示:
[0100]表1
[0101]
【權(quán)利要求】
1.一種高可用性HA集群中虛擬機(jī)存儲(chǔ)文件遷移方法,其特征在于,所述HA集群中包括虛擬機(jī)管理平臺(tái)、物理主機(jī)和至少兩個(gè)共享存儲(chǔ),所述物理主機(jī)中運(yùn)行有虛擬機(jī),所述虛擬機(jī)的存儲(chǔ)文件保存在共享存儲(chǔ)中,該方法包括: 虛擬機(jī)管理平臺(tái)獲取所述HA集群中的特定共享存儲(chǔ)的當(dāng)前空閑率; 當(dāng)所述特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作。
2.如權(quán)利要求1所述的方法,其特征在于,所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作之前,還包括: 所述虛擬機(jī)管理平臺(tái)判斷所述HA集群中是否存在當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ),并當(dāng)判斷為是時(shí),確定執(zhí)行對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作的步驟;否則,不對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作;其中,所述第二閾值大于所述第一閾值。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述虛擬機(jī)管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,具體包括以下步驟: 步驟A、所述虛擬機(jī)管理平臺(tái)將當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ)中,當(dāng)前空閑率最高的共享存儲(chǔ)確定為目標(biāo)共享存儲(chǔ); 步驟B、所述虛擬機(jī) 管理平臺(tái)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,遷移至目標(biāo)共享存儲(chǔ)。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟B,具體包括: 步驟B0、確定所述特定共享存儲(chǔ)中,存儲(chǔ)文件實(shí)際大小不超過(guò)所述目標(biāo)共享存儲(chǔ)的可用空間的各個(gè)虛擬機(jī)的遷移優(yōu)先級(jí); 步驟B1、所述虛擬機(jī)管理平臺(tái)根據(jù)所述特定共享存儲(chǔ)中的虛擬機(jī)的遷移優(yōu)先級(jí),將遷移優(yōu)先級(jí)最高的虛擬機(jī)的存儲(chǔ)文件遷移到所述目標(biāo)共享存儲(chǔ); 步驟B2、所述虛擬機(jī)管理平臺(tái)判斷進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作后的所述特定共享存儲(chǔ)的當(dāng)前空閑率是否低于所述第一閾值;若判斷為是,則轉(zhuǎn)至步驟A ;否則,結(jié)束當(dāng)前流程; 其中,未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)高于處于運(yùn)行狀態(tài)的虛擬機(jī);未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)與其存儲(chǔ)文件的實(shí)際大小正相關(guān);處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí),與該虛擬機(jī)的虛擬大小及實(shí)際空間占用率均呈正相關(guān)。
5.如權(quán)利要求4所述的方法,其特征在于,進(jìn)一步根據(jù)以下公式確定處于運(yùn)行狀態(tài)的虛擬機(jī)i的遷移優(yōu)先級(jí): 虛擬機(jī)i的遷移優(yōu)先級(jí)=a*vSize i/vSize Max+b*虛擬機(jī)i的占用率 其中,vSize i為虛擬機(jī)i的虛擬大小,vSize Max為所述特定共享存儲(chǔ)中虛擬機(jī)的虛擬大小的最大值,虛擬機(jī)i的占用率為虛擬機(jī)i的實(shí)際存儲(chǔ)大小與虛擬大小的比值,a和b為不大于I的非負(fù)數(shù),且a+b=l。
6.如權(quán)利要求1所述的方法,其特征在于, 預(yù)先將HA集群中的所有共享存儲(chǔ)均掛載到各個(gè)物理主機(jī),且每個(gè)共享存儲(chǔ)在不同物理主機(jī)下掛載目錄的全路徑名稱相同。
7.—種虛擬機(jī)管理平臺(tái),其特征在于,應(yīng)用于包括物理主機(jī)和至少兩個(gè)共享存儲(chǔ)的高可用性HA集群,所述物理主機(jī)中運(yùn)行有虛擬機(jī),所述虛擬機(jī)的存儲(chǔ)文件保存在該共享存儲(chǔ)中,該虛擬機(jī)管理平臺(tái)包括: 獲取模塊,用于獲取所述HA集群中的特定共享存儲(chǔ)的當(dāng)前空閑率; 處理模塊,用于當(dāng)所述特定共享存儲(chǔ)的當(dāng)前空閑率低于第一閾值時(shí),對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作。
8.如權(quán)利要求7所述的虛擬機(jī)管理平臺(tái),其特征在于,還包括: 判斷模塊,用于判斷所述HA集群中是否存在當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ); 所述處理模塊具體用于,當(dāng)所述判斷模塊判斷為是時(shí),對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作;當(dāng)所述判斷模塊判斷為否時(shí),不對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作;其中,所述第二閾值大于所述第一閾值。
9.如權(quán)利要求7或8所述的虛擬機(jī)管理平臺(tái),其特征在于,所述處理模塊具體用于,通過(guò)以下步驟實(shí)現(xiàn)對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作: 步驟A、將當(dāng)前空閑率大于第二閾值的其他共享存儲(chǔ)中,當(dāng)前空閑率最高的共享存儲(chǔ)確定為目標(biāo)共孚存儲(chǔ); 步驟B、對(duì)所述特定共享存儲(chǔ)進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作,遷移至目標(biāo)共享存儲(chǔ)。
10.如權(quán)利要求9所述的虛擬機(jī)管理平臺(tái),其特征在于,所述處理模塊具體用于,通過(guò)以下步驟實(shí)現(xiàn)所述步驟B: 步驟B0、確定所述特定共享存儲(chǔ)中,存儲(chǔ)文件實(shí)際大小不超過(guò)所述目標(biāo)共享存儲(chǔ)的可用空間的各個(gè)虛擬機(jī)的遷移優(yōu)先級(jí); 步驟B1、根據(jù)所述特定共享存儲(chǔ)中的虛擬機(jī)的遷移優(yōu)先級(jí),將遷移優(yōu)先級(jí)最高的虛擬機(jī)的存儲(chǔ)文件遷移到所述目標(biāo)共享存儲(chǔ); 步驟B2、判斷進(jìn)行虛擬機(jī)存儲(chǔ)文件遷移操作后的所述特定共享存儲(chǔ)的當(dāng)前空閑率是否低于所述第一閾值;若判斷為是,則轉(zhuǎn)至步驟A ;否則,結(jié)束當(dāng)前流程; 其中,未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)高于處于運(yùn)行狀態(tài)的虛擬機(jī);未處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí)與其存儲(chǔ)文件的實(shí)際大小正相關(guān);處于運(yùn)行狀態(tài)的虛擬機(jī)的遷移優(yōu)先級(jí),與該虛擬機(jī)的虛擬大小及實(shí)際空間占用率均呈正相關(guān)。
11.如權(quán)利要求10所述的虛擬機(jī)管理平臺(tái),其特征在于,所述處理模塊具體用于,進(jìn)一步根據(jù)以下公式確定處于運(yùn)行狀態(tài)的虛擬機(jī)i的遷移優(yōu)先級(jí): 虛擬機(jī)i的遷移優(yōu)先級(jí)=a*vSize i/vSize Max+b*虛擬機(jī)i的占用率 其中,vSize i為虛擬機(jī)i的虛擬大小,vSize Max為所述特定共享存儲(chǔ)中虛擬機(jī)的虛擬大小的最大值,虛擬機(jī)i的占用率為虛擬機(jī)i的實(shí)際存儲(chǔ)大小與虛擬大小的比值,a和b為不大于I的非負(fù)數(shù),且a+b=l。
【文檔編號(hào)】G06F9/48GK103810038SQ201410035243
【公開日】2014年5月21日 申請(qǐng)日期:2014年1月24日 優(yōu)先權(quán)日:2014年1月24日
【發(fā)明者】蔡志峰 申請(qǐng)人:杭州華三通信技術(shù)有限公司