CN112130959B - 一种虚拟机的保护系统及方法 - Google Patents

一种虚拟机的保护系统及方法 Download PDF

Info

Publication number
CN112130959B
CN112130959B CN202011047373.6A CN202011047373A CN112130959B CN 112130959 B CN112130959 B CN 112130959B CN 202011047373 A CN202011047373 A CN 202011047373A CN 112130959 B CN112130959 B CN 112130959B
Authority
CN
China
Prior art keywords
machine
server
backup
virtual
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.)
Active
Application number
CN202011047373.6A
Other languages
English (en)
Other versions
CN112130959A (zh
Inventor
倪国军
徐磊
姚国军
陈勇铨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Information2 Software Inc
Original Assignee
Shanghai Information2 Software Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Information2 Software Inc filed Critical Shanghai Information2 Software Inc
Priority to CN202011047373.6A priority Critical patent/CN112130959B/zh
Publication of CN112130959A publication Critical patent/CN112130959A/zh
Application granted granted Critical
Publication of CN112130959B publication Critical patent/CN112130959B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明公开了一种虚拟机的保护系统及方法,该系统包括:虚拟机保护服务器,对虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动DataAgent客户端,并于虚拟平台宿主机将要备份的磁盘数据传输后,将当前虚拟机快照转成参考点,以便增量或差异备份时使用;备份机服务器,部属DataAgent服务器,于接收到当前备份的配置信息后启动,监听虚拟平台宿主机的连接请求,与DataAgent客户端建立连接,实现虚拟机数据的传输和存储;虚拟平台宿主机,部署DataAgent客户端,通过指定的参数连接至DataAgent服务器,进行虚拟机数据的读取或接收。

Description

一种虚拟机的保护系统及方法
技术领域
本发明涉及计算机数据备份容灾领域,特别是涉及一种Hyper-V虚拟机快速灵活多样的保护系统及方法。
背景技术
随着信息技术快速发展,各企业在信息化建设过程中,数据量越来越多,数据也越来越重要,对容灾备份的要求也在逐步提高,需要更快速多样的保护和更快速灵活的恢复。
Hyper-V虚拟平台作为Windows服务器自带的平台,具有部署方便、成本低、界面友好等优点,但是作为后起之秀,Hyper-V虚拟平台也有一些缺点,最主要的就是查询有效数据块的接口支持。以虚拟机配置版本5.0(windows server2012R2上Hyper-V平台支持的最高配置版本)为分水岭,等于或低于5.0版本的虚拟机,接口无法获取有效数据块;高于此版本的虚拟机,接口无法获取全量数据的有效数据块,但是能获取基于快照(参考点)的变化块数据(见附图1)。
随着接口的完善,各安全厂商的产品对Hyper-V虚拟平台的支持越来越多,也促使Hyper-V越来越受到用户的青睐,使用越来越广泛,部署的虚拟机也越来越多。数据安全也就是虚拟机的安全需求越来越迫切。虚拟机的安全通过虚拟机的保护来进行。虚拟机的保护可以分为虚拟机备份及恢复(普通恢复和即时恢复)、虚拟机迁移和虚拟机复制来完成(见附图2)。
虚拟机备份,需要获取虚拟机的配置和磁盘数据并传输到备份机的存储上予以保存;虚拟机普通恢复是把备份的虚拟机配置和数据传输到一个虚拟平台上,并创建出和备份时一样的虚拟机,虚拟机即时恢复是把基于备份的虚拟机配置和数据在备份机平台上直接创建和备份时一样的虚拟机,实现了秒级别的拉起和接管;虚拟机迁移是把虚拟机从当前虚拟平台迁移到同一个或者另一个虚拟平台,为一次性任务;虚拟机复制是在虚拟机迁移的基础上,设定计划,定期复制源虚拟机的数据到目标虚拟机上,保持源虚拟机和目标虚拟机尽量一致,并可以进行切换,以对外提供不间断的服务。
目前,各家厂商的hyper-v虚拟机保护的技术各不相同,但主要有以下缺陷:
1、有些厂商需要在虚拟机平台宿主机上安装服务,监听虚拟平台虚机数据的变化,得到变化块数据。这样虽然可以获得精确的变化数据,但是有以下一些缺点:
1)需要在宿主机上安装服务,一直运行监听。在敏感客户群,这是不允许的;
2)截获的虚拟平台虚机的I/O并记录会影响虚拟平台及虚机的性能。对于性能有要求的系统,影响很大。
2、有些厂商需使用第三方工具进行传输。使用第三方成熟工具传输虽然可能功能上或者性能上有些独到之处,但要实现加密,压缩等基本功能之外的功能,有些吃力,比如带宽控制,拥塞控制,性能调优等。
3、无法实现更多更灵活更易用的数据保护功能,比如即时恢复和复制。
4、无法实现自动化保护,灵活设置运行时间和保护类型。
5、没有独立的控制机、控制机服务器及备份机服务器等进行协同,无法实现高扩展和高性能备份系统;无法方便地实现其他种类的虚拟平台虚拟机保护;无法方便的和其他数据保护方法进行融合,比如块设备的数据保护和文件系统的数据保护。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种虚拟机的保护系统及方法,以针对Hyper-V虚拟平台中的虚拟机,实现快速多样性的保护。
为达上述目的,本发明提供一种虚拟机的保护系统,用于虚拟机备份,包括:
虚拟机保护服务器,用于针对虚拟机保护创建保护规则,处理虚拟机保护的大部分管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行,通过调用远程管理接口对虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动虚拟平台宿主机的DataAgent客户端,以使虚拟平台宿主机与备份机服务器建立连接,并于所述虚拟平台宿主机将所要备份的磁盘数据传输完毕后,将当前虚拟机快照转成参考点,以便下次增量或者差异备份时使用;
备份机服务器,其部属DataAgent服务器,于接收到当前备份的配置信息后,启动DataAgent服务器,以监听虚拟平台宿主机的连接请求,与虚拟平台宿主机的DataAgent客户端建立连接,实现虚拟机数据的传输和存储;
虚拟平台宿主机,部署DataAgent客户端,由所述虚拟机保护服务器在规则运行时启动,通过指定的参数连接至所述备份机服务器的DataAgent服务器,进行虚拟机数据的读取或者接收。
优选地,所述虚拟机保护服务器包括:
快照创建单元,用于通过调用远程管理接口,对所述虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照;
配置信息获取单元,用于通过调用远程管理接口,基于当前所创建的快照,获取对应虚拟机的所有配置和磁盘信息,包括所有配置文件和磁盘文件的路径;
配置信息发送单元,用于将获得的所有配置和磁盘信息作为当前备份的配置信息发送给所述备份机服务器;
DataAgent客户端启动单元,用于通过调用远程管理接口,启动所述虚拟平台宿主机上的DataAgent客户端,并利用参数指明所述备份机服务器上的DataAgent服务器的IP地址、端口号及需要连接的任务ID,以便所述虚拟平台宿主机与备份机服务器建立连接;
虚拟机参考点生成单元,用于在所述虚拟平台宿主机将所要备份的磁盘数据传输完成后,将虚拟机快照转成参考点,以便下次增量或者差异备份时获取数据变化块。
优选地,所述虚拟机保护服务器还包括变化块信息获取单元,用于于增量或差异备份时,从所述备份机服务器的备份数据里获取上次备份或上一次全量备份时的快照,并基于当前快照和上次备份或上一次全量备份时的快照ID,获取每个磁盘的变化块信息发送至备份服务予以保存。
优选地,若当前备份为增量备份,所述虚拟机参考点生成单元于删除上一次备份的虚拟机参考点后,再将当前虚拟机快照转成参考点,以便下次增量或者差异备份时获取数据变化块。
优选地,所述备份机服务器进一步包括:
变化块信息获取保存单元,用于获取所述虚拟机保护服务器的变化块信息获取单元发送的各磁盘的变化块信息并予以保存;
DataAgent服务器启动单元,用于在接收到所述虚拟机保护服务器发送的当前备份的配置信息后,启动DataAgent服务器,以监听所述虚拟平台宿主机上DataAgent客户端针对该备份任务可能发来的连接请求;
DataAgent服务器,用于在所述虚拟平台宿主机上DataAgent客户端针对该备份任务发送连接请求时,与所述DataAgent客户端建立连接,于建立连接后,将所有配置文件的路径发给所述虚拟平台宿主机DataAgent客户端,接收所述DataAgent客户端发送的虚拟机的配置信息并以相同的文件名称保存在存储上,于全量备份时发送所有磁盘文件的路径至所述虚拟平台宿主机DataAgent客户端,于增量备份时,发送所有磁盘文件的路径和变化块信息至所述虚拟平台宿主机的DataAgent客户端,接收所述DataAgent客户端发送的每个磁盘文件的数据并保存。
优选地,所述DataAgent服务器于接收到所述DataAgent客户端发送的各磁盘文件的数据后,会将其存储为两个文件,其中一个文件存储每块数据的位置及大小,另一个文件存储磁盘的数据。
优选地,所述系统还包括总控服务器模块,包含用户界面和控制机,所述用户界面以网页和客户端方式提供用户操作的界面,所述控制机提供管理功能,包括用户、许可、权限、日志、历史记录、规则、虚拟机保护服务器和备份机服务器等各种管理。
为达到上述目的,本发明还提供一种虚拟机的保护方法,用于虚拟机备份,包括如下步骤:
步骤S1,虚拟保护服务器通过调用远程管理接口对虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动虚拟平台宿主机的DataAgent客户端;
步骤S2,备份机服务器于接收到此次备份的所有配置信息后,启动DataAgent服务器,监听虚拟平台宿主机上DataAgent客户端针对该备份任务可能发来的连接请求,并于监听到连接请求时,与DataAgent客户端建立连接;
步骤S3,备份机服务器将所有配置文件的路径发给虚拟平台宿主机的DataAgent客户端,并接收DataAgent客户端发送的虚拟机的配置信息予以保存;
步骤S4,备份机服务器的DataAgent服务器发送所有磁盘文件路径或所有磁盘文件的路径和变化块信息给虚拟平台宿主机的DataAgent客户端,并接收DataAgent客户端发送的磁盘文件数据;
步骤S5,当所有磁盘数据传输完成后,虚拟机保护服务器将当前虚拟机快照转成参考点,以供下次增量或者差异备份时获取变化块使用。
为达到上述目的,本发明还提供一种虚拟机的保护系统,用于虚拟机恢复,包括:
虚拟机保护服务器,用于针对虚拟机保护创建保护规则,处理虚拟机保护的大部分管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行等,所述虚拟保护服务器从规则中得到恢复任务相关信息,并根据恢复任务相关信息进行恢复任务,于虚拟平台宿主机的虚拟平台上创建虚拟机或于备份机服务器的虚拟平台上创建虚拟机;
备份机服务器,部属DataAgent服务器,在进行普通恢复时,于接收虚拟机保护服务器发送的恢复任务信息后,启动DataAgent服务器,以监听虚拟平台宿主机的连接请求,与虚拟平台宿主机的DataAgent客户端建立连接,进行虚拟机数据的传输;
虚拟平台宿主机,部署DataAgent客户端,所述DataAgent客户端由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器的DataAgent服务器,于普通恢复时,获取并存储备份机服务器发送的虚拟机配置文件以及磁盘数据。
优选地,所述虚拟机保护服务器进一步包括:
恢复任务相关信息获取单元,用于从规则中得到源虚拟机信息,虚拟机备份数据存储信息,于普通恢复时,从规则中获取新虚拟机需恢复到的虚拟平台宿主机信息;
普通恢复管理单元,用于于进行普通恢复时,将恢复任务相关信息获取单元获取的信息及任务基本信息发送给备份机服务器,并启动所述虚拟平台宿主机上的DataAgent客户端,以便虚拟平台宿主机与备份机服务器建立连接,并在备份机服务器将所有磁盘数据传输至虚拟平台宿主机后,调用远程管理接口,根据所有配置文件和磁盘文件,于虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的恢复;
即时恢复管理单元,用于利用保存在备份机服务器的虚拟机备份数据,在备份服务器所在的虚拟平台上,直接创建虚拟机实现虚拟机的恢复。
优选地,所述备份机服务器进一步包括:
DataAgent服务器启动单元,用于在接收到所述普通恢复管理单元发送的信息后,启动DataAgent服务器,以监听虚拟平台宿主机上DataAgent客户端针对恢复任务可能发来的连接请求。
DataAgent服务器,用于在虚拟平台宿主机上DataAgent客户端针对该任务发送连接请求时,与DataAgent客户端建立连接,于建立连接后,发送所要恢复的虚拟机的配置文件至虚拟平台宿主机,并针对所要恢复的虚拟机中的每个磁盘文件将磁盘数据传送至虚拟平台宿主机予以存储。
优选地,所述DataAgent客户端向备份机服务器发送连接请求,通过指定的参数连接至备份机服务器的DataAgent服务器,于接收到DataAgent服务器发送的虚拟机的配置文件时,存储虚拟机的配置文件到指定位置,接收备份机服务器传来的磁盘信息,根据磁盘信息创建磁盘,并于接收到从备份机服务器DataAgent服务器发来的磁盘数据,根据偏移量和大小,写入新建的磁盘中。
为达到上述目的,本发明还提供一种虚拟机的保护方法,用于虚拟机恢复,包括如下步骤:
步骤S1,虚拟机保护服务器从规则中得到源虚拟机信息,虚拟机备份数据存储信息,于普通恢复时,还从规则中获取新虚拟机需恢复到的虚拟平台宿主机信息;
步骤S2,判断当前恢复的类型,若为虚拟机普通恢复,则进入步骤S3,若为虚拟机即时恢复,则进入步骤S6;
步骤S3,于进行普通恢复时,将获取的信息及任务基本信息发送给备份机服务器,并启动虚拟平台宿主机上的DataAgent客户端,以便虚拟平台宿主机与备份机服务器建立连接;
步骤S4,备份机服务器启动DataAgent服务器,以监听虚拟平台宿主机的连接请求,与虚拟平台宿主机的DataAgent客户端建立连接,进行虚拟机数据的传输;
步骤S5,在备份机服务器将所有磁盘数据传输至虚拟平台宿主机保存后,虚拟机保护服务器调用远程管理接口,根据所有配置文件和磁盘文件,于虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的恢复,不再执行后续步骤,普通恢复完成;
步骤S6,调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于备份机服务器上创建虚拟机,实现虚拟机的恢复。
为达到上述目的,本发明还提供一种虚拟机的保护系统,用于虚拟机的迁移或复制,包括:
虚拟机保护服务器,用于针对虚拟机保护创建保护规则,处理虚拟机保护的大部分管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行等,所述虚拟保护服务器从规则中得到源端虚拟平台宿主机及源虚拟机信息以及需迁移或复制到的目标端虚拟平台宿主机信息,通过调用远程管理接口对源端虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动源端虚拟平台宿主机和目标端虚拟平台宿主机的DataAgent客户端,以使源端虚拟平台宿主机、目标端虚拟平台宿主机与备份机服务器建立连接,并于源端虚拟平台宿主机将所要备份的磁盘数据传输至备端服务器,由备端服务器转发至目标端虚拟平台宿主机后,将虚拟机快照转成参考点,以便下次增量或者差异备份时使用;在备份机服务器将所有磁盘数据转发至目标端虚拟平台宿主机后,调用远程管理接口,根据所有配置文件和磁盘文件,于目标端虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的迁移或复制;
备份机服务器,其部属DataAgent服务器,与源端虚拟平台宿主机和目标端虚拟平台宿主机的DataAgent客户端建立连接,以实现数据的转发;
源端虚拟平台宿主机,部署DataAgent客户端,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器的DataAgent服务器,进行虚拟机数据的读取或者接收;
目标端虚拟平台宿主机,部署DataAgent客户端,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器的DataAgent服务器,获取并存储备份机服务器发送的虚拟机配置文件以及磁盘数据。
为达到上述目的,本发明还提供一种虚拟机的保护方法,用于虚拟机的迁移或复制,包括如下步骤:
步骤S1,虚拟机保护服务器从规则中得到源端虚拟平台宿主机及源虚拟机信息以及需迁移或复制到的目标端虚拟平台宿主机信息,虚拟保护服务器通过调用远程管理接口对源端源端虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前任务的配置信息发送至备份机服务器,同时,并启动源端虚拟平台宿主机及目标端虚拟平台宿主机的DataAgent客户端。
步骤S2,备份机服务器于接收到本次任务的所有配置信息后,启动DataAgent服务器,监听源端虚拟平台宿主机和目标虚拟平台宿主机上DataAgent客户端发来的连接请求,并于监听到对应连接请求时,与相应的DataAgent客户端建立连接;
步骤S3,备份机服务器将所有配置文件的路径发给源端虚拟平台宿主机DataAgent客户端,并接收源端虚拟平台宿主机DataAgent客户端发送的虚拟机的配置信息,由备份机服务器转发至目标端虚拟平台宿主机DataAgent客户端;
步骤S4,备份机服务器的DataAgent服务器发送所有磁盘文件路径或所有磁盘文件的路径和变化块信息给源端虚拟平台宿主机的DataAgent客户端,并接收源端虚拟平台宿主机DataAgent客户端发送的磁盘文件数据转发至目标端虚拟平台宿主机DataAgent客户端;
步骤S5,在所有磁盘数据传输至目标端虚拟平台宿主机保存后,虚拟机保护服务器调用远程管理接口,根据所有配置文件和磁盘文件,于目标端虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的迁移或复制,并于所有磁盘数据传输完成后,将当前虚拟机快照转成参考点,以供下次增量或者差异迁移或备份时获取变化块使用。
与现有技术相比,本发明一种虚拟机的保护系统及方法通过对虚拟机进行备份及恢复、迁移和复制,实现了快速灵活多样地保护虚拟机数据的目的。
附图说明
图1为现有技术中不同虚拟机配置版本接口支持示意图;
图2为现有技术中虚拟机保护内容分类的示意图;
图3为现有技术中虚拟机保护分类示意图;
图4为本发明第一实施例一种虚拟机的保护系统的系统架构图;
图5为图4的细部结构图;
图6为本发明第二实施例一种虚拟机的保护系统的系统架构图;
图7为本发明第三实施例一种虚拟机的保护方法的步骤流程图;
图8为本发明第四实施例一种虚拟机的保护系统的系统架构图;
图9为本发明第五实施例一种虚拟机的保护方法的步骤流程图;
图10为本发明第六实施例一种虚拟机的保护系统的系统架构图;
图11为本发明第七实施例一种虚拟机的保护方法的步骤流程图;
图12为本发明实施例中全量备份流程图;
图13为本发明实施例中增量及差异备份流程图;
图14为本发明实施例中虚拟机普通恢复流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
一般来说,虚拟机配置信息的数据量都很小,通常是以千字节(KB)为单位。虚拟机保护中主要的时间和空间消耗是针对磁盘数据的,因为磁盘数据至少以10GB起,TB级别也越来越常见。虚拟机保护根据获取到的数据量不同可以分为全量保护、增量保护和差异保护(如图3)。其中全量保护需要把所有有效数据进行传输和储存,增量保护是基于前一次保护(全量或者另一个增量)后的变化数据进行,差异保护是基于前一次的全量保护后的变化数据进行。
图4为本发明第一实施例一种虚拟机的保护系统的系统架构图。如图4所示,本发明一种虚拟机的保护系统,用于虚拟机备份,包括:
虚拟机保护服务器101,用于针对虚拟机保护创建保护规则,处理虚拟机保护的大部分管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行等。在本发明中,虚拟平台为hyper-v虚拟平台,虚拟机保护服务器针对虚拟机创建保护规则,包含有规则类型(包括但不限于备份、恢复(即时恢复和普通恢复)、迁移和复制)、虚拟机信息、Hyper-V主机信息、备份机服务器信息、调度信息(一次性还是周期性)及带宽、开始时间、状态等规则本身信息。具体地,虚拟保护服务器101于备份时,通过调用WS-MAN远程管理接口对虚拟平台宿主机的hyper-v虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动虚拟平台宿主机103的DataAgent客户端,以使虚拟平台宿主机103与备份机服务器102建立连接,并于虚拟平台宿主机103将所要备份的磁盘数据传输完成后,将虚拟机快照转成参考点,以便下次增量或者差异备份时使用。在本发明具体实施例中,所述虚拟平台宿主机为Hyper-V主机,以下以Hyper-V主机为例说明。
具体地,如图5所示,虚拟保护服务器101进一步包括:
快照创建单元1011,用于通过调用WS-MAN远程管理接口,对Hyper-V主机的hyper-v虚拟平台上所要保护的虚拟机创建一个快照。在本发明中,Hyper-V主机指的是hyper-v虚拟平台所在的虚拟平台宿主机,hyper-v虚拟平台上可设置有多台虚拟机。
配置信息获取单元1012,用于通过调用WS-MAN远程管理接口,基于当前所创建的快照,获取对应虚拟机的所有配置和磁盘信息,包括所有配置文件和磁盘文件的路径,也就是说,基于快照可获取虚拟机所有配置信息以及磁盘信息,虚拟机所有配置信息包括配置文件信息以及虚拟机的其他基本配置信息(如cpu,内存,网卡等),磁盘信息包括磁盘文件信息、磁盘类型、磁盘大小、数据块大小等等,其中配置文件信息和磁盘文件信息只是路径信息。
配置信息发送单元1013,用于将获得的所有配置和磁盘信息、本次备份任务的相关信息作为本次备份的配置信息发送给备份机服务器102。本次备份任务的相关信息包括但不限于任务的基本信息(例如任务ID,时间,备份类型,快照ID等),也就是说,配置信息发送单元1013将磁盘信息、配置文件信息、虚拟机的其他基本配置信息(cpu,内存,网卡等)、任务的基本信息(任务ID,时间,备份类型,快照ID等)等作为此次备份的配置信息发送给备份机服务器102。
DataAgent客户端启动单元1014,用于通过调用WS-MAN远程管理接口,启动Hyper-V主机103上的DataAgent客户端,以便Hyper-V主机103与备份机服务器102建立连接。在本发明具体实施例中,DataAgent客户端启动单元30调用WS-MAN远程管理接口,启动Hyper-V主机103上的DataAgent客户端,并利用参数指明备份机服务器102上的DataAgent服务器的IP地址、端口号及需要连接的任务ID。
虚拟机参考点生成单元1015,用于在Hyper-V主机103将所要备份的磁盘数据传输完成后,将当前虚拟机快照转成参考点,以便下次增量或者差异备份时获取数据变化块。
备份机服务器102,其部属DataAgent服务器,于接收到当前备份的配置信息后,启动DataAgent服务器,以监听Hyper-V主机的连接请求,与Hyper-V主机的DataAgent客户端建立连接,实现虚拟机数据的传输和存储。
具体地,备份机服务器102进一步包括:
DataAgent服务器启动单元1021,用于在接收到虚拟保护服务器101发送的此次备份的配置信息后,启动DataAgent服务器,以监听Hyper-V主机上DataAgent客户端针对此备份任务可能发来的连接请求。具体地说,DataAgent服务器启动单元1021在虚拟保护服务器101发送的此次备份的配置信息后,将其保存在存储上,并根据此信息启动DataAgent服务器,监听Hyper-V主机上DataAgent客户端针对此备份任务可能发来的连接请求。
DataAgent服务器1022,用于在Hyper-V主机上DataAgent客户端针对此备份任务发送连接请求时,与DataAgent客户端建立连接,于建立连接后,将所有配置文件的路径发给Hyper-V主机DataAgent客户端,接收DataAgent客户端发送的虚拟机的配置信息并以相同的文件名称保存在存储上,于全量备份时发送所有磁盘文件的路径至Hyper-V主机DataAgent客户端,并接收DataAgent客户端发送的每个磁盘文件的数据并保存。
在本发明具体实施例中,DataAgent服务器1022于接收到DataAgent客户端发送的各磁盘文件的数据后,会将其存储为两个文件:其中一个文件存储每块数据的位置和大小,即有效数据的位置信息(每块数据在磁盘中的偏移量和大小),另一个文件存储磁盘的数据,即连续的存放数据,这样做的好处是节省空间,没有空数据块,恢复的时候可以根据该位置信息去获取磁盘数据。
虚拟平台宿主机103,在本发明具体实施例中,所述虚拟平台宿主机为Hyper-V主机,其部署DataAgent客户端,所述DataAgent客户端为一个轻量级的小程序,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器102的DataAgent服务器,进行虚拟机数据的读取或者接收。
具体地,在所述虚拟机保护服务器将此次备份的配置信息发送给备份机服务器后,所述虚拟机保护服务器则通过调用WS-MAN远程管理接口,启动DataAgent客户端,并用参数指明DataAgent服务器的IP地址、端口号及需要连接的任务ID。
于DataAgent客户端启动后,所述DataAgent客户端向备份机服务器发送连接请求,通过指定的参数连接至备份机服务器的DataAgent服务器,与DataAgent服务器建立连接后,接收DataAgent服务器发送的所有配置文件的路径,根据配置文件路径读取所有配置文件并传送至备份机服务器,接收DataAgent服务器发送的所有磁盘文件路径,读取每个磁盘文件的有效数据传输至备份机服务器。具体地,于全量备份时,DataAgent客户端在得到虚拟机的所有磁盘文件路径后,针对每个磁盘做如下操作:首先利用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘,然后用ReadFile系统函数读取磁盘数据;得到的数据块,在去除空块之后,若存在有效数据,则将其传输给备份机服务器的DataAgent服务器,从而实现全量备份。
以上描述的是本发明中虚拟机备份的全量备份,即指对虚拟机的所有配置信息和磁盘有效数据进行备份。但是,在虚拟机备份中,除了全量备份,还存在增量和差异备份,其中虚拟机增量备份是基于上一次的全量备份或者增量备份,获取到磁盘变化数据,与虚拟机配置一起进行备份;虚拟机差异备份是基于上一次的全量备份,获取到磁盘变化数据,和虚拟机配置一起进行备份。
因此,为实现虚拟机的增量和差异备份,所述虚拟机保护服务器101还包括:
变化块信息获取单元1016,用于在增量或差异备份时,在快照创建单元1011对虚拟机创建当前快照后,从备份机服务器的备份数据里获取上次备份或上一次全量备份时的快照ID,并基于当前快照和上次备份或上一次全量备份时的快照ID,获取每个磁盘的变化块信息发送至备份服务20予以保存。
如上说明,虚拟机增量备份是基于上一次的全量备份或者增量备份,获取到磁盘变化数据,和虚拟机配置一起进行备份,虚拟机差异备份是基于上一次的全量备份,获取到磁盘变化数据,和虚拟机配置一起进行备份。因此,对于增量备份,变化块信息获取单元1016从备份机服务器的备份数据里获取上次备份的快照ID,并基于当前快照和上次备份的快照ID,获取每个磁盘的变化块信息发送至备份机服务器102予以保存,而对于差异备份,变化块信息获取单元1016从备份机服务器的备份数据里获取上一次全量备份时的快照ID,并基于当前快照和上一次全量备份时的快照ID,获取每个磁盘的变化块信息发送至备份机服务器102予以保存。
相应地,备份机服务器102进一步包括:
变化块信息获取保存单元1023,用于获取虚拟保护服务器101的变化块信息获取单元1011发送的各磁盘的变化块信息并予以保存。
相应地,于增量备份时,备份机服务器102的DataAgent服务器1022则发送所有磁盘文件的路径和变化块信息至Hyper-V主机的DataAgent客户端,接收DataAgent客户端发送的每个磁盘文件的数据并保存。
相应地,于增量或差异备份时,虚拟平台宿主机103的DataAgent客户端在得到虚拟机的所有磁盘文件路径和变化块信息后,针对每个磁盘做如下操作:首先利用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘;然后利用ReadFile系统函数读取变化块里的数据,传输给备份机服务器的DataAgent服务器,备份机服务器DataAgent服务器接收变化块的数据后,将其存储为两个文件,其中一个文件存储每块数据的位置和大小,另一个文件存储磁盘的数据。
相应地,当所有磁盘数据传输完成后,若当前备份为增量备份时,虚拟机参考点生成单元1015删除上一次备份的虚拟机参考点,将当前虚拟机快照转成参考点,以便下次增量或者差异备份时获取数据变化块。这里需说明的是,由于差异备份是基于全备的,每次的差异备份都是基于全备,同一个全备后面的所有差异备份,其上一次备份都是该全备,全备参考点是不能删的,否则下一次差异就没有参照。
这里需说明的是,对于Hyper-V虚拟平台中虚拟机配置版本小于5.0的系统,由于未提供获取增量变化块的接口,也可由Hyper-V主机DataAgent客户端主动计算每个磁盘的变化块。
优选地,如图6所示,本发明之虚拟机的保护系统,还包括:
总控服务器模块104,其包含用户界面和控制机,用户界面以网页和客户端方式提供用户操作的界面;控制机提供管理功能,包括用户、许可、权限、日志、历史记录、规则、虚拟机保护服务器和备份机服务器等各种管理,一个总控服务器管理多台备份机服务器和虚拟机保护服务器。
这里需说明的是,上述虚拟机保护服务器101、备份机服务器102、Hyper-V主机103以及总控服务器模块104可以位于同一台服务器上,也可以分开部属于不同的服务器上,本发明不以此为限,当然最好是分开部署于不同的服务器上,以便有更强的性能。
图7为本发明第三实施例一种虚拟机的保护方法的步骤流程图。如图7所示,本发明一种虚拟机的保护方法,用于虚拟机备份,包括如下步骤:
步骤S701,虚拟保护服务器通过调用WS-MAN远程管理接口对Hyper-V主机的hyper-v虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动Hyper-V主机的DataAgent客户端。
具体地,步骤S701进一步包括:
步骤S701a,虚拟保护服务器通过调用WS-MAN远程管理接口,对Hyper-V主机的hyper-v虚拟平台上所要保护的虚拟机创建一个快照。
步骤S701b,虚拟保护服务器通过调用WS-MAN远程管理接口,基于当前所创建的快照,获取对应虚拟机的所有配置和磁盘信息,包括所有配置文件和磁盘文件的路径。
步骤S701c,虚拟保护服务器将获得的所有配置和磁盘信息、本次备份任务的相关信息作为此次备份的配置信息发送给备份机服务器。具体地,虚拟保护服务器将磁盘信息、配置文件信息、虚拟机的其他基本配置信息(cpu,内存,网卡等)、任务的基本信息(任务ID,时间,备份类型,快照ID等)等作为此次备份的配置信息发送给备份机服务器。
步骤S701d,虚拟机保护服务器调用WS-MAN远程管理接口,启动Hyper-V主机上DataAgent客户端,并用参数指明DataAgent服务器的IP地址、端口号及需要连接的任务ID。
于步骤S701a之后,还包括如下步骤:
步骤S701a-1,于增量或差异备份时,虚拟保护服务器从备份机服务器的备份数据里获取上次备份或上一次全量备份时的快照ID。在本发明中,虚拟机增量备份是基于上一次的全量备份或者增量备份,获取到磁盘变化数据,和虚拟机配置一起进行备份,虚拟机差异备份是基于上一次的全量备份,获取到磁盘变化数据,和虚拟机配置一起进行备份。因此,对于增量备份,则从备份机服务器的备份数据里获取上次备份的快照ID,对于差异备份,则从备份机服务器的备份数据里获取上一次全量备份时的快照ID。
步骤S701a-2,基于当前快照和上次备份或上一次全量备份时的快照ID,获取每个磁盘的变化块信息发送至备份服务器予以保存。对于增量备份,基于当前快照和上次备份的快照ID,获取每个磁盘的变化块信息发送至备份服务器予以保存,而对于差异备份,则基于当前快照和上一次全量备份时的快照ID,获取每个磁盘的变化块信息发送至备份服务器予以保存。
步骤S702,备份机服务器于接收到此次备份的所有配置信息后,启动DataAgent服务器,监听Hyper-V主机上DataAgent客户端针对此备份任务可能发来的连接请求,并于监听到连接请求时,与DataAgent客户端建立连接。具体地说,备份机服务器接收到此次备份的所有配置信息,保存在存储上并利用此信息启动一个DataAgent服务器,监听Hyper-V主机上DataAgent客户端针对此任务可能发来的连接请求,由Hyper-V主机的DataAgent客户端和备份机服务器的DataAgent服务器建立起连接。当备份机服务器接收到虚拟机所有磁盘的变化块信息时,将虚拟机所有磁盘的变化块信息保存在存储上。
步骤S703,备份机服务器将所有配置文件的路径发给Hyper-V主机DataAgent客户端,并接收DataAgent客户端发送的虚拟机的配置信息予以保存。具体地,备份机服务器把所有配置文件的路径发给Hyper-V主机DataAgent客户端,Hyper-V主机的DataAgent客户端则根据所有配置文件的路径读取所有配置文件获取虚拟机的配置信息传输至备份机服务器,备份机服务器的DataAgent服务器接收到虚拟机的配置信息并以相同的文件名称保存在存储上。
步骤S704,备份机服务器的DataAgent服务器发送所有磁盘文件路径或所有磁盘文件的路径和变化块信息给Hyper-V主机的DataAgent客户端,并接收DataAgent客户端发送的磁盘文件数据。在本发明中,于全量备份时,DataAgent服务器发送所有磁盘文件路径给Hyper-V主机的DataAgent客户端,DataAgent客户端得到虚拟机的所有磁盘文件路径后,根据所有磁盘文件路径读取磁盘数据,针对每个磁盘做如下操作:利用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘;用ReadFile系统函数读取磁盘数据;得到的数据块,去除空块之后,若还有有效数据,则传输给备份机服务器的DataAgent服务器,备份机服务器的DataAgent服务器接收每个磁盘文件的数据,并存储为两个文件,一个文件存储每块数据的位置和大小,另一个文件存储磁盘的数据;于增量或差异备份时,DataAgent服务器发送所有磁盘文件路径和变化块信息给Hyper-V主机的DataAgent客户端,DataAgent客户端得到虚拟机的所有磁盘文件路径及变化块信息后,根据所有磁盘文件路径及变化块信息读取磁盘数据,并针对每个磁盘做如下操作:利用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘;利用ReadFile系统函数读取变化块里的数据,传输给备份机服务器的DataAgent服务器,备份机服务器的DataAgent服务器接收变化块的数据,并存储为两个文件,其中一个文件存储每块数据的位置和大小,另一个文件存储磁盘的数据。
步骤S705,当所有磁盘数据传输完成后,虚拟机保护服务器将当前虚拟机快照转成参考点,以供下次增量或者差异备份时获取变化块使用。优选地,如果当前备份为增量备份,虚拟机保护服务器则于删除上一次备份的虚拟机参考点后,将当前虚拟机快照转成参考点,以供下次增量或者差异备份时获取变化块使用。
图8为本发明第四实施例一种虚拟机的保护系统的系统架构图。如图8所示,本发明一种虚拟机的保护系统,用于虚拟机恢复,包括:
虚拟机保护服务器801,用于针对虚拟机保护创建保护规则,处理虚拟机保护的大部分管理工作,包括管理hyper-v虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行等。在本发明中,虚拟机保护服务器针对虚拟机创建保护规则,包含有规则类型、虚拟机信息、Hyper-V源主机信息、Hyper-V目的主机信息、备份机服务器信息、调度信息(一次性还是周期性)及带宽、开始时间、状态等规则本身信息。具体地,虚拟保护服务器801从规则中得到恢复任务相关信息,并根据恢复任务相关信息进行恢复任务,于Hyper-V主机的hyper-v虚拟平台上创建虚拟机或于备份机服务器的虚拟平台上创建虚拟机。
具体地,虚拟机保护服务器801进一步包括:
恢复任务相关信息获取单元8010,用于从规则中得到规则类型(例如当前是普通恢复还是即时恢复)、源虚拟机信息,虚拟机备份数据存储信息(备份服务器及数据位置)等,于普通恢复时,还从规则中获取新虚拟机需恢复到的Hyper-V主机信息。一般来说,规则中会保存备份服务器信息和数据在备份服务器中的位置,即备份数据的存储信息,根据该信息就可以从备份服务器取到所有的备份信息。
在本发明中,虚拟机恢复包括普通恢复与即时恢复,虚拟机普通恢复是把保存在备份机服务器的虚拟机配置和备份数据传输到hyper-v主机上,再创建虚拟机,实现虚拟机的恢复;虚拟机即时恢复则是利用保存在备份机服务器的虚拟机配置和备份数据,在备份机服务器所在的hyper-v主机上,直接创建虚拟机,实现虚拟机的恢复,从而实现秒级别的拉起和接管。由于即时恢复是在备份机服务器上直接创建虚拟机,因此,在进行即时恢复时,恢复任务相关信息获取单元8020无需获取新虚拟机需恢复到的Hyper-V主机信息。
普通恢复管理单元8011,用于在进行普通恢复时,将恢复任务相关信息获取单元1010获取的信息及任务基本信息(任务ID,时间等)发送给备份机服务器,并启动Hyper-V主机803上的DataAgent客户端,以便Hyper-V主机803与备份机服务器802建立连接,并在备份机服务器802将所有磁盘数据传输至Hyper-V主机803后,调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于Hyper-V主机803的hyper-v虚拟平台上创建虚拟机,实现虚拟机的恢复。
在本发明具体实施例中,普通恢复管理单元8011于进行普通恢复时,将恢复任务相关信息获取单元1010获取的信息及任务基本信息(任务ID,时间等)发送给备份机服务器,并调用WS-MAN远程管理接口,启动Hyper-V主机803上的DataAgent客户端,利用参数指明备份机服务器802上的DataAgent服务器的IP地址、端口号及需要连接的任务ID;当DataAgent客户端和备份机服务器的DataAgent服务器建立起连接后,备份机服务器的DataAgent服务器则先后将虚拟机的配置文件以及磁盘文件发送至Hyper-V主机并予以保存,并在备份机服务器802将所有磁盘数据传输至Hyper-V主机803后,调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于Hyper-V主机803的hyper-v虚拟平台上创建虚拟机,实现虚拟机的恢复。
即时恢复管理单元8012,用于利用保存在备份机服务器的虚拟机备份数据(配置和磁盘信息),在备份服务器所在的hyper-v主机上,直接创建虚拟机实现虚拟机的恢复,这里因为不涉及到数据传输,所以能实现秒级别的虚拟机恢复。
在本发明中,即时恢复需要有两个前提:一、是备份机服务器也是个Hyper-V主机;二、是备份存储的磁盘数据格式为Hyper-V主机接受的格式,可以直接创建虚拟机,因为不需要数据的传输,对于虚拟机即时恢复,虚拟机保护服务器不需要备份机服务器的干预,就可以实现即时的虚拟机恢复。
备份机服务器802,其部属DataAgent服务器,在进行普通恢复时,于接收到普通恢复管理单元8011发送的信息后,启动DataAgent服务器,以监听Hyper-V主机30的连接请求,与Hyper-V主机30的DataAgent客户端建立连接,进行虚拟机数据的传输。在进行即时恢复时,所述备份机服务器802为Hyper-V主机,其备份存储的磁盘数据格式为Hyper-V主机接受的格式。
具体地,备份机服务器802进一步包括:
DataAgent服务器启动单元8021,用于在接收到普通恢复管理单元8011发送的信息后,启动DataAgent服务器,以监听Hyper-V主机上DataAgent客户端针对此恢复任务可能发来的连接请求。
DataAgent服务器8022,用于在Hyper-V主机上DataAgent客户端针对此任务发送连接请求时,与DataAgent客户端建立连接,于建立连接后,发送所要恢复的虚拟机的配置文件至Hyper-V主机803,并针对所要恢复的虚拟机中的每个磁盘文件将磁盘数据传送至Hyper-V主机予以存储。具体地,DataAgent服务器8022针对所要恢复的虚拟机中的每个磁盘文件,进行如下操作:
DataAgent服务器8022得到磁盘存储文件位置,即得到虚拟机磁盘信息;
DataAgent服务器8022发送虚拟机磁盘信息到Hyper-V主机的DataAgent客户端;
Hyper-V主机的DataAgent客户端接收备份机服务器传来的虚拟机磁盘信息,利用win32 api中的virtdisk库中的CreateVirtualDisk api创建磁盘;
DataAgent服务器8022发送磁盘数据(包含偏移量和大小)到Hyper-V主机的DataAgen客户端;
Hyper-V主机的DataAgent客户端接收从DataAgent服务器8022发来的磁盘数据,按偏移量和大小,写入新建的磁盘中。
虚拟平台宿主机803,在本发明具体实施例中,所述虚拟平台宿主机为Hyper-V主机,其部署DataAgent客户端,所述DataAgent客户端为一个轻量级的小程序,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器802的DataAgent服务器,于普通恢复时,获取并存储备份机服务器802发送的虚拟机配置文件以及磁盘文件,并由虚拟机保护服务器根据所有配置文件和磁盘文件,于虚拟平台宿主机803的虚拟平台上创建虚拟机,实现虚拟机的恢复。
具体地,所述DataAgent客户端由虚拟机保护服务器在规则运行时启动。具体地说,所述虚拟机保护服务器通过调用WS-MAN远程管理接口,启动DataAgent客户端,并用参数指明DataAgent服务器的IP地址、端口号及需要连接的任务ID。
DataAgent客户端向备份机服务器发送连接请求,通过指定的参数连接至备份机服务器的DataAgent服务器,于接收到DataAgent服务器发送的虚拟机的配置文件时,存储虚拟机的配置文件到指定位置,根据接收到DataAgent服务器发送的磁盘信息及磁盘数据创建磁盘予以存储。具体地,DataAgent客户端接收备份机服务器传来的磁盘信息,用win32api中的virtdisk库中的CreateVirtualDisk api创建磁盘,并于接收到从备份机服务器DataAgent发来的磁盘数据,按偏移量和大小,写入新建的磁盘中,当所有磁盘数据传输完成后,虚拟机保护服务器调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于Hyper-V主机803的Hyper-V虚拟平台上创建虚拟机,实现虚拟机的恢复。
优选地,所述虚拟机的保护系统还包括总控服务器模块,其包含用户界面和控制机,用户界面以网页和客户端方式提供用户操作的界面;控制机提供管理功能,包括用户、许可、权限、日志、历史记录、规则、虚拟机保护服务器和备份机服务器等各种管理,一个总控服务器管理多台备份机服务器和虚拟机保护服务器。
同样,上述虚拟机保护服务器、备份机服务器、虚拟平台宿主机以及总控服务器模块可以位于同一台服务器上,也可以分开部属于不同的服务器上,本发明不以此为限,当然最好是分开部署于不同的服务器上,以便有更强的性能。
图9为本发明第四实施例一种虚拟机的保护方法的步骤流程图。如图9所示,本发明一种虚拟机的保护方法,用于虚拟机恢复,包括如下步骤:
步骤S901,虚拟机保护服务器从规则中得到源虚拟机信息,虚拟机备份数据存储信息(备份服务器及数据位置),于普通恢复时,还从规则中获取新虚拟机需恢复到的Hyper-V主机信息。
在本发明中,虚拟机恢复包括普通恢复与即时恢复,虚拟机普通恢复是把保存在备份机服务器的虚拟机配置和备份数据传输到hyper-v主机上,再创建虚拟机,实现虚拟机的恢复;虚拟机即时恢复则是利用保存在备份机服务器的虚拟机配置和备份数据,在备份机服务器所在的hyper-v主机上,直接创建虚拟机,实现虚拟机的恢复,从而实现秒级别的拉起和接管。可见,即时恢复需要有两个前提:一、是备份机服务器也是个Hyper-V主机;二、是备份存储的磁盘数据格式为Hyper-V主机接受的格式,可以直接创建虚拟机,因为不需要数据的传输,对于虚拟机即时恢复,虚拟机保护服务器不需要备份机服务器的干预,就可以实现即时的虚拟机恢复,因此,在进行即时恢复时,无需获取新虚拟机需恢复到的Hyper-V主机信息。
步骤S902,判断当前恢复的类型,若为虚拟机普通恢复,则进入步骤S903,若为虚拟机即时恢复,则进入步骤S906。
步骤S903,于进行普通恢复时,将获取的信息及任务基本信息(任务ID,时间等)发送给备份机服务器,并启动Hyper-V主机上的DataAgent客户端,以便Hyper-V主机与备份机服务器建立连接。于进行普通恢复时,将获取的信息及任务基本信息(任务ID,时间等)发送给备份机服务器,并调用WS-MAN远程管理接口,启动Hyper-V主机上的DataAgent客户端,并利用参数指明备份机服务器上的DataAgent服务器的IP地址、端口号及需要连接的任务ID;当DataAgent客户端和备份机服务器的DataAgent服务器建立起连接。
步骤S904,备份机服务器启动DataAgent服务器,以监听Hyper-V主机的连接请求,与Hyper-V主机的DataAgent客户端建立连接,进行虚拟机数据的传输。
具体地说,当Hyper-V主机上DataAgent客户端针对普通恢复任务发送连接请求时,与DataAgent客户端建立连接,于建立连接后,备份机服务器发送所要恢复的虚拟机的配置文件至Hyper-V主机,并针对所要恢复的虚拟机中的每个磁盘文件将磁盘数据传送至Hyper-V主机予以存储。具体地,DataAgent服务器针对所要恢复的虚拟机中的每个磁盘文件,进行如下操作:
DataAgent服务器得到磁盘存储文件位置,即得到虚拟机磁盘信息;
DataAgent服务器发送虚拟机磁盘信息到Hyper-V主机的DataAgent客户端;
Hyper-V主机的DataAgent客户端接收备份机服务器传来的虚拟机磁盘信息,利用win32 api中的virtdisk库中的CreateVirtualDisk api创建磁盘;
DataAgent服务器发送磁盘数据(包含偏移量和大小)到Hyper-V主机的DataAgen客户端;
Hyper-V主机的DataAgent客户端接收从DataAgent服务器发来的磁盘数据,按偏移量和大小,写入新建的磁盘中。
步骤S905,在备份机服务器将所有磁盘数据传输至Hyper-V主机保存后,虚拟机保护服务器调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于Hyper-V主机的hyper-v虚拟平台上创建虚拟机,实现虚拟机的恢复,不再执行后续步骤,普通恢复完成。
步骤S906,于进行即时恢复时,利用保存在备份机服务器的虚拟机备份数据,在备份服务器所在的hyper-v主机上,直接创建虚拟机实现虚拟机的恢复。
在本发明第五实施例中,揭示了另一种虚拟机的保护系统,在本实施例中,本发明之虚拟机的保护系统用于虚拟机迁移和复制,虚拟机的迁移是指把虚拟机从一个Hyper-V主机平台迁移到同一个或者另一个主机平台,其可分为两步进行:第一步是全量数据的迁移;第二步是基于第一步全量的变化数据的迁移。虚拟机的复制是指把虚拟机从一个Hyper-V主机平台复制到同一个或者另一个Hyper-V主机平台,可分为多步进行,第一步是全量数据的复制;第二步是基于第一步全量的变化数据的复制;第三步是基于上一步的变化数据的复制;第四步是基于上一次变化数据的复制……
图10为本发明第五实施例中一种虚拟机的保护系统的系统架构图。由于对于虚拟机迁移和复制来说,是将虚拟机从一个Hyper-V主机平台迁移或复制到同一个或者另一个主机平台,因此在本实施例的虚拟机的保护系统中,具有源端虚拟平台宿主机和目标端虚拟平台宿主机,如图10所示,所述虚拟机的保护系统,用于虚拟机的迁移或复制,包括:
虚拟机保护服务器10,用于针对虚拟机保护创建保护规则,处理虚拟机保护的大部分管理工作,包括管理hyper-v虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行等。在本发明具体实施例中,虚拟机保护服务器针对虚拟机创建保护规则,包含有规则类型、虚拟机信息、源端Hyper-V主机信息、目标端Hyper-V主机信息、备份机服务器信息、调度信息(一次性还是周期性)及带宽、开始时间、状态等规则本身信息。具体地,虚拟保护服务器从规则中得到源端虚拟平台宿主机及源虚拟机信息以及需迁移或复制到的目标端虚拟平台主机信息,通过调用WS-MAN远程管理接口对源端虚拟平台宿主机的hyper-v虚拟平台上所要保护的虚拟机创建快照,基于快照将当前任务的配置信息发送至备份机服务器,并启动源端虚拟平台宿主机30和目标端虚拟平台宿主机40的DataAgent客户端,以使源端虚拟平台宿主机30、目标端虚拟平台宿主机40与备份机服务器20建立连接,并于源端虚拟平台宿主机30将所要备份的磁盘数据传输至备端服务器20,由备端服务器20转发至目标端虚拟平台宿主机40,并将当前虚拟机快照转成参考点,以便下次任务使用,在备份机服务器20将所有磁盘数据转发至目标端虚拟平台宿主机40后,调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于目标端虚拟平台宿主机40的hyper-v虚拟平台上创建虚拟机,实现虚拟机的迁移或复制。
备份机服务器20,其部属DataAgent服务器,与源端Hyper-V主机30和目标端Hyper-V主机40的DataAgent客户端建立连接,以实现数据的转发。
源端虚拟平台宿主机30,部署DataAgent客户端,所述DataAgent客户端为一个轻量级的小程序,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器20的DataAgent服务器,进行虚拟机数据的读取或者接收;
目标端虚拟平台宿主机40,部署DataAgent客户端,所述DataAgent客户端为一个轻量级的小程序,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器的DataAgent服务器,获取并存储备份机服务器发送的虚拟机配置文件以及磁盘数据。
优选地,于本实施例中,每进行一次复制操作后,虚拟机保护服务器10可通过调用WS-MAN远程管理接口,在目标端Hyper-V主机建一个快照作为切换点(可配切换点总数),以便可以根据此切换点,进行选择性的切换到目标机,实现目标端Hyper-V主机对源端Hyper-V主机的接管。
可见,在本实施例中,虚拟机迁移和复制是基于备份和恢复进行整合而成的,在源端主机平台的DataAgent,是备份的过程,在目标端主机平台的DataAgent客户端,是恢复的过程,备份机服务器则相当于进行了数据的转发,把源端的数据转发到目标端。各模块的具体细节在此则不再赘述。
图11为本发明第六实施例中一种虚拟机的保护方法的步骤流程图。如图11所示,本发明一种虚拟机的保护方法,应用于虚拟机的迁移或复制,包括如下步骤:
步骤S1,虚拟机保护服务器从规则中得到源端Hyper-V主机及源虚拟机信息以及需迁移或复制到的目标端Hyper-V主机信息,虚拟保护服务器通过调用WS-MAN远程管理接口对源端Hyper-V主机的hyper-v虚拟平台上所要保护的虚拟机创建快照,基于快照将当前任务的配置信息发送至备份机服务器,同时,并启动源端Hyper-V主机及目标端Hyper-V主机的DataAgent客户端。
步骤S2,备份机服务器于接收到此次任务的所有配置信息后,启动DataAgent服务器,监听源端Hyper-V主机和目标端Hyper-V主机上DataAgent客户端发来的连接请求,并于监听到对应连接请求时,与相应的DataAgent客户端建立连接。具体地说,备份机服务器接收到此次任务的所有配置信息,保存在存储上并利用此信息启动一个DataAgent服务器,监听源端Hyper-V主机和目标端Hyper-V主机上DataAgent客户端针对此任务可能发来的连接请求,由源端Hyper-V主机的DataAgent客户端、目标端Hyper-V主机的DataAgent客户端和备份机服务器的DataAgent服务器建立起连接。当备份机服务器接收到虚拟机所有磁盘的变化块信息时,将虚拟机所有磁盘的变化块信息保存在存储上。
步骤S3,备份机服务器将所有配置文件的路径发给源端Hyper-V主机DataAgent客户端,并接收源端Hyper-V主机DataAgent客户端发送的虚拟机的配置信息,由备份机服务器转发至目标端Hyper-V主机DataAgent客户端。具体地,备份机服务器把所有配置文件的路径发给源端Hyper-V主机DataAgent客户端,源端Hyper-V主机的DataAgent客户端则根据所有配置文件的路径读取所有配置文件获取虚拟机的配置信息传输至备份机服务器,备份机服务器的DataAgent服务器接收到虚拟机的配置信息后将其转发至目标端Hyper-V主机DataAgent客户端。
步骤S4,备份机服务器的DataAgent服务器发送所有磁盘文件路径或所有磁盘文件的路径和变化块信息给源端Hyper-V主机的DataAgent客户端,并接收DataAgent客户端发送的磁盘文件数据转发至目标端Hyper-V主机DataAgent客户端。在本发明中,于全量备份时,DataAgent服务器发送所有磁盘文件路径给源端Hyper-V主机的DataAgent客户端,源端Hyper-V主机的DataAgent客户端得到虚拟机的所有磁盘文件路径后,根据所有磁盘文件路径读取磁盘数据,针对每个磁盘做如下操作:利用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘;用ReadFile系统函数读取磁盘数据;得到的数据块,去除空块之后,若还有有效数据,则传输给备份机服务器的DataAgent服务器,备份机服务器的DataAgent服务器则将数据转发至目标端Hyper-V主机DataAgent客户端,目标端Hyper-V主机的DataAgent客户端,按偏移量和大小,写入新建的磁盘中;于增量或差异备份时,DataAgent服务器发送所有磁盘文件路径和变化块信息给源端Hyper-V主机的DataAgent客户端,源端Hyper-V主机的DataAgent客户端得到虚拟机的所有磁盘文件路径及变化块信息后,根据所有磁盘文件路径及变化块信息读取磁盘数据,并针对每个磁盘做如下操作:利用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘;利用ReadFile系统函数读取变化块里的数据,传输给备份机服务器的DataAgent服务器,备份机服务器的DataAgent服务器接收变化块的数据,并转发至目标端Hyper-V主机DataAgent客户端,目标端Hyper-V主机的DataAgent客户端,按偏移量和大小,写入新建的磁盘中。
步骤S5,在所有磁盘数据传输至目标端Hyper-V主机保存后,虚拟机保护服务器调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于目标端Hyper-V主机的hyper-v虚拟平台上创建虚拟机,实现虚拟机的迁移或复制。并于所有磁盘数据传输完成后,虚拟机保护服务器将当前虚拟机快照转成参考点,以供下次增量或者差异迁移或备份时获取变化块使用。
实施例
一、全量备份
虚拟机全量备份,指的是把虚拟机的所有配置信息和磁盘有效数据进行备份。如图12所示,全量备份过程如下:
步骤1,虚拟机保护服务器调用WS-MAN远程管理接口,对虚拟机建一个快照。
步骤2,虚拟机保护服务器调用WS-MAN远程管理接口,基于上面创建的快照,得到虚拟机的所有配置和磁盘信息,包括所有配置文件和磁盘文件的路径。
步骤3,虚拟机保护服务器把磁盘信息、配置文件信息、虚拟机的其他基本配置信息(cpu,内存,网卡等)、任务的基本信息(任务ID,时间,备份类型,快照ID等)等作为此次备份的配置信息发送给备份机服务器。
步骤4,备份机服务器接收到此次备份的所有信息,保存在存储上并利用此信息启动一个DataAgent服务器,监听Hyper-V主机上DataAgent客户端针对此任务可能发来的连接请求。
步骤5,虚拟机保护服务器调用WS-MAN远程管理接口,启动Hyper-V主机上DataAgent客户端,并用参数指明DataAgent服务器的IP地址、端口号及需要连接的任务ID。
步骤6,Hyper-V主机上DataAgent客户端和备份机服务器的DataAgent服务器建立起连接。
步骤7,备份机服务器把所有配置文件的路径发给Hyper-V主机DataAgent客户端。
步骤8,Hyper-V主机DataAgent客户端传输虚拟机的配置信息到备份机服务器。
步骤9,备份机服务器DataAgent接收虚拟机的配置信息并以相同的文件名称保存在存储上。
步骤10,备份机服务器DataAgent发送所有磁盘文件路径给Hyper-V主机DataAgent。
步骤11,Hyper-V主机DataAgent得到虚拟机的所有磁盘路径,并针对每个磁盘做如下操作:
1)用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘。
2)用ReadFile系统函数读取磁盘数据。得到的数据块,去空块之后,如果还有有效数据,传输给备份机服务器的DataAgent服务器。
步骤12,所有磁盘数据传输完成后,虚拟机保护服务器把虚拟机快照转成参考点,以供下次增量或者差异备份时获取变化块所需。
二、增量及差异备份
虚拟机增量备份是基于上一次的全量备份或者增量备份,获取到磁盘变化数据,和虚拟机配置一起进行备份。虚拟机差异备份是基于上一次的全量备份,获取到磁盘变化数据,和虚拟机配置一起进行备份。如图13所示,在本实施例中,增量及差异备份流程如下
步骤1,虚拟机保护服务器调用WS-MAN远程管理接口,对虚拟机建一个快照。
步骤2,虚拟机保护服务器从备份机服务器的备份数据里获取上次备份(差异备份时取的是上一次的全量备份)时的快照ID。
步骤3,虚拟机保护服务器调用WS-MAN远程管理接口,基于当前快照和上次备份时的快照ID,取得每个磁盘的变化块信息,并发送到备份机服务器。
步骤4,备机服务器保存虚机所有磁盘的变化块信息。
步骤5,虚拟机保护服务器调用WS-MAN远程管理接口,基于当前快照,得到虚拟机的所有配置和磁盘信息,包括所有配置文件和磁盘文件的路径。
步骤6,虚拟机保护服务器把磁盘信息、配置文件信息、虚拟机的其他基本配置信息(cpu,内存,网卡等)、任务的基本信息(任务ID,时间,备份类型,快照ID等)等作为此次备份的配置信息发送给备份机服务器。
步骤7,备份机服务器接收到此次备份的配置信息,保存在存储上并利用此信息启动一个DataAgent服务器,监听Hyper-V主机上DataAgent客户端针对此任务可能发来的连接请求。
步骤8,虚拟机保护服务器调用WS-MAN远程管理接口,启动Hyper-V主机上DataAgent客户端,并用参数指明DataAgent服务器的IP地址、端口号及需要连接的任务ID。
步骤9,Hyper-V主机上DataAgent客户端和备份机服务器的DataAgent服务器建立起连接。
步骤10,备份机服务器把所有配置文件的路径发给Hyper-V主机DataAgent客户端。
步骤11,Hyper-V主机DataAgent客户端传输虚拟机的配置信息到备份机服务器。
步骤12,备份机服务器DataAgent接收虚拟机的配置信息并以相同的文件名称保存在存储上。
步骤13,备份机服务器DataAgent把所有磁盘的路径及变化块信息,发送给Hyper-V主机DataAgent。
步骤14,Hyper-V主机DataAgent得到虚拟机的所有磁盘路径及变化块信息,并针对每个磁盘做如下操作:
1)用win32 api中的virtdisk库中的OpenVirtualDisk api打开磁盘。
2)用ReadFile系统函数读取变化块里的数据,传输给备份机服务器的DataAgent模块。
3)备份机服务器DataAgent接收变化块的数据,并存储为两个文件,一个文件存储每块数据的位置和大小,另一个文件存储磁盘的数据。
步骤15,所有磁盘数据传输完成后,如果不是差异备份,虚拟机保护服务器删除上一次备份的虚拟机参考点。
步骤16,将虚拟机快照转成参考点,供下次增量或者差异备份时获取变化块所需。
三、虚拟机普通恢复
虚拟机普通恢复是把保存在备份机服务器的虚拟机备份数据,传输到hyper-v主机上,再创建虚拟机实现虚拟机的恢复。如图14,在本实施例中,虚拟机普通恢复流程如下:
步骤1,虚拟机保护服务器从规则中得到源虚拟机信息,虚拟机备份数据存储信息(备份服务器及数据位置)及新虚拟机需恢复到的Hyper-V主机信息。
步骤2,虚拟机保护服务器把以上信息及任务基本信息(任务ID,时间等)发送给备份机服务器。
步骤3,备份机服务器接收到以上信息,据此启动一个DataAgent服务器,监听Hyper-V主机上DataAgent客户端针对此任务可能发来的连接请求。
步骤4,虚拟机保护服务器调用WS-MAN远程管理接口,启动Hyper-V主机上DataAgent客户端,并用参数指明DataAgent服务器的IP地址、端口号及需要连接的任务ID。
步骤5,Hyper-V主机上DataAgent客户端和备份机服务器的DataAgent服务器建立起连接。
步骤6,备份机服务器DataAgent发送虚拟机的配置文件到Hyper-V主机DataAgent。
步骤7,Hyper-V主机DataAgent存储虚拟机的配置文件到指定位置。
步骤8,备份机服务器针对虚拟机中的每个磁盘文件,进行如下操作:
1)备份机服务器DataAgent得到磁盘存储文件位置
2)备份机服务器DataAgent发送虚拟机磁盘信息到Hyper-V主机DataAgent
3)Hyper-V主机DataAgent接收备份机服务器传来的磁盘信息,用win32 api中的virtdisk库中的CreateVirtualDisk api创建磁盘
4)备份机服务器DataAgent发送磁盘数据(包含偏移量和大小)到Hyper-V主机DataAgent
5)Hyper-V主机DataAgent接收从备份机服务器DataAgent发来的磁盘数据,按偏移量和大小,写入新建的磁盘中。
步骤9,所有磁盘数据传输完成后,虚拟机保护服务器调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,创建虚拟机,实现虚拟机的恢复。
四、虚拟机即时恢复
虚拟机即时恢复是利用保存在备份机服务器的虚拟机备份数据,在备份服务器所在的hyper-v主机上,直接创建虚拟机实现虚拟机的恢复。即时恢复需要有两个前提:一是备份机服务器也是个Hyper-V主机;而是备份存储的磁盘数据格式为Hyper-V主机接受的格式,可以直接创建虚拟机。因为不需要数据的传输,虚拟机保护服务器不需要备份机服务器的干预,就可以实现即时的虚拟机恢复。
五、虚拟机迁移和复制流程
虚拟机的迁移是指把虚拟机从一个Hyper-V主机平台迁移到同一个或者另一个主机平台。分为两步进行,第一步是全量数据的迁移;第二步是基于第一步全量的变化数据的迁移。
虚拟机的复制是指把虚拟机从一个Hyper-V主机平台复制到同一个或者另一个主机平台。分为多步进行,第一步是全量数据的复制;第二步是基于第一步全量的变化数据的复制;第三步是基于上一步的变化数据的复制;第四步是基于上一次变化数据的复制……
在本实施例中,虚拟机复制在虚拟机迁移的基础上,多了以下特性:
1、周期策略,实现自动复制。和备份规则一样,实现了按小时,天,周,月的自动调度。即对于虚拟机复制,在虚拟机保护服务器对规则的管理上,增加了周期策略的调度。
2、切换和回切。每做一次复制操作,虚拟机保护服务器可在目标机建一个快照作为切换点(可配切换点总数)。例如,用户可以在复制规则页面,选择切换点,可以根据此切换点,进行选择性地切换到目标机,实现目标机对源机的接管。
在本实施例中,虚拟机迁移和复制流程是基于备份和恢复的流程进行整合而成的,在源端主机平台DataAgent,是备份的过程,在目标端主机平台的DataAgent,是恢复的过程,而备份机服务器相当于进行了数据的转发,把源端的数据转发到目标端,具体流程在此则不予赘述。
与现有技术相比,本发明具有如下优点:
1、本发明针对有效数据块进行保护,节省传输和存储。
2、本发明的恢复,迁移和复制都能跨Hyper-V平台进行。
3、本发明中,备份机服务器如果是Hyper-V平台,能实现即时拉起虚机,实现高可用。
4、本发明基于周期策略,备份和复制能实现持续保护,并且通过设置全量、差异还是增量保护,实现更灵活的保护策略。
5、本发明中,备份机服务器不依赖操作系统平台,除非要实现即时恢复。
6、本发明中,控制机服务器,虚拟机保护服务器,备份机服务器可以灵活配置,实现可伸缩,易扩展的高性能系统。
7、本发明Hyper-V主机端的DataAgent实现了远程安装,启动,卸载,如虚拟机保护服务器通过ws-man协议进行远程启动。远程安装和卸载也是一样。
8、基于本发明,可实现基于vmware虚拟平台和kvm虚拟平台的虚拟机保护。
9、在本发明架构下,实现了虚机备份数据的演练功能,用来检验备份出来的数据是否有效,本发明可以快速检验备份数据的正确性,使用户放心,不会出现想恢复时,发现备机数据没法用的情况。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

