本发明是关于信息,特别是关于一种虚拟机备份方法、系统、设备及可读存储介质。
背景技术:
1、虚拟化是一种能够充分利用物理资源,通过互联网实现计算资源的共享的物理模型。虚拟化技术不断发展的同时,虚拟机作为虚拟化技术实现的焦点,在运行时,由虚拟机所在的主机,即宿主机为虚拟机虚拟出各种硬件单元,例如虚拟机内存和虚拟机硬盘等。虚拟机内存中的数据由虚拟机自身进行管理,而虚拟机硬盘上的数据则由宿主机存储和管理。
2、为了保持虚拟机业务运行的连续性和稳定性,避免因意外造成的数据丢失,如何保证虚拟机在使用过程中有效及时地备份成为当前热点问题。在现有技术中,可以采用qemu提供的进行实时磁盘备份方案drive-backup,即虚拟机开机状态下,可以使用qcow2格式磁盘文件的快照链以及关联到外置快照的bitmap对磁盘进行全量、增量备份。
3、但现有的虚拟机备份方法,只支持在虚拟机开机状态下进行备份任务,关机状态使用相应命令进行备份会无法识别虚拟机,并且bitmap只能绑定在指定快照文件(或原磁盘文件)上,当一个磁盘创建了新的外置快照之后,在旧快照上创建的bitmap将不能为虚拟机新产生的脏数据创建增量备份。
4、因此,针对上述技术问题,有必要提供一种虚拟机备份方法、系统、设备及可读存储介质。
5、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
1、本发明的目的在于提供一种虚拟机备份方法、系统、设备及可读存储介质,其能够在关机状态下执行备份任务,同时避免了旧快照不参与增量备份导致的备份数据缺失。
2、为实现上述目的,本发明提供的技术方案如下:
3、第一方面,本发明提供了一种虚拟机备份方法,其包括:
4、基于备份命令,以所述虚拟机当前处于active状态的外置快照或处于active状态的原磁盘创建持久型bitmap;
5、基于qemu-img的变基操作,对关机状态下的虚拟机的磁盘进行全量备份;
6、基于所述持久型bitmap和qemu-nbd操作,获取所述备份后的脏数据,对所述虚拟机的磁盘进行增量备份。
7、在一种或多种实施方式中,所述基于qemu-img的变基操作,对关机状态下的虚拟机的磁盘进行全量备份,包括:
8、若存在所述外置快照,则创建备份文件,将备份文件的后端镜像文件指向最后创建的虚拟机外置快照;
9、若当前不存在外置快照,则创建备份文件,将备份文件的后端镜像文件指向原磁盘;
10、对备份文件进行变基操作,并指定后端镜像文件为空字符串。
11、在一种或多种实施方式中,所述基于所述持久型bitmap和qemu-nbd操作,获取所述备份后的脏数据,对所述虚拟机的磁盘进行增量备份,包括:
12、若上一次备份后未创建新的外置快照,获取所述备份后的脏数据,对所述虚拟机磁盘进行增量备份;
13、若上一次备份后创建了新的外置快照,获取所述备份后的脏数据,对所述虚拟机磁盘进行增量备份。
14、在一种或多种实施方式中,所述若上一次备份后未创建新的外置快照,获取所述备份后的脏数据,对所述虚拟机磁盘进行增量备份,包括:
15、若存在外置快照,则基于qemu-nbd命令,获取最后创建的虚拟机外置快照绑定的持久型bitmap中的脏数据作为增量备份数据;
16、若不存在外置快照,则获取原磁盘绑定的持久型bitmap中的脏数据作为增量备份数据;
17、将所述增量备份数据写入所述备份文件。
18、在一种或多种实施方式中,所述若上一次备份后创建了新的外置快照,获取所述备份后的脏数据,对所述虚拟机磁盘进行增量备份,包括:
19、若在上一次备份时存在外置快照,则基于qemu-nbd命令,获取基于在上一次备份时最后创建的虚拟机外置快照绑定的持久型bitmap中的脏数据并将所述脏数据写入备份文件;
20、若在上一次备份时不存在外置快照,则基于qemu-nbd命令,获取原磁盘绑定的持久型bitmap中的脏数据并将所述脏数据写入备份文件;
21、通过qemu-img的变基操作,将上一次备份后创建的外置快照的数据与所述备份文件数据合并。
22、在一种或多种实施方式中,所述通过qemu-img的变基操作,将上一次备份后创建的外置快照的数据与所述备份文件数据合并,包括:
23、新建备份文件,通过变基操作将所述新建备份文件的后端镜像文件指向上一次备份后创建的外置快照;
24、基于变基操作指定后端镜像文件为备份后创建的外置快照的父快照,将备份后创建的外置快照的数据合并至所述新建备份文件;
25、基于变基操作指定后端镜像文件为原备份文件;
26、基于变基操作指定后端镜像文件为空字符串,将原备份文件的数据合并至所述新建备份文件。
27、在一种或多种实施方式中,所述方法还包括:
28、基于drive-backup备份命令,对开机状态的虚拟机,以所述虚拟机当前处于active状态的外置快照或处于active状态的原磁盘创建持久型bitmap并对磁盘做全量备份;
29、基于qemu-nbd命令,获取上次备份时处于active状态的外置快照绑定的持久型bitmap的脏数据以及上一次备份后创建的不处于active状态的外置快照的数据写入备份文件;
30、新建备份文件,基于drive-backup备份命令,获取当前处于active状态的外置快照的数据,写入所述新建备份文件并对当前处于active状态的外置快照创建持久型bitmap;
31、通过变基操作,将所述备份文件合并至所述新建备份文件,完成增量备份。
32、第二方面,本发明提供了一种虚拟机备份系统,其包括:
33、创建模块,用于基于备份命令,以所述虚拟机当前处于active状态的外置快照或处于active状态的原磁盘创建持久型bitmap;
34、全量备份模块,用于基于qemu-img的变基操作,对关机状态下的虚拟机的磁盘进行全量备份;
35、增量备份模块,用于基于所述持久型bitmap和qemu-nbd操作,获取所述备份后的脏数据,对所述虚拟机的磁盘进行增量备份。
36、第三方面,本发明提供了一种计算机设备,其包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行所述的虚拟机备份方法。
37、第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行所述的虚拟机备份方法。
38、与现有技术相比,本发明提供的虚拟机备份方法,基于备份命令,以所述虚拟机当前处于active状态的外置快照或处于active状态的原磁盘创建持久型bitmap;基于qemu-img的变基操作,对关机状态下的虚拟机的磁盘进行全量备份;基于所述持久型bitmap和qemu-nbd操作,获取所述备份后的脏数据,对所述虚拟机的磁盘进行增量备份。该虚拟机备份方法具有以下优点:
39、(1)本发明提供的虚拟机备份方法,支持关机状态进行备份,防止关机后虚拟机磁盘损坏导致数据丢失。可以在关机后进行备份操作而不需要对虚拟机进行重启,使备份操作更加便捷。
40、(2)本发明提供的虚拟机备份方法,避免了当一个磁盘创建了新的外置快照之后,在旧快照上创建的bitmap将不能为虚拟机新产生的脏数据创建增量备份。可以将旧快照bitmap记录的脏数据写入备份文件,防止备份数据有所缺失。