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

一種虛擬機磁盤數(shù)據(jù)的一致性測試方法及裝置與流程

文檔序號:11729253閱讀:558來源:國知局
一種虛擬機磁盤數(shù)據(jù)的一致性測試方法及裝置與流程

本發(fā)明實施例涉及計算機軟件測試技術領域,尤其涉及一種虛擬機磁盤數(shù)據(jù)的一致性測試方法及裝置。



背景技術:

虛擬化技術是將物理設備中的各類實體資源,如cpu、內(nèi)存、網(wǎng)絡或存儲等,予以抽象并轉換后呈現(xiàn)出來,使原有的物理資源得到更為充分的利用。虛擬化技術不僅可以提高業(yè)務連續(xù)性和數(shù)據(jù)安全性,還可以對業(yè)務集中管理,提高數(shù)據(jù)中心和桌面環(huán)境的管理效率。虛擬機作為虛擬化技術的直接產(chǎn)物,在當今火熱的云計算領域發(fā)揮著至關重要的作用。同時,對虛擬機的保護也越來越重要,當前虛擬機保護主要依托于備份軟件。

虛擬機的磁盤數(shù)據(jù)是不斷變化的,對于備份軟件來說,保證磁盤數(shù)據(jù)恢復后和備份前的數(shù)據(jù)一致性是重中之重,如何驗證磁盤的數(shù)據(jù)一致性是一個挑戰(zhàn)。



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

本發(fā)明實施例提供一種虛擬機磁盤數(shù)據(jù)的一致性測試方法及裝置,可以保證一致性測試的準確度。

一方面,本發(fā)明實施例提供了一種虛擬機磁盤數(shù)據(jù)的一致性測試方法,包括:

對待測虛擬機執(zhí)行備份操作,并確定所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值;

對待測虛擬機進行恢復得到新的虛擬機,并且確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值;

依據(jù)所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值和所述新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,確定虛擬機磁盤數(shù)據(jù)是否一致。

另一方面,本發(fā)明實施例提供了一種虛擬機磁盤數(shù)據(jù)的一致性測試裝置,包括:

待測特征值模塊,用于對待測虛擬機執(zhí)行備份操作,并確定所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值;

新特征值模塊,用于對待測虛擬機進行恢復得到新的虛擬機,并且確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值;

一致性確定模塊,用于依據(jù)所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值和所述新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,確定虛擬機磁盤數(shù)據(jù)是否一致。

本發(fā)明實施例提供的技術方案,對待測虛擬機執(zhí)行備份操作并確定待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,對待測虛擬機進行恢復得到新的虛擬機,并確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,通過將待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值分別與新的虛擬機中對應的虛擬磁盤數(shù)據(jù)文件的特征值進行比較,并依據(jù)比較結果確定虛擬機磁盤數(shù)據(jù)是否一致。通過計算虛擬磁盤數(shù)據(jù)文件的特征值來實現(xiàn)磁盤數(shù)據(jù)的一致性校驗,可以保證一致性測試的準確度。

附圖說明

圖1為本發(fā)明實施例一中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試方法的流程圖;

圖2為本發(fā)明實施例一中提供的待測虛擬機處于無快照狀態(tài)下的一致性測試方法;

圖3為本發(fā)明實施例二中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試方法的流程圖;

圖4為本發(fā)明實施例二中提供的待測虛擬機處于有快照且關機狀態(tài)下的一致性測試方法;

圖5為本發(fā)明實施例三中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試方法的流程圖;

圖6為本發(fā)明實施例三中提供的待測虛擬機處于有快照且開機狀態(tài)下的一致性測試方法;

圖7為本發(fā)明實施例五中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試裝置的結構圖。

具體實施方式

下面結合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。

實施例一

圖1為本發(fā)明實施例一中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試方法的流程圖。本實施例的方法可以由虛擬機磁盤數(shù)據(jù)的一致性測試裝置來執(zhí)行,該裝置可通過硬件和/或軟件的方式實現(xiàn)。參考圖1,本實施例提供的虛擬機磁盤數(shù)據(jù)的一致性測試方法具體可以包括如下:

