CN106951345B - 一种虚拟机磁盘数据的一致性测试方法及装置 - Google Patents

一种虚拟机磁盘数据的一致性测试方法及装置 Download PDF

Info

Publication number
CN106951345B
CN106951345B CN201710194816.6A CN201710194816A CN106951345B CN 106951345 B CN106951345 B CN 106951345B CN 201710194816 A CN201710194816 A CN 201710194816A CN 106951345 B CN106951345 B CN 106951345B
Authority
CN
China
Prior art keywords
virtual machine
tested
disk data
virtual
characteristic value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710194816.6A
Other languages
English (en)
Other versions
CN106951345A (zh
Inventor
郑书清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan aisuizhizhen Information Technology Co.,Ltd.
Original Assignee
Shanghai Eisoo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Eisoo Information Technology Co Ltd filed Critical Shanghai Eisoo Information Technology Co Ltd
Priority to CN201710194816.6A priority Critical patent/CN106951345B/zh
Publication of CN106951345A publication Critical patent/CN106951345A/zh
Application granted granted Critical
Publication of CN106951345B publication Critical patent/CN106951345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种虚拟机磁盘数据的一致性测试方法及装置。该方法包括:对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值;依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。通过计算虚拟磁盘数据文件的特征值来实现磁盘数据的一致性校验,可以保证一致性测试的准确度。

Description

一种虚拟机磁盘数据的一致性测试方法及装置
技术领域
本发明实施例涉及计算机软件测试技术领域,尤其涉及一种虚拟机磁盘数据的一致性测试方法及装置。
背景技术
虚拟化技术是将物理设备中的各类实体资源,如CPU、内存、网络或存储等,予以抽象并转换后呈现出来,使原有的物理资源得到更为充分的利用。虚拟化技术不仅可以提高业务连续性和数据安全性,还可以对业务集中管理,提高数据中心和桌面环境的管理效率。虚拟机作为虚拟化技术的直接产物,在当今火热的云计算领域发挥着至关重要的作用。同时,对虚拟机的保护也越来越重要,当前虚拟机保护主要依托于备份软件。
虚拟机的磁盘数据是不断变化的,对于备份软件来说,保证磁盘数据恢复后和备份前的数据一致性是重中之重,如何验证磁盘的数据一致性是一个挑战。
发明内容
本发明实施例提供一种虚拟机磁盘数据的一致性测试方法及装置,可以保证一致性测试的准确度。
一方面,本发明实施例提供了一种虚拟机磁盘数据的一致性测试方法,包括:
对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;
对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值;
依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
另一方面,本发明实施例提供了一种虚拟机磁盘数据的一致性测试装置,包括:
待测特征值模块,用于对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;
新特征值模块,用于对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值;
一致性确定模块,用于依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
本发明实施例提供的技术方案,对待测虚拟机执行备份操作并确定待测虚拟机中各虚拟磁盘数据文件的特征值,对待测虚拟机进行恢复得到新的虚拟机,并确定新的虚拟机中各虚拟磁盘数据文件的特征值,通过将待测虚拟机中各虚拟磁盘数据文件的特征值分别与新的虚拟机中对应的虚拟磁盘数据文件的特征值进行比较,并依据比较结果确定虚拟机磁盘数据是否一致。通过计算虚拟磁盘数据文件的特征值来实现磁盘数据的一致性校验,可以保证一致性测试的准确度。
附图说明
图1为本发明实施例一中提供的一种虚拟机磁盘数据的一致性测试方法的流程图;
图2为本发明实施例一中提供的待测虚拟机处于无快照状态下的一致性测试方法;
图3为本发明实施例二中提供的一种虚拟机磁盘数据的一致性测试方法的流程图;
图4为本发明实施例二中提供的待测虚拟机处于有快照且关机状态下的一致性测试方法;
图5为本发明实施例三中提供的一种虚拟机磁盘数据的一致性测试方法的流程图;
图6为本发明实施例三中提供的待测虚拟机处于有快照且开机状态下的一致性测试方法;
图7为本发明实施例五中提供的一种虚拟机磁盘数据的一致性测试装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中提供的一种虚拟机磁盘数据的一致性测试方法的流程图。本实施例的方法可以由虚拟机磁盘数据的一致性测试装置来执行,该装置可通过硬件和/或软件的方式实现。参考图1,本实施例提供的虚拟机磁盘数据的一致性测试方法具体可以包括如下:
步骤11、对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值。
虚拟机(VMware)备份恢复技术中的备份是通过备份代理服务器,对虚拟机执行快照操作,并将当前快照操作之前虚拟机配置文件、磁盘文件(Virtual Machine DiskFormat,VMDK)等以一定的数据格式存储到第三方存储中。
VMware快照是对VMDK磁盘文件在某个时间点的“拷贝”,这个“拷贝”并不是对VMDK磁盘文件的复制,而是保存磁盘文件和***内存在该时间点的状态(如内存或CPU的使用情况),以便在出现故障后,利用VMware快照使虚拟机能够恢复到该时间点对应的数据状态下。
虚拟机可以包括多个虚拟机磁盘。在无快照的时候,虚拟机磁盘由虚拟机磁盘描述文件(*.vmdk)文件和磁盘数据文件(*-flat.vmdk)组成。当虚拟机执行快照时,会基于原有的虚拟机磁盘生成一个新的磁盘,称为快照盘,该快照盘由如*-000001.vmdk格式的快照磁盘描述文件和*-000001-delta.vmdk格式的快照磁盘数据文件组成,快照之后的数据都是写入到*-000001-delta.vmdk快照磁盘数据文件中。
具体的,在备份过程中可以对待测虚拟机执行快照操作。在每次执行快照操作后,针对待测虚拟机中包含的每一虚拟磁盘生成该虚拟磁盘对应的快照磁盘。并且,将执行快照操作之前的数据均存储在该虚拟磁盘的父磁盘中,将执行快照操作之后的数据均存储于该虚拟磁盘对应的快照磁盘中。因而,在执行快照操作后,待测虚拟机中各虚拟磁盘的数据指的是各虚拟磁盘对应的父磁盘和所有快照磁盘中存储的数据。
其中,特征值用于唯一性地表征虚拟磁盘数据文件,不同虚拟磁盘数据文件对应的特征值也不同,若虚拟磁盘数据文件改变则对应的特征值也随之改变。示例性的,特征值可以是MD5值或SHA值。例如,通过md5sum命令记录虚拟磁盘数据文件的MD5值。
步骤12、对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值。
虚拟机恢复是将已备份到第三方存储中的虚拟机配置文件,磁盘文件等恢复到虚拟平台中,恢复过程中会将多个快照磁盘与其父磁盘整合。
具体的,对待测虚拟机执行恢复操作,依次恢复待测虚拟机中包含的各个虚拟机磁盘,将各虚拟机磁盘的快照磁盘与父磁盘整合得到新的虚拟机。以特征值为MD5值为例,每恢复一个虚拟机磁盘,就用md5sum命令记录该虚拟磁盘数据文件的MD5,直至恢复任务结束可以得到新的虚拟机中各虚拟机磁盘的MD5值。
需要说明的是,本发明实施例中待测虚拟机中各虚拟磁盘数据文件的特征值,与新的虚拟机中各虚拟磁盘数据文件的特征值的类型相同。如若待测虚拟机中各虚拟磁盘数据文件的特征值是待测虚拟机中各虚拟磁盘数据文件的MD5值,则新的虚拟机中各虚拟磁盘数据文件的特征值也是新的虚拟机中各虚拟磁盘数据文件的MD5值。
步骤13、依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
具体的,待测虚拟机中包含的各虚拟机磁盘在新的虚拟机中均有一虚拟机磁盘与其一一对应。参考图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'对应。
可以将待测虚拟机中各虚拟磁盘数据文件的特征值MD5-1,MD5-2,MD5-3,…,MD5-n分别与新的虚拟机中对应的虚拟磁盘数据文件的特征值MD5-1',MD5-2',MD5-3',…,MD5-n'进行比较,若均一致,则确定待测虚拟机与新的虚拟机一致,即虚拟机磁盘数据一致;否则,确定虚拟机磁盘数据不一致。也可以将待测虚拟机中各虚拟磁盘数据文件的特征值均存储到第一文本文件T1中,并得到第一文本文件T1的特征值;将新的虚拟机中各虚拟磁盘数据文件的特征值存储到第二文本文件T2中,并得到第二文本文件T2的特征值。随后,比较T1的特征值与T2的特征值,若一致,则虚拟机磁盘数据一致;否则,虚拟机磁盘数据不一致。
本实施例提供的技术方案,对待测虚拟机执行备份操作并确定待测虚拟机中各虚拟磁盘数据文件的特征值,对待测虚拟机进行恢复得到新的虚拟机,并确定新的虚拟机中各虚拟磁盘数据文件的特征值,通过将待测虚拟机中各虚拟磁盘数据文件的特征值分别与新的虚拟机中对应的虚拟磁盘数据文件的特征值进行比较,并依据比较结果确定虚拟机磁盘数据是否一致。通过计算虚拟磁盘数据文件的特征值来实现磁盘数据的一致性校验,可以保证一致性测试的准确度。
示例性的,对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值,可以包括:
对待测虚拟机中包含的各虚拟磁盘执行备份操作;
依据在备份时所述待测虚拟机所处的快照状态和开关机状态,确定所述待测虚拟机中各虚拟磁盘数据文件的特征值。
可以使用Python语言调用pysphere接口中的get_status()和get_snapshots()分别获取备份时虚拟机的开/关机状态和快照状态。其中,pysphere是针对Python语言的开发接口。通过对pysphere中相关接口的调用,可以实现对VMware虚拟平台和虚拟硬盘的自动化管理操作。
具体的,在备份时待测虚拟机所处的状态可以是无快照状态,有快照且关机状态,或者有快照且开机状态。依据待测虚拟机所处的状态不同采用不同的方式确定待测虚拟机中各虚拟磁盘数据文件的特征值。
示例性的,若备份时所述待测虚拟机处于无快照状态,则确定对所述待测虚拟机执行快照操作前的各虚拟磁盘数据文件的特征值。
若待测虚拟机处于无快照状态,虚拟机快照完成之后直接记录虚拟机执行快照前的各个虚拟磁盘数据文件(*-flat.vmdk)的特征值。参考图2,以特征值是MD5值为例,每备份一个虚拟机磁盘,就用md5sum命令记录该虚拟磁盘数据文件*-flat.vmdk的MD5值,并将该MD5值记录到第一文本文件T1中,直至备份任务完成,得到各虚拟机磁盘的MD5值MD5-1,MD5-2,MD5-3,…,MD5-n。另外,为了便于后续进行特征值比较还可以计算得到第一文本文件T1的MD5值。
实施例二
图3为本发明实施例二中提供的一种虚拟机磁盘数据的一致性测试方法的流程图。本实施例中待测虚拟机处于有快照且关机状态。参考图3,本实施例提供的虚拟机磁盘数据的一致性测试方法具体可以包括如下:
步骤21、对待测虚拟机中包含的各虚拟磁盘执行备份操作。
具体的,对待测虚拟机中包含的各虚拟机磁盘执行备份操作。每备份一个虚拟机磁盘,用list列表记录磁盘的备份顺序以及各虚拟磁盘的父磁盘路径和父磁盘名称。参考图4,由于快照磁盘采用的是父磁盘+后缀的格式命名且与父磁盘处于同一个路径下,因此用字符串相关方法处理虚拟磁盘的路径和名称信息,保证list列表中仅有父磁盘的磁盘路径和磁盘名称信息。
步骤22、若在备份时所述待测虚拟机处于有快照且关机状态,则删除对待测虚拟机的所有快照操作,以触发将待测虚拟机的各虚拟磁盘中所有快照磁盘数据文件整合到各父磁盘数据文件中。
具体的,若在备份时所述待测虚拟机处于有快照且关机状态,则每备份完一个虚拟机磁盘后,使用Python语言调用pysphere接口中RemoveAllSnapshots_Task(self,request,**kw)方法,删除对待测虚拟机的所有快照操作。在删除快照操作的过程中,虚拟平台会根据磁盘链路信息将待测虚拟机的各虚拟磁盘中所有快照磁盘数据文件整合到各父磁盘数据文件中。
步骤23、确定所述待测虚拟机中各父磁盘数据文件的特征值。
具体的,读取列表中的父磁盘路径和父磁盘名称,按照列表顺序找到相应的磁盘数据文件*-flat.vmdk,用md5sum命令计算出每个*-flat.vmdk文件的MD5值,并记录到第一文本文件T1中。
步骤24、对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值。
具体的,对待测虚拟机进行恢复形成新的虚拟机A',每恢复一个虚拟机磁盘,就用md5sum命令记录该虚拟磁盘数据文件*-flat.vmdk'的MD5值,并将该MD5值记录到第二文本文件T2中,直至恢复任务结束。
步骤25、依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
具体的,确定并比较第一文本文件T1和第二文本文件T2的MD5值,若两个值一致,则恢复的虚拟机磁盘数据与备份时的虚拟机磁盘数据一致;否则虚拟机磁盘数据不一致。
本实施例中,若待测虚拟机处于有快照且关机状态,待测虚拟机完成备份之后,会删除对待测虚拟机的快照操作,使得待测虚拟机根据磁盘链路关系将快照磁盘数据文件整合到其父盘磁盘数据文件中并记录下各个整合后的父磁盘数据文件的MD5值,然后与恢复形成的新的虚拟机的各个虚拟磁盘数据文件的MD5值做比较。该方法提供了待测虚拟机处于有快照且关机状态下,确定待测虚拟机中各虚拟磁盘数据文件的特征值的方法,可以进一步提高一致性测试的准确度。
实施例三
图5为本发明实施例三中提供的一种虚拟机磁盘数据的一致性测试方法的流程图。本实施例中待测虚拟机处于有快照且开机状态。参考图5,本实施例提供的虚拟机磁盘数据的一致性测试方法具体可以包括如下:
步骤31、对待测虚拟机中包含的各虚拟磁盘执行备份操作。
具体的,对待测虚拟机中包含的各虚拟机磁盘执行备份操作。每备份一个虚拟机磁盘,用list列表记录磁盘的备份顺序以及各虚拟磁盘的父磁盘路径和父磁盘名称。参考图6,由于快照磁盘采用的是父磁盘+后缀的格式命名且与父磁盘处于同一个路径下,因此用字符串相关方法处理虚拟磁盘的路径和名称信息,保证列表中仅有父磁盘的磁盘路径和磁盘名称信息。
步骤32、若备份时所述待测虚拟机处于有快照且开机状态,则将所述待测虚拟机中所有磁盘数据文件拷贝到预设的同一固定路径下,得到新的磁盘数据文件。
具体的,待测虚拟机备份完成之后,按照list列表中的排列顺序,使用Python语言调用pysphere库中的CopyVirtualDisk_Task(self,request,**kw)方法,将虚拟磁盘(如备份前的最新一次快照操作之前的父磁盘和所有快照盘)依次拷贝到一个指定的目录下,并且拷贝的磁盘数据是当前快照之前的所有数据,包括快照磁盘数据文件*-delta.vmdk中的数据和父磁盘数据文件*-flat.vmdk中的数据。
步骤33、确定新的磁盘数据文件的特征值。
具体的,在拷贝操作结束后,在指的目录下会生成一个新的虚拟磁盘,找到该虚拟磁盘的磁盘数据文件*-flat.vmdk,计算出磁盘数据文件*-flat.vmdk的MD5值,并记录到第一文本文件T1中。
步骤34、对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值。
具体的,对待测虚拟机进行恢复形成新的虚拟机A',每恢复一个虚拟机磁盘,就用md5sum命令记录该虚拟磁盘数据文件*-flat.vmdk'的MD5值,并将该MD5值记录到第二文本文件T2中,直至恢复任务结束。
步骤35、依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
具体的,确定并比较第一文本文件T1和第二文本文件T2的MD5值,若两个值一致,则恢复的虚拟机磁盘数据与备份时的虚拟机磁盘数据一致;否则虚拟机磁盘数据不一致。
本实施例中,若待测虚拟机处于有快照且开机状态,在待测虚拟机完成备份之后,保留之前备份时产生的快照,并将原来的待测虚拟机各个磁盘拷贝到指定的路径下。在拷贝磁盘的过程中,快照磁盘数据文件与父盘的磁盘数据文件会形成一个新的磁盘数据文件,同时会记录下各个新的磁盘数据文件的MD5值,然后与恢复的新的虚拟机中各个虚拟磁盘数据文件的MD5值做比较。该方法提供了待测虚拟机处于有快照且开机状态下,确定待测虚拟机中各虚拟磁盘数据文件的特征值的方法,可以进一步提高一致性测试的准确度。
实施例四
本实施例提供一种基于自动化框架RF的虚拟机磁盘数据的一致性测试方法。该方法适用于VMware ESXi虚拟平台中虚拟磁盘数据的校验。并且,为了实现自动化测试,对于VMware ESXi主机来说,需要启动SSH服务,保证SSHLibrary中的关键字能够访问到ESXi主机后台。其中,SSHLibrary是一个基于Python语言实现的对SSH的封装库,通过对SSHLibrary库中关键字调用可以实现对Linux远程登录,远程执行命令等操作。通过调用SSHLibrary中sshLibrary.Open Connection和sshLibrary.Login关键字打开VMware ESXi主机的远程链接,调用Execute Command关键字,远程执行md5sum命令,获取到磁盘数据文件的MD5值。
RF是一个开源的、基于Python语言实现的通用自动化测试框架。RF可以导入第三方库,也可以导入自定义的Python程序中的类。首先把上述实施例中实现的方法例如字符串相关方法,RemoveAllSnapshots_Task(self,request,**kw)方法,CopyVirtualDisk_Task(self,request,**kw)方法,get_status()方法,和get_snapshots()方法等放在同一个类中实现,并把这个类当做Library加载到RF自动化测试框架中,利用SSHLibrary中的关键字sshLibrary.Open Connection,sshLibrary.Login,Execute Command得到*-flat.vmdk文件的MD5值,然后通过调用上述实施例中涉及的方法得到返回值,最后使用RF自带的关键字should match来比较两个返回值,若匹配,则用例执行成功,表明结果一致;若不匹配,则用例执行失败,表明结果不一致。
本实施例提供的虚拟机磁盘数据的一致性测试方法的实现方法采用Python语言实现,因此比较对象所在的计算机上需要有Python的运行环境。具体实现过程如下:
1)在Windows环境中安装Python语言以及第三方Python库pysphere和SSHLibrary。
2)在该Windows环境中部署RF自动化测试工具。
3)使用Python调用pyvsphere接口写一个程序实现如下功能:通过调用RemoveAllSnapshots_Task(self,request,**kw)方法,删除虚拟机快照;通过调用CopyVirtualDisk_Task(self,request,**kw)方法,整合并拷贝虚拟磁盘到指定的目录下。
4)运行RF自动化工具,加载Python实现的库文件以及SSHLibrary库文件,编写自动化用例,在自动化用例中填好备份待测虚拟机A路径。调用SSHLibrary的关键字sshLibrary.Open Connection,sshLibrary.Login登录到VMware ESXi主机后台。
5)传入待测虚拟机A的路径,调用get_status()和get_snapshots()方法判断待测虚拟机备份时所处的状态。
6)通过备份恢复软件执行待测虚拟机A的备份。
7)若待测虚拟机A没有快照,在待测虚拟机A备份的时候,依次将待测虚拟机的磁盘数据文件调用关键字“Execute Command”执行“md5sum*-flat.vmdk>xxx”命令将MD5值记录到指定的文件下。若待测虚拟机A存在快照且在关机状态,则等虚拟机备份完之后,调用RemoveAllSnapshots_Task关键字移除虚拟机快照操作。若待测虚拟机A存在快照且在开机状态,则调用CopyVirtualDisk_Task关键字将虚拟机磁盘拷贝到指定目录下。若待测虚拟机A存在快照,随后依次将删除快照或拷贝出来的虚拟磁盘数据文件调用关键字“ExecuteCommand”执行“md5sum*-flat.vmdk>xxx”命令将MD5值记录到指定的T1文件下。
8)恢复待测虚拟机A,将新建一台新的虚拟机A'并按照待测虚拟机A的磁盘读取顺序,将磁盘数据恢复到新的虚拟机A'中。
9)每恢复一个虚拟机磁盘,调用关键字“Execute Command”执行“md5sum*-flat.vmdk>yyy”命令得到新的虚拟机A'中对应的虚拟机磁盘的MD5值记录到指定的T2文件中。
10)调用“Execute Command”执行“md5sum T1”和“md5sum T2”命令,获取T1和T2的MD5值,并使用关键字“should match”进行比较。若用例运行通过,则证明备份前后虚拟机虚拟磁盘数据一致;若用例运行失败,则证明不一致。
本实施例中适用于VMware ESXi虚拟平台中虚拟磁盘数据的校验。只需要把待校验的虚拟机的路径填入到已写好的自动化用例中,通过执行自动化用例即可达到校验虚拟机磁盘数据一致性的目的,有效性高且方便快捷。在这个环境下虚拟磁盘数据一致性校验变得简单,节省人力和时间,并且可以规避人为造成的错误。
实施例五
图7为本发明实施例五中提供的一种虚拟机磁盘数据的一致性测试装置的结构图。如图7所示,该一致性测试装可以包括:
待测特征值模块41,用于对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;
新特征值模块42,用于对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值;
一致性确定模块43,用于依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
示例性的,所述待测特征值模块41可以包括:
备份单元,用于对待测虚拟机中包含的各虚拟磁盘执行备份操作;
待测特征值单元,用于依据在备份时所述待测虚拟机所处的快照状态和开关机状态,确定所述待测虚拟机中各虚拟磁盘数据文件的特征值。
示例性的,所述待测特征值单元具体可以用于:
若备份时所述待测虚拟机处于无快照状态,则确定对所述待测虚拟机执行快照操作前的各虚拟磁盘数据文件的特征值。
示例性的,所述待测特征值单元具体可以用于:
若在备份时所述待测虚拟机处于有快照且关机状态,则删除对待测虚拟机的所有快照操作,以触发将待测虚拟机的各虚拟磁盘中所有快照磁盘数据文件整合到各父磁盘数据文件中;
确定所述待测虚拟机中各父磁盘数据文件的特征值。
示例性的,所述待测特征值单元具体可以用于:
若备份时所述待测虚拟机处于有快照且开机状态,则将所述待测虚拟机中所有磁盘数据文件拷贝到预设的同一固定路径下,得到新的磁盘数据文件;
确定新的磁盘数据文件的特征值。
示例性的,所述特征值可以是MD5值或SHA值。
本实施例提供的虚拟机磁盘数据的一致性测试装置,与本发明任意实施例所提供的虚拟机磁盘数据的一致性测试方法属于同一发明构思,可执行本发明任意实施例所提供的虚拟机磁盘数据的一致性测试方法,具备执行虚拟机磁盘数据的一致性测试方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的虚拟机磁盘数据的一致性测试方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种虚拟机磁盘数据的一致性测试方法,其特征在于,包括:
对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;
所述对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值,包括:
对待测虚拟机中包含的各虚拟磁盘执行备份操作,依据在备份时所述待测虚拟机所处的快照状态和开关机状态,确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;
对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值;
依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
2.根据权利要求1所述的方法,其特征在于,依据备份时所述待测虚拟机所处的快照状态和开关机状态,确定所述待测虚拟机中各虚拟磁盘数据文件的特征值,包括:
若备份时所述待测虚拟机处于无快照状态,则确定对所述待测虚拟机执行快照操作前的各虚拟磁盘数据文件的特征值。
3.根据权利要求1所述的方法,其特征在于,依据备份时所述待测虚拟机所处的快照状态和开关机状态,确定所述待测虚拟机中各虚拟磁盘数据文件的特征值,包括:
若在备份时所述待测虚拟机处于有快照且关机状态,则删除对待测虚拟机的所有快照操作,以触发将待测虚拟机的各虚拟磁盘中所有快照磁盘数据文件整合到各父磁盘数据文件中;
确定所述待测虚拟机中各父磁盘数据文件的特征值。
4.根据权利要求1所述的方法,其特征在于,依据备份时所述待测虚拟机所处的快照状态和开关机状态,确定所述待测虚拟机中各虚拟磁盘数据文件的特征值,包括:
若备份时所述待测虚拟机处于有快照且开机状态,则将所述待测虚拟机中所有磁盘数据文件拷贝到预设的同一固定路径下,得到新的磁盘数据文件;
确定新的磁盘数据文件的特征值。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述特征值是MD5值或SHA值。
6.一种虚拟机磁盘数据的一致性测试装置,其特征在于,包括:
待测特征值模块,用于对待测虚拟机执行备份操作,并确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;
所述待测特征值模块包括:
备份单元,用于对待测虚拟机中包含的各虚拟磁盘执行备份操作;
待测特征值单元,用于依据在备份时所述待测虚拟机所处的快照状态和开关机状态,确定所述待测虚拟机中各虚拟磁盘数据文件的特征值;
新特征值模块,用于对待测虚拟机进行恢复得到新的虚拟机,并且确定新的虚拟机中各虚拟磁盘数据文件的特征值;
一致性确定模块,用于依据所述待测虚拟机中各虚拟磁盘数据文件的特征值和所述新的虚拟机中各虚拟磁盘数据文件的特征值,确定虚拟机磁盘数据是否一致。
7.根据权利要求6所述的装置,其特征在于,所述待测特征值单元具体用于:
若在备份时所述待测虚拟机处于有快照且关机状态,则删除对待测虚拟机的所有快照操作,以触发将待测虚拟机的各虚拟磁盘中所有快照磁盘数据文件整合到各父磁盘数据文件中;
确定所述待测虚拟机中各父磁盘数据文件的特征值。
8.根据权利要求6所述的装置,其特征在于,所述待测特征值单元具体用于:
若备份时所述待测虚拟机处于有快照且开机状态,则将所述待测虚拟机中所有磁盘数据文件拷贝到预设的同一固定路径下,得到新的磁盘数据文件;
确定新的磁盘数据文件的特征值。
CN201710194816.6A 2017-03-28 2017-03-28 一种虚拟机磁盘数据的一致性测试方法及装置 Active CN106951345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710194816.6A CN106951345B (zh) 2017-03-28 2017-03-28 一种虚拟机磁盘数据的一致性测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710194816.6A CN106951345B (zh) 2017-03-28 2017-03-28 一种虚拟机磁盘数据的一致性测试方法及装置

