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