CN115658239B - 一种快照管理方法、系统及计算机可读介质 - Google Patents
一种快照管理方法、系统及计算机可读介质 Download PDFInfo
- Publication number
- CN115658239B CN115658239B CN202211659764.2A CN202211659764A CN115658239B CN 115658239 B CN115658239 B CN 115658239B CN 202211659764 A CN202211659764 A CN 202211659764A CN 115658239 B CN115658239 B CN 115658239B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- database
- data
- backup
- snapshot
- 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
Links
Images
Classifications
-
- 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
Abstract
本发明提供了一种快照管理方法、系统及计算机可读介质,该方法包括:根据若干预设备份点对数据卷创建快照,以将若干快照所形成的快照卷链;对数据库执行数据库操作所形成的事务信息予以记录,以形成日志文件;根据快照卷链将虚拟机数据文件中的数据恢复至与向前最近的备份点匹配的数据,将恢复至向前最近的备份点匹配的数据的虚拟机数据文件定义为第一虚拟机数据文件;根据事务信息将日志文件中位于向前最近的备份点与指定时间点之间的数据库操作应用于第一虚拟机数据文件,将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件。通过本发明,实现了将数据恢复至指定时间点对应的数据,而不依赖于备份点对应的时间点。
Description
技术领域
本发明涉及数据备份领域,尤其涉及一种快照管理方法、系统及计算机可读介质。
背景技术
连续数据保护(Continuous Data Protection,CDP),也被称为实时备份,是一种数据存储系统。每当发生自动捕获和修改数据的时候,则会在计算机系统上备份组织或者企业中的数据。参图1所示,超融合设备简单理解为由业务层、虚拟化层以及物理层构成。其中,物理层即为一台服务器或者服务一体机,由n个节点(n取大于等于2的正整数)组成,用于提供存储空间、网络模块以及计算能力等。虚拟化层部署Hypervisor(即,一种运行在物理服务器和操作系统之间的中间层软件,可以允许多个操作系统和应用共享一套基础物理硬件),可以协调访问所有物理设备(也可以理解为,物理节点、物理机等)与虚拟机,并用于将物理层的n个节点对应的资源进行整合并虚拟出存储、计算以及网络模块等。业务层在虚拟化的存储、计算以及网络模块的基础上创建m个虚拟机(m取大于等于2的正整数)以供用户使用。
现有技术中在超融合场景下,一般以IO数据流的方案进行数据的备份,具体为,通过持续记录虚拟机中业务系统对磁盘的每一个IO,从而实现后续恢复时将虚拟机恢复至任意时刻的状态。而当数据库的某一个操作未完成时,通过磁盘的IO数据流的备份则无法实现数据库的CDP恢复。例如,当执行数据库对应的磁盘备份时,数据库提交的操作包含A和B,执行操作A得到的数据是A+10,执行操作B得到的数据是A+20。若数据库的操作A执行完成,而操作B未执行完成,则磁盘的IO仅会存储数据A+10,因此使用IO数据流的备份仅会备份A+10,同时,在后续进行数据恢复时,也同样仅能恢复至A+10。另外,若存在任意一个磁盘出现宕机等情况,也可能导致无法执行后续的恢复。因此,现有技术中存在无法实现将数据恢复至任意的指定时间点的缺陷。
有鉴于此,有必要对现有技术中的数据备份恢复方法予以改进,以解决上述问题。
发明内容
本发明的目的在于解决现有技术中的数据备份恢复方法所存在的后续无法实现任意的指定时间点的问题。
为实现上述目的,第一方面,本发明提供了一种快照管理方法,包括:
响应于QGA扩展指令对数据库执行数据库挂起操作,刷新虚拟机的内存,根据若干预设备份点对数据卷创建快照,并响应于QGA扩展指令对数据库执行解挂操作;
将对应于若干预设备份点的若干快照所形成的快照卷链存储至存储空间,对数据卷对应的数据库执行数据库操作所形成的事务信息予以记录,以形成日志文件存储至存储空间;
响应于恢复至指定时间点的恢复请求,基于时间轴确定所述指定时间点向前最近的备份点,根据所述快照卷链将虚拟机数据文件中的数据恢复至与向前最近的备份点匹配的数据,将恢复至与向前最近的备份点匹配的数据的虚拟机数据文件定义为第一虚拟机数据文件;
根据事务信息将日志文件中位于向前最近的备份点与指定时间点之间的数据库操作应用于所述第一虚拟机数据文件,将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件。
作为本发明的进一步改进,所述创建快照由QGA扩展指令集所包含的QGA扩展指令予以触发;
所述QGA扩展指令响应于QGA功能扩展请求,对QGA所依赖的代码包增加功能接口,基于增加功能接口后的代码包对QGA进行编译,并由增加的功能接口形成对应的QGA指令,将增加的功能接口对应的QGA指令定义为QGA扩展指令,并由若干QGA扩展指令形成QGA扩展指令集;
其中,所述QGA扩展指令包括:数据库启动指令、数据库关闭指令、数据库挂起指令以及数据库解挂指令中的任意几种组合。
作为本发明的进一步改进,所述若干快照于若干预设备份点创建,所述若干预设备份点基于时间轴对应一个全量备份点以及若干增量备份点;
根据所述全量备份点对数据卷创建全量快照以形成全量数据,根据所述增量备份点对数据卷创建增量快照以形成增量数据。
作为本发明的进一步改进,所述事务信息包括数据库操作及其对应的时间点;所述日志文件包括重做日志文件、归档日志文件以及二进制日志文件中的任意一种。
作为本发明的进一步改进,所述与向前最近的备份点匹配的数据由快照卷链上向前最近的备份点对应的快照及其向前的所有备份点对应的快照整合形成。
作为本发明的进一步改进,还包括:
对日志文件中位于向前最近的备份点与指定时间点之间是否存在数据库操作进行判断;
若否,则将第一虚拟机数据文件定义为第二虚拟机数据文件;
若是,则将所述数据库操作应用于所述第一虚拟机数据文件,将应用数据操作后的第一虚拟机数据文件定义为第二虚拟机数据文件。
作为本发明的进一步改进,在将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件之后,还包括:
通过所述第二虚拟机数据文件拉起虚拟机。
作为本发明的进一步改进,所述QGA部署于虚拟机,所述QGA功能扩展请求由部署于宿主机的备份管理软件发起;
所述虚拟机部署于业务层,所述宿主机部署于物理层,所述业务层与所述物理层之间形成虚拟化层,以通过虚拟机化层作为中间适配层,并部署Libvirt建立起由虚拟机所部署的字符设备与宿主机所部署的套接字文件所形成的数据交互通道。
第二方面,本发明还提供了一种快照管理系统,包括:
一个或者多个处理器;和存储装置,所述存储装置耦接到所述一个或者多个处理器;
其中,所述存储装置存储被一个或者多个处理器执行的计算机程序指令,所述计算机程序指令执行如第一方面任一项所述的快照管理方法中的步骤。
第三方面,本发明又提供了一种计算机可读介质,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如第一方面任一项所述的快照管理方法中的步骤。
与现有技术相比,本发明的有益效果是:
通过根据若干预设备份点对数据卷创建快照,以形成对应于备份点的若干快照所形成的快照卷链,以及由数据库执行数据库操作所形成的事务信息并由若干事务信息所形成的日志文件,响应于恢复至指定时间点的恢复请求,首先将虚拟机数据文件中的数据恢复至与指定时间点向前最近的备份点匹配的数据,将恢复至与向前最近的备份点匹配的数据的虚拟机数据文件定义为第一虚拟机数据文件,其次将位于向前最近的备份点与指定时间点之间的数据库操作应用于第一虚拟机数据文件,将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件,从而实现了虚拟机数据文件中的数据恢复至指定时间点对应的数据。
附图说明
图1为超融合设备的拓扑图。
图2为本发明所示出的超融合设备下对一个虚拟机存储快照以及日志文件的拓扑图。
图3为本发明所示出的超融合设备下对若干虚拟机存储快照以及日志文件的拓扑图。
图4为本发明所示出的超融合设备下对图2示出的虚拟机进行恢复的拓扑图。
图5为本发明所示出的一种快照管理方法的步骤示意图。
图6为指定时间点位于两个增量备份点之间,且位于两个操作点之间的示意图。
图7为指定时间点与操作点重合的示意图。
图8为指定时间点与增量备份点重合的示意图。
图9为图5所示出的步骤S3的具体步骤图。
图10为一种快照管理系统的拓扑图。
图11为一种计算机可读介质的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
需要说明的是,在本申请中,“预设备份点”是指由用户预设备份的时间点(例如,12点),“若干预设备份点”是指由用户预设备份的若干时间点(例如,每隔十分钟)。在本申请中,将数据库操作对应的时间点定义为操作点予以示范性说明。
示例性地,请参图2至图9所示出的一种快照管理方法的一种具体实施方式。本实施例所揭示的一种快照管理方法的应用场景为由业务层100、虚拟化层200以及物理层300所形成的超融合设备或者云平台,并基于存储网络40连接由外部存储设备所构造出的存储空间400。由QGA扩展指令集中所包含的QGA扩展指令对数据库执行数据库挂起操作,根据若干预设备份点对虚拟机对应的数据卷创建快照以形成快照卷链,并对执行数据库操作所形成的事务信息予以记录以形成日志文件。基于快照卷链与日志文件实现将虚拟机数据文件中的数据恢复至与指定时间点匹配的数据,从而解决了现有技术中仅能对已执行完成的数据进行备份的问题,并解决仅能基于备份点实现数据的恢复的问题。
参图5所示,在本实施方式中,一种快照管理方法至少包括以下步骤S1至步骤S3。
步骤S1、根据若干预设备份点对数据卷创建快照,并将对应于若干预设备份点的若干快照所形成的快照卷链存储至存储空间。
示例性地,参图2所示,业务层100部署虚拟机11,虚拟化层200部署Libvirt21,物理层300部署宿主机31,通过虚拟化层200作为中间适配层,以建立起虚拟机11与宿主机31之间的数据交互通道211(参图3所示)。并具体为,虚拟机11部署字符设备111,宿主机31部署套接字文件311,通过Libvirt21建立由字符设备111与套接字文件311所形成的数据交互通道211,以通过该数据交互通道211实现后续虚拟机11与宿主机31之间的数据交互。虚拟机11内部署QGA121以及响应于QGA121所包含QGA指令(即,包含QGA原生指令与QGA扩展指令)的数据库131,宿主机31内部署备份管理软件321,备份管理软件321通过套接字文件311与字符设备111所形成的数据交互通道211实现与QGA121的数据交互。备份管理软件321发送请求(例如,数据库挂起请求),QGA121接收并响应该请求,调用QGA121内部所包含的QGA指令对数据库131执行QGA指令所对应的操作(例如,数据库挂起指令对应的数据库挂起操作)。其中,宿主机31可视为物理机,或者图1中所示出的节点。Libvirt21是指对虚拟机进行管理的工具和API,在本实施例中,通过Libvirt21作为一个中间媒介,建立起由字符设备111与套接字文件311所形成的数据交互通道211,并旨在基于Libvirt21对虚拟机11执行生命周期管理。备份管理软件321在本申请中例如可以是ar-protector。
需要说明的是,参图3所示,业务层100可以部署若干虚拟机(例如,虚拟机11、虚拟机12以及虚拟机13等等),物理层300可以部署若干宿主机(例如,宿主机31以及宿主机32等等),虚拟化层200对应于业务层100所部署的虚拟机11、虚拟机12以及虚拟机13等分别部署Libvirt21、Libvirt22以及Libvirt23等。虚拟机12与虚拟机13内部的部署方式与虚拟机11类似,分别部署QGA122与QGA123,并部署分别响应于QGA122与QGA123所分别包含的QGA指令的数据库132与数据库133。不同的虚拟机可以与同一个宿主机建立数据交互通道,即,一个宿主机可创建多个套接字文件分别对应不同的虚拟机。例如,虚拟机11与宿主机31通过Libvirt21建立由字符设备111与套接字文件311所形成的数据交互通道211,虚拟机12与宿主机31通过Libvirt22建立由字符设备112与套接字文件312所形成的数据交互通道221。当然,也可以不同的虚拟机也可以分别与不同的宿主机建立数据交互通道。例如,虚拟机13与宿主机32通过Libvirt23建立由字符设备113与套接字文件313所形成的数据交互通道231。
具体地,结合图2所示,以虚拟机11为例予以示范性说明。在根据若干预设备份点对数据卷创建快照之前,首先,通过Libvirt21建立起由虚拟机11所部署的字符设备111与宿主机31所部署的套接字文件311所形成的数据交互通道211;其次,QGA121响应于QGA功能扩展请求,以对QGA121执行QGA功能扩展请求对应的功能扩展操作,以形成QGA扩展指令;最后,基于存储网络40在超融合设备中增加外部存储设备以形成存储空间400。
首先,在虚拟机11的xml中添加如下代码:
<channel type =‘unix’>;
<source mode=‘bind‘path=‘/tmp/agentChannel.sock>;
<target type=‘virtio’name=‘org.qemu.guest_agent.0’>;
<channel>。
在添加完代码后,通过Libvirt21启动虚拟机11,并在宿主机31内阐释一个位置为/tmp/agent.channel.socket的套接字文件311。在虚拟机11启动后,会在虚拟机11内产生一个字符设备111,从而通过Libvirt21建立起由虚拟机11所部署的字符设备111与宿主机31所部署的套接字文件311所形成数据交互通道211,该数据交互通道211不依赖于网卡,从而避免了数据交互通道依赖于网卡所造成的网络拓扑复杂化的问题。
其次,用户向宿主机31所部署的备份管理软件321发送QGA功能扩展请求,备份管理软件321通过数据交互通道211将该QGA功能扩展请求转发至部署于虚拟机11的QGA121,QGA121响应于QGA功能扩展请求,对QGA121所依赖的代码包增加功能接口,基于增加功能接口后的代码包对QGA121进行编译,并由增加的功能接口形成对应的QGA指令,将增加的功能接口对应的QGA指令定义为QGA扩展指令,并由若干QGA扩展指令形成QGA扩展指令集;其中,QGA扩展指令包括数据库启动指令、数据库关闭指令、数据库挂起指令以及数据库解挂指令中的任意几种组合。
例如,对QGA121所依赖的代码包增加如下代码:
{'command': 'database_suspend'};
{'command': 'database_unsuspend'};
{'command': 'database_start'};
{'command': 'database_stop'};
{'command': 'database_search_file', 'data':{'filename:'xxx''}};
{'command':'database_read_file','data':{'filename:'xxx'','offset':'xxx','len':'xxxx'}};
{'command':'database_write_file','data':{'filename:'xxx','offset':'xxx','chunk':'xxx', 'chunk_size':''}}。
通过增加功能接口后的代码包生成新的代码包并对QGA121进行编译,从而由增加的功能接口形成对应的QGA指令,将增加的功能接口对应的QGA指令定义为QGA扩展指令。
需要说明的是,QGA(即,qemu-guest-agent)是一种支持多种操作系统的开源软件。通过对QGA121进行功能扩展,在不改变QGA原生指令及其功能的基础上,增加功能接口以形成QGA扩展指令,并由若干QGA扩展指令定义QGA扩展指令集。通过QGA扩展指令集所包含的QGA扩展指令对数据库131执行相应的操作。例如,数据库挂起指令对应的数据库挂起操作等等。由于QGA本身包含了对数据库进行读写对应的QGA原生指令,因此对QGA进行功能扩展以形成QGA扩展指令以满足业务需求。QGA扩展指令所依赖的QGA121运行于虚拟机中,以直接接收宿主机31所发送的请求并予以响应。
最后,通过存储网络40将外部存储设备(例如,NAS存储、SAN存储、Ceph存储、块存储等不同的存储类型)集成至超融合设备中,以形成存储空间400,并由此避免了超融合设备与外部存储设备通信所导致的用户封闭的生产环境向超融合设备外部传输的问题,用户的生产环境不会与外网或者外部硬件发生混淆,避免数据流被截获,且避免了代理服务器发起的攻击(例如,边信道攻击、DDos攻击、恶意脚本等等)。同时将外部存储设备作为存储空间400进行纳管,以充分利用超融合设备兼容多种存储的特性,无需根据存储传输协议类型进行适配,以达到了提升备份管理软件321兼容性的目的,同时节省了开发的成本。
备份管理软件321响应于用户发起的数据备份请求,通过数据交互通道211向QGA121发送数据库挂起请求,QGA121接收并响应数据库挂起请求,通过QGA扩展指令集中所包含的数据库挂起指令对数据库131执行数据库挂起操作。具体而言,备份管理软件321向套接字文件发送json格式的字符串{“execute“:“suspend database”},以通过数据交互通道211将json格式的字符串发送至QGA121。虚拟机11中部署的QGA121接收并响应json格式的字符串所包含的数据库挂起请求,通过QGA扩展指令集中所包含的数据库挂起指令对数据库131执行数据库挂起操作。当然,除了前述json格式的字符串,还可以是其他任意格式的字符串,只要能够实现备份管理软件321通过数据交互通道211对QGA121发送数据库挂起请求,QGA121接收并响应该数据库挂起请求即可。被执行数据库挂起操作的数据库131暂停数据读取操作以及数据写入操作,此时刷新虚拟机11的内存,以使得数据库131进入应用一致性状态,即,数据库131对应的数据均存储磁盘中。结合图4所示,前述磁盘部署于定义出存储空间400的外部存储设备中。
由于数据库131处于挂起的状态,并刷新了虚拟机11的内存,此时虚拟机11对应的数据卷中的数据是一个完整的数据集的状态。对数据库131创建快照,从而得到数据库于当前时间点的完整数据,即,于当前备份点的完整数据。一般情况下,创建快照是一个秒级的操作,在快照创建完毕之后,备份管理软件321通过套接字文件311与字符设备111所形成的数据交互通道211,向QGA121发送数据库解挂请求,QGA121接收并响应数据库解挂请求,通过QGA扩展指令集中所包含的数据库解挂指令对数据库131执行数据库解挂操作。在执行完数据库解挂操作之后,数据库131解除挂起的状态,可以继续执行数据读取操作以及数据写入操作。通过仅对数据库131执行挂起操作以及数据库解挂操作,以减少创建快照时对虚拟机11的影响,从而减少了创建快照对用户的影响,以保证用户业务的不中断。
创建快照由QGA扩展指令集所包含的QGA扩展指令予以触发,QGA扩展指令响应于QGA功能扩展请求,具体参前所述,在此不再赘述。根据若干预设备份点创建快照,若干预设备份点基于时间轴形成一个全量备份点以及若干增量备份点。根据全量备份点对数据卷创建全量快照以形成全量数据,根据增量备份点对数据卷创建增量快照以形成增量数据。第一预设备份点即为全量备份点,其余预设备份点即为增量备份点。结合图6至图8所示,在第一个备份点时对数据卷创建全量快照以形成全量数据存储至存储空间400;第二个备份点时对数据卷创建增量快照以形成增量数据存储至存储空间400;第三个备份点时对数据卷创建增量快照以形成增量数据存储至存储空间400,依次类推。基于时间轴由一个全量快照以及若干增量快照形成快照卷链。例如,图2中所示出的快照1即为全量数据,快照2即为基于快照1对应的全量数据的基础上的增量数据,快照3即为基于快照2对应的全量数据的基础上的增量数据,依次类推。由快照1、快照2、快照3等快照基于时间轴依次存储以形成快照卷链421。通过全量快照与增量快照的结合,在第一个备份点创建全量快照,在第二个备份点及之后的所有备份点均创建增量快照,以避免每次创建快照时都创建全量快照所存在的时间过程的问题,以进一步提高备份的速度。
步骤S2、对数据卷对应的数据库执行数据库操作所形成的事务信息予以记录,以形成日志文件存储至存储空间。
具体地,结合图2所示,在将快照存储至存储空间400以形成快照卷链421的同时,对数据库131执行数据库操作所形成的事务信息予以记录,以形成日志文件411存储至存储空间400,并建立快照卷链421与日志文件411二者的对应关系,以方便后续响应于恢复至指定时间点的恢复请求,并执行对应的恢复操作。其中,事务信息包含数据库操作及其对应的时间点(在本申请中,将数据库操作对应的时间点定义为操作点予以示范性说明)。由若干事务信息形成日志文件411,日志文件411包括:重做日志文件、归档日志文件以及二进制日志文件中的任意一种。通过对事务信息的记录,并由若干事务信息形成日志文件411,结合上述对快照的存储,并由若干快照基于时间轴形成快照卷链421以方便后续将虚拟机数据文件中的数据恢复至与指定时间点匹配的数据(即,指定时间点对应的全量数据)。其中,数据库操作例如可以是数据写入操作、数据读取操作、数据修改操作、数据删除操作等等,并将数据写入操作对应的时间点定义为操作点,将数据读取操作对应的时间点定义为操作点等等,而事务信息例如可以是数据写入操作及其操作点。
另外,参图3所示,虚拟机12和虚拟机13所分别部署的数据库132与数据库133的数据备份方式与前述虚拟机11所部署的数据库131的数据备份方式类似。具体为,备份管理软件321响应用户发起的数据备份请求,通过字符设备112与套接字文件312所形成的数据交互通道221向QGA122发送数据库挂起请求。QGA122接收并响应该数据库挂起请求通过QGA扩展指令集中所包含的数据库挂起指令对数据库132执行数据库挂起操作。刷新虚拟机12的内存,以使得数据库132进入应用一致性状态。对数据库132创建快照并存储至存储空间400。在快照创建完毕之后,备份管理软件321通过套接字文件312与字符设备112所形成的数据交互通道221,向QGA122发送数据库解挂请求,QGA122接收并响应数据库解挂请求,通过QGA扩展指令集中所包含的数据库解挂指令对数据库132执行数据库解挂操作。根据若干预设备份点对数据库132创建快照,以在存储空间400内由多个快照形成快照卷链422。同时对数据库132执行数据库操作所形成的事务信息予以记录,以形成日志文件412存储至存储空间400,并建立快照卷链422与日志文件412二者的对应关系,以方便后续响应于恢复至指定时间点的恢复请求,并执行对应的恢复操作。
同理,备份管理软件322响应用户发起的数据备份请求,通过字符设备113与套接字文件313所形成的数据交互通道231向QGA123发送数据库挂起请求。QGA123接收并响应该数据库挂起请求通过QGA扩展指令集中所包含的数据库挂起指令对数据库133执行数据库挂起操作。刷新虚拟机13的内存,以使得数据库133进入应用一致性状态。对数据库133创建快照并存储至存储空间400。在快照创建完毕之后,备份管理软件322通过套接字文件313与字符设备113所形成的数据交互通道231,向QGA123发送数据库解挂请求,QGA123接收并响应数据库解挂请求,通过QGA扩展指令集中所包含的数据库解挂指令对数据库133执行数据库解挂操作。根据若干预设备份点对数据库133创建快照,以在存储空间400内由多个快照形成快照卷链423。同时对数据库133执行数据库操作所形成的事务信息予以记录,以形成日志文件413存储至存储空间400,并建立快照卷链423与日志文件413二者的对应关系,以方便后续响应于恢复至指定时间点的恢复请求,并执行对应的恢复操作。
步骤S3、响应于恢复至指定时间点的恢复请求,基于时间轴确定指定时间点向前最近的备份点,根据快照卷链将虚拟机数据文件中的数据恢复至与向前最近的备份点匹配的数据,将恢复至向前最近的备份点匹配的数据的虚拟机数据文件定义为第一虚拟机数据文件;根据事务信息将日志文件中位于向前最近的备份点与指定时间点之间的数据库操作应用于第一虚拟机数据文件,将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件。
参图9所示,前述步骤S3具体包括以下步骤S41至步骤S45。
步骤S41、基于时间轴确定与指定时间点向前最近的备份点,根据快照卷链将虚拟机数据文件中的数据恢复至与向前最近的备份点匹配的数据,以定义第一虚拟机数据文件。
步骤S42、判断日志文件中位于向前最近的备份点与指定时间点之间是否存在数据库操作;若是,则执行步骤S43;若否,则执行步骤S44。
步骤S43、将数据库操作应用于第一虚拟机数据文件,将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件。
步骤S44、将第一虚拟机数据文件定义为第二虚拟机数据文件。
步骤S45、通过第二虚拟机数据文件拉起虚拟机。
具体地,参图4所示,用户向备份管理软件下发恢复至指定时间点的恢复请求,备份管理软件响应于该恢复请求,从而触发下述操作。其中,指定时间点为用户对时间轴所定义的任意时间点,而不依赖于前述创建快照对应的备份点,也不依赖于前述操作点。备份管理软件可以是宿主机31所部署的备份管理软件321,也可以是宿主机32’所部署的备份管理软件321’。若宿主机31出现异常(例如,宕机等问题),则由宿主机31’所部署的备份管理软件321’予以响应该恢复请求,并在业务层100配置与虚拟机11类似的虚拟机11’。下文通过备份管理软件321’进行示范性说明。备份管理软件321’对存储空间400所存储的快照卷链421中与指定时间点向前最近的备份点匹配的快照执行克隆操作,以形成克隆快照卷链421’。由克隆快照卷链421’中所包含的快照整合形成与向前最近的备份点匹配的数据(即,向前最近的备份点对应的全量数据)。将与向前最近的备份点匹配的数据上传至虚拟机数据文件,从而将存储有与向前最近的备份点匹配的数据的虚拟机数据文件定义为第一虚拟机数据文件。基于时间轴确定位于向前最近的备份点与指定备份点之间是否存在操作点;若存在,则将操作点对应的数据库操作应用于第一虚拟机数据文件,以将执行完数据库操作的第一虚拟机数据文件定义为第二虚拟机数据文件;若不存在,直接将第一虚拟机数据文件定义为第二虚拟机数据文件。由备份管理软件321’向虚拟机11’所部署的QGA121’发送数据库启动请求,以由QGA121’所包含的数据启动指令对数据库131’执行数据库启动操作,以通过第二虚拟机数据文件拉起虚拟机11’。其中,虚拟机数据文件为没有数据的虚拟机数据文件,第一虚拟机数据文件为存储有与向前最近的备份点匹配的数据的虚拟机数据文件,第二虚拟机数据文件为存储有与向前最近的备份点匹配的数据,且执行完数据库操作的虚拟机数据文件。若位于向前最近的备份点与指定备份点之间不存在操作点,即,不存在数据库操作记录,即可以将第一虚拟机数据文件直接认定为第二虚拟机数据文件。
例如,参图6所示,若恢复请求中的指定时间点(即,指定时间点1)于时间轴上位于增量备份点4与增量备份点5之间,并位于操作点12与操作点13之间,则确定与指定时间点1向前最近的备份点为增量备份点4。对全量备份点、增量备份点1、增量备份点2、增量备份点3以及增量备份点4所分别对应的快照执行拷贝操作,并形成克隆快照卷链。由克隆快照卷链所包含的快照整合形成与增量备份点4匹配的数据(即,增量备份点4对应的全量数据)。由于全量备份点存储全量数据,增量备份点1存储全量备份点对应的全量数据的基础上的增量数据,增量备份点2存储增量备份点1对应的全量数据的基础上的增量数据,增量备份点3存储增量备份点2对应的全量数据的基础上的增量数据,增量备份点4存储增量备份点3对应的全量数据的基础上的增量数据,因此由全量备份点、增量备份点1、增量备份点2、增量备份点3以及增量备份点4所分别对应的快照依次整合,以得到增量备份点4对应的全量数据。将该数据(即,增量备份点4对应的全量数据)上传至虚拟机数据文件,从而由存储有增量备份点4对应的全量数据的虚拟机数据文件定义第一虚拟机数据文件。由于增量备份点4与指定时间点1之间存在操作点12,因此将操作点12对应的数据库操作应用于第一虚拟机数据文件,即,对第一虚拟机数据文件执行数据库操作(即,操作点12对应的数据库操作),以由执行完数据库操作(即,操作点12对应的数据库操作)的第一虚拟机数据文件定义第二虚拟机数据文件。最后,通过第二虚拟机数据文件拉起虚拟机。
参图7所示,若恢复请求中的指定时间点(即,指定时间点2)于时间轴上与操作点12重合,则确定与指定时间点2向前最近的备份点为增量备份点4。对全量备份点、增量备份点1、增量备份点2、增量备份点3以及增量备份点4所分别对应的快照执行拷贝操作,并形成克隆快照卷链。由克隆快照卷链所包含的快照整合形成与增量备份点4匹配的数据(即,增量备份点4对应的全量数据)。将该数据(即,增量备份点4对应的全量数据)上传至虚拟机数据文件,从而由存储有增量备份点4对应的全量数据的虚拟机数据文件定义第一虚拟机数据文件。由于指定时间点2与操作点12重合,因此将操作点12对应的数据库操作应用于第一虚拟机数据文件,即,对第一虚拟机数据文件执行数据库操作(即,操作点12对应的数据库操作),以由执行完数据库操作(即,操作点12对应的数据库操作)的第一虚拟机数据文件定义第二虚拟机数据文件。最后,通过第二虚拟机数据文件拉起虚拟机。
参图8所示,若恢复请求中的指定时间点(即,指定时间点3)于时间轴上与增量备份点3重合,则确定与指定时间点3向前最近的备份点为增量备份点3。对全量备份点、增量备份点1、增量备份点2以及增量备份点3所分别对应的快照执行拷贝操作,并形成克隆快照卷链。由克隆快照卷链所包含的快照整合形成与增量备份点3匹配的数据(即,增量备份点3对应的全量数据)。将该数据(即,增量备份点3对应的全量数据)上传至虚拟机数据文件,从而由存储有增量备份点3对应的全量数据的虚拟机数据文件定义第一虚拟机数据文件。由于指定时间点3与增量备份点3重合,指定时间点3与增量备份点3之间没有操作点,因此将第一虚拟机数据文件定义为第二虚拟机数据文件。最后,通过第二虚拟机数据文件拉起虚拟机。另外,当用户对数据误操作时,则通过备份管理软件321下发数据库关闭请求至QGA121,以通过QGA121所包含的QGA121扩展指令集中的数据库关闭指令,对数据库131执行数据库关闭操作。通过快照卷链421中存储的快照实现数据的恢复,并重新建立数据库,以通过重新建立的数据库提供数据库服务。
结合图10所示,基于上述实施例所揭示的一种快照管理方法的技术方案,本实施例还揭示了一种快照管理系统500。
一种快照管理系统500,包括:
一个或者多个处理器51;和存储装置52,存储装置52耦接到一个或者多个处理器51;
其中,存储装置52存储被一个或者多个处理器执行的计算机程序指令,计算机程序指令执行如上述实施例揭示的一种快照管理方法中的步骤。具体的,存储装置52可包含一个或者多个存储器,即存储器521~存储器52j,参数j取大于或者等于2的正整数。存储装置52与一个或者多个处理器51耦接至系统总线53,以执行数据/信号的通信。
快照管理系统500可视为一种数据中心、物理机集群、独立的一台物理机、可穿戴电子设备或者云服务器。前述处理器51可为物理态或者虚拟态的处理器(例如,实体CPU或者 vCPU),前述存储装置52可为物理态或者虚拟态的存储装置(例如,NAND存储装置或者虚拟磁盘)。
本实施例与上述实施例中具有相同部分的技术方案,参上述实施例所述,在此不再赘述。
结合图11所示,本实施例还揭示了一种计算机可读介质900。
该计算机可读介质900可整体或者部分配置于物理形态的计算机、服务器、集群服务器或者数据中心中。
在本实施例中,一种计算机可读介质900,该计算机可读介质900中存储有计算机程序指令901,计算机程序指令901被一处理器902读取并运行时,执行如前述实施例所包含的一种快照管理方法中的步骤。可选地,计算机可读介质900可配置为服务器,且该服务器运行于构建私有云、混合云或者公有云的物理设备上。
同时,该计算机可读介质900还可被配置为随机存取存储装置(Random AccessMemory,RAM),只读存储装置(Read Only Memory,ROM),可编程只读存储装置(Programmable Read-Only Memory,PROM),可擦除只读存储装置(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储装置(ElectricErasable ProgrammableRead-Only Memory,EEPROM)等。该计算机可读介质900用于存储程序,处理器902在接收到执行指令后,以执行上述实施例所揭示的一种快照管理方法中的步骤。
同时,本实施例所揭示的处理器902可能是一种集成电路芯片,具有信号的处理能力。该处理器902可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规处理器。本实施例与上述任意实施例中具有相同部分的技术方案,参上述任意实施例所述,在此不再赘述。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种快照管理方法,其特征在于,包括:
响应于QGA扩展指令对数据库执行数据库挂起操作,刷新虚拟机的内存,根据若干预设备份点对数据卷创建快照,并响应于QGA扩展指令对数据库执行解挂操作;
将对应于若干预设备份点的若干快照所形成的快照卷链存储至存储空间,对数据卷对应的数据库执行数据库操作所形成的事务信息予以记录,以形成日志文件存储至存储空间;
响应于恢复至指定时间点的恢复请求,基于时间轴确定所述指定时间点向前最近的备份点,根据所述快照卷链将虚拟机数据文件中的数据恢复至与向前最近的备份点匹配的数据,将恢复至与向前最近的备份点匹配的数据的虚拟机数据文件定义为第一虚拟机数据文件;
根据事务信息将日志文件中位于向前最近的备份点与指定时间点之间的数据库操作应用于所述第一虚拟机数据文件,将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件;
其中,所述虚拟机部署于业务层,宿主机部署于物理层,所述业务层与所述物理层之间形成虚拟化层,以通过虚拟机化层作为中间适配层,并部署Libvirt建立起由虚拟机所部署的字符设备与宿主机所部署的套接字文件所形成的数据交互通道,以通过所述数据交互通道实现虚拟机与宿主机之间的数据交互。
2.根据权利要求1所述的快照管理方法,其特征在于,所述QGA扩展指令响应于QGA功能扩展请求,对QGA所依赖的代码包增加功能接口,基于增加功能接口后的代码包对QGA进行编译,并由增加的功能接口形成对应的QGA指令,将增加的功能接口对应的QGA指令定义为QGA扩展指令,并由若干QGA扩展指令形成QGA扩展指令集;
其中,所述QGA扩展指令包括:数据库启动指令、数据库关闭指令、数据库挂起指令以及数据库解挂指令中的任意几种组合。
3.根据权利要求2所述的快照管理方法,其特征在于,所述若干快照于若干预设备份点创建,所述若干预设备份点基于时间轴对应一个全量备份点以及若干增量备份点;
根据所述全量备份点对数据卷创建全量快照以形成全量数据,根据所述增量备份点对数据卷创建增量快照以形成增量数据。
4.根据权利要求1所述的快照管理方法,其特征在于,所述事务信息包括数据库操作及其对应的时间点;所述日志文件包括重做日志文件、归档日志文件以及二进制日志文件中的任意一种。
5.根据权利要求3所述的快照管理方法,其特征在于,所述与向前最近的备份点匹配的数据由快照卷链上向前最近的备份点对应的快照及其向前的所有备份点对应的快照整合形成。
6.根据权利要求1所述的快照管理方法,其特征在于,还包括:
对日志文件中位于向前最近的备份点与指定时间点之间是否存在数据库操作进行判断;
若否,则将第一虚拟机数据文件定义为第二虚拟机数据文件;
若是,则将所述数据库操作应用于所述第一虚拟机数据文件,将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件。
7.根据权利要求1所述的快照管理方法,其特征在于,在将应用数据库操作后的第一虚拟机数据文件定义为第二虚拟机数据文件之后,还包括:
通过所述第二虚拟机数据文件拉起虚拟机。
8.根据权利要求2所述的快照管理方法,其特征在于,所述QGA部署于虚拟机,所述QGA功能扩展请求由部署于宿主机的备份管理软件发起。
9.一种快照管理系统,其特征在于,包括:
一个或者多个处理器;和存储装置,所述存储装置耦接到所述一个或者多个处理器;
其中,所述存储装置存储被一个或者多个处理器执行的计算机程序指令,所述计算机程序指令执行如权利要求1至8中任一项所述的快照管理方法中的步骤。
10.一种计算机可读介质,其特征在于,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如权利要求1至8中任一项所述的快照管理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211659764.2A CN115658239B (zh) | 2022-12-23 | 2022-12-23 | 一种快照管理方法、系统及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211659764.2A CN115658239B (zh) | 2022-12-23 | 2022-12-23 | 一种快照管理方法、系统及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658239A CN115658239A (zh) | 2023-01-31 |
CN115658239B true CN115658239B (zh) | 2023-04-28 |
Family
ID=85022681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211659764.2A Active CN115658239B (zh) | 2022-12-23 | 2022-12-23 | 一种快照管理方法、系统及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658239B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541206B (zh) * | 2023-04-10 | 2024-05-07 | 泽拓科技(深圳)有限责任公司 | 分布式数据集群的数据恢复方法、装置和电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851302A (zh) * | 2019-10-31 | 2020-02-28 | 上海爱数信息技术股份有限公司 | 一种数据库信息的备份方法及恢复方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610876B (zh) * | 2015-10-23 | 2020-11-03 | 中兴通讯股份有限公司 | 数据快照的恢复方法及装置 |
CN111611108A (zh) * | 2020-05-21 | 2020-09-01 | 云和恩墨(北京)信息技术有限公司 | 虚拟数据库还原的方法及装置 |
CN115098299B (zh) * | 2022-06-28 | 2024-02-06 | 江苏安超云软件有限公司 | 一种虚拟机的备份方法、容灾方法、装置及设备 |
CN115098300B (zh) * | 2022-06-28 | 2024-01-02 | 江苏安超云软件有限公司 | 一种数据库的备份方法、容灾方法、装置及设备 |
-
2022
- 2022-12-23 CN CN202211659764.2A patent/CN115658239B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851302A (zh) * | 2019-10-31 | 2020-02-28 | 上海爱数信息技术股份有限公司 | 一种数据库信息的备份方法及恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115658239A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797489B2 (en) | System and method for using local storage to emulate centralized storage | |
US9740577B1 (en) | Backing up a virtual machine and restoring from a synthetic full backup | |
US11030053B2 (en) | Efficient disaster rollback across heterogeneous storage systems | |
US8533164B2 (en) | Method and tool to overcome VIOS configuration validation and restoration failure due to DRC name mismatch | |
US8949188B2 (en) | Efficient backup and restore of a cluster aware virtual input/output server (VIOS) within a VIOS cluster | |
US8484431B1 (en) | Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational | |
US8688645B2 (en) | Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith | |
US8819190B2 (en) | Management of file images in a virtual environment | |
US10120764B1 (en) | Efficient disaster recovery across heterogeneous storage systems | |
US11385965B2 (en) | Automatically setting a dynamic restore policy in a native cloud environment | |
CN106201566A (zh) | 利博伟特软件热升级方法及设备 | |
JP2009080692A (ja) | 仮想計算機システム及び同システムにおけるサービス引き継ぎ制御方法 | |
WO2013102812A1 (en) | A fault tolerant system in a loosely-coupled cluster environment | |
US20200364117A1 (en) | System and method for disaster recovery using application streaming | |
US11550595B2 (en) | Adaptive system for smart boot sequence formation of VMs for disaster recovery | |
CN115658239B (zh) | 一种快照管理方法、系统及计算机可读介质 | |
CN105446831A (zh) | 一种结合SAN的Server-Free备份方法 | |
US11947425B2 (en) | Storage volume snapshot object management | |
WO2024001279A1 (zh) | 一种备份方法及装置 | |
US11314601B1 (en) | Automated capture and recovery of applications in a function-as-a-service environment | |
US11892921B2 (en) | Techniques for package injection for virtual machine configuration | |
CN114281600A (zh) | 一种容灾备份和容灾恢复方法、装置、设备及存储介质 | |
US9489271B1 (en) | User interface for restoring databases | |
US11221786B2 (en) | Fast recovery in recoverpoint using direct storage access | |
US20240111642A1 (en) | Lossless failover for data recovery |
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 |