Publications (2)

Publication Number Publication Date
CN106951345A CN106951345A (zh) 2017-07-14
CN106951345B true CN106951345B (zh) 2020-03-13

Family

ID=59474690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710194816.6A Active CN106951345B (zh) 2017-03-28 2017-03-28 一种虚拟机磁盘数据的一致性测试方法及装置

Country Status (1)

Country Link
CN (1) CN106951345B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391307A (zh) * 2017-07-27 2017-11-24 郑州云海信息技术有限公司 存储区域网络存储设备快照功能的测试方法及装置
CN107480562A (zh) * 2017-08-18 2017-12-15 郑州云海信息技术有限公司 一种磁盘管理方法及装置
CN107818029B (zh) * 2017-11-07 2020-06-16 上海爱数信息技术股份有限公司 一种云硬盘数据恢复一致性的自动化测试方法
CN108595290A (zh) * 2018-03-23 2018-09-28 上海爱数信息技术股份有限公司 一种保证备份数据可靠性的方法及数据备份方法
CN108664352B (zh) * 2018-05-11 2022-07-12 卡斯柯信号有限公司 一种基于离线仿真的热备***教育数据验证方法
CN109032838B (zh) * 2018-06-28 2022-07-15 上海爱数信息技术股份有限公司 虚拟机备份恢复数据一致性的自动校验方法
CN110955557B (zh) * 2018-09-27 2023-09-12 阿里巴巴集团控股有限公司 数据验证处理方法、装置、存储介质以及处理器
CN109669871B (zh) * 2018-12-24 2021-05-18 枫国宏利信息科技服务(成都)有限公司 一种实现Oracle Form自动化测试的方法
CN110109773A (zh) * 2019-04-11 2019-08-09 苏州浪潮智能科技有限公司 一种虚拟机磁盘一致性的检测方法及***
CN111221795A (zh) * 2019-10-31 2020-06-02 北京浪潮数据技术有限公司 一种虚拟化磁盘数据校验方法、装置和介质
CN111338759A (zh) * 2020-02-26 2020-06-26 平安科技(深圳)有限公司 虚拟磁盘校验码生成方法、装置、设备及存储介质
CN115225535A (zh) * 2022-07-27 2022-10-21 济南浪潮数据技术有限公司 一种云平台的一致性检测方法及相关组件

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的***和方法
CN103678045A (zh) * 2013-12-31 2014-03-26 曙光云计算技术有限公司 虚拟机的数据备份方法
CN103810058A (zh) * 2012-11-12 2014-05-21 华为技术有限公司 虚拟机备份方法、设备及***
CN103870362A (zh) * 2014-03-21 2014-06-18 华为技术有限公司 一种数据恢复方法、装置及备份***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760443B2 (en) * 2014-06-28 2017-09-12 Vmware, Inc. Using a recovery snapshot during live migration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的***和方法
CN103810058A (zh) * 2012-11-12 2014-05-21 华为技术有限公司 虚拟机备份方法、设备及***
CN103678045A (zh) * 2013-12-31 2014-03-26 曙光云计算技术有限公司 虚拟机的数据备份方法
CN103870362A (zh) * 2014-03-21 2014-06-18 华为技术有限公司 一种数据恢复方法、装置及备份***