步驟11、對待測虛擬機執(zhí)行備份操作,并確定所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值。

虛擬機(vmware)備份恢復技術中的備份是通過備份代理服務器,對虛擬機執(zhí)行快照操作,并將當前快照操作之前虛擬機配置文件、磁盤文件(virtualmachinediskformat,vmdk)等以一定的數(shù)據(jù)格式存儲到第三方存儲中。

vmware快照是對vmdk磁盤文件在某個時間點的“拷貝”,這個“拷貝”并不是對vmdk磁盤文件的復制,而是保存磁盤文件和系統(tǒng)內(nèi)存在該時間點的狀態(tài)(如內(nèi)存或cpu的使用情況),以便在出現(xiàn)故障后,利用vmware快照使虛擬機能夠恢復到該時間點對應的數(shù)據(jù)狀態(tài)下。

虛擬機可以包括多個虛擬機磁盤。在無快照的時候,虛擬機磁盤由虛擬機磁盤描述文件(*.vmdk)文件和磁盤數(shù)據(jù)文件(*-flat.vmdk)組成。當虛擬機執(zhí)行快照時,會基于原有的虛擬機磁盤生成一個新的磁盤,稱為快照盤,該快照盤由如*-000001.vmdk格式的快照磁盤描述文件和*-000001-delta.vmdk格式的快照磁盤數(shù)據(jù)文件組成,快照之后的數(shù)據(jù)都是寫入到*-000001-delta.vmdk快照磁盤數(shù)據(jù)文件中。

具體的,在備份過程中可以對待測虛擬機執(zhí)行快照操作。在每次執(zhí)行快照操作后,針對待測虛擬機中包含的每一虛擬磁盤生成該虛擬磁盤對應的快照磁盤。并且,將執(zhí)行快照操作之前的數(shù)據(jù)均存儲在該虛擬磁盤的父磁盤中,將執(zhí)行快照操作之后的數(shù)據(jù)均存儲于該虛擬磁盤對應的快照磁盤中。因而,在執(zhí)行快照操作后,待測虛擬機中各虛擬磁盤的數(shù)據(jù)指的是各虛擬磁盤對應的父磁盤和所有快照磁盤中存儲的數(shù)據(jù)。

其中,特征值用于唯一性地表征虛擬磁盤數(shù)據(jù)文件,不同虛擬磁盤數(shù)據(jù)文件對應的特征值也不同,若虛擬磁盤數(shù)據(jù)文件改變則對應的特征值也隨之改變。示例性的,特征值可以是md5值或sha值。例如,通過md5sum命令記錄虛擬磁盤數(shù)據(jù)文件的md5值。

步驟12、對待測虛擬機進行恢復得到新的虛擬機,并且確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值。

虛擬機恢復是將已備份到第三方存儲中的虛擬機配置文件,磁盤文件等恢復到虛擬平臺中,恢復過程中會將多個快照磁盤與其父磁盤整合。

具體的,對待測虛擬機執(zhí)行恢復操作,依次恢復待測虛擬機中包含的各個虛擬機磁盤,將各虛擬機磁盤的快照磁盤與父磁盤整合得到新的虛擬機。以特征值為md5值為例,每恢復一個虛擬機磁盤,就用md5sum命令記錄該虛擬磁盤數(shù)據(jù)文件的md5,直至恢復任務結束可以得到新的虛擬機中各虛擬機磁盤的md5值。

需要說明的是,本發(fā)明實施例中待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,與新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值的類型相同。如若待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值是待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的md5值,則新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值也是新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的md5值。

步驟13、依據(jù)所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值和所述新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,確定虛擬機磁盤數(shù)據(jù)是否一致。

