1.一種虛擬機(jī)磁盤(pán)數(shù)據(jù)塊同步方法,其特征在于,包括如下具體步驟:
S1、虛擬機(jī)被定義為高可用模式時(shí),虛擬化管理平臺(tái)會(huì)在不同主機(jī)上生成兩個(gè)配置完全一致的虛擬機(jī),其中一臺(tái)為primary,一臺(tái)為secondary;虛擬機(jī)在啟動(dòng)過(guò)程中,標(biāo)識(shí)為primary的虛擬機(jī)處于running狀態(tài),標(biāo)識(shí)為secondary的虛擬機(jī)處于paused狀態(tài),等待數(shù)據(jù)同步;
S2、心跳系統(tǒng)網(wǎng)絡(luò)偵測(cè)隸屬在不同主機(jī)上的虛擬機(jī)運(yùn)行狀態(tài),若primary失效,通知虛擬化管理平臺(tái)及時(shí)將primary降級(jí)為secondary,并啟用secondary為primary繼續(xù)對(duì)外提供服務(wù);
S3、虛擬化管理平臺(tái)啟動(dòng)虛擬機(jī)時(shí),首先運(yùn)行SyncSuit同步組件,SyncSuit同步組件在虛擬機(jī)整個(gè)運(yùn)行周期中處于運(yùn)行狀態(tài);
S4、經(jīng)過(guò)SyncSuit同步組件的靜態(tài)同步模塊、delta同步模塊、動(dòng)態(tài)同步模塊同步后,虛擬化磁盤(pán)數(shù)據(jù)完全一致。
2.根據(jù)權(quán)利要求1所述的一種虛擬機(jī)磁盤(pán)數(shù)據(jù)塊同步方法,其特征在于:
所述SyncSuit同步組件,包括:
組件初始化層,負(fù)責(zé)設(shè)置SyncSuit同步組件的初始化所需參數(shù)設(shè)置、緩存區(qū)建立、初始化各功能模塊,若虛擬機(jī)為Primary,則建立tcp偵聽(tīng)端口,若為secondary則建立到Primary的同步tcp鏈接;
同步策略層,根據(jù)secondary虛擬機(jī)的虛擬化磁盤(pán)狀態(tài)調(diào)用不同的功能模塊執(zhí)行對(duì)應(yīng)同步功能模塊;
功能模塊層,所述功能模塊層包括靜態(tài)同步模塊、delta同步模塊、動(dòng)態(tài)同步模塊、讀同步模塊;
網(wǎng)絡(luò)傳輸層,負(fù)責(zé)數(shù)據(jù)的網(wǎng)絡(luò)傳輸,同時(shí)提供中斷檢測(cè)、中斷重連,使用tcp協(xié)議。
3.根據(jù)權(quán)利要求2所述的一種虛擬機(jī)磁盤(pán)數(shù)據(jù)塊同步方法,其特征在于:所述靜態(tài)同步模塊在虛擬機(jī)啟動(dòng)前,基于虛擬機(jī)配置文件,使用rsync同步所有虛擬化磁盤(pán),同步虛擬化磁盤(pán)時(shí)rsync軟件需要啟用checksum參數(shù)檢查。
4.根據(jù)權(quán)利要求2所述的一種虛擬機(jī)磁盤(pán)數(shù)據(jù)塊同步方法,其特征在于:所述delta同步模塊在模塊初始時(shí)為每個(gè)虛擬化磁盤(pán)生成bitmap數(shù)據(jù)文件,每個(gè)bit表示512Byte磁盤(pán)塊,初始所有bit位值為’0’,若有’write’操作則置’1’。
5.根據(jù)權(quán)利要求2所述的一種虛擬機(jī)磁盤(pán)數(shù)據(jù)塊同步方法,其特征在于:所述動(dòng)態(tài)同步模塊為primary虛擬機(jī)在寫(xiě)數(shù)據(jù)到磁盤(pán)時(shí),Hypervisor同步插件先將數(shù)據(jù)塊寫(xiě)入本地并更新bitmap文件數(shù)據(jù),再發(fā)送給secondary虛擬機(jī);若secondary寫(xiě)入失敗,則意味著磁盤(pán)數(shù)據(jù)不一致,同步策略層須執(zhí)行delta同步模塊。
6.根據(jù)權(quán)利要求2所述的一種虛擬機(jī)磁盤(pán)數(shù)據(jù)塊同步方法,其特征在于:所述讀同步模塊:primary在讀磁盤(pán)數(shù)據(jù)時(shí),SyncSuit同步組件先讀取primary數(shù)據(jù)并生成checksum,SyncSuit同步插件獲取secondary的對(duì)應(yīng)數(shù)據(jù)塊的checksum,若不匹配,則需要執(zhí)行靜態(tài)同步模塊后再執(zhí)行動(dòng)態(tài)同步模塊。