Claims (15)

1.一种虚拟机的保护系统,用于虚拟机备份,包括:
虚拟机保护服务器,用于针对虚拟机保护创建保护规则,处理虚拟机保护的管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行,通过调用远程管理接口对虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动虚拟平台宿主机的DataAgent客户端,以使虚拟平台宿主机与备份机服务器建立连接,并于所述虚拟平台宿主机将所要备份的磁盘数据传输完毕后,将当前虚拟机快照转成参考点,以便下次增量或者差异备份时使用;
备份机服务器,其部署DataAgent服务器,于接收到当前备份的配置信息后,启动DataAgent服务器,以监听虚拟平台宿主机的连接请求,与虚拟平台宿主机的DataAgent客户端建立连接,实现虚拟机数据的传输和存储;
虚拟平台宿主机,部署DataAgent客户端,由所述虚拟机保护服务器在规则运行时启动,通过指定的参数连接至所述备份机服务器的DataAgent服务器,进行虚拟机数据的读取或者接收。
2.如权利要求1所述的一种虚拟机的保护系统,其特征在于,所述虚拟机保护服务器包括:
快照创建单元,用于通过调用远程管理接口,对所述虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照;
配置信息获取单元,用于通过调用远程管理接口,基于当前所创建的快照,获取对应虚拟机的所有配置和磁盘信息,包括所有配置文件和磁盘文件的路径;
配置信息发送单元,用于将获得的所有配置和磁盘信息作为当前备份的配置信息发送给所述备份机服务器;
DataAgent客户端启动单元,用于通过调用远程管理接口,启动所述虚拟平台宿主机上的DataAgent客户端,并利用参数指明所述备份机服务器上的DataAgent服务器的IP地址、端口号及需要连接的任务ID,以便所述虚拟平台宿主机与备份机服务器建立连接;
虚拟机参考点生成单元,用于在所述虚拟平台宿主机将所要备份的磁盘数据传输完成后,将虚拟机快照转成参考点,以便下次增量或者差异备份时获取数据变化块。
3.如权利要求2所述的一种虚拟机的保护系统,其特征在于:所述虚拟机保护服务器还包括变化块信息获取单元,用于增量或差异备份时,从所述备份机服务器的备份数据里获取上次备份或上一次全量备份时的快照,并基于当前快照和上次备份或上一次全量备份时的快照ID,获取每个磁盘的变化块信息发送至备份服务予以保存。
4.如权利要求3所述的一种虚拟机的保护系统,其特征在于:若当前备份为增量备份,所述虚拟机参考点生成单元于删除上一次备份的虚拟机参考点后,再将当前虚拟机快照转成参考点,以便下次增量或者差异备份时获取数据变化块。
5.如权利要求3所述的一种虚拟机的保护系统,其特征在于,所述备份机服务器进一步包括:
变化块信息获取保存单元,用于获取所述虚拟机保护服务器的变化块信息获取单元发送的各磁盘的变化块信息并予以保存;
DataAgent服务器启动单元,用于在接收到所述虚拟机保护服务器发送的当前备份的配置信息后,启动DataAgent服务器,以监听所述虚拟平台宿主机上DataAgent客户端针对该备份任务可能发来的连接请求;
DataAgent服务器,用于在所述虚拟平台宿主机上DataAgent客户端针对该备份任务发送连接请求时,与所述DataAgent客户端建立连接,于建立连接后,将所有配置文件的路径发给所述虚拟平台宿主机DataAgent客户端,接收所述DataAgent客户端发送的虚拟机的配置信息并以相同的文件名称保存在存储上,于全量备份时发送所有磁盘文件的路径至所述虚拟平台宿主机DataAgent客户端,于增量备份时,发送所有磁盘文件的路径和变化块信息至所述虚拟平台宿主机的DataAgent客户端,接收所述DataAgent客户端发送的每个磁盘文件的数据并保存。
6.如权利要求5所述的一种虚拟机的保护系统,其特征在于:所述DataAgent服务器于接收到所述DataAgent客户端发送的各磁盘文件的数据后,将其存储为两个文件,其中一个文件存储每块数据的位置及大小,另一个文件存储磁盘的数据。
7.如权利要求1所述的一种虚拟机的保护系统,其特征在于:所述系统还包括总控服务器模块,包含用户界面和控制机,所述用户界面以网页和客户端方式提供用户操作的界面,所述控制机提供管理功能,包括用户、许可、权限、日志、历史记录、规则、虚拟机保护服务器和备份机服务器等各种管理。
8.一种虚拟机的保护方法,用于虚拟机备份,包括如下步骤:
步骤S1,虚拟保护服务器通过调用远程管理接口对虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动虚拟平台宿主机的DataAgent客户端;
步骤S2,备份机服务器于接收到此次备份的所有配置信息后,启动DataAgent服务器,监听虚拟平台宿主机上DataAgent客户端针对该备份任务可能发来的连接请求,并于监听到连接请求时,与DataAgent客户端建立连接;
步骤S3,备份机服务器将所有配置文件的路径发给虚拟平台宿主机的DataAgent客户端,并接收DataAgent客户端发送的虚拟机的配置信息予以保存;
步骤S4,备份机服务器的DataAgent服务器发送所有磁盘文件路径或所有磁盘文件的路径和变化块信息给虚拟平台宿主机的DataAgent客户端,并接收DataAgent客户端发送的磁盘文件数据;
步骤S5,当所有磁盘数据传输完成后,虚拟机保护服务器将当前虚拟机快照转成参考点,以供下次增量或者差异备份时获取变化块使用。
9.一种虚拟机的保护系统,用于虚拟机恢复,包括:
虚拟机保护服务器,用于针对虚拟机保护创建保护规则,处理虚拟机保护的大部分管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行等,所述虚拟机保护服务器从规则中得到恢复任务相关信息,并根据恢复任务相关信息进行恢复任务,于虚拟平台宿主机的虚拟平台上创建虚拟机或于备份机服务器的虚拟平台上创建虚拟机;
备份机服务器,部署DataAgent服务器,在进行普通恢复时,于接收虚拟机保护服务器发送的恢复任务信息后,启动DataAgent服务器,以监听虚拟平台宿主机的连接请求,与虚拟平台宿主机的DataAgent客户端建立连接,进行虚拟机数据的传输;
虚拟平台宿主机,部署DataAgent客户端,所述DataAgent客户端由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器的DataAgent服务器,于普通恢复时,获取并存储备份机服务器发送的虚拟机配置文件以及磁盘数据。
10.如权利要求9所述的一种虚拟机的保护系统,其特征在于,所述虚拟机保护服务器进一步包括:
恢复任务相关信息获取单元,用于从规则中得到源虚拟机信息,虚拟机备份数据存储信息,于普通恢复时,从规则中获取新虚拟机需恢复到的虚拟平台宿主机信息;
普通恢复管理单元,用于在进行普通恢复时,将恢复任务相关信息获取单元获取的信息及任务基本信息发送给备份机服务器,并启动所述虚拟平台宿主机上的DataAgent客户端,以便虚拟平台宿主机与备份机服务器建立连接,并在备份机服务器将所有磁盘数据传输至虚拟平台宿主机后,调用远程管理接口,根据所有配置文件和磁盘文件,于虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的恢复;
即时恢复管理单元,用于利用保存在备份机服务器的虚拟机备份数据,在备份服务器所在的虚拟平台上,直接创建虚拟机实现虚拟机的恢复。
11.如权利要求10所述的一种虚拟机的保护系统,其特征在于,所述备份机服务器进一步包括:
DataAgent服务器启动单元,用于在接收到所述普通恢复管理单元发送的信息后,启动DataAgent服务器,以监听虚拟平台宿主机上DataAgent客户端针对恢复任务可能发来的连接请求;
DataAgent服务器,用于在虚拟平台宿主机上DataAgent客户端针对该任务发送连接请求时,与DataAgent客户端建立连接,于建立连接后,发送所要恢复的虚拟机的配置文件至虚拟平台宿主机,并针对所要恢复的虚拟机中的每个磁盘文件将磁盘数据传送至虚拟平台宿主机予以存储。
12.如权利要求11所述的一种虚拟机的保护系统,其特征在于:所述DataAgent客户端向备份机服务器发送连接请求,通过指定的参数连接至备份机服务器的DataAgent服务器,于接收到DataAgent服务器发送的虚拟机的配置文件时,存储虚拟机的配置文件到指定位置,接收备份机服务器传来的磁盘信息,根据磁盘信息创建磁盘,并于接收到从备份机服务器DataAgent服务器发来的磁盘数据,根据偏移量和大小,写入新建的磁盘中。
13.一种虚拟机的保护方法,用于虚拟机恢复,包括如下步骤:
步骤S1,虚拟机保护服务器从规则中得到源虚拟机信息,虚拟机备份数据存储信息,于普通恢复时,还从规则中获取新虚拟机需恢复到的虚拟平台宿主机信息;
步骤S2,判断当前恢复的类型,若为虚拟机普通恢复,则进入步骤S3,若为虚拟机即时恢复,则进入步骤S6;
步骤S3,于进行普通恢复时,将获取的信息及任务基本信息发送给备份机服务器,并启动虚拟平台宿主机上的DataAgent客户端,以便虚拟平台宿主机与备份机服务器建立连接;
步骤S4,备份机服务器启动DataAgent服务器,以监听虚拟平台宿主机的连接请求,与虚拟平台宿主机的DataAgent客户端建立连接,进行虚拟机数据的传输;
步骤S5,在备份机服务器将所有磁盘数据传输至虚拟平台宿主机保存后,虚拟机保护服务器调用远程管理接口,根据所有配置文件和磁盘文件,于虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的恢复,不再执行后续步骤,普通恢复完成;
步骤S6,调用WS-MAN远程管理接口,根据所有配置文件和磁盘文件,于备份机服务器上创建虚拟机,实现虚拟机的恢复。
14.一种虚拟机的保护系统,用于虚拟机的迁移或复制,包括:
虚拟机保护服务器,用于针对虚拟机保护创建保护规则,处理虚拟机保护的管理工作,包括管理虚拟平台及其虚拟机、管理虚拟机保护的规则、调度规则的运行等,所述虚拟机保护服务器从规则中得到源端虚拟平台宿主机及源虚拟机信息以及需迁移或复制到的目标端虚拟平台宿主机信息,通过调用远程管理接口对源端虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前备份的配置信息发送至备份机服务器,并启动源端虚拟平台宿主机和目标端虚拟平台宿主机的DataAgent客户端,以使源端虚拟平台宿主机、目标端虚拟平台宿主机与备份机服务器建立连接,并于源端虚拟平台宿主机将所要备份的磁盘数据传输至备端服务器,由备端服务器转发至目标端虚拟平台宿主机后,将虚拟机快照转成参考点,以便下次增量或者差异备份时使用;在备份机服务器将所有磁盘数据转发至目标端虚拟平台宿主机后,调用远程管理接口,根据所有配置文件和磁盘文件,于目标端虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的迁移或复制;
备份机服务器,其部署 DataAgent服务器,与源端虚拟平台宿主机和目标端虚拟平台宿主机的DataAgent客户端建立连接,以实现数据的转发;
源端虚拟平台宿主机,部署DataAgent客户端,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器的DataAgent服务器,进行虚拟机数据的读取或者接收;
目标端虚拟平台宿主机,部署DataAgent客户端,由虚拟机保护服务器在规则运行时启动,通过指定的参数连接至备份机服务器的DataAgent服务器,获取并存储备份机服务器发送的虚拟机配置文件以及磁盘数据。
15.一种虚拟机的保护方法,用于虚拟机的迁移或复制,包括如下步骤:
步骤S1,虚拟机保护服务器从规则中得到源端虚拟平台宿主机及源虚拟机信息以及需迁移或复制到的目标端虚拟平台宿主机信息,虚拟保护服务器通过调用远程管理接口对源端源端虚拟平台宿主机的虚拟平台上所要保护的虚拟机创建快照,基于快照将当前任务的配置信息发送至备份机服务器,同时,并启动源端虚拟平台宿主机及目标端虚拟平台宿主机的DataAgent客户端;
步骤S2,备份机服务器于接收到本次任务的所有配置信息后,启动DataAgent服务器,监听源端虚拟平台宿主机和目标虚拟平台宿主机上DataAgent客户端发来的连接请求,并于监听到对应连接请求时,与相应的DataAgent客户端建立连接;
步骤S3,备份机服务器将所有配置文件的路径发给源端虚拟平台宿主机DataAgent客户端,并接收源端虚拟平台宿主机DataAgent客户端发送的虚拟机的配置信息,由备份机服务器转发至目标端虚拟平台宿主机DataAgent客户端;
步骤S4,备份机服务器的DataAgent服务器发送所有磁盘文件路径或所有磁盘文件的路径和变化块信息给源端虚拟平台宿主机的DataAgent客户端,并接收源端虚拟平台宿主机DataAgent客户端发送的磁盘文件数据转发至目标端虚拟平台宿主机DataAgent客户端;
步骤S5,在所有磁盘数据传输至目标端虚拟平台宿主机保存后,虚拟机保护服务器调用远程管理接口,根据所有配置文件和磁盘文件,于目标端虚拟平台宿主机的虚拟平台上创建虚拟机,实现虚拟机的迁移或复制,并于所有磁盘数据传输完成后,将当前虚拟机快照转成参考点,以供下次增量或者差异迁移或备份时获取变化块使用。
CN202011047373.6A 2020-09-29 2020-09-29 一种虚拟机的保护系统及方法 Active CN112130959B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011047373.6A CN112130959B (zh) 2020-09-29 2020-09-29 一种虚拟机的保护系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011047373.6A CN112130959B (zh) 2020-09-29 2020-09-29 一种虚拟机的保护系统及方法

Publications (2)

Publication Number Publication Date
CN112130959A CN112130959A (zh) 2020-12-25
CN112130959B true CN112130959B (zh) 2021-12-07

Family

ID=73844558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011047373.6A Active CN112130959B (zh) 2020-09-29 2020-09-29 一种虚拟机的保护系统及方法

Country Status (1)

Country Link
CN (1) CN112130959B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433825A (zh) * 2020-12-31 2021-03-02 上海英方软件股份有限公司 一种虚拟化平台数据备份装置、系统及方法
CN113515410B (zh) * 2021-04-23 2022-04-22 上海英方软件股份有限公司 一种虚拟机保护系统及实现方法
CN113515343A (zh) * 2021-04-23 2021-10-19 上海英方软件股份有限公司 一种虚拟机迁移系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141928A (zh) * 2010-01-29 2011-08-03 国际商业机器公司 虚拟环境下的数据处理方法、系统以及系统的部署方法
CN105843704A (zh) * 2016-03-15 2016-08-10 上海爱数信息技术股份有限公司 一种结合分布式块存储的快照功能的数据保护方法及系统
CN106250267A (zh) * 2016-07-22 2016-12-21 浪潮(北京)电子信息产业有限公司 一种虚拟机的数据备份方法及装置
US10664357B1 (en) * 2016-12-20 2020-05-26 EMC IP Holding Company LLC Single agent backup for cloud networks
CN111399984A (zh) * 2020-03-19 2020-07-10 上海英方软件股份有限公司 一种基于虚拟机备份数据的文件恢复方法及系统
CN111580929A (zh) * 2020-05-07 2020-08-25 上海英方软件股份有限公司 一种基于虚拟机保护数据的有效性验证系统及方法
CN111651238A (zh) * 2020-06-03 2020-09-11 上海英方软件股份有限公司 一种虚拟机保护中有效数据获取系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US10838823B2 (en) * 2018-02-01 2020-11-17 EMC IP Holding Company LLC Systems and method to make application consistent virtual machine backup work in private network
US11010264B2 (en) * 2018-09-18 2021-05-18 Cisco Technology, Inc. Supporting datastore replication using virtual machine replication

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141928A (zh) * 2010-01-29 2011-08-03 国际商业机器公司 虚拟环境下的数据处理方法、系统以及系统的部署方法
CN105843704A (zh) * 2016-03-15 2016-08-10 上海爱数信息技术股份有限公司 一种结合分布式块存储的快照功能的数据保护方法及系统
CN106250267A (zh) * 2016-07-22 2016-12-21 浪潮(北京)电子信息产业有限公司 一种虚拟机的数据备份方法及装置
US10664357B1 (en) * 2016-12-20 2020-05-26 EMC IP Holding Company LLC Single agent backup for cloud networks
CN111399984A (zh) * 2020-03-19 2020-07-10 上海英方软件股份有限公司 一种基于虚拟机备份数据的文件恢复方法及系统
CN111580929A (zh) * 2020-05-07 2020-08-25 上海英方软件股份有限公司 一种基于虚拟机保护数据的有效性验证系统及方法
CN111651238A (zh) * 2020-06-03 2020-09-11 上海英方软件股份有限公司 一种虚拟机保护中有效数据获取系统及方法