具體的,待測虛擬機中包含的各虛擬機磁盤在新的虛擬機中均有一虛擬機磁盤與其一一對應。參考圖2,待測虛擬機a中包含的虛擬機磁盤-flat.vmdk:_1-flat.vmdk,_2-flat.vmdk,_3-flat.vmdk,…,_n-flat.vmdk依次與新的虛擬機中包含的虛擬機磁盤-flat.vmdk':_1-flat.vmdk',_2-flat.vmdk',_3-flat.vmdk',…,_n-flat.vmdk'對應。

可以將待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值md5-1,md5-2,md5-3,…,md5-n分別與新的虛擬機中對應的虛擬磁盤數(shù)據(jù)文件的特征值md5-1',md5-2',md5-3',…,md5-n'進行比較,若均一致,則確定待測虛擬機與新的虛擬機一致,即虛擬機磁盤數(shù)據(jù)一致;否則,確定虛擬機磁盤數(shù)據(jù)不一致。也可以將待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值均存儲到第一文本文件t1中,并得到第一文本文件t1的特征值;將新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值存儲到第二文本文件t2中,并得到第二文本文件t2的特征值。隨后,比較t1的特征值與t2的特征值,若一致,則虛擬機磁盤數(shù)據(jù)一致;否則,虛擬機磁盤數(shù)據(jù)不一致。

本實施例提供的技術方案,對待測虛擬機執(zhí)行備份操作并確定待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,對待測虛擬機進行恢復得到新的虛擬機,并確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,通過將待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值分別與新的虛擬機中對應的虛擬磁盤數(shù)據(jù)文件的特征值進行比較,并依據(jù)比較結果確定虛擬機磁盤數(shù)據(jù)是否一致。通過計算虛擬磁盤數(shù)據(jù)文件的特征值來實現(xiàn)磁盤數(shù)據(jù)的一致性校驗,可以保證一致性測試的準確度。

示例性的,對待測虛擬機執(zhí)行備份操作,并確定所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,可以包括:

對待測虛擬機中包含的各虛擬磁盤執(zhí)行備份操作;

依據(jù)在備份時所述待測虛擬機所處的快照狀態(tài)和開關機狀態(tài),確定所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值。

可以使用python語言調(diào)用pysphere接口中的get_status()和get_snapshots()分別獲取備份時虛擬機的開/關機狀態(tài)和快照狀態(tài)。其中,pysphere是針對python語言的開發(fā)接口。通過對pysphere中相關接口的調(diào)用,可以實現(xiàn)對vmware虛擬平臺和虛擬硬盤的自動化管理操作。

具體的,在備份時待測虛擬機所處的狀態(tài)可以是無快照狀態(tài),有快照且關機狀態(tài),或者有快照且開機狀態(tài)。依據(jù)待測虛擬機所處的狀態(tài)不同采用不同的方式確定待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值。

示例性的,若備份時所述待測虛擬機處于無快照狀態(tài),則確定對所述待測虛擬機執(zhí)行快照操作前的各虛擬磁盤數(shù)據(jù)文件的特征值。

若待測虛擬機處于無快照狀態(tài),虛擬機快照完成之后直接記錄虛擬機執(zhí)行快照前的各個虛擬磁盤數(shù)據(jù)文件(*-flat.vmdk)的特征值。參考圖2,以特征值是md5值為例,每備份一個虛擬機磁盤,就用md5sum命令記錄該虛擬磁盤數(shù)據(jù)文件*-flat.vmdk的md5值,并將該md5值記錄到第一文本文件t1中,直至備份任務完成,得到各虛擬機磁盤的md5值md5-1,md5-2,md5-3,…,md5-n。另外,為了便于后續(xù)進行特征值比較還可以計算得到第一文本文件t1的md5值。

實施例二

圖3為本發(fā)明實施例二中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試方法的流程圖。本實施例中待測虛擬機處于有快照且關機狀態(tài)。參考圖3,本實施例提供的虛擬機磁盤數(shù)據(jù)的一致性測試方法具體可以包括如下:

步驟21、對待測虛擬機中包含的各虛擬磁盤執(zhí)行備份操作。

具體的,對待測虛擬機中包含的各虛擬機磁盤執(zhí)行備份操作。每備份一個虛擬機磁盤,用list列表記錄磁盤的備份順序以及各虛擬磁盤的父磁盤路徑和父磁盤名稱。參考圖4,由于快照磁盤采用的是父磁盤+后綴的格式命名且與父磁盤處于同一個路徑下,因此用字符串相關方法處理虛擬磁盤的路徑和名稱信息,保證list列表中僅有父磁盤的磁盤路徑和磁盤名稱信息。

步驟22、若在備份時所述待測虛擬機處于有快照且關機狀態(tài),則刪除對待測虛擬機的所有快照操作,以觸發(fā)將待測虛擬機的各虛擬磁盤中所有快照磁盤數(shù)據(jù)文件整合到各父磁盤數(shù)據(jù)文件中。

具體的,若在備份時所述待測虛擬機處于有快照且關機狀態(tài),則每備份完一個虛擬機磁盤后,使用python語言調(diào)用pysphere接口中removeallsnapshots_task(self,request,**kw)方法,刪除對待測虛擬機的所有快照操作。在刪除快照操作的過程中,虛擬平臺會根據(jù)磁盤鏈路信息將待測虛擬機的各虛擬磁盤中所有快照磁盤數(shù)據(jù)文件整合到各父磁盤數(shù)據(jù)文件中。

步驟23、確定所述待測虛擬機中各父磁盤數(shù)據(jù)文件的特征值。

具體的,讀取列表中的父磁盤路徑和父磁盤名稱,按照列表順序找到相應的磁盤數(shù)據(jù)文件*-flat.vmdk,用md5sum命令計算出每個*-flat.vmdk文件的md5值,并記錄到第一文本文件t1中。

步驟24、對待測虛擬機進行恢復得到新的虛擬機,并且確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值。

具體的,對待測虛擬機進行恢復形成新的虛擬機a',每恢復一個虛擬機磁盤,就用md5sum命令記錄該虛擬磁盤數(shù)據(jù)文件*-flat.vmdk'的md5值,并將該md5值記錄到第二文本文件t2中,直至恢復任務結束。

步驟25、依據(jù)所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值和所述新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,確定虛擬機磁盤數(shù)據(jù)是否一致。

具體的,確定并比較第一文本文件t1和第二文本文件t2的md5值,若兩個值一致,則恢復的虛擬機磁盤數(shù)據(jù)與備份時的虛擬機磁盤數(shù)據(jù)一致;否則虛擬機磁盤數(shù)據(jù)不一致。

本實施例中,若待測虛擬機處于有快照且關機狀態(tài),待測虛擬機完成備份之后,會刪除對待測虛擬機的快照操作,使得待測虛擬機根據(jù)磁盤鏈路關系將快照磁盤數(shù)據(jù)文件整合到其父盤磁盤數(shù)據(jù)文件中并記錄下各個整合后的父磁盤數(shù)據(jù)文件的md5值,然后與恢復形成的新的虛擬機的各個虛擬磁盤數(shù)據(jù)文件的md5值做比較。該方法提供了待測虛擬機處于有快照且關機狀態(tài)下,確定待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值的方法,可以進一步提高一致性測試的準確度。

實施例三

圖5為本發(fā)明實施例三中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試方法的流程圖。本實施例中待測虛擬機處于有快照且開機狀態(tài)。參考圖5,本實施例提供的虛擬機磁盤數(shù)據(jù)的一致性測試方法具體可以包括如下:

步驟31、對待測虛擬機中包含的各虛擬磁盤執(zhí)行備份操作。

具體的,對待測虛擬機中包含的各虛擬機磁盤執(zhí)行備份操作。每備份一個虛擬機磁盤,用list列表記錄磁盤的備份順序以及各虛擬磁盤的父磁盤路徑和父磁盤名稱。參考圖6,由于快照磁盤采用的是父磁盤+后綴的格式命名且與父磁盤處于同一個路徑下,因此用字符串相關方法處理虛擬磁盤的路徑和名稱信息,保證列表中僅有父磁盤的磁盤路徑和磁盤名稱信息。

