一種虛擬機故障修復方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及虛擬技術領域,尤其涉及一種虛擬機故障修復方法和裝置。
【背景技術】
[0002]隨著虛擬技術的發(fā)展,目前虛擬機(Virtual Machine,VM)應用越來越廣泛。然而,VM在運行過程可能會出現(xiàn)系統(tǒng)盤故障,例如:VM因客戶操作系統(tǒng)(Guest Operat1nSystem, Guest OS)的原因導致系統(tǒng)盤故障。且當VM系統(tǒng)盤出現(xiàn)故障后,VM無法正常工作,以導致業(yè)務受損。目前處理VM故障的方案主要是通過如下方法:
[0003]VM故障后,VM設置成從網(wǎng)絡引導,并從動態(tài)主機配置協(xié)議(Dynamic HostConfigurat1n Protocol,DHCP)服務器申請IP,VM使用申請到的IP連接簡單文件傳輸協(xié)議(Trivial File Transfer Protocol,TFTP)服務器下載微操作系統(tǒng)(micro OS) ;VM 從micro OS啟動運行,并重新安裝生產(chǎn)操作系統(tǒng)(Operat1n System, OS);在安裝完生產(chǎn)OS后,重啟VM,就可以繼續(xù)安裝APP。通過上述步驟就可以重裝整個VM,同時自動恢復業(yè)務,以實現(xiàn)恢復VM故障。
[0004]然而,在某些實際生產(chǎn)環(huán)境中(比如運營商搭建的云),基于安全考慮,要求VM的IP由云的基礎設施層分配。為了不產(chǎn)生沖突,租戶的VM就不能開啟DHCP服務。因此租戶的VM不能再依靠DHCP服務進行VM故障恢復。可見,上述VM故障修復方法無法對無DHCP服務場景下的VM進行故障修復。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種虛擬機故障修復方法和裝置,可以對無DHCP服務場景下的VM進行故障修復。
[0006]第一方面,本發(fā)明實施例提供一種虛擬機故障修復方法,包括:
[0007]當檢測到原虛擬機發(fā)生故障時,使用鏡像模板創(chuàng)建新虛擬機;
[0008]將所述原虛擬機的媒體接入控制(Media Access Control, MAC)地址設置為所述新虛擬機的MAC地址,并將所述原虛擬機的數(shù)據(jù)盤掛載至所述新虛擬機;
[0009]啟動所述新虛擬機,其中,所述新虛擬機在對所述數(shù)據(jù)盤進行分區(qū)時,不對所述數(shù)據(jù)盤中的業(yè)務數(shù)據(jù)所在預留區(qū)進行格式化。
[0010]在第一方面的第一種可能的實現(xiàn)方式中,所述方法還包括:
[0011]當檢測到所述原虛擬機與高可用性(High availability, HA)仲裁模塊停止傳輸消息包的時間超過第一時間閾值時,將所述原虛擬機復位,并檢測在所述原虛擬機復位后所述原虛擬機與所述HA仲裁模塊停止傳輸消息包的時間是否超過第二時間閾值,若是,則確定所述原虛擬機發(fā)生故障。
[0012]結合第一方面或者第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,所述使用所述源虛擬機的鏡像模板創(chuàng)建新虛擬機,包括:
[0013]使用鏡像模板創(chuàng)建僅包括系統(tǒng)盤的新虛擬機。
[0014]結合第一方面或者第一方面的第一種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,所述數(shù)據(jù)盤包括分區(qū)表,所述分區(qū)表中注明有所述數(shù)據(jù)盤的業(yè)務數(shù)據(jù)所在的預留區(qū),所述新虛擬機在對所述數(shù)據(jù)盤進行分區(qū)時,根據(jù)所述分區(qū)表不對所述數(shù)據(jù)盤中的業(yè)務數(shù)據(jù)所在的預留區(qū)進行格式化,將所述數(shù)據(jù)盤中除所述業(yè)務數(shù)據(jù)所在的預留區(qū)之外的區(qū)域進行格式化。
[0015]結合第一方面或者第一方面的第一種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式中,所述將所述原虛擬機的數(shù)據(jù)盤掛載至所述新虛擬機,包括:
[0016]將所述原虛擬機的數(shù)據(jù)盤卸載,并將卸載后的所述數(shù)據(jù)盤掛載至所述新虛擬機;
[0017]所述方法還包括:
[0018]刪除所述原虛擬機。
[0019]第二方面,本發(fā)明實施例提供一種虛擬機故障修復裝置,包括:創(chuàng)建單元、設置單元和啟動單元,其中:
[0020]所述創(chuàng)建單元,用于當檢測到原虛擬機發(fā)生故障時,使用鏡像模板創(chuàng)建新虛擬機;
[0021 ] 所述設置單元,用于將所述原虛擬機的MAC地址設置為所述新虛擬機的MAC地址,并將所述原虛擬機的數(shù)據(jù)盤掛載至所述新虛擬機;
[0022]所述啟動單元,用于啟動所述新虛擬機,其中,所述新虛擬機在對所述數(shù)據(jù)盤進行分區(qū)時,不對所述數(shù)據(jù)盤中的業(yè)務數(shù)據(jù)所在預留區(qū)進行格式化。
[0023]在第二方面的第一種可能的實現(xiàn)方式中,所述裝置還包括:
[0024]檢測單元,用于當檢測到所述原虛擬機與高可用性HA仲裁模塊停止傳輸消息包的時間超過第一時間閾值時,將所述原虛擬機復位,并檢測在所述原虛擬機復位后所述原虛擬機與所述HA仲裁模塊停止傳輸消息包的時間是否超過第二時間閾值,若是,則確定所述原虛擬機發(fā)生故障。
[0025]結合第二方面或者第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,所述創(chuàng)建單元用于使用鏡像模板創(chuàng)建僅包括系統(tǒng)盤的新虛擬機。
[0026]結合第二方面或者第二方面的第一種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,所述數(shù)據(jù)盤包括分區(qū)表,所述分區(qū)表中注明有所述數(shù)據(jù)盤的業(yè)務數(shù)據(jù)所在的預留區(qū),所述新虛擬機在對所述數(shù)據(jù)盤進行分區(qū)時,根據(jù)所述分區(qū)表不對所述數(shù)據(jù)盤中的業(yè)務數(shù)據(jù)所在的預留區(qū)進行格式化,將所述數(shù)據(jù)盤中除所述業(yè)務數(shù)據(jù)所在的預留區(qū)之外的區(qū)域進行格式化。
[0027]結合第二方面或者第二方面的第一種可能的實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中,所述設置單元還用于將所述原虛擬機的數(shù)據(jù)盤卸載,并將卸載后的所述數(shù)據(jù)盤掛載至所述新虛擬機;
[0028]所述裝置還包括:
[0029]刪除單元,用于刪除所述原虛擬機。
[0030]上述技術方案中,當檢測到原虛擬機發(fā)生故障時,使用鏡像模板創(chuàng)建新虛擬機;將所述原虛擬機的媒體接入控制MAC地址設置為所述新虛擬機的MAC地址,并將所述原虛擬機的數(shù)據(jù)盤掛載至所述新虛擬機;啟動所述新虛擬機,其中,所述新虛擬機在對所述數(shù)據(jù)盤進行分區(qū)時,不對所述數(shù)據(jù)盤中的業(yè)務數(shù)據(jù)所在預留區(qū)進行格式化。這樣在修復過程中避免了依靠DHCP網(wǎng)絡引導修復故障虛擬機,從而可以實現(xiàn)無DHCP服務場景下的VM進行故障修復。
【附圖說明】
[0031]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0032]圖1是本發(fā)明實施例提供的一種虛擬機故障修復方法的流程示意圖;
[0033]圖2是本發(fā)明實施例提供的另一種虛擬機故障修復方法的流程示意圖;
[0034]圖3是本發(fā)明實施例提供的另一種虛擬機故障修復方法的示意圖;
[0035]圖4是本發(fā)明實施例提供的一種虛擬機故障修復裝置的結構示意圖;
[0036]圖5是本發(fā)明實施例提供的另一種虛擬機故障修復裝置的結構示意圖;
[0037]圖6是本發(fā)明實施例提供的另一種虛擬機故障修復裝置的結構示意圖;
[0038]圖7是本發(fā)明實施例提供的另一種虛擬機故障修復裝置的結構示意圖。
【具體實施方式】
[0039]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基