Also Published As

Publication number Publication date
CN112130959A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN112130959B (zh) 一种虚拟机的保护系统及方法
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
US9804934B1 (en) Production recovery using a point in time snapshot
US7103713B2 (en) Storage system, device and method using copy-on-write for synchronous remote copy
US8055862B2 (en) System and method for providing a backup/restore interface for third party HSM clients
US7343449B2 (en) Storage subsystem and storage system
JP4570312B2 (ja) コンピュータシステムにおいてボリュームスナップショット依存関係を提供する方法および装置
CN111399984A (zh) 一种基于虚拟机备份数据的文件恢复方法及系统
US20080195827A1 (en) Storage control device for storage virtualization system
US7467235B2 (en) Data transfer method and system
US7506116B2 (en) Maintaining and using information on updates to a data group after a logical copy is made of the data group
CN111651238A (zh) 一种虚拟机保护中有效数据获取系统及方法
US10620871B1 (en) Storage scheme for a distributed storage system
US20110282843A1 (en) Method and system for data backup and replication
CN112328366B (zh) 一种高效的云平台主机保护方法及系统
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
JP2003330782A (ja) 計算機システム
JP4537423B2 (ja) ユーザ操作端末の記憶装置情報制御方式
JP5040301B2 (ja) 端末管理システム、方法、及び、プログラム
US7284105B2 (en) Fast and economical establishment of remote copy
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
WO2015114417A1 (en) Data migration method and systems
EP1693756B1 (en) Storage subsystem and storage system
JP5433069B1 (ja) バックアップ装置、バックアッププログラム及びバックアップシステム
JP5033095B2 (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