步驟32、若備份時所述待測虛擬機處于有快照且開機狀態(tài),則將所述待測虛擬機中所有磁盤數(shù)據(jù)文件拷貝到預設的同一固定路徑下,得到新的磁盤數(shù)據(jù)文件。

具體的,待測虛擬機備份完成之后,按照list列表中的排列順序,使用python語言調(diào)用pysphere庫中的copyvirtualdisk_task(self,request,**kw)方法,將虛擬磁盤(如備份前的最新一次快照操作之前的父磁盤和所有快照盤)依次拷貝到一個指定的目錄下,并且拷貝的磁盤數(shù)據(jù)是當前快照之前的所有數(shù)據(jù),包括快照磁盤數(shù)據(jù)文件*-delta.vmdk中的數(shù)據(jù)和父磁盤數(shù)據(jù)文件*-flat.vmdk中的數(shù)據(jù)。

步驟33、確定新的磁盤數(shù)據(jù)文件的特征值。

具體的,在拷貝操作結束后,在指的目錄下會生成一個新的虛擬磁盤,找到該虛擬磁盤的磁盤數(shù)據(jù)文件*-flat.vmdk,計算出磁盤數(shù)據(jù)文件*-flat.vmdk的md5值,并記錄到第一文本文件t1中。

步驟34、對待測虛擬機進行恢復得到新的虛擬機,并且確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值。

具體的,對待測虛擬機進行恢復形成新的虛擬機a',每恢復一個虛擬機磁盤,就用md5sum命令記錄該虛擬磁盤數(shù)據(jù)文件*-flat.vmdk'的md5值,并將該md5值記錄到第二文本文件t2中,直至恢復任務結束。

步驟35、依據(jù)所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值和所述新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,確定虛擬機磁盤數(shù)據(jù)是否一致。

具體的,確定并比較第一文本文件t1和第二文本文件t2的md5值,若兩個值一致,則恢復的虛擬機磁盤數(shù)據(jù)與備份時的虛擬機磁盤數(shù)據(jù)一致;否則虛擬機磁盤數(shù)據(jù)不一致。

本實施例中,若待測虛擬機處于有快照且開機狀態(tài),在待測虛擬機完成備份之后,保留之前備份時產(chǎn)生的快照,并將原來的待測虛擬機各個磁盤拷貝到指定的路徑下。在拷貝磁盤的過程中,快照磁盤數(shù)據(jù)文件與父盤的磁盤數(shù)據(jù)文件會形成一個新的磁盤數(shù)據(jù)文件,同時會記錄下各個新的磁盤數(shù)據(jù)文件的md5值,然后與恢復的新的虛擬機中各個虛擬磁盤數(shù)據(jù)文件的md5值做比較。該方法提供了待測虛擬機處于有快照且開機狀態(tài)下,確定待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值的方法,可以進一步提高一致性測試的準確度。

實施例四

本實施例提供一種基于自動化框架rf的虛擬機磁盤數(shù)據(jù)的一致性測試方法。該方法適用于vmwareesxi虛擬平臺中虛擬磁盤數(shù)據(jù)的校驗。并且,為了實現(xiàn)自動化測試,對于vmwareesxi主機來說,需要啟動ssh服務,保證sshlibrary中的關鍵字能夠訪問到esxi主機后臺。其中,sshlibrary是一個基于python語言實現(xiàn)的對ssh的封裝庫,通過對sshlibrary庫中關鍵字調(diào)用可以實現(xiàn)對linux遠程登錄,遠程執(zhí)行命令等操作。通過調(diào)用sshlibrary中sshlibrary.openconnection和sshlibrary.login關鍵字打開vmwareesxi主機的遠程鏈接,調(diào)用executecommand關鍵字,遠程執(zhí)行md5sum命令,獲取到磁盤數(shù)據(jù)文件的md5值。

