CN114138557A - 一种存储快照回滚数据一致性测试方法与装置 - Google Patents
一种存储快照回滚数据一致性测试方法与装置 Download PDFInfo
- Publication number
- CN114138557A CN114138557A CN202111423517.8A CN202111423517A CN114138557A CN 114138557 A CN114138557 A CN 114138557A CN 202111423517 A CN202111423517 A CN 202111423517A CN 114138557 A CN114138557 A CN 114138557A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- test
- consistency
- test tool
- storage
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机存储技术领域,具体涉及一种存储快照回滚数据一致性测试方法与装置,本发明通过利用虚拟机快照,可以记录打快照前的客户端内存状态,当虚拟机快照回滚时,可以回到打快照前的内存状态。同时发明利用进程暂停技术,让测试工具暂停在打快照前的状态,当虚拟机快照回滚时,测试工具回到打快照前的内存状态,恢复运行时,测试工具对所有操作无感知,仍会执行原来的测试。在测试工具暂停期间,由于没有数据写入,可以分别对多个存储逻辑卷进行快照操作,也可以直接测试一致性卷组。通过上述技术可以让测试工具、客户端、存储数据始终保持一致的状态,实现了对快照回滚的一致性测试目标。
Description
技术领域
本发明涉及计算机存储技术领域,具体涉及一种存储快照回滚数据一致性测试方法与装置。
背景技术
在块存储系统中,快照技术通过对指定的数据集合创建完全可用的拷贝来对数据进行保护,当业务需要或发生数据损坏,可以通过快照回滚来进行快速的数据恢复将数据恢复到某个可用的时间点的状态。快照是存储系统不可或缺的功能。
存储数据一致性是指存储系统中的数据与从外部写入前的数据保持一致,即写入数据与读出数据始终是一致的。当前存在一些开源或商业的数据一致性测试工具,其原理一般是通过在写入数据的时候同时生成校验值,将数据保存到存储中、校验值也保存在存储中或者独立保存。当需要验证数据一致性时,重新读取数据生成校验值与原始的校验值进行比对以确定数据是否一致。或者写入特定的数据,并在需要时读取比较与原始数据的区别以确定数据是否一致。快照回滚的数据一致性测试要求校验快照回滚后的数据与打快照时的数据是一致的。
测试工具为了保持对各种存储系统的兼容性,一般不与存储控制面进行交互,这导致这些工具无法感知存储系统的快照操作。无法在测试执行过程中校验存储快照回滚到某一时间点后,数据是否与打快照当时的状态一致。
发明内容
针对现有技术的不足,本发明公开了一种存储快照回滚数据一致性测试方法与装置,用于解决上述问题。
本发明通过以下技术方案予以实现:
第一方面,本发明提供了一种存储快照回滚数据一致性测试方法,包括以下步骤:
S1测试工具初始化,挂载所有要测试的逻辑卷,启动测试工具开始测试;
S2获取测试工具进程,调用STOP信号来暂停测试工具进程,调用sync来将所有数据同步到存储逻辑卷中;
S3调用存储系统API依次为挂载的逻辑卷创建快照或调用逻辑卷卷组创建快照的API为此卷组下的逻辑卷创建快照;通过控制代理为宿主机上的客户端虚拟机创建一个快照;通过CONT信号来恢复测试工具的运行;
S4通过控制代理将宿主机上的客户端虚拟机回滚到之前创建的某一个快照,然后将逻辑卷、卷组回滚到对应的快照;
S5通过CONT信号来恢复测试工具进程,进行读写和一致性校验,完成对快照一致性的测试。
更进一步的,所述方法中,在宿主机上创建客户端虚拟机,安装好测试工具,挂载所有要测试的逻辑卷,启动测试工具开始测试,该测试工具持续对逻辑卷进行读写操作并判断是否存在一致性问题。
更进一步的,所述方法中,当达到测试结束条件时,如发现一致性问题或测试达到一定时间或循环一定次数之后等退出测试。
更进一步的,所述方法中,当需要对逻辑卷进行快照操作前,控制器首先获取测试工具相关的所有进程,通过向其发送系统信号来暂停这些进程。
更进一步的,所述方法中,控制器通过控制代理在宿主机上为客户端虚拟机创建快照,如果继续测试创建快照操作,则通过CONT信号来恢复测试工具进行,进行读写和一致性校验,然后重复本快照测试阶段。
更进一步的,所述方法中,如果需要测试将快照回滚后是否存在一致性问题,则控制器先通过控制代理将宿主机上的客户端虚拟机回滚到之前创建的某一个快照,然后将逻辑卷、卷组回滚到对应的快照。
更进一步的,所述方法中,通过CONT信号来恢复测试工具进行,进行读写和一致性校验时,逻辑卷上的数据保持快照前的状态,如果因为存储实现的BUG导致存在一致性问题,则测试工具可通过后续的测试发现,进而达到了对快照一致性的测试目的。
更进一步的,所述方法中,利用虚拟机快照记录打快照前的客户端内存状态,当虚拟机快照回滚时,回到打快照前的内存状态。
更进一步的,所述方法利用进程暂停技术,控制测试工具暂停在打快照前的状态,当虚拟机快照回滚时,测试工具回到打快照前的内存状态,恢复运行时,测试工具对所有操作无感知,继续执行原来的测试。
第二方面,本发明提供了一种存储快照回滚数据一致性测试装置,所述装置用于实现第一方面所述的存储快照回滚数据一致性测试方法,包括
控制器,用于控制其他组件完成存储快照回滚数据一致性的测试过程;
宿主机,采用虚拟化技术,提供客户端虚拟机的运行环境;
客户端虚拟机,用于挂载分布式存储提供的逻辑卷,通过测试工具进行测试;
测试工具,用于测试数据一致性;
控制代理,用于接收并执行控制器的控制指令。
本发明的有益效果为:
本发明可以在不修改测试工具源代码、不停止测试工具的情况下,完成对存储快照回滚的数据一致性校验。可以支持同时对多个逻辑卷进行快照测试。可以支持一致性卷组的快照测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是存储快照回滚数据一致性测试方法原理示意图;
图2是存储快照回滚数据一致性测试装置结构图;
图3是本发明实施例启动测试图;
图4是本发明实施快照测试图;
图5是本发明实施快照回滚测试流程图;
图6是本发明实施整体流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种存储快照回滚数据一致性测试方法,包括以下步骤:
S1测试工具初始化,挂载所有要测试的逻辑卷,启动测试工具开始测试;
S2获取测试工具进程,调用STOP信号来暂停测试工具进程,调用sync来将所有数据同步到存储逻辑卷中;
S3调用存储系统API依次为挂载的逻辑卷创建快照或调用逻辑卷卷组创建快照的API为此卷组下的逻辑卷创建快照;通过控制代理为宿主机上的客户端虚拟机创建一个快照;通过CONT信号来恢复测试工具的运行;
S4通过控制代理将宿主机上的客户端虚拟机回滚到之前创建的某一个快照,然后将逻辑卷、卷组回滚到对应的快照;
S5通过CONT信号来恢复测试工具进程,进行读写和一致性校验,完成对快照一致性的测试。
参照图1和图6所示,本实施例通过利用虚拟机快照,可以记录打快照前的客户端内存状态,当虚拟机快照回滚时,可以回到打快照前的内存状态。
同时本实施例利用进程暂停技术,让测试工具暂停在打快照前的状态,当虚拟机快照回滚时,测试工具回到打快照前的内存状态,恢复运行时,测试工具对所有操作无感知,仍会执行原来的测试。在测试工具暂停期间,由于没有数据写入,可以分别对多个存储逻辑卷进行快照操作,也可以直接测试一致性卷组。
通过本实施例上述技术可以让测试工具、客户端、存储数据始终保持一致的状态,实现了对快照回滚的一致性测试目标。
实施例2
在具体实施层面,本实施例提供一种存储快照回滚数据一致性测试方法的具体使用,主要包含三个阶段,分别为启动测试阶段、快照测试阶段、快照回滚测试阶段。
参照图3所示,本实施例启动测试阶段:首先准备测试环境,在块存储上创建测试所需的逻辑卷或卷组,本专利支持同时测试多个逻辑卷或一个一致性卷组中的多个卷。在宿主机上创建客户端虚拟机,安装好测试工具,挂载所有要测试的逻辑卷,启动测试工具开始测试,该测试工具持续对逻辑卷进行读写操作并判断是否存在一致性问题。当达到测试结束条件时,如发现一致性问题或测试达到一定时间或循环一定次数之后等退出测试。
参照图4所示,快照测试阶段:当需要对逻辑卷进行快照操作前,控制器首先获取测试工具相关的所有进程,通过向其发送系统信号(STOP)来暂停这些进程。调用sync来将所有数据同步到存储逻辑卷中,此时客户端暂时没有对逻辑卷的写入操作。然后调用存储系统API来为依次为挂载的所有逻辑卷创建快照,或者调用逻辑卷卷组创建快照的API为此卷组下的所有逻辑卷创建快照。控制器通过控制代理在宿主机上为客户端虚拟机创建快照。如果继续测试创建快照操作,则通过CONT信号来恢复测试工具进行,进行读写和一致性校验,然后重复本快照测试阶段。
参照图5所示,本实施例快照回滚测试阶段:如果需要测试将快照回滚后是否存在一致性问题,则控制器先通过控制代理将宿主机上的客户端虚拟机回滚到之前创建的某一个快照,然后将逻辑卷、卷组回滚到对应的快照。通过CONT信号来恢复测试工具进行,进行读写和一致性校验。此时测试工具会认为自己还处在虚拟机创建此快照前的状态,所以逻辑卷上的数据也需要保持快照前的状态,如果因为存储实现的BUG导致存在一致性问题,则测试工具可以通过后续的测试发现它,达到了对快照一致性的测试目的。
本实施例要在测试工具不作修改的前提下测试一致性,这需要在测试工具无感知的情况下进行,也就需要在创建快照和回滚快照时测试工具不中断运行。实现的关键在于快照回滚时,测试工具、测试工具所在环境、存储数据均回滚到打快照之前的状态,此时测试工具可以用原来的方式对数据进行一致性校验。
本实施例通过自己开发测试工具或者在原有测试工具上进行二次开发,也可以实现类似的功能,但本实施例具有无需修改测试工具源码,对原有测试工具具有很好的兼容性,尤其在商业工具没有提供源码时,是一种很好的补充测试方法。
实施例3
在其他层面,本实施例提供一种存储快照回滚数据一致性测试装置,包括
控制器,控制其他组件完成存储快照回滚数据一致性的测试过程。
宿主机,采用虚拟化技术(如kvm、xen、vmware),提供客户端虚拟机的运行环境。
客户端虚拟机,挂载分布式存储提供的逻辑卷,通过测试工具进行测试。
测试工具,数据一致性测试工具。
控制代理,接收并执行控制器的控制指令,此组件非必需,引入它可以简化控制器对其他组件的管理。但没有此组件,控制器仍可以直接通过远程访问如SSH、API接口等方式对客户端和宿主机进行控制。
本发明通过进程信号控制测试工具暂停与恢复,实现测试工具对整个测试过程无感知,达到无需修改源码、无须停止测试进程的目标。
本发明通过暂停测试工具的,实现对多个逻辑卷同时进行快照测试,或对一致性卷组快照测试的支持。
本发明通过测试工具进程暂停后的数据同步,保证客户端虚拟机快照与存储快照操作之间无数据写入,保持一致状态。
本发明通过虚拟机快照技术,实现测试环境始终与存储快照保持一致状态。
综上,本发明可以在不修改测试工具源代码、不停止测试工具的情况下,完成对存储快照回滚的数据一致性校验。可以支持同时对多个逻辑卷进行快照测试。可以支持一致性卷组的快照测试。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种存储快照回滚数据一致性测试方法,其特征在于,包括以下步骤:
S1测试工具初始化,挂载所有要测试的逻辑卷,启动测试工具开始测试;
S2获取测试工具进程,调用STOP信号来暂停测试工具进程,调用sync来将所有数据同步到存储逻辑卷中;
S3调用存储系统API依次为挂载的逻辑卷创建快照或调用逻辑卷卷组创建快照的API为此卷组下的逻辑卷创建快照;通过控制代理为宿主机上的客户端虚拟机创建一个快照;通过CONT信号来恢复测试工具的运行;
S4通过控制代理将宿主机上的客户端虚拟机回滚到之前创建的某一个快照,然后将逻辑卷、卷组回滚到对应的快照;
S5通过CONT信号来恢复测试工具进程,进行读写和一致性校验,完成对快照一致性的测试。
2.根据权利要求1所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法中,在宿主机上创建客户端虚拟机,安装好测试工具,挂载所有要测试的逻辑卷,启动测试工具开始测试,该测试工具持续对逻辑卷进行读写操作并判断是否存在一致性问题。
3.根据权利要求2所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法中,当达到测试结束条件时,如发现一致性问题或测试达到一定时间或循环一定次数之后等退出测试。
4.根据权利要求1所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法中,当需要对逻辑卷进行快照操作前,控制器首先获取测试工具相关的所有进程,通过向其发送系统信号来暂停这些进程。
5.根据权利要求1所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法中,控制器通过控制代理在宿主机上为客户端虚拟机创建快照,如果继续测试创建快照操作,则通过CONT信号来恢复测试工具进行,进行读写和一致性校验,然后重复本快照测试阶段。
6.根据权利要求1所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法中,如果需要测试将快照回滚后是否存在一致性问题,则控制器先通过控制代理将宿主机上的客户端虚拟机回滚到之前创建的某一个快照,然后将逻辑卷、卷组回滚到对应的快照。
7.根据权利要求6所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法中,通过CONT信号来恢复测试工具进行,进行读写和一致性校验时,逻辑卷上的数据保持快照前的状态,如果因为存储实现的BUG导致存在一致性问题,则测试工具可通过后续的测试发现,进而达到了对快照一致性的测试目的。
8.根据权利要求1所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法中,利用虚拟机快照纪录打快照前的客户端内存状态,当虚拟机快照回滚时,回到打快照前的内存状态。
9.根据权利要求1所述的存储快照回滚数据一致性测试方法,其特征在于,所述方法利用进程暂停技术,控制测试工具暂停在打快照前的状态,当虚拟机快照回滚时,测试工具回到打快照前的内存状态,恢复运行时,测试工具对所有操作无感知,继续执行原来的测试。
10.一种存储快照回滚数据一致性测试装置,所述装置用于实现如权利要求1-
9任一项所述的存储快照回滚数据一致性测试方法,其特征在于,包括
控制器,用于控制其他组件完成存储快照回滚数据一致性的测试过程;
宿主机,采用虚拟化技术,提供客户端虚拟机的运行环境;
客户端虚拟机,用于挂载分布式存储提供的逻辑卷,通过测试工具进行测试;
测试工具,用于测试数据一致性;
控制代理,用于接收并执行控制器的控制指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423517.8A CN114138557B (zh) | 2021-11-26 | 2021-11-26 | 一种存储快照回滚数据一致性测试方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423517.8A CN114138557B (zh) | 2021-11-26 | 2021-11-26 | 一种存储快照回滚数据一致性测试方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114138557A true CN114138557A (zh) | 2022-03-04 |
CN114138557B CN114138557B (zh) | 2022-05-27 |
Family
ID=80388594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111423517.8A Active CN114138557B (zh) | 2021-11-26 | 2021-11-26 | 一种存储快照回滚数据一致性测试方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138557B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506295A (zh) * | 2017-07-12 | 2017-12-22 | 深信服科技股份有限公司 | 虚拟机备份的测试方法、设备及计算机可读存储介质 |
CN108628733A (zh) * | 2017-03-16 | 2018-10-09 | 中国移动通信集团山西有限公司 | 批量业务处理操作的测试方法及装置 |
CN108763072A (zh) * | 2018-05-18 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种高效的自动化测试环境搭建方法 |
CN109032838A (zh) * | 2018-06-28 | 2018-12-18 | 上海爱数信息技术股份有限公司 | 虚拟机备份恢复数据一致性的自动校验方法 |
CN109582496A (zh) * | 2018-10-25 | 2019-04-05 | 平安科技(深圳)有限公司 | 一致性快照组的创建方法、装置及计算机可读存储介质 |
US10860532B2 (en) * | 2013-11-07 | 2020-12-08 | International Business Machines Corporation | Sharing of snapshots among multiple computing machines |
-
2021
- 2021-11-26 CN CN202111423517.8A patent/CN114138557B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10860532B2 (en) * | 2013-11-07 | 2020-12-08 | International Business Machines Corporation | Sharing of snapshots among multiple computing machines |
CN108628733A (zh) * | 2017-03-16 | 2018-10-09 | 中国移动通信集团山西有限公司 | 批量业务处理操作的测试方法及装置 |
CN107506295A (zh) * | 2017-07-12 | 2017-12-22 | 深信服科技股份有限公司 | 虚拟机备份的测试方法、设备及计算机可读存储介质 |
CN108763072A (zh) * | 2018-05-18 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种高效的自动化测试环境搭建方法 |
CN109032838A (zh) * | 2018-06-28 | 2018-12-18 | 上海爱数信息技术股份有限公司 | 虚拟机备份恢复数据一致性的自动校验方法 |
CN109582496A (zh) * | 2018-10-25 | 2019-04-05 | 平安科技(深圳)有限公司 | 一致性快照组的创建方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114138557B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8738883B2 (en) | Snapshot creation from block lists | |
KR101636870B1 (ko) | 최소 부트 이미지의 생성 방법 및 장치 | |
US7000229B2 (en) | Method and system for live operating environment upgrades | |
CN106951345B (zh) | 一种虚拟机磁盘数据的一致性测试方法及装置 | |
CN112199162B (zh) | 基于虚拟化磁盘双活容灾的磁盘快照方法、装置及介质 | |
CN107807839B (zh) | 一种修改虚拟机内存数据的方法、装置及电子设备 | |
EP2840495A1 (en) | Container-based processing method, device and system | |
CN101770410A (zh) | 基于客户操作系统的系统还原方法、虚拟机管理器及系统 | |
CN109032838B (zh) | 虚拟机备份恢复数据一致性的自动校验方法 | |
CN110737512A (zh) | 跨平台虚拟机在线迁移方法及相关组件 | |
CN107329792B (zh) | 一种Docker容器启动方法及装置 | |
CN110032477B (zh) | 一种恢复持续数据保护的方法、系统及相关组件 | |
CN108268302B (zh) | 实现设备启动的方法和装置 | |
CN112380062A (zh) | 一种基于系统备份点多次快速恢复系统的方法及系统 | |
CN110209525B (zh) | 操作系统还原方法及装置 | |
CN110968392A (zh) | 一种升级虚拟化模拟器的方法和装置 | |
CN110968457A (zh) | 一种Linux操作系统的备份还原方法、系统与介质 | |
CN113076182A (zh) | 计算任务的恢复方法、装置、用户设备及存储介质 | |
KR102315102B1 (ko) | 가상 머신을 부팅하기 위한 방법, 장치, 기기 및 매체 | |
US11150831B2 (en) | Virtual machine synchronization and recovery | |
US20040194086A1 (en) | Suspend and resume method of computer job | |
CN114138557B (zh) | 一种存储快照回滚数据一致性测试方法与装置 | |
CN107544868B (zh) | 数据恢复方法和装置 | |
KR101552580B1 (ko) | 모바일 기기를 포함하는 시스템 복원 및 멀티 운영체제를 지원하는 백업 방법 | |
WO2012097761A1 (zh) | 数据卡与主机间通信异常的修复方法及数据卡 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Method and Device for Testing the Consistency of Storage Snapshot Rollback Data Effective date of registration: 20230906 Granted publication date: 20220527 Pledgee: Zhongguancun Branch of Bank of Beijing Co.,Ltd. Pledgor: BEIJING DADAO YUNXING TECHNOLOGY Co.,Ltd. Registration number: Y2023980055521 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |