CN110109777A - 一种实现cbt数据损坏情况下的vm持续增量备份方法 - Google Patents
一种实现cbt数据损坏情况下的vm持续增量备份方法 Download PDFInfo
- Publication number
- CN110109777A CN110109777A CN201910588179.XA CN201910588179A CN110109777A CN 110109777 A CN110109777 A CN 110109777A CN 201910588179 A CN201910588179 A CN 201910588179A CN 110109777 A CN110109777 A CN 110109777A
- Authority
- CN
- China
- Prior art keywords
- backup
- disk
- cbt
- data
- virtual machine
- 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.)
- Pending
Links
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
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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
-
- 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
- G06F2009/45587—Isolation or security of virtual machine instances
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了实现CBT数据损坏情况下的VM持续增量备份方法,包括步骤b1:当获取到磁盘CBT异常状态时,全量备份时,changeID参数为“*”,获取当前磁盘的所有有效变化块,直接通过vSphereSDK获取当前备份磁盘置备大小;步骤b2:按照虚拟机磁盘置备大小,读取整个磁盘扇区,备份所有扇区数据,在备份存储生成一个与虚拟机磁盘置备大小一致的虚拟磁盘文件vmdk1;虚拟机可能有多个磁盘,则生成多个备份磁盘文件,并记录此时全量备份的快照所产生的changeID;步骤b3:根据上次备份所记录changeID获取自上次备份以来的磁盘数据变化块,进行增量合成备份;步骤b4:持续的增量备份,重复步骤b3。与现有技术相比,在磁盘CBT数据损坏情况下,不需要停机重置CBT,可以依照事先设定的备份策略,实现持续的全量、增量备份。
Description
技术领域
本发明属于计算机虚拟化技术领域,特别涉及一种实现CBT数据损坏情况下的VM持续增量备份方法。
背景技术
当前,随着虚拟化技术的越来越成熟,越来越多的企业和组织机构都将应用部署在虚拟化平台的虚拟机上,例如VMware公司的vSphere虚拟化平台,那么如何保护这些部署在虚拟化平台上的应用数据就成了这些企业和组织机构最关心的问题之一。
为了迎合这么庞大的虚拟机数据备份市场,很多备份软件厂商都相继实现了对vSphere虚拟化平台的虚拟机的备份和恢复功能。但是作为第三方的软件厂商如何实现vSphere虚拟机的备份和恢复功能,便捷可行的办法就是直接调用VMware公司专门为vSphere虚拟机备份和恢复提供的一套VDDK接口(针对vSphere4.0及以后版本)。
通过VADP接口恢复VMware虚拟机的原理如下:在全量备份VMware虚拟机的时候,需要针对需要备份的虚拟机做一次快照,根据vSphereSDK接口queryChangedDiskAreas,获取到需要备份的有效数据块,并产生一个当前全量备份的changeID。当全量备份成功时,记录下当前全量备份的changeID,下一次通过该changeID可以获取到自全量备份以来,虚拟机所有产生变动的数据块,即增量数据,可以通过某种方式将增量数据合成到全量备份数据中。每次增量备份也会产生一个changeID,下次增量备份根据上次增量备份的changeID,可以只获取自上次增量备份以后的虚拟机变化数据库。如此往复,自首次全备以后,可以始终进行增量备份并合成操作,以减少客户生产环境服务器压力。
由于备份软件厂商调用的是VMware公司提供的vSphere接口,那么备份软件厂商基于vSphere接口实现的一些功能也自然因vSphere接口本身的原因而受到限制。在某些情况下,cbt数据会损坏(例如异常断电等情况),造成全量备份时候,queryChangedDiskAreas接口获取不到有效的备份数据块。导致全量备份无法进行,后续增量备份也无法基于全量备份进行。(VMware数据块修改跟踪技术(Changed Block Tracking,CBT)是VMwarevStorageAPI for Data Protection(VADP)的重要组成部分,是VMware简化和提高Vmware虚拟机备份效率的部分努力成果。)
传统磁盘CBT异常问题,按照VM厂商给出的重置解决方案,需要中断业务,停机设置,代价较大,其具体步骤a1:关闭需要备份的虚拟机;步骤a2:选中虚拟机,右击【编辑设置】,在弹出对话框中选择【选项】按钮,然后选择【常规】选项,再点击【配置参数】,将ctk的属性由true改为false(这里注意所有xxxxxx.ctkEnabled都要改成false,这一这里可能会有多个),然后点击【确定】;步骤a3:打开虚拟机;步骤a4:进入虚拟机存放数据的文件夹中,删除*-ctk.vmdk 文件;步骤a5:关闭虚拟机;步骤a6:按照上面操作3再将 ctk属性由false改为true;步骤a7:打开虚拟机,然后就能进行备份了。如果不过不停机重置,就无法通过厂商VADP解决方案给出接口,获取备份数据,无法备份。
发明内容
发明目的:本发明针对现有技术存在的问题,提供一种实现CBT数据损坏情况下的VM持续增量备份方法。
技术方案:为实现上述目的,本发明提供了一种实现CBT数据损坏情况下的VM持续增量备份方法,包括以下步骤:
步骤b1:当获取到磁盘CBT异常状态时(全量备份时,changeID参数为“*”,获取当前磁盘的所有有效变化块),直接通过vSphereSDK获取当前备份磁盘置备大小;VM厂商提供的备份方案接口;
步骤b2:按照虚拟机磁盘置备大小,读取整个磁盘扇区,备份所有扇区数据,在备份存储生成一个与虚拟机磁盘置备大小一致的虚拟磁盘文件vmdk1;虚拟机可能有多个磁盘,则生成多个备份磁盘文件,并记录此时全量备份的快照所产生的changeID;
步骤b3:根据上次备份所记录changeID获取自上次备份以来的磁盘数据变化块,进行增量备份;(VM厂商推出的VADP备份方案,vSphere从4.1版本起始,基于CBT技术,支持增量备份,首次备份,备份整个磁盘,之后每次只备份基于上次备份有变化的数据块。)
具体方法为,找到备份存储中上次备份虚拟磁盘文件vmdk1,根据changeID获取自上次备份以来,虚拟机产生变化的数据块,以及这些数据块的起始扇区位置。根据这些数据块的起始扇区位置,将变化的数据块(即增量文件)覆盖写入到文件vmdk1中,得到的备份文件,则包含之前的备份数据,以及上次备份到本次备份之间的时间产生的增量数据。
步骤b4:持续的增量备份,重复步骤b3。
有益效果:与现有技术相比,在磁盘CBT数据损坏情况下,不需要停机重置CBT,可以依照事先设定的备份策略,实现持续的全量、增量备份。
附图说明
图1为本发明提供的大量小数据文件备份流程图。
具体实施方式
下面结合附图对本发明做更进一步的解释。
结合如图1示,本发明提供的一种提高大量小数据文件备份效率的方法,包括以下步骤:
一种实现CBT数据损坏情况下的VM持续增量备份方法,包括以下步骤:
步骤b1:当获取到磁盘CBT异常状态时,全量备份时,changeID参数为“*”,获取当前磁盘的所有有效变化块,直接通过vSphereSDK获取当前备份磁盘置备大小;
CBT状态异常一般由异常断电等原因造成,vSphere接口获取数据块信息报错信息如下所示: Error caused by file /xxxx/xxxxx/xxxx.vmdk.此时正常的备份流程无法继续备份,按照虚拟厂商给出的方案,需要停机重置虚拟机设置,再进行一次全量备份,之后可进行增量备份;
步骤b2:如果是增量备份时产生该错误,导致备份失败,此处备份将自动转为全量备份。本方案将获取磁盘置备大小,直接从0扇区起始位置,读取到最后一个扇区结束为止,备份整个磁盘文件,并记录此次备份的changeID。(区别于原始厂商方案的区别在于,不通过步骤b1获取有效数据块,则不会进行到1步骤,引起报错导致备份中断。)
步骤b3:根据步骤b2中所获得的最新changeID,再使用vSphere接口获取自步骤2备份以来到目前时间,所产生变化的数据块,并将变化的数据块合成到上一次备份的文件中,因为步骤2的备份是有效的,产生的changeID只记录步骤b2到步骤b3之间的变化数据块,该数据是有效的,不会引起步骤1错误,导致备份失败。
步骤b4:持续的增量备份,重复步骤b3。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种实现CBT数据损坏情况下的VM持续增量备份方法,其基本特征在于:包括以下步骤:
步骤b1:当获取到磁盘CBT异常状态时,全量备份时,changeID参数为“*”,获取当前磁盘的所有有效变化块,直接通过vSphereSDK获取当前备份磁盘置备大小;
步骤b2:按照虚拟机磁盘置备大小,读取整个磁盘扇区,备份所有扇区数据,在备份存储生成一个与虚拟机磁盘置备大小一致的虚拟磁盘文件vmdk1;虚拟机有多个磁盘时,则生成多个备份磁盘文件,并记录此时全量备份的快照所产生的changeID;
步骤b3:根据上次备份所记录changeID获取自上次备份以来的磁盘数据变化块,进行增量合成备份;
步骤b4:持续的增量备份,重复步骤b3。
2.一种基于权利要求1所述的实现CBT数据损坏情况下的VM持续增量备份方法,其基本特征在于:所述步骤b3具体方法为,找到备份存储中上次备份虚拟磁盘文件vmdk1,根据changeID获取自上次备份以来,虚拟机产生变化的数据块,以及这些数据块的起始扇区位置,根据这些数据块的起始扇区位置,将变化的数据块覆盖写入到文件vmdk1中,得到的备份文件,则包含之前的备份数据,以及上次备份到本次备份之间的时间产生的增量数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588179.XA CN110109777A (zh) | 2019-07-02 | 2019-07-02 | 一种实现cbt数据损坏情况下的vm持续增量备份方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910588179.XA CN110109777A (zh) | 2019-07-02 | 2019-07-02 | 一种实现cbt数据损坏情况下的vm持续增量备份方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110109777A true CN110109777A (zh) | 2019-08-09 |
Family
ID=67495953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910588179.XA Pending CN110109777A (zh) | 2019-07-02 | 2019-07-02 | 一种实现cbt数据损坏情况下的vm持续增量备份方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110109777A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882859A (zh) * | 2021-02-07 | 2021-06-01 | 上海英方软件股份有限公司 | 一种虚拟机合成备份方法及*** |
CN114780299A (zh) * | 2022-06-17 | 2022-07-22 | 南京云信达科技有限公司 | 基于磁盘cbt的bmr备份***及方法 |
CN115344423A (zh) * | 2022-08-01 | 2022-11-15 | 和元达信息科技有限公司 | 备份方法、挂载恢复方法、服务器及计算机可读存储介质 |
CN116560914A (zh) * | 2023-07-10 | 2023-08-08 | 成都云祺科技有限公司 | 虚拟机cbt失效下的增量备份方法、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034566A (zh) * | 2012-12-06 | 2013-04-10 | 华为技术有限公司 | 虚拟机还原的方法和装置 |
CN104461783A (zh) * | 2014-12-10 | 2015-03-25 | 上海爱数软件有限公司 | 一种跟踪扇区数据变化虚拟机备份方法 |
US20160070623A1 (en) * | 2014-09-04 | 2016-03-10 | International Business Machines Corporation | Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks |
CN107025149A (zh) * | 2017-03-04 | 2017-08-08 | 郑州云海信息技术有限公司 | 虚拟机备份恢复***及方法 |
CN107133131A (zh) * | 2017-05-31 | 2017-09-05 | 广州鼎甲计算机科技有限公司 | 一种基于VMware的虚拟机合成备份方法 |
-
2019
- 2019-07-02 CN CN201910588179.XA patent/CN110109777A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034566A (zh) * | 2012-12-06 | 2013-04-10 | 华为技术有限公司 | 虚拟机还原的方法和装置 |
US20160070623A1 (en) * | 2014-09-04 | 2016-03-10 | International Business Machines Corporation | Hypervisor agnostic interchangeable backup recovery and file level recovery from virtual disks |
CN104461783A (zh) * | 2014-12-10 | 2015-03-25 | 上海爱数软件有限公司 | 一种跟踪扇区数据变化虚拟机备份方法 |
CN107025149A (zh) * | 2017-03-04 | 2017-08-08 | 郑州云海信息技术有限公司 | 虚拟机备份恢复***及方法 |
CN107133131A (zh) * | 2017-05-31 | 2017-09-05 | 广州鼎甲计算机科技有限公司 | 一种基于VMware的虚拟机合成备份方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882859A (zh) * | 2021-02-07 | 2021-06-01 | 上海英方软件股份有限公司 | 一种虚拟机合成备份方法及*** |
CN114780299A (zh) * | 2022-06-17 | 2022-07-22 | 南京云信达科技有限公司 | 基于磁盘cbt的bmr备份***及方法 |
CN115344423A (zh) * | 2022-08-01 | 2022-11-15 | 和元达信息科技有限公司 | 备份方法、挂载恢复方法、服务器及计算机可读存储介质 |
CN115344423B (zh) * | 2022-08-01 | 2023-07-04 | 和元达信息科技有限公司 | 备份方法、挂载恢复方法、服务器及计算机可读存储介质 |
CN116560914A (zh) * | 2023-07-10 | 2023-08-08 | 成都云祺科技有限公司 | 虚拟机cbt失效下的增量备份方法、***及存储介质 |
CN116560914B (zh) * | 2023-07-10 | 2023-10-13 | 成都云祺科技有限公司 | 虚拟机cbt失效下的增量备份方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110109777A (zh) | 一种实现cbt数据损坏情况下的vm持续增量备份方法 | |
CN104407938B (zh) | 一种虚拟机镜像级备份后的多种粒度恢复方法 | |
US10210073B1 (en) | Real time debugging of production replicated data with data obfuscation in a storage system | |
US8468501B2 (en) | Partial recording of a computer program execution for replay | |
US8117168B1 (en) | Methods and systems for creating and managing backups using virtual disks | |
US9348827B1 (en) | File-based snapshots for block-based backups | |
US7669020B1 (en) | Host-based backup for virtual machines | |
US10235252B1 (en) | Retroactive log retrieval service | |
CN103019890B (zh) | 一种块级别的磁盘数据保护***及其方法 | |
US20080307019A1 (en) | Manipulating Electronic Backups | |
US20120131456A1 (en) | Capture and Playback for GUI-Based Tasks | |
CN106062742A (zh) | 用于改进快照性能的***和方法 | |
CN106951345A (zh) | 一种虚拟机磁盘数据的一致性测试方法及装置 | |
CN101770410A (zh) | 基于客户操作***的***还原方法、虚拟机管理器及*** | |
CN110187998A (zh) | 基于虚拟化平台和ceph存储的应用容灾***及方法 | |
EP3750066A1 (en) | Protection of infrastructure-as-a-service workloads in public cloud | |
US20120246628A1 (en) | Firmware updating system and method | |
CN103761168B (zh) | 一种基于nfs卷挂载备份虚拟机的方法 | |
CN104102556A (zh) | 一种虚拟机磁盘数据备份及恢复方法 | |
CN110321275A (zh) | 程序监控方法、装置、计算设备以及存储介质 | |
US20130110785A1 (en) | System and method for backing up test data | |
CN114245892A (zh) | 基于在时间旅行调试期间更改函数内部加载的数据竞争分析 | |
JP2007141231A (ja) | データをバックアップするための方法、システム、およびコンピュータ・プログラム | |
CN104142943B (zh) | 一种数据库扩容方法和一种数据库 | |
CN108804257A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190809 |
|
RJ01 | Rejection of invention patent application after publication |