rf是一個開源的、基于python語言實現(xiàn)的通用自動化測試框架。rf可以導入第三方庫,也可以導入自定義的python程序中的類。首先把上述實施例中實現(xiàn)的方法例如字符串相關方法,removeallsnapshots_task(self,request,**kw)方法,copyvirtualdisk_task(self,request,**kw)方法,get_status()方法,和get_snapshots()方法等放在同一個類中實現(xiàn),并把這個類當做library加載到rf自動化測試框架中,利用sshlibrary中的關鍵字sshlibrary.openconnection,sshlibrary.login,executecommand得到*-flat.vmdk文件的md5值,然后通過調(diào)用上述實施例中涉及的方法得到返回值,最后使用rf自帶的關鍵字shouldmatch來比較兩個返回值,若匹配,則用例執(zhí)行成功,表明結果一致;若不匹配,則用例執(zhí)行失敗,表明結果不一致。

本實施例提供的虛擬機磁盤數(shù)據(jù)的一致性測試方法的實現(xiàn)方法采用python語言實現(xiàn),因此比較對象所在的計算機上需要有python的運行環(huán)境。具體實現(xiàn)過程如下:

1)在windows環(huán)境中安裝python語言以及第三方python庫pysphere和sshlibrary。

2)在該windows環(huán)境中部署rf自動化測試工具。

3)使用python調(diào)用pyvsphere接口寫一個程序實現(xiàn)如下功能:通過調(diào)用removeallsnapshots_task(self,request,**kw)方法,刪除虛擬機快照;通過調(diào)用copyvirtualdisk_task(self,request,**kw)方法,整合并拷貝虛擬磁盤到指定的目錄下。

4)運行rf自動化工具,加載python實現(xiàn)的庫文件以及sshlibrary庫文件,編寫自動化用例,在自動化用例中填好備份待測虛擬機a路徑。調(diào)用sshlibrary的關鍵字sshlibrary.openconnection,sshlibrary.login登錄到vmwareesxi主機后臺。

5)傳入待測虛擬機a的路徑,調(diào)用get_status()和get_snapshots()方法判斷待測虛擬機備份時所處的狀態(tài)。

6)通過備份恢復軟件執(zhí)行待測虛擬機a的備份。

7)若待測虛擬機a沒有快照,在待測虛擬機a備份的時候,依次將待測虛擬機的磁盤數(shù)據(jù)文件調(diào)用關鍵字“executecommand”執(zhí)行“md5sum*-flat.vmdk>xxx”命令將md5值記錄到指定的文件下。若待測虛擬機a存在快照且在關機狀態(tài),則等虛擬機備份完之后,調(diào)用removeallsnapshots_task關鍵字移除虛擬機快照操作。若待測虛擬機a存在快照且在開機狀態(tài),則調(diào)用copyvirtualdisk_task關鍵字將虛擬機磁盤拷貝到指定目錄下。若待測虛擬機a存在快照,隨后依次將刪除快照或拷貝出來的虛擬磁盤數(shù)據(jù)文件調(diào)用關鍵字“executecommand”執(zhí)行“md5sum*-flat.vmdk>xxx”命令將md5值記錄到指定的t1文件下。

8)恢復待測虛擬機a,將新建一臺新的虛擬機a'并按照待測虛擬機a的磁盤讀取順序,將磁盤數(shù)據(jù)恢復到新的虛擬機a'中。

9)每恢復一個虛擬機磁盤,調(diào)用關鍵字“executecommand”執(zhí)行“md5sum*-flat.vmdk>yyy”命令得到新的虛擬機a'中對應的虛擬機磁盤的md5值記錄到指定的t2文件中。

10)調(diào)用“executecommand”執(zhí)行“md5sumt1”和“md5sumt2”命令,獲取t1和t2的md5值,并使用關鍵字“shouldmatch”進行比較。若用例運行通過,則證明備份前后虛擬機虛擬磁盤數(shù)據(jù)一致;若用例運行失敗,則證明不一致。

