CN112685130A - 分布式存储环境下的虚拟机备份方法、装置和存储介质 - Google Patents
分布式存储环境下的虚拟机备份方法、装置和存储介质 Download PDFInfo
- Publication number
- CN112685130A CN112685130A CN202011503579.5A CN202011503579A CN112685130A CN 112685130 A CN112685130 A CN 112685130A CN 202011503579 A CN202011503579 A CN 202011503579A CN 112685130 A CN112685130 A CN 112685130A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- backup
- target
- node
- image file
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 3
- PMHURSZHKKJGBM-UHFFFAOYSA-N isoxaben Chemical compound O1N=C(C(C)(CC)CC)C=C1NC(=O)C1=C(OC)C=CC=C1OC PMHURSZHKKJGBM-UHFFFAOYSA-N 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式存储环境下的虚拟机备份方法、装置及存储介质,方法包括:集群主节点获取至少一个目标虚拟机的备份任务;集群主节点获取存放目标虚拟机数据磁盘镜像文件副本的所有节点,根据预设的规则选取目标节点发送备份指令,所述目标节点与目标虚拟机一一对应;目标节点获取备份指令,通过创建虚拟机数据磁盘外部快照执行对应的目标虚拟机的备份操作。本发明在分布式存储的云桌面服务器集群环境下使用,和现有技术相比,能够提高虚拟机备份的效率、减少网络开销,备份时不需要关闭虚拟机,不影响虚拟机内业务系统的运行,实现了虚拟机在线备份的目的。
Description
技术领域
本发明涉及数据备份领域,尤其涉及一种分布式存储环境下的虚拟机备份方法、装置和存储介质。
背景技术
随着云计算的发展,云桌面作为其中一个重要部分也日趋成熟,使用范围也越来越广。为了防止虚拟机数据丢失,或者将虚拟机数据恢复到某个时间点,虚拟机备份成为一种常用手段。在一些较大规模的云桌面使用环境中,基于分布式存储的云桌面服务器集群是一种常见的解决方案。在这种方案下,虚拟机的数据文件存放在在各个集群节点上,但虚拟机的操作一般都是在集群主节点上执行,包括虚拟机备份。如果虚拟机数据磁盘镜像文件的实际存储位置位于其他集群节点,这种情况下在集群主节点对虚拟机进行备份,在效率上会有所降低,而且会增加网络开销。另外,如果在集群主节点上对多个虚拟机进行批量备份,会占用大量的系统IO资源,导致集群主节点运行缓慢,进而影响云桌面服务器系统的正常使用。如果在集群主节点上限制虚拟机批量备份的数量,则会降低虚拟机备份的效率。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种分布式存储环境下的虚拟机备份方法、装置和存储介质,在分布式存储的云桌面服务器集群环境下,能够提高虚拟机备份的效率、减少网络开销。
为解决上述技术问题,本发明提出的技术方案为:
一种分布式存储环境下的虚拟机备份方法,包括以下步骤:
1)集群主节点获取至少一个目标虚拟机的备份任务;
2)集群主节点获取存放目标虚拟机数据磁盘镜像文件副本的所有节点,根据预设的规则选取目标节点发送备份指令,所述目标节点与目标虚拟机一一对应;
3)目标节点获取备份指令,通过创建虚拟机数据磁盘外部快照执行对应的目标虚拟机的备份操作。
进一步的,步骤2)中所述预设的规则具体包括:随机选取一个节点作为目标节点。
进一步的,步骤2)中所述预设的规则具体包括:选取系统负载最低的一个节点作为目标节点。
进一步的,步骤2)中所述预设的规则具体包括:选取IO占用率最低的一个节点作为目标节点。
进一步的,步骤2)中所述预设的规则具体包括:选取内存使用率最低的一个节点作为目标节点。
进一步的,步骤3)具体包括:
3.1)目标节点获取备份指令,挂载指定的备份服务器目录;
3.2)目标节点对所保存的目标虚拟机的原数据磁盘镜像文件创建外部快照得到外部快照镜像文件,用外部快照镜像文件代替原数据磁盘镜像文件供目标虚拟机进行读写;
3.3)目标节点将目标虚拟机的配置文件和目标虚拟机的外部快照镜像文件拷贝到备份服务器上;
3.4)目标节点将目标虚拟机的外部快照镜像文件中的数据同步到原数据磁盘镜像文件中,并让目标虚拟机重新读写原数据磁盘镜像文件;
3.5)目标节点清理目标虚拟机的外部快照镜像文件。
本发明还提出一种分布式存储环境下的虚拟机备份装置,包括:
备份任务接收模块,设置于集群主节点,用于获取至少一个目标虚拟机的备份任务,并把备份任务转给派发模块;
备份任务派发模块,设置于集群主节点,用于获取存放目标虚拟机数据磁盘镜像文件副本的所有节点,根据预设的规则选取目标节点发送备份指令;
备份任务执行模块,设置于目标虚拟机磁盘镜像文件副本所保存的节点,用于获取备份指令,通过创建虚拟机数据磁盘外部快照执行对应的目标虚拟机的备份操作。
本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有被编程或配置以执行所述的分布式存储环境下的虚拟机备份方法的计算机程序。
与现有技术相比,本发明的优点在于:
本发明基于分布式存储环境,将虚拟机磁盘镜像文件存放到分布式存储中,磁盘镜像文件副本分布在集群中部分节点上,通过分布式存储文件映射接口获取磁盘镜像文件各个副本所在节点,选取其中一个节点来执行虚拟机备份任务,备份过程中可以直接访问被选取节点本地的磁盘镜像文件,这样可以提高访存性能、减少网络延迟和带宽占用。另外在批量同时备份虚拟机场景下,通过分布式存储技术,所有虚拟机磁盘镜像文件副本均匀的分布在集群中各个节点上,虚拟机备份任务也会随虚拟机磁盘镜像文件副本均匀的派发到各个节点上,这样可以实现虚拟机备份的负载均衡,提高集群的负载能力。通过创建虚拟机数据磁盘镜像文件的外部快照,避免了数据备份和虚拟机运行的相互影响,不需要关闭虚拟机,不影响虚拟机内业务系统的运行,实现了虚拟机在线备份的目的。
附图说明
图1为本发明实施例提供的虚拟机备份方法整体流程图。
图2为本发明实施例提供的虚拟机备份方法中确定执行节点的流程图。
图3为本发明实施例提供的虚拟机备份方法中执行备份的流程图。
图4为本发明实施例提供的虚拟机备份装置示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本发明提出一种分布式存储环境下的虚拟机备份方法,包括以下步骤:
1)集群主节点获取至少一个目标虚拟机的备份任务;
2)集群主节点获取存放目标虚拟机的数据磁盘镜像文件副本的所有节点,根据预设的规则选取目标节点发送备份指令,所述目标节点与目标虚拟机一一对应;
3)目标节点获取备份指令,通过创建虚拟机数据磁盘外部快照执行对应的目标虚拟机的备份操作。
本实施例应用于分布式存储环境下的云桌面服务器集群系统,假设集群是使用分布式存储的9台服务器(序号1-9)组成的云桌面系统,分布式存储将其分为3组(1,2,3)(4,5,6)(7,8,9),同组三台服务器的数据存储为复制组,保存有相同文件副本。虚拟机运行在各个服务器上,虚拟机配置文件和数据磁盘镜像文件副本也存储在各个节点上,各个节点通过挂载目录的方式来访问虚拟机数据,假定挂载目录为/home/kylin-data,虚拟机数据目录为/home/kylin-data/kylin-desktops/xxx/xxx,其中两个xxx依次为用户名称和虚拟机名称,如用户user01的虚拟机A对应的虚拟机数据目录为/home/kylin-data/kylin-desktops/user01/A。假设当前集群主节点为1,节点1接收到用户user01的虚拟机A的备份任务。
步骤2)的详细步骤如图2所示。例如,目标虚拟机为虚拟机A,当集群主节点1收到虚拟机A的备份任务后,需要确定执行备份任务的目标节点,首先获取到虚拟机A的数据磁盘镜像文件/home/kylin-data/kylin-desktops/user01/A/USER.IMG各个副本所在的所有存储节点,假定为(7,8,9);然后根据预设的规则选取其中一个节点为执行备份任务的目标节点,选取的方式可以为下述方式中的任意一种:
方式1、随机选取一个节点作为目标节点;
方式2、选取系统负载最低的一个节点作为目标节点;
方式3、选取IO占用率最低的一个节点作为目标节点;
方式4、选取内存使用率最低的一个节点作为目标节点。
假设根据方式2选取的目标节点是节点7,集群主节点1则向节点7发送虚拟机A的备份指令。选取虚拟机数据磁盘镜像文件副本所在存储节点来执行虚拟机备份,可以直接对被选取节点本地的虚拟机数据磁盘镜像文件进行备份,不需要消耗网络资源,速度更快,效率更高。
当节点7接收到虚拟机A的备份指令后,开始按照步骤3)执行备份操作,详细步骤如图3所示:
3.1)节点7(即目标节点)获取备份指令,挂载指定的备份服务器目录,假定挂载目录为/home/backup;
3.2)节点7对所保存的虚拟机A(即目标虚拟机)的原数据磁盘镜像文件创建外部快照得到外部快照镜像文件,用外部快照镜像文件代替原数据磁盘镜像文件供目标虚拟机进行读写,本实施例中,对虚拟机A的原数据磁盘镜像文件/home/kylin-data/kylin-desktops/user01/A/USER.IMG创建外部快照通过qemu提供的HMP命令snapshot_blkdev实现,假设生成的外部快照镜像文件为/home/kylin-data/kylin-desktops/user01/A/USER_SNAPSHOT.IMG,需要说明的是,此处所有的文件路径如仅仅是一种命名示例,其实施并不限于此;
3.3)节点7将虚拟机A配置文件和虚拟机A的外部快照镜像文件拷贝到备份服务器上,外部快照镜像文件创建完成后,用于虚拟机A读写的数据磁盘镜像就从USER.IMG替换为USER_SNAPSHOT.IMG,此时就可以把USER_SNAPSHOT.IMG镜像文件以及/home/kylin-data/kylin-desktops/user01/A/目录下的其他配置文件拷贝到备份目录/home/backup/user01/A/1/目录下,拷贝过程中也不会影响虚拟机A的运行;
3.4)节点7将虚拟机A的外部快照镜像文件中的数据同步到原数据磁盘镜像文件中,并让虚拟机A重新读写原数据磁盘镜像,文件拷贝完成后,再调用qemu提供的HMP命令block_commit将USER_SNAPSHOT.IMG镜像文件中的数据同步到原磁盘镜像文件USER.IMG;接着通过qemu提供的HMP命令block_job_complete让虚拟机A重新读写原数据磁盘镜像文件USER.IMG;
3.5)节点7将生成的外部快照镜像文件USER_SNAPSHOT.IMG删除。
通过上述步骤,本实施例的备份方式不需要将虚拟机关掉,实现虚拟机在线备份,不影响业务系统的使用。
当集群主节点1收到多个目标虚拟机的备份任务时,集群主节点1可以并行的执行步骤2)的所有操作,将各个虚拟机的备份任务派发到指定的目标节点上。例如,集群主节点1同时收到三个虚拟机B、C、D的备份任务,集群主节点1先获取三个虚拟机数据磁盘镜像文件副本实际存放节点,假如虚拟机B的数据磁盘镜像文件副本存放的节点为(4,5,6)、虚拟机C的数据磁盘镜像文件副本存放的节点为(7,8,9)、虚拟机D的数据磁盘镜像文件副本存放的节点为(1,2,3)。然后分别从三个节点组中选取目标节点,选取方式假定还是选择系统负载最低的主机,还假定选取的结果分别为节点5、节点9、节点2,集群主节点1将向节点5、节点9、节点2分别发送对应的虚拟机B、虚拟机C、虚拟机D备份指令。节点5、节点9、节点2收到对应的虚拟机B、虚拟机C、虚拟机D备份指令后,各自执行步骤3)完成对应的虚拟机备份所有操作。分布式存储环境中所有虚拟机的数据磁盘镜像文件副本会均衡地分布在各个节点上,在批量备份虚拟机时,就会将虚拟机备份任务派发到各个节点上执行,这样就相当于实现了虚拟机备份的负载均衡,不仅可以提供虚拟机备份的效率,还大大降低了集群主节点的资源消耗。
与上述的方法相对应,本发明实施例还提供一种分布式存储环境下的虚拟机备份装置,图4为分布式存储环境下的虚拟机备份装置结构示意图,包括备份任务接收模块、备份任务派发模块和备份任务执行模块,其中:
备份任务接收模块设置于集群主节点,用于获取至少一个目标虚拟机的备份任务,并把备份任务转给派发模块;
备份任务派发模块设置于集群主节点,用于获取存放目标虚拟机数据磁盘镜像文件副本的所有节点,根据预设的规则选取目标节点发送备份指令;
备份任务执行模块设置于目标虚拟机磁盘镜像文件副本所在节点,用于获取备份指令,通过创建虚拟机数据磁盘外部快照执行对应的目标虚拟机的备份操作,即挂载指定的备份服务器目录,创建虚拟机外部快照,拷贝虚拟机数据到备份服务器,同步虚拟机外部快照数据和清理快照文件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有被编程或配置以执行所述的分布式存储环境下的虚拟机备份方法的计算机程序。
上述分布式存储环境下的虚拟机备份方法、装置和存储介质,通过选取虚拟机数据磁盘镜像文件副本所在存储节点进行虚拟机备份操作,可以提高备份效率,减少网络开销。另外还可以减少对集群主节点的资源消耗,特别是同时对多个虚拟机进行批量备份时,会将不同的虚拟机备份任务派发到对应的集群节点上执行,这样不仅可以防止集群主节点因为资源消耗过多导致系统运行缓慢甚至异常的情况,提高了整个集群的负载能力,也提高了虚拟机批量备份的效率。在虚拟机备份过程中通过创建虚拟机数据磁盘镜像文件的外部快照,可以避免数据备份和虚拟机运行的相互影响,实现虚拟机在线备份,不仅不会影响虚拟机业务,而且用户无感知。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (8)
1.一种分布式存储环境下的虚拟机备份方法,其特征在于,包括以下步骤:
1)集群主节点获取至少一个目标虚拟机的备份任务;
2)集群主节点获取存放目标虚拟机数据磁盘镜像文件副本的所有节点,根据预设的规则选取目标节点发送备份指令,所述目标节点与目标虚拟机一一对应;
3)目标节点获取备份指令,通过创建虚拟机数据磁盘镜像外部快照执行对应的目标虚拟机的备份操作。
2.根据权利要求1所述的分布式存储环境下的虚拟机备份方法,其特征在于,步骤2)中所述预设的规则具体包括:随机选取一个节点作为目标节点。
3.根据权利要求1所述的分布式存储环境下的虚拟机备份方法,其特征在于,步骤2)中所述预设的规则具体包括:选取系统负载最低的一个节点作为目标节点。
4.根据权利要求1所述的分布式存储环境下的虚拟机备份方法,其特征在于,步骤2)中所述预设的规则具体包括:选取IO占用率最低的一个节点作为目标节点。
5.根据权利要求1所述的分布式存储环境下的虚拟机备份方法,其特征在于,步骤2)中所述预设的规则具体包括:选取内存使用率最低的一个节点作为目标节点。
6.根据权利要求1所述的分布式存储环境下的虚拟机备份方法,其特征在于,步骤3)具体包括:
3.1)目标节点获取备份指令,挂载指定的备份服务器目录;
3.2)目标节点对所保存的目标虚拟机的原数据磁盘镜像文件创建外部快照得到外部快照镜像文件,用外部快照镜像文件代替原数据磁盘镜像文件供目标虚拟机进行读写;
3.3)目标节点将目标虚拟机的配置文件和目标虚拟机的外部快照镜像文件拷贝到备份服务器上;
3.4)目标节点将目标虚拟机的外部快照镜像文件中的数据同步到原数据磁盘镜像文件中,并让目标虚拟机重新读写原数据磁盘镜像文件;
3.5)目标节点清理目标虚拟机的外部快照镜像文件。
7.一种分布式存储环境下的虚拟机备份装置,其特征在于,包括:
备份任务接收模块,设置于集群主节点,用于获取至少一个目标虚拟机的备份任务,并把备份任务转给派发模块;
备份任务派发模块,设置于集群主节点,用于获取存放目标虚拟机数据磁盘镜像文件副本的所有节点,根据预设的规则选取目标节点发送备份指令;
备份任务执行模块,设置于目标虚拟机磁盘镜像文件副本所保存的节点,用于获取备份指令,通过创建虚拟机数据磁盘外部快照执行对应的目标虚拟机的备份操作。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有被编程或配置以执行权利要求1~6任一所述的分布式存储环境下的虚拟机备份方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503579.5A CN112685130A (zh) | 2020-12-18 | 2020-12-18 | 分布式存储环境下的虚拟机备份方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503579.5A CN112685130A (zh) | 2020-12-18 | 2020-12-18 | 分布式存储环境下的虚拟机备份方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685130A true CN112685130A (zh) | 2021-04-20 |
Family
ID=75449631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011503579.5A Pending CN112685130A (zh) | 2020-12-18 | 2020-12-18 | 分布式存储环境下的虚拟机备份方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685130A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918385A (zh) * | 2021-10-14 | 2022-01-11 | 江苏安超云软件有限公司 | 本地存储虚拟机在线增量备份和恢复的方法及应用 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776113A (zh) * | 2016-02-18 | 2017-05-31 | 新华三技术有限公司 | 一种虚拟机备份方法及装置 |
CN109558215A (zh) * | 2018-12-10 | 2019-04-02 | 深圳市木浪云数据有限公司 | 虚拟机的备份方法、恢复方法、装置及备份服务器集群 |
-
2020
- 2020-12-18 CN CN202011503579.5A patent/CN112685130A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776113A (zh) * | 2016-02-18 | 2017-05-31 | 新华三技术有限公司 | 一种虚拟机备份方法及装置 |
CN109558215A (zh) * | 2018-12-10 | 2019-04-02 | 深圳市木浪云数据有限公司 | 虚拟机的备份方法、恢复方法、装置及备份服务器集群 |
Non-Patent Citations (1)
Title |
---|
胡伟武: "《共享存储系统结构》", 31 July 2001, 北京:高等教育出版社, pages: 3 - 7 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918385A (zh) * | 2021-10-14 | 2022-01-11 | 江苏安超云软件有限公司 | 本地存储虚拟机在线增量备份和恢复的方法及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6791834B2 (ja) | 記憶システム及び制御ソフトウェア配置方法 | |
US11588755B2 (en) | Distributed stream-based database triggers | |
US8473462B1 (en) | Change tracking for shared disks | |
US9354907B1 (en) | Optimized restore of virtual machine and virtual disk data | |
EP3311272B1 (en) | A method of live migration | |
US11579992B2 (en) | Methods and systems for rapid failure recovery for a distributed storage system | |
US12013758B2 (en) | Methods and systems for power failure resistance for a distributed storage system | |
CN111026510A (zh) | 一种云环境下虚拟机跨存储热迁移方法 | |
CN112148430A (zh) | 一种虚拟网络功能的虚拟机在线安全迁移的方法 | |
CN110825704A (zh) | 一种读数据方法、写数据方法及服务器 | |
CN111367856B (zh) | 数据复制方法、装置、电子设备及机器可读存储介质 | |
CN114564339A (zh) | 一种磁盘镜像文件跨平台迁移方法及系统 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
CN112685130A (zh) | 分布式存储环境下的虚拟机备份方法、装置和存储介质 | |
CN111414240B (zh) | 内核态进程复制方法以及装置、容器扩容方法以及装置 | |
CN113032091B (zh) | 一种采用aep提升虚拟机存储性能的方法、系统及介质 | |
CN111400098B (zh) | 一种副本管理方法、装置、电子设备及存储介质 | |
CN113687935A (zh) | 一种基于超融合设计的云原生存储调度方式 | |
CN116578446B (zh) | 虚拟机备份方法、装置、系统、电子设备及存储介质 | |
JP7057408B2 (ja) | 記憶システム及びその制御方法 | |
CN113835930B (zh) | 一种基于云平台的缓存服务恢复方法、系统和装置 | |
Song et al. | Research on Cross-Cluster Migration Technologies | |
US11740976B2 (en) | Crash-consistent clone generation in a distributed file system | |
CN112965790B (zh) | 一种基于pxe协议的虚拟机启动方法及电子设备 | |
CN111258748B (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 |