CN103761166A - 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 - Google Patents
一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 Download PDFInfo
- Publication number
- CN103761166A CN103761166A CN201410029760.5A CN201410029760A CN103761166A CN 103761166 A CN103761166 A CN 103761166A CN 201410029760 A CN201410029760 A CN 201410029760A CN 103761166 A CN103761166 A CN 103761166A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- backup
- standby
- host virtual
- disaster tolerance
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- 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/20—Error 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/202—Error 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/2038—Error 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 with a single idle spare processing component
-
- 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/20—Error 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/202—Error 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/2048—Error 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 where the redundant components share neither address space nor persistent storage
-
- 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/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
Abstract
本发明提供一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法,双机热备份容灾系统包括主服务器与备份服务器,主服务器与备份服务器通过网络连接,主服务器上运行主虚拟机,备份服务器上运行后备虚拟机,后备虚拟机处于主虚拟机的应用层语义上的替代状态,应用层语义上的替代状态是指在应用层语义上后备虚拟机能够代替主虚拟机进行服务,对任何客户请求产生正确的输出。通过可替代性规则比较主虚拟机与后备虚拟机的输出,判断是否需要进行备份,从而有效的降低了备份频率,在保证快速恢复的基础上提升了系统的性能,本发明极大降低了系统开销,提高了系统的吞吐量。
Description
技术领域
本发明涉及虚拟化环境下的高可靠容灾技术,具体地,涉及一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法。
背景技术
当前,网络化服务是云计算与数据中心的主要服务形式。然而,由于断电、机器硬件故障、灾难或者人为因素(统称故障)的影响,使得这些网络应用停止对外服务、丢失数据的情况时有发生,不仅影响用户的使用,还会带来经济上的损失。因此,如何提高网络服务器的容灾,在故障后快速恢复对外的服务成了许多学者和公司的研究热点。
在现有的研究成果与产品中,有一部分是在虚拟化环境下实现的。
随着计算机技术,特别是网络技术的快速发展和广泛应用,人们对软件的可移植性,特别是软件在网络中移植的需求日益迫切,软件兼容性和可移植性也变得越来越重要。但由于计算机的历史发展过程中,产生了众多不同的、不相兼容的操作系统和指令集架构(Instruction Set Architecture,ISA),从而导致了软件的可移植性被局限在相似的平台上。而在一个大型网络中可能包含基于各种ISA和操作系统的计算机,这就造成了软件可移植性需求和现状之间的矛盾越来越尖锐。而虚拟机(Virtualmachine,VM)技术的出现消除了对软件运行平台的这些限制,从而有可能提供更高程度的兼容性和可移植性。虚拟机技术通过在硬件执行平台上加一层软件,从而屏蔽掉平台的差异性,或者说在一个平台上模拟出另一个平台或者多个平台。
目前,基于虚拟机技术的容灾解决方案可以分为检查点(checkpointing)技术和步锁(lockstepping)技术。
Checkpointing技术利用两台物理设备形成主服务器/后备服务器模式,对同一个应用/虚拟机进行备份,通过虚拟机的迁移技术,定期的将主服务器虚拟机状态备份到后备服务器中,从而实现灾备。后备服务器的虚拟机处于非运行状态,在主服务器故障后能快速恢复到主服务器的前一状态,并继续保留有原先的所有网络连接,这样客户端感觉不到服务端发生了故障且从故障中恢复。但是,为了保证虚拟机间的状态一致性,必须进行周期性的频繁备份(20-40ms一次),导致主服务器的吞吐量会极大降低,CPU开销过大。同时Checkpointing技术将所有服务器发送到客户端的数据包保存在一个缓冲中,只有当一次备份完成后,才能释放这些数据包,这导致网络延迟的增加。
Lockstepping技术采用双机并行运行的方式保证主服务器后备服务器的状态一致,使得在主服务器故障后客户端能直接与后备服务器连接,快速从故障中恢复。但是Lockstepping技术只能适用于给虚拟机分配单个处理器的情况,对于多处理器虚拟机的性能扩展性很差,多于双处理器的虚拟机性能降低至单处理器是的1/7。另外,对于确定的指令,主后备服务器的虚拟机可以直接并行运行,而对于非确定的指令则需要在主后备服务器虚拟机间做指令级别的同步,这也增加了系统的开销。
发明内容
有鉴于现有技术的上述缺陷,本发明提供一种双机热备份容灾系统。该方案中主虚拟机和后备虚拟机并行运行,根据客户端发送的请求生成各自的输出结果,比较主虚拟机和后备虚拟机的输出结果,如果不一致,需要进行备份,这样既保证了故障后的快速恢复,又有效的降低了系统开销。
本发明提供一种双机热备份容灾系统,用于虚拟化环境下的网络服务,双机热备份容灾系统包括主服务器与备份服务器,主服务器与备份服务器通过网络连接,其特征在于:主服务器上运行主虚拟机,备份服务器上运行后备虚拟机,后备虚拟机处于主虚拟机的应用层语义上的替代状态,应用层语义上的替代状态是指在应用层语义上后备虚拟机能够代替主虚拟机进行服务,对任何客户请求产生正确的输出。
进一步地,主服务器将客户端请求分别发送给主虚拟机与后备虚拟机,主虚拟机与后备虚拟机并行运行生成各自的响应数据包。
进一步地,双机热备份容灾系统还包括运行在主虚拟机上的主备份管理器,以及运行在后备虚拟机上的后备备份管理器,后备备份管理器用于将后备虚拟机生成的响应数据包发送到主备份管理器,主备份管理器用于比较主虚拟机与后备虚拟机的响应数据包是否一致,如果一致,后备虚拟机处于主虚拟机的可替代状态,主备份管理器将主虚拟机生成的响应数据包发给客户端;如果不一致,后备虚拟机不处于主虚拟机的可替代状态。
进一步地,如果后备虚拟机不处于主虚拟机的可替代状态,主备份管理器将主虚拟机的当前状态备份到后备虚拟机。
进一步地,备份为非周期备份。
进一步地,备份到后备虚拟机为增量备份。
系统中采用了增量备份方式,以降低状态备份的开销。不同于现有的检查点技术,本发明中采用双机并行运行,因此在两次状态备份间,后备虚拟机的状态也会发生变化,这导致只备份主虚拟机状态增量是不够的。为了减少备份期间的传送内容,本发明中采用以空间换时间的方法。在主虚拟机与后备虚拟机第一次建立连接时,将主虚拟机的状态完全传输给后备虚拟机,并同时存入后备服务器的一个临时缓存中。每次备份主虚拟机状态时,仅传输在上次备份后发生改变的内容。首先将这些内容更新入后备服务器临时缓存中,然后将临时缓存中内容全备份入后备虚拟机,这就避免了两次备份间后备虚拟机状态变化对增量备份所产生的影响。
进一步地,后备备份管理器检测主虚拟机的心跳数据包,如果后备备份管理器没有接收到主虚拟机的心跳数据包,客户端请求数据包直接到达后备虚拟机,后备虚拟机产生响应数据包之后,后备备份管理器将响应数据包直接发给客户端。
系统中引入心跳包机制,用于后备虚拟机监测主虚拟机是否仍继续存活。如果后备虚拟机没有接收到心跳数据包,就认为主虚拟机已经故障,将采取故障恢复措施以替代主虚拟机继续提供服务。在这种情况下,客户端发送过来的请求数据包将直接到达后备虚拟机,后备虚拟机产生响应数据包之后,不再发送给主虚拟机,而是直接发给客户端。该情况下,客户端收到的数据包来源从主虚拟机改为后备虚拟机,并不会发现服务端进行了一次快速的故障恢复。
进一步地,在内存备份方面,启用了虚拟机监控器提供的影子页表机制,获取在上次状态备份之后被修改的页面。其基本原理是将所有虚拟机的页面都改成写保护,这样,一旦对某个页面进行写操作,就会触发一个异常并进入异常处理程序。
本发明还提供一种双机热备份容灾方法,其特征在于,包括以下步骤:
(1)主服务器通过流量控制,将客户端发出的请求分别发送到主虚拟机和后备虚拟机;
(2)主虚拟机与后备虚拟机根据客户请求并行运行,生成各自的响应数据包;
(3)后备备份管理器将后备虚拟机生成的响应数据包发送到主备份管理器;
(4)主备份管理器用于比较主虚拟机与后备虚拟机的响应数据包是否一致,如果一致,后备虚拟机处于主虚拟机的应用层语义上的替代状态,将主虚拟机的响应数据包发给客户端;如果不一致,后备虚拟机不处于主虚拟机的应用层语义上的替代状态,主备份管理器将主虚拟机的当前状态备份到后备虚拟机。
与现有技术相比,本发明提供的双机热备份容灾系统及其方法,具有以下有益的技术效果:
(1)系统实现中解决了主后备服务器双机并行情况下,存储访问的一致性,网络协议的一致性,多核状态CPU指令一致性等技术问题。
(2)基于可替代性规则,本方案中主服务器状态的备份为非周期性,备份间隔大于1秒,频率相对于现有技术降低两个数量级以上,这极大降低了系统开销,基本消除虚拟机状态备份对主服务器的性能干扰。
(3)相比于现有解决方案,本发明中主服务器不需等待备份完成即可交付输出结果,提高了系统的吞吐量。
(4)本发明方案能够提供快速灾备恢复,对于网络服务、数据库服务的灾备恢复时间快于现有技术。
附图说明
图1是现有检查点技术的流程示意图;
图2是现有步锁技术的流程示意图;
图3是本发明的一个实施例的双机热备份容灾系统的流程示意图;
图4是本发明的一个实施例的双机热备份容灾系统的增量备份的过程示意图。
具体实施方式
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
图1是现有检查点技术的流程示意图。主虚拟机处理客户端请求并产生响应,后备虚拟机则处于非运行状态。在主服务器中有定时模块产生周期性事件,备份管理器在收到事件后获取主虚拟机状态,将在上一次备份后改变的状态备份到后备虚拟机上。
图2是现有步锁技术的流程示意图。主虚拟机与后备虚拟机并行执行客户端发来的请求,主虚拟机将响应发回到客户端。由于非确定的指令(例如内存访问、时钟中断等)则需要在虚拟机间做指令级别的同步,以避免两边的状态发生差异。
本发明提供一种双机热备份容灾系统,用于虚拟化环境下的网络服务,双机热备份容灾系统包括主服务器与备份服务器,主服务器与备份服务器通过网络连接,其特征在于:主服务器上运行主虚拟机,备份服务器上运行后备虚拟机,后备虚拟机处于主虚拟机的应用层语义上的替代状态,应用层语义上的替代状态是指在应用层语义上后备虚拟机能够代替主虚拟机进行服务,对任何客户请求产生正确的输出。
客户端发送过来的请求数据包首先抵达外围交换机,交换机通过目的MAC地址来决定转发端口。当主虚拟机提供服务时,交换机学习到的虚拟机MAC地址对应端口为主服务器网卡端口,因此请求数据包被发往主服务器。
主服务器将客户端请求分别发送给主虚拟机与后备虚拟机,主虚拟机与后备虚拟机并行运行生成各自的响应数据包。
双机热备份容灾系统还包括运行在主虚拟机上的主备份管理器,以及运行在后备虚拟机上的后备备份管理器,后备备份管理器用于将后备虚拟机生成的响应数据包发送到主备份管理器,主备份管理器用于比较主虚拟机与后备虚拟机的响应数据包是否一致,如果一致,后备虚拟机处于主虚拟机的可替代状态,主备份管理器将主虚拟机生成的响应数据包发给客户端;如果不一致,后备虚拟机不处于主虚拟机的可替代状态。
如果后备虚拟机不处于主虚拟机的可替代状态,主备份管理器将主虚拟机的当前状态备份到后备虚拟机。
备份为非周期备份。
备份到后备虚拟机为增量备份。
系统中采用了增量备份方式,以降低状态备份的开销。不同于现有的检查点技术,本发明中采用双机并行运行,因此在两次状态备份间,后备虚拟机的状态也会发生变化,这导致只备份主虚拟机状态增量是不够的。为了减少备份期间的传送内容,本发明中采用以空间换时间的方法。在主虚拟机与后备虚拟机第一次建立连接时,将主虚拟机的状态完全传输给后备虚拟机,并同时存入后备服务器的一个临时缓存中。每次备份主虚拟机状态时,仅传输在上次备份后发生改变的内容。首先将这些内容更新入后备服务器临时缓存中,然后将临时缓存中内容全备份入后备虚拟机,这就避免了两次备份间后备虚拟机状态变化对增量备份所产生的影响。
后备备份管理器检测主虚拟机的心跳数据包,如果后备备份管理器没有接收到主虚拟机的心跳数据包,客户端请求数据包直接到达后备虚拟机,后备虚拟机产生响应数据包之后,后备备份管理器将响应数据包直接发给客户端。
系统中引入心跳包机制,用于后备虚拟机监测主虚拟机是否仍继续存活。如果后备虚拟机没有接收到心跳数据包,就认为主虚拟机已经故障,将采取故障恢复措施以替代主虚拟机继续提供服务。后备服务器将会向交换机发送一个ARP数据包,该数据包的源MAC地址就是后备虚拟机的MAC地址。这使得交换机学习到一个新的MAC地址到端口的映射条目。之后客户端发送过来的目的MAC地址是虚拟机的数据包,将直接发送给后备服务器的网卡。后备虚拟机产生响应数据包之后,不再发送给主虚拟机,而是直接发给客户端。该情况下,客户端收到的数据包来源从主虚拟机改为后备虚拟机,并不会发现服务端进行了一次快速的故障恢复。
在内存备份方面,启用了虚拟机监控器提供的影子页表机制。获取在上次状态备份之后哪些页面被修改。其基本原理是将所有虚拟机的页面都改成写保护,这样,一旦对某个页面进行写操作,就会触发一个异常并进入异常处理程序。借助于“影子页表”机制,能够很容易获取在上次状态备份之后,哪些页面被修改。
图3是本实施例的双机热备份容灾系统的流程示意图,具体过程如下:
步骤1、主服务器将客户端发出的请求包分发到主虚拟机与后备虚拟机,过程如下:首先,客户端发送过来的请求数据包通过外围交换机被交换机发送到主服务器。主服务器接收数据包后送到软件网桥,在软件网桥中通过配置Linux自带的工具TC(Traffic Control)来实现对网络数据包的截获和分发,将数据包发送到主虚拟机与后备虚拟机。
TC的配置方法如下:
#tc qdisc add dev vif1.0root handle1:prio
#tc filter add dev vif1.0parent1:protocol ip prio10u32match u3200flowid1:2action mirred egress mirror dev eth0
#tc filter add dev vif1.0parent1:protocol arp prio11u32match u3200flowid1:2action mirred egress mirror dev eth0
步骤2、主虚拟机与后备虚拟机根据应用层语义并行执行,生成各自的输出,后备虚拟机将输出发送到主服务器。通过配置TC实现后备虚拟机输出的拦截与转发,具体方法如下:
#tc qdisc add dev vif1.0ingress
#tc filter add dev vif1.0parent ffff:protocol ip prio10u32match u3200flowid1:2action mirred egress redirect dev eth0
步骤3、主服务器的管理器比较主虚拟机与后备虚拟机生成各自的输出是否满足可替代性规则。具体的,在管理器中实现两个队列形式的虚拟接口,将主虚拟机与后备虚拟机的输出分别重定向入一个接口。管理器通过对两队列中的包进行逐一比较,判断后备虚拟机是否仍是主虚拟机的可替代状态。通过配置TC实现输出的重定向,具体方法如下:
a)主虚拟机输出包重定向:
#tc qdisc add dev vif1.0ingress
#tc filter add dev vif1.0parent ffff:protocol ip prio10u32match u3200flowid1:2action mirred egress redirect dev ifb0
b)后备虚拟机输出包重定向:
#tc qdisc add dev eth0ingress
#tc filter add dev eth0parent ffff:protocol ip prio10u32match u3200flowid1:2action mirred egress redirect dev ifb1
步骤4、将主服务器的输出作为响应包发回给客户端。
步骤5、若判断后备虚拟机不是主虚拟机的可替代状态,则将主虚拟机的当前状态备份到后备虚拟机。在主服务器上和后备服务器的管理器中上都有一个备份守护进程,负责对状态的发送、接收和对虚拟机状态的更新。
图4是本实施例的双机热备份容灾系统的增量备份的过程示意图。
步骤1、主服务器上的备份管理器获取主虚拟机在上次备份后状态变更部分。
步骤2、备份管理器将变更部分发送到后备虚拟机。
步骤3、后备虚拟机将变更部分更新临时缓存。
步骤4、将临时缓存内容全部备份入后备虚拟机。
在磁盘文件备份方面,通过修改磁盘设备的后端驱动,截获主虚拟机与后备虚拟机对磁盘的写入操作。在两次备份间主虚拟机与后备虚拟机的磁盘写入数据都被暂时保存在各自的临时缓存中。当备份时用主虚拟机临时缓存中内容替换备份虚拟机临时缓存的内容,然后分别写入磁盘。
在设备备份方面,由于设备状态涉及虚拟机监控器的前后端模型,获取较困难,因此选用丢弃主虚拟机与后备虚拟机设备驱动之前的状态。当备份完成后重新建立连接来使得设备状态保持一致。
本发明提供的双机热备份容灾系统及其方法,解决了主后备服务器双机并行情况下,存储访问的一致性,网络协议的一致性,多核状态CPU指令一致性等技术问题;基于可替代性规则,本方案中主服务器状态的备份为非周期性,备份间隔大于1秒,频率相对于现有技术降低两个数量级以上,这极大降低了系统开销,基本消除虚拟机状态备份对主服务器的性能干扰;主服务器不需等待备份完成即可交付输出结果,提高了系统的吞吐量;提供快速灾备恢复,对于网络服务、数据库服务的灾备恢复时间快于现有技术。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (9)
1.一种双机热备份容灾系统,用于虚拟化环境下的网络服务,所述双机热备份容灾系统包括主服务器与备份服务器,所述主服务器与所述备份服务器通过网络连接,其特征在于,所述主服务器上运行主虚拟机,所述备份服务器上运行后备虚拟机,所述后备虚拟机处于所述主虚拟机的应用层语义上的替代状态,所述应用层语义上的替代状态是指在应用层语义上后备虚拟机能够代替主虚拟机进行服务,对任何客户请求产生正确的输出。
2.如权利要求1所述的双机热备份容灾系统,其特征在于,所述主服务器将客户端请求分别发送给所述主虚拟机与所述后备虚拟机,所述主虚拟机与所述后备虚拟机并行运行生成各自的响应数据包。
3.如权利要求2所述的双机热备份容灾系统,其特征在于,所述双机热备份容灾系统还包括运行在所述主虚拟机上的主备份管理器,以及运行在所述后备虚拟机上的后备备份管理器,所述后备备份管理器用于将所述后备虚拟机生成的所述响应数据包发送到所述主备份管理器,所述主备份管理器用于比较所述主虚拟机与所述后备虚拟机的响应数据包是否一致,如果一致,所述后备虚拟机处于所述主虚拟机的可替代状态,所述主备份管理器将所述主虚拟机生成的所述响应数据包发给所述客户端;如果不一致,所述后备虚拟机不处于所述主虚拟机的可替代状态。
4.如权利要求3所述的双机热备份容灾系统,其特征在于,如果所述后备虚拟机不处于所述主虚拟机的可替代状态,所述主备份管理器将所述主虚拟机的当前状态备份到所述后备虚拟机。
5.如权利要求4所述的双机热备份容灾系统,其特征在于,所述备份为非周期备份。
6.如权利要求4所述的双机热备份容灾系统,其特征在于,所述备份到所述后备虚拟机为增量备份。
7.如权利要求3所述的双机热备份容灾系统,其特征在于,所述后备备份管理器检测所述主虚拟机的心跳数据包,如果所述后备备份管理器没有接收到所述主虚拟机的心跳数据包,所述后备虚拟机产生响应数据包之后,所述后备备份管理器将所述响应数据包直接发给所述客户端。
8.如权利要求1所述的双机热备份容灾系统,其特征在于,在内存备份方面,启用了虚拟机监控器提供的影子页表机制,获取在上次状态备份之后被修改的页面。
9.一种如权利要求1-8所述的双机热备份容灾系统的双机热备份容灾方法,其特征在于,包括以下步骤:
(1)主服务器通过流量控制,将客户端发出的请求分别发送到主虚拟机和后备虚拟机;
(2)所述主虚拟机与所述后备虚拟机根据所述客户端发出的请求并行运行,生成各自的响应数据包;
(3)后备备份管理器将所述后备虚拟机生成的所述响应数据包发送到主备份管理器;
(4)所述主备份管理器用于比较所述主虚拟机与所述后备虚拟机的响应数据包是否一致,如果一致,所述后备虚拟机处于所述主虚拟机的应用层语义上的替代状态,将所述主虚拟机的响应数据包发给所述客户端;如果不一致,所述后备虚拟机不处于所述主虚拟机的应用层语义上的替代状态,所述主备份管理器将所述主虚拟机的当前状态备份到所述后备虚拟机。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410029760.5A CN103761166A (zh) | 2014-01-22 | 2014-01-22 | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 |
US14/412,125 US20160323427A1 (en) | 2014-01-22 | 2014-07-28 | A dual-machine hot standby disaster tolerance system and method for network services in virtualilzed environment |
PCT/CN2014/083113 WO2015109804A1 (zh) | 2014-01-22 | 2014-07-28 | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410029760.5A CN103761166A (zh) | 2014-01-22 | 2014-01-22 | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103761166A true CN103761166A (zh) | 2014-04-30 |
Family
ID=50528408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410029760.5A Pending CN103761166A (zh) | 2014-01-22 | 2014-01-22 | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160323427A1 (zh) |
CN (1) | CN103761166A (zh) |
WO (1) | WO2015109804A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618155A (zh) * | 2015-01-23 | 2015-05-13 | 华为技术有限公司 | 一种虚拟机容错的方法、装置及系统 |
WO2015109804A1 (zh) * | 2014-01-22 | 2015-07-30 | 上海交通大学 | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 |
CN104899071A (zh) * | 2015-04-29 | 2015-09-09 | 深圳市深信服电子科技有限公司 | 集群中虚拟机的恢复方法和系统 |
CN105119754A (zh) * | 2015-09-08 | 2015-12-02 | 烽火通信科技股份有限公司 | 虚拟化主备倒换保持tcp连接的系统及方法 |
WO2016054906A1 (zh) * | 2014-10-08 | 2016-04-14 | 华为技术有限公司 | 计费方法和设备、接入设备、服务质量控制方法和设备 |
CN105656670A (zh) * | 2015-12-31 | 2016-06-08 | 北京航管软件技术有限公司 | 多控制卡线路切换装置及其控制方法 |
CN107315660A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种虚拟化系统的双机热备份方法、装置及系统 |
CN109240799A (zh) * | 2018-09-06 | 2019-01-18 | 福建星瑞格软件有限公司 | 大数据平台集群容灾方法、系统及计算机可读存储介质 |
CN110062057A (zh) * | 2018-12-18 | 2019-07-26 | 华为技术有限公司 | 为热备系统处理报文的代理网关及通信方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10209981B2 (en) | 2016-11-21 | 2019-02-19 | Nio Usa, Inc. | Structure for updating software in remote device |
CN108259629B (zh) * | 2016-12-28 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 虚拟互联网协议地址的切换方法及装置 |
US10360020B2 (en) * | 2017-04-11 | 2019-07-23 | Nio Usa, Inc. | Virtual machine (VM) approach to embedded system hot update |
CN107656845A (zh) * | 2017-09-18 | 2018-02-02 | 国云科技股份有限公司 | 一种虚拟机高可用方法 |
CN109561025B (zh) * | 2017-09-27 | 2022-04-05 | 华为技术有限公司 | 一种信息处理方法以及相关设备 |
US10871952B2 (en) | 2017-12-20 | 2020-12-22 | Nio Usa, Inc. | Method and system for providing secure over-the-air vehicle updates |
CN109271274B (zh) * | 2018-11-13 | 2022-02-11 | 天津津航计算技术研究所 | 一种嵌入式系统的双机热备方法 |
CN109460314B (zh) * | 2018-11-13 | 2022-02-11 | 天津津航计算技术研究所 | 一种嵌入式系统的双机热备装置 |
US11178221B2 (en) | 2018-12-18 | 2021-11-16 | Storage Engine, Inc. | Methods, apparatuses and systems for cloud-based disaster recovery |
US11176002B2 (en) | 2018-12-18 | 2021-11-16 | Storage Engine, Inc. | Methods, apparatuses and systems for cloud-based disaster recovery |
US11252019B2 (en) | 2018-12-18 | 2022-02-15 | Storage Engine, Inc. | Methods, apparatuses and systems for cloud-based disaster recovery |
US10983886B2 (en) | 2018-12-18 | 2021-04-20 | Storage Engine, Inc. | Methods, apparatuses and systems for cloud-based disaster recovery |
US10887382B2 (en) | 2018-12-18 | 2021-01-05 | Storage Engine, Inc. | Methods, apparatuses and systems for cloud-based disaster recovery |
US11489730B2 (en) | 2018-12-18 | 2022-11-01 | Storage Engine, Inc. | Methods, apparatuses and systems for configuring a network environment for a server |
US10958720B2 (en) | 2018-12-18 | 2021-03-23 | Storage Engine, Inc. | Methods, apparatuses and systems for cloud based disaster recovery |
CN110515763A (zh) * | 2019-07-26 | 2019-11-29 | 浪潮电子信息产业股份有限公司 | 一种基于OpenStack的虚拟机双机热备的方法和系统 |
CN110727733B (zh) * | 2019-09-25 | 2023-07-14 | 许昌许继软件技术有限公司 | 一种主备服务器系统及数据同步方法 |
CN111371625A (zh) * | 2020-03-18 | 2020-07-03 | 北京佳讯飞鸿电气股份有限公司 | 一种双机热备的实现方法 |
CN112202594A (zh) * | 2020-09-07 | 2021-01-08 | 核电运行研究(上海)有限公司 | 一种核电站服务器故障应急处理系统及方法 |
CN114095964B (zh) * | 2021-11-19 | 2023-05-26 | 中国联合网络通信集团有限公司 | 一种故障恢复方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318991A1 (en) * | 2009-06-15 | 2010-12-16 | Vmware, Inc. | Virtual Machine Fault Tolerance |
CN103412800A (zh) * | 2013-08-05 | 2013-11-27 | 华为技术有限公司 | 一种虚拟机热备份方法和设备 |
CN103501290A (zh) * | 2013-09-18 | 2014-01-08 | 万达信息股份有限公司 | 一种基于动态备份虚拟机的高可靠服务系统构建方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US20030177149A1 (en) * | 2002-03-18 | 2003-09-18 | Coombs David Lawrence | System and method for data backup |
CN103761166A (zh) * | 2014-01-22 | 2014-04-30 | 上海交通大学 | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 |
-
2014
- 2014-01-22 CN CN201410029760.5A patent/CN103761166A/zh active Pending
- 2014-07-28 US US14/412,125 patent/US20160323427A1/en not_active Abandoned
- 2014-07-28 WO PCT/CN2014/083113 patent/WO2015109804A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100318991A1 (en) * | 2009-06-15 | 2010-12-16 | Vmware, Inc. | Virtual Machine Fault Tolerance |
CN103412800A (zh) * | 2013-08-05 | 2013-11-27 | 华为技术有限公司 | 一种虚拟机热备份方法和设备 |
CN103501290A (zh) * | 2013-09-18 | 2014-01-08 | 万达信息股份有限公司 | 一种基于动态备份虚拟机的高可靠服务系统构建方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015109804A1 (zh) * | 2014-01-22 | 2015-07-30 | 上海交通大学 | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 |
US10567507B2 (en) | 2014-10-08 | 2020-02-18 | Huawei Technologies Co., Ltd. | Message processing method and apparatus, and message processing system |
WO2016054906A1 (zh) * | 2014-10-08 | 2016-04-14 | 华为技术有限公司 | 计费方法和设备、接入设备、服务质量控制方法和设备 |
CN105577711A (zh) * | 2014-10-08 | 2016-05-11 | 华为技术有限公司 | 消息处理方法、装置及消息处理系统 |
CN105577711B (zh) * | 2014-10-08 | 2019-05-03 | 华为技术有限公司 | 消息处理方法、装置及消息处理系统 |
EP3193482A4 (en) * | 2014-10-08 | 2017-11-08 | Huawei Technologies Co., Ltd. | Charging method and device, access device, and quality of service control method and device |
US10411953B2 (en) | 2015-01-23 | 2019-09-10 | Huawei Technologies Co., Ltd. | Virtual machine fault tolerance method, apparatus, and system |
WO2016115831A1 (zh) * | 2015-01-23 | 2016-07-28 | 华为技术有限公司 | 一种虚拟机容错的方法、装置及系统 |
CN104618155A (zh) * | 2015-01-23 | 2015-05-13 | 华为技术有限公司 | 一种虚拟机容错的方法、装置及系统 |
EP3242440A4 (en) * | 2015-01-23 | 2017-12-06 | Huawei Technologies Co., Ltd. | Fault tolerant method, apparatus and system for virtual machine |
CN104618155B (zh) * | 2015-01-23 | 2018-06-05 | 华为技术有限公司 | 一种虚拟机容错的方法、装置及系统 |
CN104899071A (zh) * | 2015-04-29 | 2015-09-09 | 深圳市深信服电子科技有限公司 | 集群中虚拟机的恢复方法和系统 |
CN105119754A (zh) * | 2015-09-08 | 2015-12-02 | 烽火通信科技股份有限公司 | 虚拟化主备倒换保持tcp连接的系统及方法 |
CN105656670A (zh) * | 2015-12-31 | 2016-06-08 | 北京航管软件技术有限公司 | 多控制卡线路切换装置及其控制方法 |
CN105656670B (zh) * | 2015-12-31 | 2019-08-23 | 北京航管软件技术有限公司 | 多控制卡线路切换装置及其控制方法 |
CN107315660A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种虚拟化系统的双机热备份方法、装置及系统 |
CN109240799A (zh) * | 2018-09-06 | 2019-01-18 | 福建星瑞格软件有限公司 | 大数据平台集群容灾方法、系统及计算机可读存储介质 |
CN109240799B (zh) * | 2018-09-06 | 2022-04-15 | 福建星瑞格软件有限公司 | 大数据平台集群容灾方法、系统及计算机可读存储介质 |
CN110062057A (zh) * | 2018-12-18 | 2019-07-26 | 华为技术有限公司 | 为热备系统处理报文的代理网关及通信方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160323427A1 (en) | 2016-11-03 |
WO2015109804A1 (zh) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761166A (zh) | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 | |
USRE47852E1 (en) | Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency | |
US9690662B2 (en) | Techniques for virtual machine management | |
US10067837B1 (en) | Continuous data protection with cloud resources | |
CN106528327B (zh) | 一种数据处理方法以及备份服务器 | |
US9389976B2 (en) | Distributed persistent memory using asynchronous streaming of log records | |
US9015164B2 (en) | High availability for cloud servers | |
Rajagopalan et al. | SecondSite: disaster tolerance as a service | |
US8473692B2 (en) | Operating system image management | |
US9954725B2 (en) | Redundant storage solution | |
JP5817308B2 (ja) | サーバ、サーバシステムおよびサーバの冗長切り替え方法 | |
US9423956B2 (en) | Emulating a stretched storage device using a shared storage device | |
US20150205688A1 (en) | Method for Migrating Memory and Checkpoints in a Fault Tolerant System | |
US9442811B2 (en) | Emulating a stretched storage device using a shared replicated storage device | |
US20170024232A1 (en) | Methods and systems for integrating a volume shadow copy service (vss) requester and/or a vss provider with virtual volumes (vvols) | |
US11947425B2 (en) | Storage volume snapshot object management | |
CN106612314A (zh) | 基于虚拟机实现软件定义存储的系统 | |
US20220398163A1 (en) | High frequency snapshot technique for improving data replication in disaster recovery environment | |
US20200387575A1 (en) | Migrating virtual machines using asynchronous transfer and synchronous acceleration | |
US10241874B2 (en) | Checkpoint method for a highly available computer system | |
CN113849136A (zh) | 一种基于国产平台的自动化fc块存储处理方法和系统 | |
Anderson et al. | Local recovery for high availability in strongly consistent cloud services | |
Guay et al. | Early experiences with live migration of SR-IOV enabled InfiniBand | |
CN112187523A (zh) | 一种网络高可用实现方法及超融合系统 | |
US11238010B2 (en) | Sand timer algorithm for tracking in-flight data storage requests for data replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140430 |
|
RJ01 | Rejection of invention patent application after publication |