CN117851133A - Xen半虚拟化的无代理实时备份方法、系统及恢复方法 - Google Patents
Xen半虚拟化的无代理实时备份方法、系统及恢复方法 Download PDFInfo
- Publication number
- CN117851133A CN117851133A CN202410258333.8A CN202410258333A CN117851133A CN 117851133 A CN117851133 A CN 117851133A CN 202410258333 A CN202410258333 A CN 202410258333A CN 117851133 A CN117851133 A CN 117851133A
- Authority
- CN
- China
- Prior art keywords
- backup
- request
- data
- driver
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000011084 recovery Methods 0.000 title claims abstract description 20
- 238000013475 authorization Methods 0.000 claims abstract description 60
- 238000004806 packaging method and process Methods 0.000 claims abstract description 55
- 238000013507 mapping Methods 0.000 claims abstract description 51
- 238000004458 analytical method Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 71
- 238000012545 processing Methods 0.000 claims description 66
- 238000004519 manufacturing process Methods 0.000 claims description 26
- 238000012856 packing Methods 0.000 claims description 14
- 230000000903 blocking effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 8
- 238000000547 structure data Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 12
- 230000008859 change Effects 0.000 abstract description 3
- 239000004744 fabric Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明涉及一种Xen半虚拟化的无代理实时备份方法、系统及恢复方法,属于容灾备份技术领域。所述方法包括:截获I/O请求通知;获取并解析I/O请求;根据请求信息中的授权引用映射请求数据;将请求信息和请求数据装载至打包结构体;将打包结构体数据异步传输至备份服务器。所述系统包括:I/O传递模块、截获模块;解析模块;映射模块;打包模块;发送模块。本发明对在Xen中使用半虚拟化技术的虚拟机进行持续数据保护,在虚拟机运行时能实时捕获变化并将其同步到备份存储,减少数据丢失风险。
Description
技术领域
本发明属于数据容灾备份技术领域,涉及一种Xen半虚拟化的无代理实时备份方法、系统及恢复方法。
背景技术
Xen是一款开源的虚拟化技术,主要用于实现服务器虚拟化。作为一种虚拟机监控器(VMM)或 hypervisor,它允许多个操作系统同时在单个物理硬件上安全且高效地运行。Xen 最初由剑桥大学开发,并得到了广泛的社区和商业支持。
Xen提供了一种半虚拟化技术,它是比传统虚拟化(如VMware)更为高效的虚拟化方法,它要求操作系统进行特定的修改以运行在其虚拟化环境中,这种方法在性能上有显著优势,是虚拟化技术的一个重要分支,并在许多领域保持着重要地位,特别是在需要高性能和安全隔离的应用场景中。
Xen的半虚拟化架构和传统虚拟化架构不同,运行在半虚拟化环境中的虚拟机需要对操作系统进行修改,以便能够高效地在虚拟化环境中运行。其中核心的修改是将传统的物理设备驱动程序替换为前端驱动程序,该驱动程序主要功能是在执行I/O请求时与宿主机中的后端驱动程序交互,将I/O请求交由宿主机进行实际处理。
在虚拟化环境中使用虚拟机的无代理实时备份技术备份虚拟机数据,强调实时性和无需在虚拟机内运行备份代理工具。实时备份是指在执行备份时,持续捕获虚拟机中的数据变化,确保备份文件是最新的,这对于关键应用和业务非常重要,它最大程度上减少了数据丢失的可能性。无代理备份意味着在虚拟机内部无需安装专门的备份代理程序,这简化了备份过程,减少了对虚拟机内部配置的依赖,并降低了与备份代理相关的管理工作。
目前,Xen的无代理备份还没有做到实时的持续数据保护,现有的Xen虚拟机备份大多使用公共接口对虚拟机打快照的方式进行定时备份。即在备份开始时,对虚拟机的磁盘状态进行快照,捕获当前数据的精确副本,然后间隔一定时间对磁盘进行快照,当间隔时间越短,意味着可能丢失的数据越少。例如现有技术公开了一种基于Xen的无代理虚拟化备份恢复方法(公开号CN108182128A)和一种基于Xen的无代理备份还原方法和系统(公开号CN106598787A),他们都是基于虚拟机快照的方式进行定时备份,来实现对Xen虚拟机的数据保护。但是,定时备份虽然能够达到一定的数据保护功能,但不受保护的时间间隔中系统发生故障后依旧可能丢失大量数据,而现有在Xen虚拟化环境中进行数据备份的技术中,还并未有对实时备份的探索。
现在,在Xen中急需要应用实时的持续数据保护技术,然而由于Xen的半虚拟化架构不同于其他完全虚拟化架构,现有的实时数据保护技术很难应用于该环境中。因此,在Xen的半虚拟化环境中如何对虚拟机进行持续性数据保护,实现一种高效且低干扰的备份方法成为当前急需解决的技术问题。
发明内容
本发明为了解决上述背景技术中的技术问题,提供一种Xen半虚拟化的无代理实时备份方法、系统及恢复方法。技术方案如下:
第一方面,提供一种Xen半虚拟化的无代理实时备份方法,应用于生产端,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述方法包括步骤:
前端驱动将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;
备份驱动使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,然后在寄存器中获得中断函数的参数,其中参数为中断号和虚拟机设备号;
备份驱动根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,其中请求信息包括磁盘写入信息和授权引用信息;
备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再从地址空间中获得请求数据;
备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区,其中内核环形缓冲区是程序初始化时在内核中创建;
备份驱动将内核环形缓冲区数据异步发送至备份服务程序。
第二个方面,还提供了一种Xen半虚拟化的无代理实时备份方法,应用于备份服务端,处理来自生产端的备份数据,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述方法包括:
备份服务程序接收来自备份驱动传输的打包结构体数据;
备份服务程序将接收到的打包结构体数据写入与打包结构体结构相同的接收结构体,再将接收结构体中目标内容写进日志文件,所述打包结构体结构由备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体形成,所述备份驱动用于将打包结构体中的数据写进内核环形缓冲区,再将内核环形缓冲区数据异步发送至备份服务程序,备份驱动还用于使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数;备份驱动还再用于根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,利用请求信息中的授权引用信息获得共享内存中的请求数据,获取过程是用授权引用信息对授权表所指向的共享内存页面进行映射;所述前端驱动用于将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;其中所述参数为中断号和虚拟机设备号;所述请求信息包括磁盘写入信息和授权引用信息;内核环形缓冲区是程序初始化时在内核中创建。
第三个方面,还提供了一种Xen半虚拟化的无代理实时备份系统,应用于生产端,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述系统包括:
I/O请求传递模块,用于前端驱动将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;
截获模块,用于备份驱动使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数,其中参数为中断号和虚拟机设备号;
解析模块,用于备份驱动根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,其中请求信息包括磁盘写入信息和授权引用信息;
映射模块,用于备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再通过地址空间获得请求数据;
打包模块,用于备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区,其中内核环形缓冲区是程序初始化时在内核中创建;
发送模块,用于备份驱动将内核环形缓冲区数据异步发送至备份服务程序。
第四个方面,还提供了一种Xen半虚拟化的无代理实时备份系统,应用于备份服务端,处理来自生产端的备份数据,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述系统包括:
接收模块,用于备份服务程序接收来自备份驱动传输的打包结构体数据;
备份模块,用于备份服务程序将接收到的打包结构体数据写入与打包结构体结构相同的接收结构体,再将接收结构体中目标内容写进日志文件,所述打包结构体结构由备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体形成,所述备份驱动用于将打包结构体中的数据写进内核环形缓冲区,再将内核环形缓冲区数据异步发送至备份服务程序,备份驱动还用于使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数;备份驱动还再用于根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,利用请求信息中的授权引用信息获得共享内存中的请求数据,获取过程是用授权引用信息对授权表所指向的共享内存页面进行映射;所述前端驱动用于将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;其中所述参数为中断号和虚拟机设备号;所述请求信息包括磁盘写入信息和授权引用信息;内核环形缓冲区是程序初始化时在内核中创建。
第五个方面,一种Xen半虚拟化的无代理实时恢复方法,利用上述的Xen半虚拟化的无代理实时备份方法,还包括步骤:
恢复程序收到指定时间点恢复的指令后,读取目标日志文件,将日志逐条恢复到空磁盘中,直到达到指定的时间点结束恢复流程,得到一个指定时间状态的虚拟机磁盘。
本发明的有益效果是:
1.本发明通过备份系统的持续监控和自动备份提供持续数据保护,在数据损坏或系统故障的情况下可以加快恢复速度,减少业务中断时间,从而提高业务连续性,保障系统的数据安全和业务的平稳运行;
2.本发明通过仅在宿主机中安装份驱动,能够对运行在Xen虚拟化环境中的所有虚拟机进行实时数据保护,而无需在所有虚拟机中安装备份代理程序,可以提供更快的恢复时间(RTO)和更短的数据丢失窗口(RPO),具有部署简单、简化管理和降低资源占用等优点;
3.本发明基于Xen半虚拟化前端驱动到后端驱动I/O数据传输路径,对虚拟机的实时I/O数据进行监控,解决了Xen半虚拟化的虚拟机数据实时持续保护;
4.本发明在I/O截获过程中使用临时映射、I/O数据异步传输和无代理备份等机制,减少了备份驱动程序的运行时间,有效提高了备份驱动程序的性能,而减轻整个生产系统的负荷。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中Xen半虚拟化的无代理实时备份方法应用于生产端的流程图。
图2为本发明实施例1中Xen半虚拟化的无代理实时备份框架图。
图3为本发明实施例2中Xen半虚拟化技术的无代理实时备份方法应用于备份服务端的流程图。
图4为发明实施例3中Xen半虚拟化技术的无代理实时备份系统应用于生产端的结构示意图。
图5为发明实施例3中截获模块结构示意图。
图6为发明实施例3中映射模块结构示意图。
图7为发明实施例3中打包模块结构示意图。
图8为发明实施例4中Xen半虚拟化技术的无代理实时备份系统应用于备份服务端的结构示意图。
图9为发明实施例5中Xen半虚拟化的无代理实时恢复方法应用于生产端的流程图。
3001、I/O请求传递模块,3002、截获模块,3003、解析模块,3004、映射模块,3005、打包模块,3006、发送模块,30021、探测点设置单元,30022、阻塞截获单元,30023、参数获取单元,30041、映射单元,30042、数据访问单元,30051、打包结构体创建单元,30052、写入单元,30053、线程唤醒单元,4001、接收模块,4002、备份模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
在本实施例中,如图1所示,提供一种Xen半虚拟化的无代理实时备份方法,应用于生产端,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述方法包括步骤:
S101.前端驱动将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求。
值得说明的是,domU的操作系统需要经过特定修改才能在半虚拟化环境中高效运行,其中修改包括设备驱动的修改,传统的设备驱动在虚拟化环境中效率较低,因此在Xen的半虚拟化中,操作系统的设备驱动需要被替换为专门为虚拟化环境优化的驱动,这些驱动程序称为前端驱动,如图2所示,运行在domU内核中的前端驱动程序包括I/O共享环、共享内存以及与Xen虚拟化层交互的程序,他们与宿主机dom0内核中的后端驱动程序配合工作,实现高效的I/O处理。
还值得说明的是,同样如图2所示,前端驱动通过Xen虚拟化层与后端驱动通信,当有待处理I/O请求时前端驱动首先将通知发送到Xen虚拟化层,然后由Xen虚拟化层发送至后端驱动,后端驱动完成I/O请求处理后提交给内核中的真实驱动由真实驱动将I/O数据写进硬件设备中,当整个I/O请求处理完成后端驱动再通过Xen虚拟化层的事件通道通知前端驱动。
S102.备份驱动使用截获工具Kprobes截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,然后在寄存器中获得中断函数的参数,其中参数为中断号和虚拟机设备号。
值得说明的是,在前端驱动的通知信号到达后端驱动,后端驱动将调用I/O处理中断函数进入I/O处理流程,备份驱动将I/O处理中断函数入口点设置为Kprobes的返回探测点,当备份驱动通过Kprobes检测到I/O处理中断函数即将运行时,立即阻塞其运行,随后触发Kprobes的回调处理函数,备份驱动通过Kprobes从寄存器中取出I/O处理中断函数的参数作为回调处理函数的参数,其中参数为中断号和虚拟机设备号。
可选的,所述S102步骤,包括:
在前端驱动的通知信号到达后端驱动,后端驱动将调用I/O处理中断函数进入I/O处理流程时,备份驱动将I/O处理中断函数设置为Kprobes的返回探测点;
当备份驱动通过Kprobes检测到I/O处理中断函数即将运行时,立即阻塞其运行,随后触发Kprobes的回调处理函数;
备份驱动通过Kprobes从寄存器中取出I/O处理中断函数的参数作为回调处理函数的参数,其中参数为中断号和虚拟机设备号。
S103.备份驱动根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,其中请求信息包括磁盘写入信息和授权引用信息。
值得说明的是,截获参数中的逻辑设备号所对应的是块设备结构体指针的地址,根据该地址可以映射到该虚拟机使用的I/O共享环并定位目标I/O请求,备份驱动程序将目标I/O请求从I/O共享环复制一份副本;
还值得说明的是,在解析I/O请求时需要对来自domU虚拟机的请求进行过滤,其中I/O请求包括写请求、读请求、写屏障操作、刷新磁盘缓存操作、间接读/写请求以及删除丢弃数据块操作,考虑这些操作和请求对磁盘数据变化的影响,需要过滤掉读请求、间接读请求、写屏障操作和刷新磁盘缓存操作,直接下放这几个操作和请求不做任何处理。
S104.备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再从地址空间中获得请求数据。
可选的,所述S104步骤,包括:
S1041.备份驱动判断目标I/O请求中的映射是否是间接块映射:若是,则在映射时根据授权表的授权条目对间接块映射页面进行映射,得到间接块映射页面中的多个实际数据块的授权条目,再通过所述授权条目将共享内存中的多个数据页面映射到宿主机中的地址空间;若否,则通过所述授权表中单个授权条目直接将数据页面映射到宿主机的地址空间;
S1042.备份驱动通过得到的地址空间访问对应地址的请求数据页面。
值得说明的是,当数据页面被映射到宿主机的地址空间,备份驱动便可以直接通过得到的地址空间访问对应地址的请求数据页面。
S105.备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区,其中内核环形缓冲区是程序初始化时在内核中创建。
可选的,所述S105步骤,包括:
S1051.备份驱动创建打包结构体,所述打包结构体的结构依次包含:磁盘写入信息头、请求数据页面标志和跟随数据数组,其中所述请求数据页面标志用于标记同一I/O请求的不同请求数据页面,所述跟随数据数组设为一个页面大小;
S1052.备份驱动将I/O请求信息中的磁盘写入信息写进磁盘写入信息头,再将请求数据写进跟随数据数组中并设置请求数据页面标志;
S1053.备份驱动将装载后的打包结构体写进一个内核环形缓冲区暂存,等待一个I/O请求中所有打包结构体写入内核环形缓冲区完毕后,结束截获工具运行并执行实际I/O处理中断函数,同时唤醒发送线程,等待发送线程从该内核环形缓冲区中取出打包结构体数据发送至备份服务程序。
值得说明的是,采取先将磁盘写入信息和请求数据先写进打包结构体再写进内核缓冲区的操作,是因为在回调函数中不能进行过多的操作如网络传输,否则将影响正常I/O请求处理程序的执行,所以需要先写进缓冲区进行暂存,等待回调函数结束后再进行异步传输。
S106.备份驱动将内核环形缓冲区数据异步发送至备份服务程序。
可以理解的是,异步发送是指在数据传输过程中,发送操作与程序的主工作流程是独立的。在本实施例中,备份驱动不会直接同步地将数据发送到备份服务程序,而是将发送操作放入一个队列或者利用一个独立的线程或进程来处理。备份驱动可以继续处理其他任务,而不需要等待数据发送操作的完成。同时,基于异步操作的事件通知或回调机制,当数据被成功发送或者发生错误时,备份驱动能够得到通知。因此,异步发送允许备份驱动在不阻塞或等待的情况下,将数据高效地传输到备份服务程序,有效提高系统的响应性和性能。
本实施例根据Xen半虚拟化技术中特殊的虚拟机I/O执行路线设计了I/O请求截获方法,能够在宿主机的后端驱动执行I/O处理中断函数前截获I/O请求,通过备份驱动程序的解析获取磁盘写入信息以及请求数据,最后经过异步传输将I/O请求数据发送到备份端,整个过程保证简洁快速,同时使用了间接映射和异步传输等机制,更进一步地降低了备份驱动程序对实际I/O处理的影响。
实施例2
在本实施例中,如图3所示,供一种Xen半虚拟化的无代理实时备份方法,应用于备份服务端,处理来自生产端的备份数据,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,该方法包括步骤:
S201.备份服务程序接收来自备份驱动传输的打包结构体数据;
S202.备份服务程序将接收到的打包结构体数据写入与打包结构体结构相同的接收结构体,再将接收结构体中目标内容写进日志文件;所述打包结构体结构由备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体形成,所述备份驱动用于将打包结构体中的数据写进内核环形缓冲区,再将内核环形缓冲区数据异步发送至备份服务程序,备份驱动还用于使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数;备份驱动还再用于根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,利用请求信息中的授权引用信息获得共享内存中的请求数据,获取过程是用授权引用信息对授权表所指向的共享内存页面进行映射;所述前端驱动用于将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;其中所述参数为中断号和虚拟机设备号;所述请求信息包括磁盘写入信息和授权引用信息;内核环形缓冲区是程序初始化时在内核中创建。
值得说明的是备份服务程序利用接收结构体,根据其中的页面标志将属于同一个I/O请求的目标数据打上相同的时间戳,然后写入目标日志文件。
本实施例,将来自生产端的备份数据整理成日志格式后保存进日志文件,为之后的数据恢复奠定基础。
实施例3
在本实施例中,如图4所示,提供一种Xen半虚拟化的无代理实时备份系统,应用于生产端,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,该系统包括:
I/O请求传递模块3001,用于前端驱动将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;
截获模块3002,用于备份驱动使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数,其中参数为中断号和虚拟机设备号;
解析模块3003,用于备份驱动根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,其中请求信息包括磁盘写入信息和授权引用信息;
映射模块3004,用于备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再通过地址空间获得请求数据
打包模块3005,用于备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区,其中内核环形缓冲区是程序初始化时在内核中创建;
发送模块3006,用于备份驱动将内核环形缓冲区数据异步发送至备份服务程序。
可选的,如图5所示,所述截获模块3002,包括:
探测点设置单元30021,用于在前端驱动的通知信号到达后端驱动,后端驱动将调用I/O处理中断函数进入I/O处理流程时,备份驱动将I/O处理中断函数设置为Kprobes的返回探测点;
阻塞截获单元30022,用于当备份驱动通过Kprobes检测到I/O处理中断函数即将运行时,立即阻塞其运行,随后触发kprobes的回调处理函数;
参数获取单元30023,用于备份驱动通过kprobes从寄存器中取出I/O处理中断函数的参数作为回调处理函数的参数,其中参数为中断号和虚拟机设备号;
可选的,如图6所示,所述映射模块3004,包括:
映射单元30041,用于备份驱动判断目标I/O请求中的映射是否是间接块映射:若是,则在映射时根据授权表的授权条目对间接块映射页面进行映射,得到间接块映射页面中的多个实际数据块的授权条目,再通过所述授权条目将共享内存中的多个数据页面映射到宿主机中的地址空间;若否,则通过所述授权表中单个授权条目直接将数据页面映射到宿主机的地址空间;
数据访问单元30042,用于备份驱动通过得到的地址空间访问对应地址的请求数据页面。
可选的,如图7所示,所述打包模块3005,包括:
打包结构体创建单元30051,用于备份驱动创建打包结构体,所述打包结构体的结构依次包含:磁盘写入信息部、请求数据页面标志和跟随数据数组,其中所述请求数据页面标志用于标记同一I/O请求的不同请求数据页面,所述跟随数据数组设为一个页面大小;
写入单元30052,用于备份驱动将I/O请求信息中的磁盘写入信息写进磁盘写入信息部,再将请求数据写进数据跟随数据数组中并设置请求数据页面标志;
线程唤醒单元30053,用于备份驱动将装载后的打包结构体写进一个内核环形缓冲区暂存,等待一个I/O请求中所有打包结构体写入内核环形缓冲区完毕后,结束截获工具运行并执行实际I/O处理中断函数,同时唤醒发送线程,等待发送线程从该内核环形缓冲区中取出打包结构体数据发送至备份服务程序。
本实施例的技术方案,I/O请求传递模块3001,用于从前端驱动传递I/O请求到后端驱动;截获模块3002,用于从后端驱动截获I/O请求;解析模块3003,用于解析I/O请求得到磁盘写入信息和授权引用信息;映射模块3004,用于利用授权引用信息映射请求数据;打包模块3005,用于将磁盘写入信息和请求数据写入内核环形缓冲区暂存;发送模块3006,用于将内核环形缓冲区中的数据异步发送至备份服务端。本实施例能够持续地从宿主机的后端驱动中截获磁盘地I/O数据,在对整个生产系统影响尽可能小的情况下,不断将数据发送至备份服务端进行备份,通过这种持续地跟踪数据更改并实时备份,为运行在Xen半虚拟化中的虚拟机提供实时的数据保护,减少数据丢失,提高了业务连续性和运营的韧性。
实施例4
在本实施例中,如图8所示,提供一种Xen半虚拟化的无代理实时备份系统,应用于备份服务端,处理来自生产端的备份数据,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述系统包括:
接收模块4001,用于备份服务程序接收来自备份驱动传输的打包结构体数据;
备份模块4002,用于备份服务程序将接收到的打包结构体数据写入与打包结构体结构相同的接收结构体,再将接收结构体中目标内容写进日志文件;所述打包结构体结构由备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体形成,所述备份驱动用于将打包结构体中的数据写进内核环形缓冲区,再将内核环形缓冲区数据异步发送至备份服务程序,备份驱动还用于使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数;备份驱动还再用于根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,利用请求信息中的授权引用信息获得共享内存中的请求数据,获取过程是用授权引用信息对授权表所指向的共享内存页面进行映射;所述前端驱动用于将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;其中所述参数为中断号和虚拟机设备号;所述请求信息包括磁盘写入信息和授权引用信息;内核环形缓冲区是程序初始化时在内核中创建。
本实施例的技术方案,接收模块4001,用于接收来自生产端的数据;备份模块4002,用于将接收数据整理成日志记录到日志文件。本实施例的备份日志记录了备份操作的时间,确保系统能够快速有效地恢复指定时间数据。
实施例5
在本实施例中,如图9所示,提供一种Xen半虚拟化的无代理实时恢复方法,利用上述实施例1的Xen半虚拟化的无代理实时备份方法,包括步骤:
S501.前端驱动将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;
S502.备份驱动使用截获工具SystemTap截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,然后在寄存器中获得中断函数的参数,其中参数为中断号和虚拟机设备号;
S503.备份驱动根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,其中请求信息包括磁盘写入信息和授权引用信息;
S504.备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再从地址空间中获得请求数据;
S505.备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区,其中内核环形缓冲区是程序初始化时在内核中创建;
S506.备份驱动将内核环形缓冲区数据异步发送至备份服务程序;
S507.恢复程序收到指定时间点恢复的指令后,读取目标日志文件,将日志逐条恢复到空磁盘中,直到达到指定的时间点结束恢复流程,得到一个指定时间状态的虚拟机磁盘。
值得说明的是,空磁盘并非是没有任何数据的空白磁盘,它指的是在备份代理程序在宿主机上开始工作之前虚拟机的磁盘状态,该磁盘中保存着虚拟机的初始状态,在该磁盘上还没有生产数据,所以需要和空白磁盘区分开来。
本实施例的技术方案,在恢复程序收到恢复指令后,利用日志文件对磁盘进行恢复,能够达到指定时间点的恢复,对于虚拟机数据提供了一种高效和可靠的方法来持续保护重要数据,保证高度的数据可用性和快速恢复能力。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种Xen半虚拟化的无代理实时备份方法,其特征在于,应用于生产端,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述方法包括步骤:
前端驱动将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;
备份驱动使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,然后在寄存器中获得中断函数的参数,其中参数为中断号和虚拟机设备号;
备份驱动根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,其中请求信息包括磁盘写入信息和授权引用信息;
备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再从地址空间中获得请求数据;
备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区,其中内核环形缓冲区是程序初始化时在内核中创建;
备份驱动将内核环形缓冲区数据异步发送至备份服务程序。
2.根据权利要求1所述的Xen半虚拟化的无代理实时备份方法,其特征在于,所述备份驱动使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,然后在寄存器中获得中断函数参数的步骤,包括:
在前端驱动的通知信号到达后端驱动,后端驱动将调用I/O处理中断函数进入I/O处理流程时,备份驱动将I/O处理中断函数设置为截获工具的返回探测点;
当备份驱动通过截获工具检测到I/O处理中断函数即将运行时,立即阻塞其运行,随后触发截获工具的回调处理函数;
备份驱动通过截获工具从寄存器中取出I/O处理中断函数的参数作为回调处理函数的参数,其中参数为中断号和虚拟机设备号。
3.根据权利要求1所述的Xen半虚拟化的无代理实时备份方法,其特征在于,所述备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再通过地址空间获得请求数据的步骤,包括:
备份驱动判断目标I/O请求中的映射是否是间接块映射:若是,则在映射时根据授权表的授权条目对间接块映射页面进行映射,得到间接块映射页面中的多个实际数据块的授权条目,再通过所述授权条目将共享内存中的多个数据页面映射到宿主机中的地址空间;若否,则通过所述授权表中单个授权条目直接将数据页面映射到宿主机的地址空间;
备份驱动通过得到的地址空间访问对应地址的请求数据页面。
4.根据权利要求1所述的Xen半虚拟化的无代理实时备份方法,其特征在于,所述备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区的步骤,包括:
备份驱动创建打包结构体,所述打包结构体的结构依次包含:磁盘写入信息头、请求数据页面标志和跟随数据数组,其中所述请求数据页面标志用于标记同一I/O请求的不同请求数据页面,跟随数据数组设为一个页面大小;
备份驱动将I/O请求信息中的磁盘写入信息写进磁盘写入信息头,再将请求数据写进跟随数据数组中并设置请求数据页面标志;
备份驱动将装载后的打包结构体写进一个内核环形缓冲区暂存,等待一个I/O请求中所有打包结构体写入内核环形缓冲区完毕后,结束截获工具运行并执行实际I/O处理中断函数,同时唤醒发送线程,等待发送线程从该内核环形缓冲区中取出打包结构体数据发送至备份服务程序。
5.一种Xen半虚拟化的无代理实时备份方法,其特征在于,应用于备份服务端,处理来自生产端的备份数据,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述方法包括步骤:
备份服务程序接收来自备份驱动传输的打包结构体数据;
备份服务程序将接收到的打包结构体数据写入与打包结构体结构相同的接收结构体,再将接收结构体中目标内容写进日志文件,所述打包结构体结构由备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体形成,所述备份驱动用于将打包结构体中的数据写进内核环形缓冲区,再将内核环形缓冲区数据异步发送至备份服务程序,备份驱动还用于使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数;备份驱动还再用于根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,利用请求信息中的授权引用信息获得共享内存中的请求数据,获取过程是用授权引用信息对授权表所指向的共享内存页面进行映射;所述前端驱动用于将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;其中所述参数为中断号和虚拟机设备号;所述请求信息包括磁盘写入信息和授权引用信息;内核环形缓冲区是程序初始化时在内核中创建。
6.一种Xen半虚拟化的无代理实时备份系统,其特征在于,应用于生产端,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述系统包括:
I/O请求传递模块,用于前端驱动将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;
截获模块,用于备份驱动使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数,其中参数为中断号和虚拟机设备号;
解析模块,用于备份驱动根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,其中请求信息包括磁盘写入信息和授权引用信息;
映射模块,用于备份驱动通过请求信息中的授权引用信息将共享内存中的数据页面映射到宿主机的地址空间,再通过地址空间获得请求数据;
打包模块,用于备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体中,再将打包结构体中的数据写进内核环形缓冲区,其中内核环形缓冲区是程序初始化时在内核中创建;
发送模块,用于备份驱动将内核环形缓冲区数据异步发送至备份服务程序。
7.根据权利要求6所述的Xen半虚拟化的无代理实时备份系统,其特征在于,所述截获模块,包括:
探测点设置单元,用于在前端驱动的通知信号到达后端驱动,后端驱动将调用I/O处理中断函数进入I/O处理流程时,备份驱动将I/O处理中断函数设置为截获工具的返回探测点;
阻塞截获单元,用于当备份驱动通过截获工具检测到I/O处理中断函数即将运行时,立即阻塞其运行,随后触发截获工具的回调处理函数;
参数获取单元,用于备份驱动通过截获工具从寄存器中取出I/O处理中断函数的参数作为回调处理函数的参数,其中参数为中断号和虚拟机设备号;
另外,所述映射模块,包括:
映射单元,用于备份驱动判断目标I/O请求中的映射是否是间接块映射:若是,则在映射时根据授权表的授权条目对间接块映射页面进行映射,得到间接块映射页面中的多个实际数据块的授权条目,再通过所述授权条目将共享内存中的多个数据页面映射到宿主机中的地址空间;若否,则通过所述授权表中单个授权条目直接将数据页面映射到宿主机的地址空间;
数据访问单元,用于备份驱动通过得到的地址空间访问对应地址的请求数据页面。
8.根据权利要求6所述的Xen半虚拟化的无代理实时备份系统,其特征在于,所述打包模块,包括:
打包结构体创建单元,用于备份驱动创建打包结构体,所述打包结构体的结构依次包含:磁盘写入信息部、请求数据页面标志和跟随数据数组,其中所述请求数据页面标志用于标记同一I/O请求的不同请求数据页面,所述跟随数据数组设为一个页面大小;
写入单元,用于备份驱动将I/O请求信息中的磁盘写入信息写进磁盘写入信息部,再将请求数据写进数据跟随数据数组中并设置请求数据页面标志;
线程唤醒单元,用于备份驱动将装载后的打包结构体写进一个内核环形缓冲区暂存,等待一个I/O请求中所有打包结构体写入内核环形缓冲区完毕后,结束截获工具运行并执行实际I/O处理中断函数,同时唤醒发送线程,等待发送线程从该内核环形缓冲区中取出打包结构体数据发送至备份服务程序。
9.一种Xen半虚拟化的无代理实时备份系统,其特征在于,应用于备份服务端,处理来自生产端的备份数据,生产端具有设置在domU的前端驱动、设置在dom0的备份驱动和后端驱动,所述系统包括:
接收模块,用于备份服务程序接收来自备份驱动传输的打包结构体数据;
备份模块,用于备份服务程序将接收到的打包结构体数据写入与打包结构体结构相同的接收结构体,再将接收结构体中目标内容写进日志文件,所述打包结构体结构由备份驱动将请求信息中的磁盘写入信息和请求数据均装载进打包结构体形成,所述备份驱动用于将打包结构体中的数据写进内核环形缓冲区,再将内核环形缓冲区数据异步发送至备份服务程序,备份驱动还用于使用截获工具截获来自前端驱动发送给后端驱动的通知,并阻塞后端驱动中的I/O处理中断函数的运行,同时在寄存器中获得中断函数的参数;备份驱动还再用于根据截获的参数,在I/O共享环中获取并解析目标I/O请求后得到请求信息,利用请求信息中的授权引用信息获得共享内存中的请求数据,获取过程是用授权引用信息对授权表所指向的共享内存页面进行映射;所述前端驱动用于将domU的I/O请求放入I/O共享环中,将I/O请求数据写进共享内存页面,之后通知后端驱动有待处理的I/O请求;其中所述参数为中断号和虚拟机设备号;所述请求信息包括磁盘写入信息和授权引用信息;内核环形缓冲区是程序初始化时在内核中创建。
10.一种Xen半虚拟化的无代理实时恢复方法,其特征在于,利用权利要求1-4任一项所述的Xen半虚拟化的无代理实时备份方法,还包括步骤:
恢复程序收到指定时间点恢复的指令后,读取目标日志文件,将日志逐条恢复到空磁盘中,直到达到指定的时间点结束恢复流程,得到指定时间状态的虚拟机磁盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410258333.8A CN117851133B (zh) | 2024-03-07 | 2024-03-07 | Xen半虚拟化的无代理实时备份方法、系统及恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410258333.8A CN117851133B (zh) | 2024-03-07 | 2024-03-07 | Xen半虚拟化的无代理实时备份方法、系统及恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117851133A true CN117851133A (zh) | 2024-04-09 |
CN117851133B CN117851133B (zh) | 2024-05-17 |
Family
ID=90533084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410258333.8A Active CN117851133B (zh) | 2024-03-07 | 2024-03-07 | Xen半虚拟化的无代理实时备份方法、系统及恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117851133B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030983A1 (en) * | 2008-07-29 | 2010-02-04 | Novell, Inc. | Backup without overhead of installed backup agent |
US8938571B1 (en) * | 2012-06-13 | 2015-01-20 | Amazon Technologies, Inc. | Managing I/O operations in a virtualized environment |
CN104615485A (zh) * | 2015-03-02 | 2015-05-13 | 中国人民解放军国防科学技术大学 | 一种虚拟机域间通信模式的动态透明切换方法 |
CN106445733A (zh) * | 2016-08-30 | 2017-02-22 | 广州鼎甲计算机科技有限公司 | 一种基于kvm虚拟化的无代理模式备份方法和系统 |
CN106528267A (zh) * | 2016-10-27 | 2017-03-22 | 广东铂亚信息技术有限公司 | 基于Xen特权域的网络通信监控系统及方法 |
CN110543385A (zh) * | 2019-09-06 | 2019-12-06 | 广州珠江数码集团股份有限公司 | 一种虚拟化备份方法和虚拟化备份还原方法 |
CN110727547A (zh) * | 2019-09-11 | 2020-01-24 | 上海爱数信息技术股份有限公司 | 一种保护Docker应用容器的系统及方法 |
US20200349029A1 (en) * | 2019-04-30 | 2020-11-05 | Rubrik, Inc. | Systems and methods for continuous data protection |
CN115827334A (zh) * | 2023-01-09 | 2023-03-21 | 四川大学 | Oracle数据库块级cdp备份恢复方法及其系统 |
CN116149800A (zh) * | 2023-04-18 | 2023-05-23 | 成都云祺科技有限公司 | Kvm虚拟机应用层无代理cdp方法、系统及存储介质 |
CN116489177A (zh) * | 2023-04-19 | 2023-07-25 | 阿里巴巴(中国)有限公司 | 一种基于块存储的io访问方法、装置、电子设备及介质 |
-
2024
- 2024-03-07 CN CN202410258333.8A patent/CN117851133B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100030983A1 (en) * | 2008-07-29 | 2010-02-04 | Novell, Inc. | Backup without overhead of installed backup agent |
US8938571B1 (en) * | 2012-06-13 | 2015-01-20 | Amazon Technologies, Inc. | Managing I/O operations in a virtualized environment |
CN104615485A (zh) * | 2015-03-02 | 2015-05-13 | 中国人民解放军国防科学技术大学 | 一种虚拟机域间通信模式的动态透明切换方法 |
CN106445733A (zh) * | 2016-08-30 | 2017-02-22 | 广州鼎甲计算机科技有限公司 | 一种基于kvm虚拟化的无代理模式备份方法和系统 |
CN106528267A (zh) * | 2016-10-27 | 2017-03-22 | 广东铂亚信息技术有限公司 | 基于Xen特权域的网络通信监控系统及方法 |
US20200349029A1 (en) * | 2019-04-30 | 2020-11-05 | Rubrik, Inc. | Systems and methods for continuous data protection |
CN110543385A (zh) * | 2019-09-06 | 2019-12-06 | 广州珠江数码集团股份有限公司 | 一种虚拟化备份方法和虚拟化备份还原方法 |
CN110727547A (zh) * | 2019-09-11 | 2020-01-24 | 上海爱数信息技术股份有限公司 | 一种保护Docker应用容器的系统及方法 |
CN115827334A (zh) * | 2023-01-09 | 2023-03-21 | 四川大学 | Oracle数据库块级cdp备份恢复方法及其系统 |
CN116149800A (zh) * | 2023-04-18 | 2023-05-23 | 成都云祺科技有限公司 | Kvm虚拟机应用层无代理cdp方法、系统及存储介质 |
CN116489177A (zh) * | 2023-04-19 | 2023-07-25 | 阿里巴巴(中国)有限公司 | 一种基于块存储的io访问方法、装置、电子设备及介质 |
Non-Patent Citations (4)
Title |
---|
DONGYANG ZHAN等: "A high-performance virtual machine filesystem monitor in cloud-assisted cognitive IoT", 《FUTURE GENERATION COMPUTER SYSTEMS》, 28 May 2018 (2018-05-28), pages 209 - 219 * |
XENSERVER STAFF等: "灾难恢复和备份", pages 1 - 3, Retrieved from the Internet <URL:《https://docs.xenserver.com/zh-cn/xenserver/8/dr》> * |
曾博铭: "基于混合云的存储网关系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 06, 15 June 2019 (2019-06-15), pages 137 - 22 * |
龙星澧等: "基于KVM的持续性数据保护设计与研究", 《现代计算机》, vol. 28, no. 07, 10 April 2022 (2022-04-10), pages 65 - 69 * |
Also Published As
Publication number | Publication date |
---|---|
CN117851133B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940064B2 (en) | Live migration of virtual disks | |
US10859289B2 (en) | Generating and using checkpoints in a virtual computer system | |
CN101377750B (zh) | 一种用于机群容错的系统和方法 | |
US8826273B1 (en) | Synchronously logging to disk for main-memory database systems through record and replay | |
US8402318B2 (en) | Systems and methods for recording and replaying application execution | |
US8117600B1 (en) | System and method for detecting in-line synchronization primitives in binary applications | |
US9563452B2 (en) | Cloud-enabled, distributed and high-availability system with virtual machine checkpointing | |
US9122765B1 (en) | Efficient overcommitment of main-memory based virtual database system to disk | |
US8510597B2 (en) | Providing restartable file systems within computing devices | |
US10621010B2 (en) | Information processing apparatus and migration method | |
US9727274B2 (en) | Cloning live virtual machines | |
Wang et al. | Hybrid checkpointing for MPI jobs in HPC environments | |
US10521354B2 (en) | Computing apparatus and method with persistent memory | |
CN102436410B (zh) | 虚拟机检查点的在线保存方法 | |
CN111459623B (zh) | 应用程序恢复运行的方法、装置及计算机 | |
US20140244951A1 (en) | Live snapshotting of multiple virtual disks in networked systems | |
CN117851133B (zh) | Xen半虚拟化的无代理实时备份方法、系统及恢复方法 | |
CN104657229A (zh) | 基于高可用性硬件检查点的多核处理器卷回恢复系统及其卷回恢复方法 | |
WO2012137239A1 (ja) | 計算機システム | |
CN104391763B (zh) | 基于设备视图冗余的众核处理器容错方法 | |
WO2009147738A1 (ja) | 情報処理装置及びその制御方法並びにモニタプログラム | |
US7934067B2 (en) | Data update history storage apparatus and data update history storage method | |
KR102656980B1 (ko) | 가상화 환경에서 인스턴스의 메모리를 연속적으로 기록하는 방법 및 장치 | |
Sun | Protection mechanisms for virtual machines on virtualized servers | |
JP2001060147A (ja) | 遅延ライトの障害制御方法 |
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 |