Also Published As

Publication number Publication date
CN106951345A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN106951345B (zh) 一种虚拟机磁盘数据的一致性测试方法及装置
CN102736978B (zh) 一种检测应用程序的安装状态的方法及装置
US8140907B2 (en) Accelerated virtual environments deployment troubleshooting based on two level file system signature
CN107818029B (zh) 一种云硬盘数据恢复一致性的自动化测试方法
US9262283B2 (en) Method for reading kernel log upon kernel panic in operating system
US7509544B2 (en) Data repair and synchronization method of dual flash read only memory
CN111580929A (zh) 一种基于虚拟机保护数据的有效性验证***及方法
CN109032838B (zh) 虚拟机备份恢复数据一致性的自动校验方法
KR20150070134A (ko) 가상 데이터베이스를 생성하기 위한 소스 데이터베이스의 지정 시간 복사의 검색
KR20060049879A (ko) 최적화된 복원 계획을 생성하는 방법
CN109325016B (zh) 数据迁移方法、装置、介质及电子设备
CN110727597B (zh) 一种基于日志排查无效代码补全用例的方法
US9524215B1 (en) Systems and methods for managing virtual machine backups
US10048978B2 (en) Apparatus and method for identifying a virtual machine having changeable settings
CN110209525B (zh) 操作***还原方法及装置
US11150831B2 (en) Virtual machine synchronization and recovery
CN109710596B (zh) 数据清理方法、装置、设备及计算机可读存储介质
US11093380B1 (en) Automated testing of backup component upgrades within a data protection environment
CN111694724B (zh) 分布式表格***的测试方法、装置、电子设备及存储介质
US10366076B1 (en) Systems and methods for repairing corrupted data segments in deduplicated data systems
US9946853B1 (en) Techniques for application code obfuscation
CN105760456A (zh) 一种保持数据一致性的方法和装置
CN115495286A (zh) 配置文件定时备份的测试方法、***、设备和存储介质
CN114780208A (zh) 验证多平台虚拟机备份有效性方法、***、装置及存储介质
US20160004607A1 (en) Information processing apparatus and information processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211231

Address after: 410005 room 2801, 28 / F, Shimao business center, No. 393, Jianxiang Road, Dingwangtai street, Furong district, Changsha City, Hunan Province

Patentee after: Hunan aisuizhizhen Information Technology Co.,Ltd.

Address before: 201112 unit A-1, 2nd floor, building 8, No. 1188, LIANHANG Road, Minhang District, Shanghai

Patentee before: SHANGHAI EISOO INFORMATION TECHNOLOGY Co.,Ltd.