CN107038096B - 虚拟磁盘备份系统、方法和装置 - Google Patents
虚拟磁盘备份系统、方法和装置 Download PDFInfo
- Publication number
- CN107038096B CN107038096B CN201611270900.3A CN201611270900A CN107038096B CN 107038096 B CN107038096 B CN 107038096B CN 201611270900 A CN201611270900 A CN 201611270900A CN 107038096 B CN107038096 B CN 107038096B
- Authority
- CN
- China
- Prior art keywords
- virtual disk
- host
- backup
- service host
- service
- 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
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1608—Error detection by comparing the output signals of redundant hardware
- G06F11/1612—Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种虚拟磁盘备份系统,包括云服务器、服务主机和备份主机;云服务器在检测到服务主机和备份主机启动时,发送虚拟磁盘备份指令至服务主机和备份主机,以供服务主机启动预设的同步服务器程序,以及备份主机启动预设的同步客户端程序;服务主机在接收到所述虚拟磁盘备份指令时,截取本地虚拟磁盘的虚拟磁盘写操作,并通过同步服务器程序将截取的虚拟磁盘写操作发送至备份主机;备份主机通过同步客户端程序接收到虚拟磁盘写操作时,将接收到的虚拟磁盘写操作写到备份虚拟磁盘中。本发明还公开了一种虚拟磁盘备份方法和装置。本发明中,即使服务主机的物理磁盘出现故障,服务主机中的虚拟机也可以正常使用。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟磁盘备份系统、方法和装置。
背景技术
虚拟化技术已经成为IaaS(Infrastructure as a Service,基础设施即服务)层的重要使能技术之一。它通过VMM(Virtual Machine Monitor,虚拟机监控器)软件对物理机的CPU、内存、I/O等设备进行虚拟化,在一台物理机中虚拟出多个VM(Virtual Machine,虚拟机),每个VM都运行一个客户操作系统(Guest OS,客户机)。VMM与一个特权操作系统(Dom0或者Host OS,宿主机)协调,保证位于同一物理机上的各个虚拟机相互隔离。
当前,在IaaS服务中,数据存储主要有两类:共享存储和本地存储。本地存储方案中,一旦有节点出现故障,如物理磁盘损坏,该物理机上的所有虚拟机将不可用,另外,由于本地盘数据没有冗余备份,一旦出现物理磁盘损坏的情况,将导致该物理机上的所有虚拟机不可恢复,也就是说,现有的数据存储方式,在物理磁盘损坏的情况下,容易导致虚拟机无法使用。
发明内容
本发明的主要目的在于提供一种虚拟磁盘备份系统、方法和装置,旨在解决现有的数据存储方式,在物理磁盘损坏的情况下,容易导致物理机上的所有虚拟机无法使用的技术问题。
为实现上述目的,本发明提供的一种虚拟磁盘备份系统,所述虚拟磁盘备份系统包括云服务器、服务主机和备份主机;
所述云服务器,用于在检测到所述服务主机和所述备份主机启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供所述服务主机启动预设的同步服务器程序,以及所述备份主机启动预设的同步客户端程序;
所述服务主机,用于在接收到所述虚拟磁盘备份指令时,截取本地虚拟磁盘的虚拟磁盘写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机;
所述备份主机,用于通过所述同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
优选地,所述服务主机,还用于在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机;
所述备份主机,还用于通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
优选地,所述云服务器,还用于在检测到所述服务主机宕机时,通知所述备份主机基于所述备份虚拟磁盘启动所述备份主机的虚拟机,以供所述备份主机根据启动的所述虚拟机继续提供服务。
优选地,所述云服务器,还用于在检测到虚拟磁盘迁移请求时,确定所述服务主机待切换的目的服务主机,并根据确定的所述目的服务主机发送虚拟磁盘迁移指令至所述服务主机;
所述服务主机,还用于在接收到所述虚拟磁盘迁移指令时,确定目的服务主机,并将本地虚拟磁盘迁移至确定的所述目的服务主机;在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机;
所述备份主机,还用于通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
优选地,所述云服务器,还用于获取所述目的服务主机的地址信息和虚拟机信息,并将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机,以供所述备份主机基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;
所述云服务器,还用于通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
优选地,一个服务主机可以由至少一个备份主机进行虚拟磁盘的备份;一个备份主机可以为至少一个服务主机进行虚拟磁盘的备份。
此外,为实现上述目的,本发明还提供一种虚拟磁盘备份方法,应用于服务主机,所述虚拟磁盘备份方法包括:
在接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序;
截取本地虚拟磁盘的虚拟磁盘写操作;
将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
优选地,所述虚拟磁盘备份方法还包括:
在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作;
通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
优选地,所述虚拟磁盘备份方法还包括:
在接收到云服务器发送的虚拟磁盘迁移指令时,基于所述虚拟磁盘迁移指令确定目的服务主机;
将本地虚拟磁盘迁移至确定的所述目的服务主机;
在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
此外,为实现上述目的,本发明还提供一种虚拟磁盘备份装置,应用于服务主机,所述虚拟磁盘备份装置包括:
启动模块,用于在接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序;
截取模块,用于截取本地虚拟磁盘的虚拟磁盘写操作;
发送模块,用于将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
优选地,所述截取模块,还用于在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作;
所述发送模块,还用于通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
优选地,所述虚拟磁盘备份装置还包括:
确定模块,用于在接收到云服务器发送的虚拟磁盘迁移指令时,基于所述虚拟磁盘迁移指令确定目的服务主机;
迁移模块,用于将本地虚拟磁盘迁移至确定的所述目的服务主机;
所述发送模块,还用于在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
本发明提出的虚拟磁盘备份系统,云服务器在检测到服务主机和备份主机启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供所述服务主机启动预设的同步服务器程序,以及所述备份主机启动预设的同步客户端程序,所述服务主机在接收到所述虚拟磁盘备份指令时,截取本地虚拟磁盘的虚拟磁盘写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机,所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。本发明实现了对服务主机的本地虚拟磁盘做实时备份,后续即使服务主机的物理磁盘出现损坏,也会由于备份主机的备份虚拟磁盘已经备份了数据,可以继续为服务主机中的虚拟机提供服务,保证了服务主机中的虚拟机可以正常使用。
附图说明
图1为本发明虚拟磁盘备份系统第一结构示意图;
图2为本发明虚拟磁盘备份系统第二结构示意图;
图3为本发明虚拟磁盘备份方法第一实施例的流程示意图;
图4为本发明虚拟磁盘备份方法第二实施例的功能模块示意图;
图5为本发明虚拟磁盘备份方法第三实施例的流程示意图;
图6为本发明虚拟磁盘备份装置第一实施例的功能模块示意图;
图7为本发明虚拟磁盘备份装置第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提出的技术方案,云服务器在检测到服务主机和备份主机启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供所述服务主机启动预设的同步服务器程序,以及所述备份主机启动预设的同步客户端程序,所述服务主机在接收到所述虚拟磁盘备份指令时,截取本地虚拟磁盘的虚拟磁盘写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机,所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。以解决现有的本地存储方案下,一旦出现节点故障,如物理磁盘损坏的时候,由于本地虚拟磁盘数据没有冗余备份,导致虚拟机无法使用的问题。
基于上述问题,本发明提供一种虚拟磁盘备份系统。
在本实施例中,所述虚拟磁盘备份系统包括云服务器、服务主机和备份主机;
所述云服务器,用于在检测到所述服务主机和所述备份主机启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供所述服务主机启动预设的同步服务器程序,以及所述备份主机启动预设的同步客户端程序;
所述服务主机,用于在接收到所述虚拟磁盘备份指令时,截取本地虚拟磁盘的虚拟磁盘写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机;
所述备份主机,用于通过所述同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
在本实施例中,在实现虚拟磁盘备份之前,先由云服务器在集群中指定任意的一台物理机作为服务主机,并从集群中指定其它预设台数的物理机作为备份主机。本实施例中,所述预设台数可以根据实际情况进行设置,例如,集群中的各台物理机的稳定性都较好,则可选择一台作为备份主机,若是集群中的各台物理机的稳定性都较差,为了防止后续备份主机也故障,则可选择多台物理机作为备份主机。
传统的备份主机选择方式,都是固定的选择一台作为备份主机,并且,服务主机和备份主机是一对一的关系,局限性很强,容易出现备份主机故障时,服务主机也无法使用的情况。
而本实施例,一个服务主机可以由至少一个备份主机进行虚拟磁盘的备份;当然,一个备份主机可以为至少一个服务主机进行虚拟磁盘的备份。即在集群中任意选择预设台数的物理机作为备份主机,保证了后续数据备份的稳定性。并且,一台备份主机还可以同时作为多台服务主机的备份主机,不是一台备注主机只能给一台服务主机使用,有利于节省系统资源。
在指定好服务主机和备份主机之后,确定服务主机中包含的虚拟机,然后将虚拟机对应的虚拟磁盘拷贝到备份主机中,使得服务主机和虚拟主机有相同的虚拟磁盘,便于后续进行数据的备份。进一步地,在指定好服务主机和备份主机之后,还需要对服务主机和备份主机进行初始化,本实施例中,具体地初始化操作包括:对服务主机和备份主机部署打了VM磁盘读写截获子模块补丁的VMM程序,同步服务器程序,同步客户端程序,Agent(代理)程序,在对服务主机和备份主机部署了各个程序之后,启动服务主机和备份主机的Agent程序,以完成初始化操作。本实施例中,之所以对服务主机和备份主机执行相同的初始化操作,是因为服务主机和备份主机的身份不是固定的,既可以作为自己的服务主机,也可以作为其它物理机的备份主机,后续可以根据具体的情况执行相应的操作。
在服务主机和备份主机完成初始化操作之后,所述服务主机和备份主机才可以和云服务器进行交互,本实施例中,服务主机和备份主机通过Agent程序与云服务器进行交互,具体地,通过Agent程序接收云服务器发送的虚拟磁盘备份指令。
本实施例中,由于对服务主机和备份主机部署了各种程序,因此为更好理解,参照图1对本发明的技术方案进行详述,其中,图1为本发明虚拟磁盘备份系统的第一结构示意图:
服务主机02的VMM中通过打补丁的方式添加有VM磁盘读写截获子模块021,Syncserver(同步服务器)程序022和Agent程序023,备份主机03中添加有Sync client(同步客户端)程序031和Agent程序032。其中,VM磁盘读写操作截获子模块021负责截获VM对虚拟磁盘的读写操作,并将读写操作同步到同步服务器程序022中;同步服务器程序022再将数据传递到备份主机中的同步客户端程序031,同步客户端程序031通过调用虚拟磁盘镜像驱动,将数据实时写入到备份主机的备份虚拟磁盘中,实现对虚拟磁盘镜像的实时备份。值得注意的是,Agent程序023和Agent程序032不仅负责同云服务器01的交互,还会负责同步服务器022和同步客户端031的启动、关闭及状态监测。
继续参照图1,云服务器01在指定服务主机02和备份主机03的情况下,检测到所述服务主机02和所述备份主机03启动,实际上是检测到所述服务主机02中的Agent程序023和所述备份主机03的Agent程序032启动。在检测到所述服务主机02的Agent程序023启动,和所述备份主机03的Agent程序032启动时,发送虚拟磁盘备份指令至所述服务主机02和所述备份主机03,以供所述服务主机02启动同步服务器程序022,以及所述备份主机03启动同步客户端程序031。
所述服务主机02在接收到所述虚拟磁盘备份指令时,先由所述同步服务器程序022与VM磁盘读写截取子模块021建立通信连接,以通过所述VM磁盘读写截取子模块021截取本地虚拟磁盘的虚拟磁盘写操作,并且将截取的虚拟磁盘写操作发送至所述同步服务器程序022;同时,所述服务主机02还会将同步服务器程序022与备份主机03的同步客户端程序031建立通信连接,再通过所述同步服务器程序022将截取的所述虚拟磁盘写操作发送至所述备份主机03。
所述备份主机03通过所述同步客户端程序031接收到所述虚拟磁盘写操作时,调用虚拟磁盘镜像驱动的库函数,以将接收到的所述虚拟磁盘读写操作写到备份虚拟磁盘中,最终反馈执行结果至所述服务主机02,以告知所述服务主机02数据拷贝的结果。
本实施例提出的虚拟磁盘备份系统,云服务器在检测到服务主机和备份主机启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供所述服务主机启动预设的同步服务器程序,以及所述备份主机启动预设的同步客户端程序,所述服务主机在接收到所述虚拟磁盘备份指令时,截取本地虚拟磁盘的虚拟磁盘写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机,所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。本发明实现了对服务主机的本地虚拟磁盘做实时备份,后续即使服务主机的物理磁盘出现损坏,也会由于备份主机的备份虚拟磁盘已经备份了数据,可以继续为服务主机中的虚拟机提供服务,保证了服务主机中的虚拟机可以正常使用。
进一步地,基于第一实施例提出本发明虚拟磁盘备份系统的第二实施例,在本实施例中,所述服务主机,还用于在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机;
所述备份主机,还用于通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
在本实施例中,继续参照图1,所述服务主机02通过VM磁盘读写截获子模块021感知本地虚拟磁盘阻塞,以确定本地虚拟磁盘出现故障,在检测到本地虚拟磁盘堵塞时,由VM磁盘读写截获子模块021截取本地虚拟磁盘的虚拟磁盘读写操作,然后通过所述同步服务器程序022将截取的所述虚拟磁盘读写操作发送至所述备份主机03。
所述备份主机03通过所述同步客户端程序031接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘,以执行所述虚拟磁盘读写操作,也就是说,所述备份主机03调用虚拟磁盘镜像执行具体的操作,若该虚拟磁盘读写操作是读操作,就在虚拟磁盘镜像中执行读操作,若该虚拟磁盘读写操作是写操作,就在虚拟磁盘镜像中执行写操作,最终反馈执行结果至所述服务主机02。
在本实施例中,相当于是在服务主机02的本地虚拟磁盘出现故障时,将本地虚拟磁盘对应的虚拟磁盘读写操作及时切换至备份主机03的备份虚拟磁盘中执行,保证了服务主机02中虚拟机对应的虚拟磁盘读写操作正常执行。
进一步地,基于第一实施例提出本发明虚拟磁盘备份系统的第三实施例,在本实施例中,
所述云服务器,还用于在检测到所述服务主机宕机时,通知所述备份主机基于所述备份虚拟磁盘启动所述备份主机的虚拟机,以供所述备份主机根据启动的所述虚拟机继续提供服务。
在本实施例中,继续参照图1,当所述服务主机02出现严重故障导致宕机时,服务主机02中的所有程序都会挂掉,因此所述云服务器01检测到所述服务主机02中的Agent程序023停止时,就知道所述服务主机02宕机,在检测到所述服务主机02宕机时,所述云服务器01通知所述备份主机03启动所述备份虚拟磁盘,由于备份主机03的所述备份虚拟磁盘已经备份有服务主机02中所有的虚拟磁盘读写操作,那么,所述备份主机03即可继续根据所述备份虚拟磁盘启动所述备份主机03的虚拟机,以通过启动的所述虚拟机继续提供服务。
在本实施例中,所述云服务器01在检测到所述服务主机02宕机时,通知所述备份主机03启动所述备份虚拟磁盘,以供所述备份主机03根据所述备份虚拟磁盘启动虚拟机,并继续提供服务,保证了服务主机02宕机的情况下,备份主机03可以继续提供服务。
进一步地,基于第一实施例提出本发明虚拟磁盘备份系统的第四实施例,在本实施例中,
所述云服务器,还用于在检测到虚拟磁盘迁移请求时,确定所述服务主机待切换的目的服务主机,并根据确定的所述目的服务主机发送虚拟磁盘迁移指令至所述服务主机;
所述服务主机,还用于在接收到所述虚拟磁盘迁移指令时,确定目的服务主机,并将本地虚拟磁盘迁移至确定的所述目的服务主机;在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机;
所述备份主机,还用于通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
在本实施例中,所述云服务器在检测到虚拟磁盘迁移请求时,此时为了保证服务主机中的虚拟机可以正常运行,需要将所述服务主机的虚拟机迁移到其它服务主机中,以实现虚拟机的在线迁移。本实施例中,所述虚拟磁盘迁移请求的触发方式包括:服务主机需要使用大量内存时,触发虚拟磁盘迁移请求;或者,服务主机CPU的负载过大时,触发虚拟磁盘迁移请求。
为了实现虚拟机的在线迁移,参照图2,图2为本发明虚拟磁盘备份系统的第二结构示意图:所述服务主机02的VMM中通过打补丁的方式还添加有VM迁移截获子模块024,其中,所述VM迁移截获子模块024负责截获VM迁移操作,当截获到VM迁移这一操作时,会告知同步服务器程序022,再由Sync server程序022告知备份主机03中的同步客户端程序031。
应当理解,由于在选择备份主机时,可以在集群中进行选择,同理,在服务主机宕机时,将服务主机中的虚拟机迁移到其它服务主机时,同样可以在集群中,选择任一台物理机作为待切换的目的服务主机进行虚拟机的迁移。在选择好目的服务主机之后,即可发送虚拟磁盘迁移指令至所述服务主机,以通知所述服务主机将虚拟机进行在线迁移。
在本实施例中,参照图2,所述服务主机02在接收到所述云服务器01发送的虚拟磁盘迁移指令时,确定目的服务主机,然后根据VM迁移截获子模块024将本地虚拟磁盘迁移至确定的所述目的服务主机,在检测到本地虚拟磁盘迁移完成时,将迁移完成指令发送至同步服务器程序022,再通过所述同步服务器程序022将迁移完成指令发送至所述备份主机03。
所述备份主机03通过所述同步客户端程序031接收到所述迁移完成指令时,关闭与所述服务主机02的通信连接,也就是关闭与所述服务主机中同步服务器程序022的通信连接;同时,建立与所述目的服务主机中同步服务器程序的通信连接,以继续进行虚拟磁盘的备份服务。
进一步地,为了保证服务主机02将虚拟机迁移到目的服务主机时,可以迁移成功。所述云服务器,还用于获取所述目的服务主机的地址信息和虚拟机信息,并将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机,以供所述备份主机基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;
所述云服务器,还用于通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
也就是说,所述云服务器01发送虚拟磁盘迁移指令至服务主机02之前,所述云服务器01根据确定目的服务主机,获取所述目的服务主机的地址信息和虚拟机信息,然后将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机02,以便所述备份主机02后续基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;同时,所述云服务器01还会通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
在本实施例中,实现了虚拟机的在线迁移,并且,在虚拟机进行在线迁移时,本地虚拟磁盘的虚拟机可以在集群中的任一个物理机间进行迁移,提高了云计算服务系统的可维护性,更利于实现负载均衡。
本发明中,服务主机和备份主机之间不再是peer-to-peer(点对点,对等网络)的映射关系,而是全相联的映射关系,一个服务主机的不同虚拟磁盘可以由不同备份主机进行备份,这样当某一台使用本地虚拟磁盘的虚拟机从某一台服务主机迁移到新的服务主机上时,该虚拟机的虚拟磁盘仍然由原备份主机进行备份服务,提高了数据备份的灵活性。
本发明进一步提供一种虚拟磁盘备份方法,应用于服务主机。
参照图3,图3为本发明虚拟磁盘备份方法第一实施例的流程示意图。
在本实施例中,所述虚拟磁盘备份方法包括:
步骤S10,在接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序;
步骤S20,截取本地虚拟磁盘的虚拟磁盘写操作;
步骤S30,将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
在本实施例中,在实现虚拟磁盘备份之前,先由云服务器在集群中指定任意的一台物理机作为服务主机,并从集群中指定其它预设台数的物理机作为备份主机。本实施例中,所述预设台数可以根据实际情况进行设置,例如,集群中的各台物理机的稳定性都较好,则可选择一台作为备份主机,若是集群中的各台物理机的稳定性都较差,为了防止后续备份主机也故障,则可选择多台物理机作为备份主机。
传统的备份主机选择方式,都是固定的选择一台作为备份主机,并且,服务主机和备份主机是一对一的关系,局限性很强,容易出现备份主机故障时,服务主机也无法使用的情况。
而本实施例,一个服务主机可以由至少一个备份主机进行虚拟磁盘的备份;当然,一个备份主机可以为至少一个服务主机进行虚拟磁盘的备份。即在集群中任意选择预设台数的物理机作为备份主机,保证了后续数据备份的稳定性。并且,一台备份主机还可以同时作为多台服务主机的备份主机,不是一台备注主机只能给一台服务主机使用,有利于节省系统资源。
在指定好服务主机和备份主机之后,确定服务主机中包含的虚拟机,然后将虚拟机对应的虚拟磁盘拷贝到备份主机中,使得服务主机和虚拟主机有相同的虚拟磁盘,便于后续进行数据的备份。进一步地,在指定好服务主机和备份主机之后,还需要对服务主机和备份主机进行初始化,本实施例中,具体地初始化操作包括:对服务主机和备份主机部署打了VM磁盘读写截获子模块补丁的VMM程序,同步服务器程序,同步客户端程序,Agent(代理)程序,在对服务主机和备份主机部署了各个程序之后,启动服务主机和备份主机的Agent程序,以完成初始化操作。本实施例中,之所以对服务主机和备份主机执行相同的初始化操作,是因为服务主机和备份主机的身份不是固定的,既可以作为自己的服务主机,也可以作为其它物理机的备份主机,后续可以根据具体的情况执行相应的操作。
在服务主机和备份主机完成初始化操作之后,所述服务主机和备份主机才可以和云服务器进行交互,本实施例中,服务主机和备份主机通过Agent程序与云服务器进行交互,具体地,通过Agent程序接收云服务器发送的虚拟磁盘备份指令。
云服务器在指定服务主机和备份主机的情况下,检测到所述服务主机和所述备份主机启动,实际上是检测到所述服务主机中的Agent程序和所述备份主机的Agent程序启动。在检测到所述服务主机的Agent程序启动,和所述备份主机的Agent程序启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供所述服务主机启动同步服务器程序,以及所述备份主机启动同步客户端程序。
所述服务主机在接收到所述虚拟磁盘备份指令时,先由所述同步服务器程序与VM磁盘读写截取子模块建立通信连接,以通过所述VM磁盘读写截取子模块截取本地虚拟磁盘的虚拟磁盘写操作,并且将截取的虚拟磁盘写操作发送至所述同步服务器程序;同时,所述服务主机还会将同步服务器程序与备份主机的同步客户端程序建立通信连接,再通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机。
所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘写操作时,调用虚拟磁盘镜像驱动的库函数,以将接收到的所述虚拟磁盘读写操作写到备份虚拟磁盘中,最终反馈执行结果至所述服务主机,以告知所述服务主机数据拷贝的结果。
本实施例提出的虚拟磁盘备份方法,在接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序,截取本地虚拟磁盘的虚拟磁盘写操作,将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。本实施例实现了对服务主机的本地虚拟磁盘做实时备份,后续即使服务主机的物理磁盘出现损坏,也会由于备份主机的备份虚拟磁盘已经备份了数据,可以继续为服务主机中的虚拟机提供服务,保证了服务主机中的虚拟机可以正常使用。
进一步地,基于第一实施例提出本发明虚拟磁盘备份方法的第三实施例,在本实施例中,参照图4,所述虚拟磁盘备份方法还包括:
步骤S40,在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作;
步骤S50,通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
在本实施例中,所述服务主机通过VM磁盘读写截获子模块感知本地虚拟磁盘阻塞,以确定本地虚拟磁盘出现故障,在检测到本地虚拟磁盘堵塞时,由VM磁盘读写截获子模块截取本地虚拟磁盘的虚拟磁盘读写操作,然后通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机。
所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘,以执行所述虚拟磁盘读写操作,也就是说,所述备份主机调用虚拟磁盘镜像执行具体的操作,若该虚拟磁盘读写操作是读操作,就在虚拟磁盘镜像中执行读操作,若该虚拟磁盘读写操作是写操作,就在虚拟磁盘镜像中执行写操作,最终反馈执行结果至所述服务主机。
在本实施例中,相当于是在服务主机的本地虚拟磁盘出现故障时,将本地虚拟磁盘对应的虚拟磁盘读写操作及时切换至备份主机的备份虚拟磁盘中执行,保证了服务主机中虚拟机对应的虚拟磁盘读写操作正常执行。
进一步地,所述云服务器检测到所述服务主机宕机时,通知所述备份主机基于所述备份虚拟磁盘启动所述备份主机的虚拟机,以供所述备份主机根据启动的所述虚拟机继续提供服务。
即,所述服务主机出现严重故障导致宕机时,服务主机中的所有程序都会挂掉,因此所述云服务器检测到所述服务主机中的Agent程序停止时,就知道所述服务主机宕机,在检测到所述服务主机宕机时,所述云服务器通知所述备份主机启动所述备份虚拟磁盘,由于备份主机的所述备份虚拟磁盘已经备份有服务主机中所有的虚拟磁盘读写操作,那么,所述备份主机即可继续根据所述备份虚拟磁盘启动所述备份主机的虚拟机,以通过启动的所述虚拟机继续提供服务。
在本实施例中,相当于所述云服务器在检测到所述服务主机宕机时,通知所述备份主机启动所述备份虚拟磁盘,以供所述备份主机根据所述备份虚拟磁盘启动虚拟机,并继续提供服务,保证了服务主机宕机的情况下,备份主机可以继续提供服务。
进一步地,基于第一或第二实施例提出本发明虚拟磁盘备份方法的第三实施例,在本实施例中,参照图5,所述虚拟磁盘备份方法还包括:
步骤S60,在接收到云服务器发送的虚拟磁盘迁移指令时,基于所述虚拟磁盘迁移指令确定目的服务主机;
步骤S70,将本地虚拟磁盘迁移至确定的所述目的服务主机;
步骤S80,在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
在本实施例中,所述云服务器在检测到虚拟磁盘迁移请求时,此时为了保证服务主机中的虚拟机可以正常运行,需要将所述服务主机的虚拟机迁移到其它服务主机中,以实现虚拟机的在线迁移。本实施例中,所述虚拟磁盘迁移请求的触发方式包括:服务主机需要使用大量内存时,触发虚拟磁盘迁移请求;或者,服务主机CPU的负载过大时,触发虚拟磁盘迁移请求。
应当理解,由于在选择备份主机时,可以在集群中进行选择,同理,在服务主机宕机时,将服务主机中的虚拟机迁移到其它服务主机时,同样可以在集群中,选择任一台物理机作为待切换的目的服务主机进行虚拟机的迁移。在选择好目的服务主机之后,即可发送虚拟磁盘迁移指令至所述服务主机,以通知所述服务主机将虚拟机进行在线迁移。
在本实施例中,所述服务主机在接收到所述云服务器发送的虚拟磁盘迁移指令时,确定目的服务主机,然后根据VM迁移截获子模块将本地虚拟磁盘迁移至确定的所述目的服务主机,在检测到本地虚拟磁盘迁移完成时,将迁移完成指令发送至同步服务器程序,再通过所述同步服务器程序将迁移完成指令发送至所述备份主机。
所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,也就是关闭与所述服务主机中同步服务器程序的通信连接;同时,建立与所述目的服务主机中同步服务器程序的通信连接,以继续进行虚拟磁盘的备份服务。
进一步地,为了保证服务主机将虚拟机迁移到目的服务主机时,可以迁移成功。所述云服务器还会获取所述目的服务主机的地址信息和虚拟机信息,并将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机,以供所述备份主机基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;并且,所述云服务器还会通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
也就是说,所述云服务器发送虚拟磁盘迁移指令至服务主机之前,根据确定目的服务主机,获取所述目的服务主机的地址信息和虚拟机信息,然后将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机,以便所述备份主机后续基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;同时,所述云服务器还会通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
在本实施例中,实现了虚拟机的在线迁移,并且,在虚拟机进行在线迁移时,本地虚拟磁盘的虚拟机可以在集群中的任一个物理机间进行迁移,提高了云计算服务系统的可维护性,更利于实现负载均衡。
本发明中,服务主机和备份主机之间不再是peer-to-peer(点对点,对等网络)的映射关系,而是全相联的映射关系,一个服务主机的不同虚拟磁盘可以由不同备份主机进行备份,这样当某一台使用本地虚拟磁盘的虚拟机从某一台服务主机迁移到新的服务主机上时,该虚拟机的虚拟磁盘仍然由原备份主机进行备份服务,提高了数据备份的灵活性。
本发明进一步提供一种虚拟磁盘备份装置,应用于服务主机。
参照图6,图6为本发明虚拟磁盘备份装置100第一实施例的功能模块示意图。
需要强调的是,对本领域的技术人员来说,图6所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图6所示的虚拟磁盘备份装置100的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该虚拟磁盘备份装置100的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。
在本实施例中,所述虚拟磁盘备份装置100包括:
启动模块10,用于在接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序;
截取模块20,用于截取本地虚拟磁盘的虚拟磁盘写操作;
发送模块30,用于将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
在本实施例中,在实现虚拟磁盘备份之前,先由云服务器在集群中指定任意的一台物理机作为服务主机,并从集群中指定其它预设台数的物理机作为备份主机。本实施例中,所述预设台数可以根据实际情况进行设置,例如,集群中的各台物理机的稳定性都较好,则可选择一台作为备份主机,若是集群中的各台物理机的稳定性都较差,为了防止后续备份主机也故障,则可选择多台物理机作为备份主机。
传统的备份主机选择方式,都是固定的选择一台作为备份主机,并且,服务主机和备份主机是一对一的关系,局限性很强,容易出现备份主机故障时,服务主机也无法使用的情况。
而本实施例,一个服务主机可以由至少一个备份主机进行虚拟磁盘的备份;当然,一个备份主机可以为至少一个服务主机进行虚拟磁盘的备份。即在集群中任意选择预设台数的物理机作为备份主机,保证了后续数据备份的稳定性。并且,一台备份主机还可以同时作为多台服务主机的备份主机,不是一台备注主机只能给一台服务主机使用,有利于节省系统资源。
在指定好服务主机和备份主机之后,确定服务主机中包含的虚拟机,然后将虚拟机对应的虚拟磁盘拷贝到备份主机中,使得服务主机和虚拟主机有相同的虚拟磁盘,便于后续进行数据的备份。进一步地,在指定好服务主机和备份主机之后,还需要对服务主机和备份主机进行初始化,本实施例中,具体地初始化操作包括:对服务主机和备份主机部署打了VM磁盘读写截获子模块补丁的VMM程序,同步服务器程序,同步客户端程序,Agent(代理)程序,在对服务主机和备份主机部署了各个程序之后,启动服务主机和备份主机的Agent程序,以完成初始化操作。本实施例中,之所以对服务主机和备份主机执行相同的初始化操作,是因为服务主机和备份主机的身份不是固定的,既可以作为自己的服务主机,也可以作为其它物理机的备份主机,后续可以根据具体的情况执行相应的操作。
在服务主机和备份主机完成初始化操作之后,所述服务主机和备份主机才可以和云服务器进行交互,本实施例中,服务主机和备份主机通过Agent程序与云服务器进行交互,具体地,通过Agent程序接收云服务器发送的虚拟磁盘备份指令。
云服务器在指定服务主机和备份主机的情况下,检测到所述服务主机和所述备份主机启动,实际上是检测到所述服务主机中的Agent程序和所述备份主机的Agent程序启动。在检测到所述服务主机的Agent程序启动,和所述备份主机的Agent程序启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供启动模块10启动同步服务器程序,以及所述备份主机启动同步客户端程序。
截取模块20在接收到所述虚拟磁盘备份指令时,先由所述同步服务器程序与VM磁盘读写截取子模块建立通信连接,以通过所述VM磁盘读写截取子模块截取本地虚拟磁盘的虚拟磁盘写操作,并且将截取的虚拟磁盘写操作发送至所述同步服务器程序;同时,还会将同步服务器程序与备份主机的同步客户端程序建立通信连接,发送模块30再通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机。
所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘写操作时,调用虚拟磁盘镜像驱动的库函数,以将接收到的所述虚拟磁盘读写操作写到备份虚拟磁盘中,最终反馈执行结果至所述服务主机,以告知所述服务主机数据拷贝的结果。
本实施例提出的虚拟磁盘备份装置,启动模块10在接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序,截取模块20截取本地虚拟磁盘的虚拟磁盘写操作,发送模块30将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。本实施例实现了对服务主机的本地虚拟磁盘做实时备份,后续即使服务主机的物理磁盘出现损坏,也会由于备份主机的备份虚拟磁盘已经备份了数据,可以继续为服务主机中的虚拟机提供服务,保证了服务主机中的虚拟机可以正常使用。
进一步地,基于第一实施例提出本发明虚拟磁盘备份装置的第二实施例,在本实施例中,
所述截取模块20,还用于在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作;
所述发送模块30,还用于通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
在本实施例中,所述服务主机通过VM磁盘读写截获子模块感知本地虚拟磁盘阻塞,以确定本地虚拟磁盘出现故障,在检测到本地虚拟磁盘堵塞时,所述截取模块20由VM磁盘读写截获子模块截取本地虚拟磁盘的虚拟磁盘读写操作,然后所述发送模块30通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机。
所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘,以执行所述虚拟磁盘读写操作,也就是说,所述备份主机调用虚拟磁盘镜像执行具体的操作,若该虚拟磁盘读写操作是读操作,就在虚拟磁盘镜像中执行读操作,若该虚拟磁盘读写操作是写操作,就在虚拟磁盘镜像中执行写操作,最终反馈执行结果至所述服务主机。
在本实施例中,相当于是在服务主机的本地虚拟磁盘出现故障时,将本地虚拟磁盘对应的虚拟磁盘读写操作及时切换至备份主机的备份虚拟磁盘中执行,保证了服务主机中虚拟机对应的虚拟磁盘读写操作正常执行。
进一步地,所述云服务器检测到所述服务主机宕机时,通知所述备份主机基于所述备份虚拟磁盘启动所述备份主机的虚拟机,以供所述备份主机根据启动的所述虚拟机继续提供服务。
即,所述服务主机出现严重故障导致宕机时,服务主机中的所有程序都会挂掉,因此所述云服务器检测到所述服务主机中的Agent程序停止时,就知道所述服务主机宕机,在检测到所述服务主机宕机时,所述云服务器通知所述备份主机启动所述备份虚拟磁盘,由于备份主机的所述备份虚拟磁盘已经备份有服务主机中所有的虚拟磁盘读写操作,那么,所述备份主机即可继续根据所述备份虚拟磁盘启动所述备份主机的虚拟机,以通过启动的所述虚拟机继续提供服务。
在本实施例中,相当于所述云服务器在检测到所述服务主机宕机时,通知所述备份主机启动所述备份虚拟磁盘,以供所述备份主机根据所述备份虚拟磁盘启动虚拟机,并继续提供服务,保证了服务主机宕机的情况下,备份主机可以继续提供服务。
进一步地,基于第一或第二实施例提出本发明虚拟磁盘备份装置的第三实施例,在本实施例中,参照图7,所述虚拟磁盘备份装置100还包括:
确定模块40,用于在接收到云服务器发送的虚拟磁盘迁移指令时,基于所述虚拟磁盘迁移指令确定目的服务主机;
迁移模块50,用于将本地虚拟磁盘迁移至确定的所述目的服务主机;
所述发送模块30,还用于在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
在本实施例中,所述云服务器在检测到虚拟磁盘迁移请求时,此时为了保证服务主机中的虚拟机可以正常运行,需要将所述服务主机的虚拟机迁移到其它服务主机中,以实现虚拟机的在线迁移。本实施例中,所述虚拟磁盘迁移请求的触发方式包括:服务主机需要使用大量内存时,触发虚拟磁盘迁移请求;或者,服务主机CPU的负载过大时,触发虚拟磁盘迁移请求。
应当理解,由于在选择备份主机时,可以在集群中进行选择,同理,在服务主机宕机时,将服务主机中的虚拟机迁移到其它服务主机时,同样可以在集群中,选择任一台物理机作为待切换的目的服务主机进行虚拟机的迁移。在选择好目的服务主机之后,即可发送虚拟磁盘迁移指令至所述服务主机,以通知所述服务主机将虚拟机进行在线迁移。
在本实施例中,确定模块40在接收到所述云服务器发送的虚拟磁盘迁移指令时,确定目的服务主机,然后迁移模块50根据VM迁移截获子模块将本地虚拟磁盘迁移至确定的所述目的服务主机,在检测到本地虚拟磁盘迁移完成时,所述发送模块30将迁移完成指令发送至同步服务器程序,再通过所述同步服务器程序将迁移完成指令发送至所述备份主机。
所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,也就是关闭与所述服务主机中同步服务器程序的通信连接;同时,建立与所述目的服务主机中同步服务器程序的通信连接,以继续进行虚拟磁盘的备份服务。
进一步地,为了保证服务主机将虚拟机迁移到目的服务主机时,可以迁移成功。所述云服务器还会获取所述目的服务主机的地址信息和虚拟机信息,并将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机,以供所述备份主机基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;并且,所述云服务器还会通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
也就是说,所述云服务器发送虚拟磁盘迁移指令至服务主机之前,根据确定目的服务主机,获取所述目的服务主机的地址信息和虚拟机信息,然后将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机,以便所述备份主机后续基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;同时,所述云服务器还会通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
在本实施例中,实现了虚拟机的在线迁移,并且,在虚拟机进行在线迁移时,本地虚拟磁盘的虚拟机可以在集群中的任一个物理机间进行迁移,提高了云计算服务系统的可维护性,更利于实现负载均衡。
本发明中,服务主机和备份主机之间不再是peer-to-peer(点对点,对等网络)的映射关系,而是全相联的映射关系,一个服务主机的不同虚拟磁盘可以由不同备份主机进行备份,这样当某一台使用本地虚拟磁盘的虚拟机从某一台服务主机迁移到新的服务主机上时,该虚拟机的虚拟磁盘仍然由原备份主机进行备份服务,提高了数据备份的灵活性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种虚拟磁盘备份系统,其特征在于,所述虚拟磁盘备份系统包括云服务器、服务主机和备份主机,所述服务主机部署同步服务器程序和代理程序,所述备份主机部署同步客户端程序和代理程序;
所述云服务器,用于在检测到所述服务主机和所述备份主机启动时,发送虚拟磁盘备份指令至所述服务主机和所述备份主机,以供所述服务主机通过代理程序接收到虚拟磁盘备份指令时启动预设的同步服务器程序,以及所述备份主机通过代理程序接收到虚拟磁盘备份指令时启动预设的同步客户端程序;
所述服务主机,用于在接收到所述虚拟磁盘备份指令时,截取本地虚拟磁盘的虚拟磁盘写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘写操作发送至所述备份主机;
所述备份主机,用于通过所述同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
2.如权利要求1所述的虚拟磁盘备份系统,其特征在于,所述服务主机,还用于在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作,并通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机;
所述备份主机,还用于通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
3.如权利要求1所述的虚拟磁盘备份系统,其特征在于,所述云服务器,还用于在检测到所述服务主机宕机时,通知所述备份主机基于所述备份虚拟磁盘启动所述备份主机的虚拟机,以供所述备份主机根据启动的所述虚拟机继续提供服务。
4.如权利要求1所述的虚拟磁盘备份系统,其特征在于,所述云服务器,还用于在检测到虚拟磁盘迁移请求时,确定所述服务主机待切换的目的服务主机,并根据确定的所述目的服务主机发送虚拟磁盘迁移指令至所述服务主机;
所述服务主机,还用于在接收到所述虚拟磁盘迁移指令时,确定目的服务主机,并将本地虚拟磁盘迁移至确定的所述目的服务主机;在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机;
所述备份主机,还用于通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
5.如权利要求4所述的虚拟磁盘备份系统,其特征在于,所述云服务器,还用于获取所述目的服务主机的地址信息和虚拟机信息,并将所述目的服务主机的地址信息和虚拟机信息发送至所述备份主机,以供所述备份主机基于所述目的服务主机的地址信息和虚拟机信息,与所述目的服务主机建立通信连接;
所述云服务器,还用于通知所述目的服务主机有虚拟机接入,以供所述目的服务主机启动同步服务器程序,便于通过所述同步服务器程序与所述备份主机建立通信连接。
6.如权利要求1-5任一项所述的虚拟磁盘备份系统,其特征在于,一个服务主机可以由至少一个备份主机进行虚拟磁盘的备份;一个备份主机可以为至少一个服务主机进行虚拟磁盘的备份。
7.一种虚拟磁盘备份方法,其特征在于,应用于服务主机,所述服务主机部署同步服务器程序和代理程序,所述虚拟磁盘备份方法包括:
在通过代理程序接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序;
截取本地虚拟磁盘的虚拟磁盘写操作;
将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
8.如权利要求7所述的虚拟磁盘备份方法,其特征在于,所述虚拟磁盘备份方法还包括:
在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作;
通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
9.如权利要求7或8所述的虚拟磁盘备份方法,其特征在于,所述虚拟磁盘备份方法还包括:
在接收到云服务器发送的虚拟磁盘迁移指令时,基于所述虚拟磁盘迁移指令确定目的服务主机;
将本地虚拟磁盘迁移至确定的所述目的服务主机;
在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
10.一种虚拟磁盘备份装置,其特征在于,应用于服务主机,所述服务主机部署同步服务器程序和代理程序,所述虚拟磁盘备份装置包括:
启动模块,用于在通过代理程序接收到云服务器发送的虚拟磁盘备份指令时,启动预设的同步服务器程序;
截取模块,用于截取本地虚拟磁盘的虚拟磁盘写操作;
发送模块,用于将截取的所述虚拟磁盘写操作通过所述同步服务器程序发送至备份主机,以供所述备份主机通过预设的同步客户端程序接收到所述虚拟磁盘写操作时,将接收到的所述虚拟磁盘写操作写到备份虚拟磁盘中。
11.如权利要求10所述的虚拟磁盘备份装置,其特征在于,所述截取模块,还用于在检测到本地虚拟磁盘出现故障时,截取本地虚拟磁盘的虚拟磁盘读写操作;
所述发送模块,还用于通过所述同步服务器程序将截取的所述虚拟磁盘读写操作发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述虚拟磁盘读写操作时,调用所述备份虚拟磁盘以执行所述虚拟磁盘读写操作,并反馈执行结果至所述服务主机。
12.如权利要求10或11所述的虚拟磁盘备份装置,其特征在于,所述虚拟磁盘备份装置还包括:
确定模块,用于在接收到云服务器发送的虚拟磁盘迁移指令时,基于所述虚拟磁盘迁移指令确定目的服务主机;
迁移模块,用于将本地虚拟磁盘迁移至确定的所述目的服务主机;
所述发送模块,还用于在检测到本地虚拟磁盘迁移完成时,通过所述同步服务器程序将迁移完成指令发送至所述备份主机,以供所述备份主机通过所述同步客户端程序接收到所述迁移完成指令时,关闭与所述服务主机的通信连接,并建立与所述目的服务主机的通信连接,以继续进行虚拟磁盘的备份服务。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611270900.3A CN107038096B (zh) | 2016-12-30 | 2016-12-30 | 虚拟磁盘备份系统、方法和装置 |
PCT/CN2017/089483 WO2018120680A1 (zh) | 2016-12-30 | 2017-06-22 | 虚拟磁盘备份系统、方法、装置、服务主机和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611270900.3A CN107038096B (zh) | 2016-12-30 | 2016-12-30 | 虚拟磁盘备份系统、方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107038096A CN107038096A (zh) | 2017-08-11 |
CN107038096B true CN107038096B (zh) | 2018-01-19 |
Family
ID=59530861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611270900.3A Active CN107038096B (zh) | 2016-12-30 | 2016-12-30 | 虚拟磁盘备份系统、方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107038096B (zh) |
WO (1) | WO2018120680A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995319B (zh) * | 2018-01-08 | 2021-05-18 | 迈普通信技术股份有限公司 | 虚拟设备配置方法及网络设备 |
CN108304281A (zh) * | 2018-02-28 | 2018-07-20 | 南京铱迅信息技术股份有限公司 | 一种虚拟机实时备份的方法 |
CN110324375B (zh) | 2018-03-29 | 2020-12-04 | 华为技术有限公司 | 一种信息备份方法及相关设备 |
CN110362432B (zh) * | 2019-07-23 | 2023-12-29 | 深信服科技股份有限公司 | 一种备份方法、装置、设备及存储介质 |
CN112395133B (zh) * | 2020-11-17 | 2024-05-28 | 平安科技(深圳)有限公司 | 基于虚拟机的数据备份方法、装置和计算机设备 |
CN112527596A (zh) * | 2020-12-03 | 2021-03-19 | 福建省索菲特智能工程有限公司 | 一种司法监管安全监测的方法 |
CN113821300B (zh) * | 2021-08-26 | 2024-07-09 | 济南浪潮数据技术有限公司 | 一种虚拟机管理方法和相关装置 |
CN113778629A (zh) * | 2021-09-22 | 2021-12-10 | 江苏安超云软件有限公司 | 云平台中基于本地存储的实时备份的方法及应用 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855163A (zh) * | 2011-06-27 | 2013-01-02 | 华为软件技术有限公司 | 一种内存数据库双机热备方法及主机 |
CN105224391A (zh) * | 2015-10-12 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机的在线备份方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356573B2 (en) * | 2005-07-08 | 2008-04-08 | Cisco Technology, Inc. | Apparatus and methods for data tapping in a storage area network |
JP2008181271A (ja) * | 2007-01-24 | 2008-08-07 | Hitachi Ltd | 仮想ボリュームに記憶されたデータをバックアップする記憶制御装置 |
CN104809020B (zh) * | 2013-11-20 | 2018-05-11 | 华为技术有限公司 | 一种生成快照的方法、系统和装置 |
CN103713860A (zh) * | 2014-01-03 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种基于备份架构的虚拟磁盘库构建方法及系统 |
CN106250267A (zh) * | 2016-07-22 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机的数据备份方法及装置 |
-
2016
- 2016-12-30 CN CN201611270900.3A patent/CN107038096B/zh active Active
-
2017
- 2017-06-22 WO PCT/CN2017/089483 patent/WO2018120680A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855163A (zh) * | 2011-06-27 | 2013-01-02 | 华为软件技术有限公司 | 一种内存数据库双机热备方法及主机 |
CN105224391A (zh) * | 2015-10-12 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机的在线备份方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107038096A (zh) | 2017-08-11 |
WO2018120680A1 (zh) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038096B (zh) | 虚拟磁盘备份系统、方法和装置 | |
Zhang et al. | A survey on virtual machine migration: Challenges, techniques, and open issues | |
CN106899518B (zh) | 一种基于互联网数据中心的资源处理方法以及装置 | |
CN102972010B (zh) | 一种云环境下虚拟应用双机的切换方法、装置及系统 | |
US9727429B1 (en) | Method and system for immediate recovery of replicated virtual machines | |
CN107209710B (zh) | 节点系统、服务器设备、缩放控制方法和程序 | |
US9753761B1 (en) | Distributed dynamic federation between multi-connected virtual platform clusters | |
JP6307159B2 (ja) | コンピューティングセッションの管理 | |
CN109151045B (zh) | 一种分布式云系统及监控方法 | |
CN104166586B (zh) | 一种基于虚拟化技术的透明计算方法及透明计算系统 | |
CN106528327B (zh) | 一种数据处理方法以及备份服务器 | |
US20150339216A1 (en) | Providing Testing Environments Using Virtualization | |
CN103595801B (zh) | 一种云计算系统及其虚拟机实时监控方法 | |
CN110704161B (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN105740052A (zh) | 非共享存储的虚拟机在线迁移的方法、装置及系统 | |
US11263037B2 (en) | Virtual machine deployment | |
JP7116802B2 (ja) | マスター・スタンドバイコンテナシステム切替 | |
CN112311646B (zh) | 基于超融合系统的混合云及部署方法 | |
WO2020192448A1 (zh) | 虚拟机的迁移方法和系统 | |
US20080162754A1 (en) | Storage system, program and method | |
CN112306380A (zh) | 一种存储管理方法、装置以及计算机存储介质 | |
CN105824571A (zh) | 一种实现数据无缝迁移的方法及装置 | |
CN104598309A (zh) | 基于os虚拟化的多模式os的系统和其创建、切换方法 | |
CN112711469A (zh) | 云主机迁移方法、装置、计算机设备和存储介质 | |
CN107707398B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1237058 Country of ref document: HK |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1237058 Country of ref document: HK |