本實施例中適用于vmwareesxi虛擬平臺中虛擬磁盤數(shù)據(jù)的校驗。只需要把待校驗的虛擬機的路徑填入到已寫好的自動化用例中,通過執(zhí)行自動化用例即可達到校驗虛擬機磁盤數(shù)據(jù)一致性的目的,有效性高且方便快捷。在這個環(huán)境下虛擬磁盤數(shù)據(jù)一致性校驗變得簡單,節(jié)省人力和時間,并且可以規(guī)避人為造成的錯誤。

實施例五

圖7為本發(fā)明實施例五中提供的一種虛擬機磁盤數(shù)據(jù)的一致性測試裝置的結構圖。如圖7所示,該一致性測試裝可以包括:

待測特征值模塊41,用于對待測虛擬機執(zhí)行備份操作,并確定所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值;

新特征值模塊42,用于對待測虛擬機進行恢復得到新的虛擬機,并且確定新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值;

一致性確定模塊43,用于依據(jù)所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值和所述新的虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值,確定虛擬機磁盤數(shù)據(jù)是否一致。

示例性的,所述待測特征值模塊41可以包括:

備份單元,用于對待測虛擬機中包含的各虛擬磁盤執(zhí)行備份操作;

待測特征值單元,用于依據(jù)在備份時所述待測虛擬機所處的快照狀態(tài)和開關機狀態(tài),確定所述待測虛擬機中各虛擬磁盤數(shù)據(jù)文件的特征值。

示例性的,所述待測特征值單元具體可以用于:

若備份時所述待測虛擬機處于無快照狀態(tài),則確定對所述待測虛擬機執(zhí)行快照操作前的各虛擬磁盤數(shù)據(jù)文件的特征值。

示例性的,所述待測特征值單元具體可以用于:

若在備份時所述待測虛擬機處于有快照且關機狀態(tài),則刪除對待測虛擬機的所有快照操作,以觸發(fā)將待測虛擬機的各虛擬磁盤中所有快照磁盤數(shù)據(jù)文件整合到各父磁盤數(shù)據(jù)文件中;

確定所述待測虛擬機中各父磁盤數(shù)據(jù)文件的特征值。

示例性的,所述待測特征值單元具體可以用于:

若備份時所述待測虛擬機處于有快照且開機狀態(tài),則將所述待測虛擬機中所有磁盤數(shù)據(jù)文件拷貝到預設的同一固定路徑下,得到新的磁盤數(shù)據(jù)文件;

確定新的磁盤數(shù)據(jù)文件的特征值。

示例性的,所述特征值可以是md5值或sha值。

本實施例提供的虛擬機磁盤數(shù)據(jù)的一致性測試裝置,與本發(fā)明任意實施例所提供的虛擬機磁盤數(shù)據(jù)的一致性測試方法屬于同一發(fā)明構思,可執(zhí)行本發(fā)明任意實施例所提供的虛擬機磁盤數(shù)據(jù)的一致性測試方法,具備執(zhí)行虛擬機磁盤數(shù)據(jù)的一致性測試方法相應的功能模塊和有益效果。未在本實施例中詳盡描述的技術細節(jié),可參見本發(fā)明任意實施例提供的虛擬機磁盤數(shù)據(jù)的一致性測試方法。

注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鄂托克旗| 莎车县| 夏邑县| 西平县| 建平县| 清原| 谢通门县| 临澧县| 安西县| 称多县| 兴隆县| 武宣县| 普兰县| 台江县| 滕州市| 肇庆市| 大邑县| 太原市| 沛县| 贵溪市| 五寨县| 浮山县| 云霄县| 仪陇县| 昆明市| 灌云县| 屯昌县| 宜君县| 潮州市| 隆尧县| 定南县| 瑞金市| 突泉县| 广汉市| 密山市| 苏尼特左旗| 常州市| 遂溪县| 方城县| 云阳县| 云阳县|