Network-based virtual machine replication
By separating data change filters from replication processing services in a virtualized environment and connecting them over a network, the problems of low resource utilization and insufficient deployment flexibility in virtualization technology are solved, enabling more efficient disaster recovery and failover capabilities.
Patent Information
- Application Number
- CN202511018464.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-11-11
- Filing Date
- 2025-07-23
- Publication Date
- 2026-05-15
AI Technical Summary
Existing virtualization technologies have low resource utilization in disaster recovery and data backup, and lack deployment flexibility, making it difficult to respond quickly in failover events.
By separating the data change filter from the replication processing service and communicating over a network connection, the data change filter can run on a virtualized host, while the replication processing service runs independently on a dedicated host, enabling flexible deployment options and resource optimization.
It improves resource utilization and deployment flexibility, ensures rapid response and failover in disaster recovery scenarios, reduces resource overhead, and supports multiple hosts and dynamic load balancing.
Smart Images

Figure CN122044952A_ABST
Abstract
Description
Background Technology
[0001] Virtualization technology allows multiple virtual machines to run on a single physical host, improving resource utilization and flexibility in computing environments. These virtual machines operate as independent systems, each with its own operating system and applications. By abstracting the hardware resources of the physical machine, virtualization technology enables the creation of multiple isolated virtual environments on a single physical server. This technology has revolutionized data centers and cloud computing, enabling more efficient use of computing resources and greater scalability.
[0002] In recent years, the concept of virtualization has gained widespread attention due to advancements in hardware and software capabilities. Modern virtualization platforms use a hypervisor (also known as a virtual machine monitor) to manage the allocation of physical resources to virtual machines. This layer of abstraction allows multiple operating systems and applications to share the same physical hardware without interfering with each other. Virtualization can be applied to various components of IT infrastructure, including servers, storage, and networks, providing the foundation for flexible computing environments.
[0003] Virtualization offers organizations numerous benefits, including reduced hardware costs, improved energy efficiency, and simplified IT management. Virtualization enables the rapid provisioning of new virtual machines, facilitates easier testing and development environments, and supports legacy applications on modern hardware. Furthermore, virtualization enhances business continuity by allowing virtual machines to be migrated more easily between physical hosts. In a virtualized infrastructure, data backup and disaster recovery are crucial for preventing data loss and system failures. Attached Figure Description
[0004] To gain a more complete understanding of this disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings.
[0005] Figure 1 It is a block diagram of a virtualized environment according to some implementation methods.
[0006] Figure 2A-2C Various configurations of a virtualized backup system during the replication process are shown according to some implementation methods.
[0007] Figure 3 This is a flowchart of a copying method according to some implementation methods.
[0008] Figures 4A-4B This is a block diagram of intermediate steps in a failover process according to some implementation methods.
[0009] Figures 5A-5B This is a block diagram of intermediate steps in a failover process according to some other implementations.
[0010] Unless otherwise stated, the corresponding numbers and symbols in different figures usually refer to the corresponding parts. Detailed Implementation
[0011] The following disclosure provides several different examples for implementing different features. Specific examples of components and arrangements are described below to simplify this disclosure. Of course, these are merely examples and are not intended to be limiting.
[0012] Backup systems used in virtualized environments typically replicate virtual machines (VMs) from one location to another for disaster recovery purposes. In one example, the backup system replicates VMs by continuously intercepting data change operations made to them and sending these data change operations to the backup site. These data change operations can be intercepted using a filter that runs within the hypervisor of the virtualization host. This filter (also called a data change filter) is a software component of the hypervisor used to intercept and replicate modifications made to the VM's data. For example, a data change operation can be an I / O operation, and the data change filter can be an input / output (I / O) filter used to intercept I / O operations from the protected VM. By running within the hypervisor, the filter can intercept data change operations with minimal impact on VM performance. The replication processing service retrieves the intercepted data change operations from the filter and processes them to replicate to the backup site. Data change operations can be received from the filter via any suitable communication channel, such as a network. The replication management service oversees the backup system, including the configuration and coordination of the data change filter and the replication processing service.
[0013] This disclosure describes a backup system that separates the replication processing service from the virtualization host where the data change filters are installed. This separation allows for more flexible deployment options and improved resource utilization. The replication processing service is installed on a dedicated replication host, which can be physical or virtual. Furthermore, a single replication processing service can manage multiple data change filters across different virtualization hosts, without requiring a dedicated replication processing service for each virtualization host.
[0014] This backup system utilizes a network connection (such as a TCP / IP-based network connection) between the data change filter and the replication processing service, allowing the data change filter and replication processing service to run on separate hosts. This network-based communication enables various deployment scenarios, such as enabling multiple data change filters on different virtualization hosts to send data to a single replication processing service, or allowing failover virtual machines to be moved between hosts while maintaining replication.
[0015] One benefit of this separation is the ability to optimize resource usage in disaster recovery scenarios. For example, in a standby configuration, a single high-capacity replication processing service is ready to manage multiple virtualized hosts at any time. In this scenario, during a failover event, the standby hosts can be powered on, and data change filters on these hosts can communicate with the centralized replication processing service over the network to perform data recovery. Compared to having a separate replication processing service on each host, this configuration allows for simplified management and potentially reduced resource overhead.
[0016] Another deployment scenario involves enabling a single active virtualization host to run multiple replication processing services, each corresponding to a power-down standby host. In a failover event, the standby host can be powered on, and its respective replication processing service can be quickly transferred to it. This approach allows for efficient resource utilization during normal operation while providing rapid failover capabilities when needed.
[0017] By separating the replication processing service from the data change filter and providing network-based communication between the two, this backup system offers greater flexibility in deployment options and improved resource utilization, especially in disaster recovery scenarios.
[0018] Figure 1 This is a block diagram of a virtualized environment 100 according to some implementation methods. The virtualized environment 100 includes multiple sites 102, including an active site 102A and a backup site 102B. In some aspects, replication is used to create and maintain backup copies of data and systems from the active site 102A to the backup site 102B. This configuration provides data protection and disaster recovery capabilities, allowing operational continuity to be maintained at the backup site 102B in the event of a failure at the active site 102A.
[0019] Activity site 102A serves as the primary operating environment within virtualization environment 100. It comprises various components that work together to support the execution of virtual machines, including host 104A, data storage 106A, and virtualization management service 108A. Although only one instance of each component is shown, each component can have multiple instances.
[0020] Host 104A may be a physical server used to provide the computing resources required to run virtual machines. Therefore, host 104A may also be referred to as a virtualization host. Host 104A executes hypervisor 112A, which manages the allocation of hardware resources to virtual machines 114A running on host 104A. Host 104A may also include various components to support virtualization and system management. In some aspects, host 104A may employ hardware-assisted virtualization technologies (such as Intel VT-x or AMD-V) to improve the performance and security of virtual machines 114A. Host 104A may be equipped with high-performance processors, ample memory, and fast storage interfaces to efficiently run multiple virtual machines simultaneously. Furthermore, host 104A may have network interfaces supporting advanced features such as single root I / O virtualization (SR-IOV) to provide dedicated network resources to virtual machines 114A. In some cases, host 104A may also include dedicated hardware accelerators for tasks such as encryption or graphics processing, which can be shared among virtual machines to enhance their capabilities. The host 104A supports live migration capabilities, allowing virtual machines to migrate between physical hosts with minimal downtime. It can also implement resource pooling and distributed resource scheduling to optimize workload distribution across multiple hosts in the cluster.
[0021] Data store 106A is a storage system that provides the underlying storage infrastructure for host 104A. It may include one or more storage devices, such as hard disk drives, solid-state drives, storage area networks, etc. Data store 106A may contain virtual machine disk files, configuration files, and other data required for the operation of virtual machines 114A running on host 104A. For example, data store 106A may include storage disks 116A (which can be physical or virtual disks) for virtual machines 114A. In some aspects, data store 106A utilizes advanced storage technologies such as thin provisioning or deduplication to optimize storage utilization. It can also implement a tiered storage architecture where frequently accessed data is stored on high-performance media, while infrequently accessed data is moved to a lower-cost storage tier. Data store 106A may support various storage protocols, such as Network File System (NFS), Internet Small Computer System Interface (iSCSI), or Fibre Channel, to provide flexible connectivity options for host 104A. In some cases, data store 106A includes features such as data compression or encryption to improve data security and reduce storage footprint. The DataStore 106A supports the ability to migrate virtual machine disks between different storage systems without interrupting running virtual machines. It can also implement storage policies to automate the placement and management of virtual machine data based on performance, availability, and compliance requirements.
[0022] Virtualization Management Service 108A oversees and controls the virtualization environment on Activity Site 102A. It provides a centralized interface for managing hosts 104A (including virtual machines 114A) and data storage 106A (including storage disks 116A). Virtualization Management Service 108A can handle tasks such as virtual machine provisioning, resource allocation, monitoring, and maintenance. It also provides capabilities for creating and managing virtual networks, configuring storage policies, and enforcing security measures across the virtualization infrastructure. In some aspects, Virtualization Management Service 108A provides functionality for performance optimization, capacity planning, and automated workload balancing across hosts. Furthermore, Virtualization Management Service 108A can provide APIs and plugins to extend its functionality and integrate with third-party management tools.
[0023] The virtualization management service 108A can be implemented in any desired manner to meet the needs of the virtualization environment 100. The virtualization management service 108A can be deployed on a physical host, as a virtual machine on the host, using containerization technology, etc. More generally, the virtualization management service 108A can manage the host ( Figure 1 (Not shown separately) The management host can be a physical or virtual host.
[0024] Active site 102A incorporates a backup system to ensure data protection and disaster recovery capabilities. This system utilizes replication, continuously intercepting data change operations and sending them from backup site 102B to active site 102A. Backup site 102B can be different from active site 102A. Specifically, this site can be located in a different physical location (e.g., a different geographic location) or a different logical location (e.g., a different part of a network). By replicating data in a near real-time manner, the backup system maintains an up-to-date copy of information at backup site 102B, allowing for rapid recovery in the event of a failure at active site 102A. The backup system includes a replication management service 122A, a data change filter 124A, and a replication processing service 126A at active site 102A, which work together to replicate data change operations to backup site 102B.
[0025] The Replication Management Service 122A oversees the replication process within the active site 102A. It configures, coordinates, and monitors the various components involved in data replication. The Replication Management Service 122A can interact with the Virtualization Management Service 108A to manage the protection of the virtual machine 114A and collect necessary configuration details. It also manages the deployment and configuration of replication components within the active site 102A.
[0026] The replication management service 122A can be implemented in any desired manner to meet the needs of the virtualization environment 100. The replication management service 122A can be deployed on a physical host, as a virtual machine on the host, using containerization technology, etc. More generally, the replication management service 122A can be used on the management host ( Figure 1 (Not shown separately) This is executed on a management host, which can be a physical host or a virtual host.
[0027] Data change filter 124A is a dedicated component installed within hypervisor 112A on host 104A. In some embodiments, the data change filter is installed within the hypervisor of each host requiring replication. Its primary function is to intercept and capture data change operations from virtual machine 114A running on host 104A. Data change operations may include any modifications to data stored on or accessed by virtual machine 114A, such as write operations. Data change operations may include I / O operations on storage disk 116A, which may be file-agnostic because the operation occurs at the block level of storage. In some implementations, data change operations may include offsets and binary data (of storage disk 116A). Therefore, data change filter 124A operates at a low level (e.g., closer to storage disk 116A than the application accessing storage disk 116A) to intercept data change operations from virtual machine 114A before they reach the corresponding storage disk 116A. In some implementations, the filter intercepts these operations asynchronously, allowing the original data change operations to continue to storage disk 116A without blocking or delaying the operation. This asynchronous interception enables the filter to intercept data change operations without impacting the performance of virtual machine 114A. The data change operations are then replicated to backup site 102B. Continuously intercepting and replicating these data change operations allows for near real-time data protection with minimal latency between changes occurring on the protected virtual machine 114A and the replication of those changes to backup site 102B.
[0028] Data change filter 124A is integrated into the I / O stack of hypervisor 112A, serving as a virtual I / O adapter for intercepting and capturing data change operations from virtual machine 114A at the block level. Data change filter 124A can utilize network communication (e.g., TCP / IP-based communication protocols) to send the intercepted data change operations to services outside hypervisor 112A, operating asynchronously to intercept I / O operations without significantly impacting the performance of virtual machine 114A. Data change filter 124A intercepts write operations en route to the virtual machine's storage disk, including storage offsets and binary data information. In some implementations, it includes the ability to compress data, batch process, ensure data integrity, and / or manage operation sequencing to maintain consistency in the copied data. Data change filter 124A runs in the user space of hypervisor 112A rather than its kernel space, which improves the stability of host 104A. This user-space implementation allows for easier updating and maintenance of data change filter 124A without requiring changes to the core components of hypervisor 112A.
[0029] The replication processing service 126A is responsible for processing data change operations intercepted from virtual machine 114A and sending them to backup site 102B. It can receive data change operations from data change filter 124A, potentially across hosts. The replication processing service 126A can perform various tasks such as data compression, deduplication, and encryption before sending changes to backup site 102B over the network. It can also manage the ordering and integrity of replicated data to ensure consistency at backup site 102B. In some aspects, the replication processing service 126A implements intelligent batching algorithms to optimize network usage and reduce latency. That is, the replication processing service 126A can aggregate data change operations from data change filter 124A and then batch them for sending to backup site 102B, potentially at configurable time intervals. For example, the replication processing service 126A can batch a data change operation for 5 seconds before sending it to backup site 102B. This allows administrators to configure a balance between replication frequency and network efficiency based on their specific requirements and network conditions. In some respects, the replication processing service 126A replicates data change operations without aggregation, which allows for faster replication.
[0030] The replication processing service 126A can be implemented in any desired manner to meet the needs of the virtualization environment 100. The replication processing service 126A can be deployed on a physical host, as a virtual machine on the host, as a virtual replication appliance (VRA) on the host, using containerization technology, etc. More generally, the replication processing service 126A can be deployed on a replication host (… Figure 1(Not shown separately) The replication is performed on a physical host or a virtual host.
[0031] Components of active site 102A (including host 104A and associated services) can be interconnected via any suitable type of network, including local area networks (LANs), wide area networks (WANs), the Internet, high-speed interconnects (such as InfiniBand), etc. In some implementations, these network connections may utilize dedicated high-speed links between components to ensure low-latency and high-bandwidth communication for efficient data replication. The network infrastructure may include routers, switches, and firewalls configured to prioritize and protect traffic between data change filter 124A and replication processing service 126A. The network infrastructure may also include virtual network components provided by hypervisor 112A. The network may support Quality of Service (QoS) mechanisms to prioritize or delay replication traffic based on replication needs and network conditions. In some cases, the network may utilize dedicated protocols or optimization mechanisms designed specifically for low-latency, high-throughput data transmission between components in virtualized environment 100.
[0032] The replication processing service 126A is separated from the data change filter 124A. This separation allows for flexible deployment options and improves resource utilization. The replication processing service 126A can run on a dedicated replication host, which can be physical or virtual. The data change filter 124A and the replication processing service 126A can communicate over the network of the active site 102A, enabling them to operate on separate hosts. This network-based communication allows for various deployment scenarios, such as having multiple data change filters 124A on different virtualized hosts send data to the replication processing service 126A on a single replication host. In some implementations, the replication processing service 126A replicates changes from multiple data change filters 124A to the backup site 102B.
[0033] Data change filter 124A can connect to replication processing service 126A via network connection 128A, which can be a connection within the network of active site 102A. This network connection 128A allows data change filter 124A to send intercepted data change operations to replication processing service 126A for processing and replication. Due to network connection 128A, virtual machine 114A and replication processing service 126A are separated, with data change filter 124A acting as an intermediary for data replication across virtualization host and replication host. Therefore, replication processing service 126A can run on a different host than data change filter 124A.
[0034] The network connection 128A between the data change filter 124A and the replication processing service 126A can use a TCP / IP-based protocol optimized for low-latency, high-throughput data transmission. This protocol can implement a custom application layer designed for efficient transmission of data change operations. The protocol may include features such as message framing, sequence numbering, and acknowledgment mechanisms to ensure reliable delivery of data change operations to the replication processing service 126A. Furthermore, the protocol may support delta encoding, in which only the differences between consecutive operations are transmitted, further reducing the amount of data sent over the network. The protocol may support connection pooling, allowing multiple logical streams of data change operations to be multiplexed over a single connection.
[0035] Network connection 128A can employ data compression techniques to reduce bandwidth usage. For example, data change filter 124A can apply a lossless compression algorithm (such as LZ4 or Zstandard) to intercepted data change operations before sending them to replication processing service 126A. The compression level can be configurable and can be set by the administrator based on the desired compression efficiency and processing overhead.
[0036] Network connection 128A can employ security measures to protect transmitted data. This may include encryption and authentication using Transport Layer Security (TLS), and possibly hardware-accelerated encryption on supported platforms. The protocol can implement a handshake process that potentially uses pre-shared certificates, involving mutual authentication between the data change filter 124A and the replication processing service 126A. This authentication process can use public / private certificate pairs, such as those generated by the service or system administrator. Using these certificate pairs allows verification of the identities of both the sender and receiver of the data change operation.
[0037] The aforementioned hosts (e.g., virtualization hosts, replication hosts, and management hosts) may include appropriate components for performing any desired functions. One or more modules within these hosts may be partially or wholly embodied as software and / or hardware for performing any of the functions described herein. For example, a host may include a processor and memory. The processor may be a microprocessor, an application-specific integrated circuit, a microcontroller, etc. Memory may be a non-transitory computer-readable medium storing instructions executable by the processor. When executed by the processor, these instructions cause the processor to perform any of the functions described herein.
[0038] Backup site 102B has components similar to those of active site 102A, but may be located in a different physical or logical location. It includes host 104B, data storage 106B, virtualization management service 108B, hypervisor 112B, virtual machine 114B, storage disk 116B, replication management service 122B, data change filter 124B, replication processing service 126B, and network connectivity 128B. These can have similar functionality to their corresponding components at active site 102A and are implemented in a similar manner. Although only one instance of each component is shown, each component can have multiple instances.
[0039] Backup site 102B is primarily used for replication and failover purposes, serving as the destination to which data is backed up from active site 102A. In some cases, backup site 102B remains in standby mode during normal operation, ready to take over in the event of a failure or disaster at the active site. The replication process between active site 102A and backup site 102B is managed by replication management services 122A and 122B.
[0040] The replication processing service 126B is separated from the data change filter 124B. This separation allows for flexible failover operations, such as enabling multiple data change filters 124B on different virtualization hosts to be managed by the replication processing service 126B on a single replication host.
[0041] In the replication stream of virtual machine 114A, data change filter 124A intercepts data change operations made by virtual machine 114A to its storage disk 116A. These intercepted data change operations are then sent by data change filter 124A to replication processing service 126A. Replication processing service 126A processes these data change operations and replicates them to the corresponding replication processing service 126B at backup site 102B. For example, these data change operations can be sent from replication processing service 126A to replication processing service 126B via a network connection. Upon receiving the replicated data change operations, replication processing service 126B stores them in a log on data storage 106B, which may be located at backup site 102B. This logging method allows for point-in-time recovery and provides a detailed record of all data change operations from storage disk 116A, potentially enabling more granular recovery options.
[0042] In the failover flow for virtual machine 114A, backup site 102B takes over operations from active site 102A. Replication processing service 126B accesses logs stored on data storage 106B to restore the data of virtual machine 114A to the desired point in time. The restored data is used to recreate storage disk 116B in data storage 106B. A new virtual machine 114B, along with a corresponding data change filter 124B, is created on host 104B at backup site 102B. This new virtual machine 114B is configured to use the recreated storage disk 116B, effectively becoming a replica of the original virtual machine 114A.
[0043] In some respects, storage disk 116B can initially be created as an empty disk so that virtual machine 114B can quickly begin operation. Before filling storage disk 116B with recovered data, data change filter 124B can retrieve the necessary data for virtual machine 114B. Specifically, data change filter 124B can forward data requests from virtual machine 114B to replication processing service 126B, which can retrieve the requested data from the logs and provide it to data change filter 124B. Once the new virtual machine 114B is running, data change filter 124B intercepts new data change operations on storage disk 116B. These new data change operations can be sent to replication processing service 126B for further replication. Data change filter 124B can intercept these new data change operations asynchronously or synchronously, depending on whether storage disk 116B has been rebuilt. In some implementations, the data change filter 124B can synchronously acquire new data change operations during the reconstruction of the storage disk 116B, temporarily preventing the operation from proceeding to the storage disk 116B until the relevant data of the storage disk 116B is retrieved from the log.
[0044] Figure 2A-2C Various configurations of a virtualized backup system during replication are illustrated according to some implementations. In these configurations, replication processing service 126 and data change filter 124 are deployed on different hosts 104. As described later, replication processing service 126 may be deployed on the same host 104 as the virtual machine 114 to be backed up by replication processing service 126, or virtual machine 114 and replication processing service 126 may be deployed on separate hosts.
[0045] Figure 2AA multi-host configuration 200A of the backup system is illustrated. In this configuration, two hosts 104 are depicted, each running a hypervisor 112. The first host 104 executes a replication processing service 126 on its hypervisor 112. The second host 104 executes a virtual machine 114 on its hypervisor 112, which also includes a data change filter 124. Therefore, the replication processing service 126 runs on a different host 104 than the data change filter 124.
[0046] Virtual machine 114 is connected to data change filter 124 on the same host. Data change filter 124 intercepts data change operations from virtual machine 114. As previously described, data change filter 124 is connected to replication processing service 126 via network connection 128.
[0047] By separating the replication processing service 126 from the data change filter 124, the system allows for more efficient resource utilization and enhanced load balancing capabilities. In some aspects (followed by...) Figure 2B (As described below), a single replication processing service 126 can replicate data change operations from multiple data change filters 124 on virtual machines 114 on different hosts 104. In some aspects (subsequently for...) Figure 2C (As described), multiple replication processing services 126 can work together in a load-balanced manner to distribute the replication workload from the data change filter 124.
[0048] Figure 2B Another multi-host configuration 200B of the backup system is illustrated. In this configuration, a replication processing service 126 executing on a single host 104 receives data change operations from multiple data change filters 124 executing on multiple hosts 104. Similar to configuration 200A, data change filters 124 intercept data change operations from their respective virtual machines 114 and forward these operations to the replication processing service 126 via network connection 128. Network connection 128 may include network connections 128 between hosts 104 or network connections 128 within the same host 104 (e.g., provided by the hypervisor 112 of that host 104).
[0049] The data change filter 124 can reside on the same host 104 as the replication processing service 126, or on a different host 104. This arrangement allows the replication processing service 126 to centralize the processing of data change operations from multiple virtual machines 114 across different hosts 104, which reduces overall resource requirements compared to having a dedicated replication processing service on each host 104. This approach can benefit organizations adopting virtualization licensing based on the CPU usage of powered-on hosts.
[0050] Figure 2C Another multi-host configuration 200C of the backup system is illustrated. In this configuration, multiple replication processing services 126 running on multiple hosts 104 receive data change operations from a single data change filter 124 running on a single host 104. Similar to configuration 200A, the data change filter 124 intercepts data change operations from its corresponding virtual machine 114 and sends these operations to the replication processing service 126 via network connection 128. Network connection 128 may include network connections 128 between hosts 104 or network connections 128 within the same host 104 (e.g., provided by the hypervisor 112 of that host 104).
[0051] The replication processing service 126 can reside on the same host 104 as the data change filter 124, or on a different host 104. This arrangement allows for distributed replication of data change operations from a single virtual machine 114, which can improve system resilience and / or performance compared to setting up a dedicated replication processing service on each host 104. Furthermore, this separation facilitates dynamic load balancing of the replication processing service 126. The data change filter 124 can reroute its data change operations to different replication processing services 126, regardless of their host location, thus allowing for balanced workload distribution across available replication processing services 126. This flexibility in load balancing can contribute to more efficient resource utilization and improved overall system performance.
[0052] Figure 2B and Figure 2C The configurations shown can be combined to create more deployment scenarios. In such configurations, the backup system can include any number of data change filters 124 and any number of replication processing services 126, replicating data change operations in any desired manner. For example, multiple data change filters 124 from various hosts 104 can send data change operations to multiple replication processing services 126 distributed across different hosts 104. This arrangement allows for dynamic load balancing and fault tolerance because the system can reallocate replication workloads based on current resource availability and performance metrics. The system can support many-to-many replication, where data change filters 124 send data change operations to multiple replication processing services 126, and replication processing services 126 receive data change operations from multiple data change filters 124. This flexibility in configuration allows organizations to tailor their replication schemes to specific performance, scalability, and redundancy requirements.
[0053] Figure 3 This is a flowchart of a copying method 300 according to some implementation methods. (The text will be combined with...) Figure 1The replication method 300 is described using a virtualized environment 100. The replication method 300 can be implemented by a management service. Specifically, the replication management service 122A can execute the replication method 300.
[0054] The replication management service 122A can perform step 302, using the data change filter 124A in the hypervisor of the virtualization host 104A. The hypervisor is configured to execute virtual machine 114A, and the data change filter 124A is configured to intercept data change operations from virtual machine 114A. Data change operations may include input / output operations to virtual storage disk 116A, and each of these input / output operations may include an offset and binary data from virtual storage disk 116A. In some cases, the data change filter 124A can intercept data change operations by asynchronously replicating the input / output operations without preventing the input / output operations from continuing to virtual storage disk 116A.
[0055] The replication management service 122A can perform step 304, establishing a network connection 128A between the data change filter 124A and the replication processing service 126A. The replication processing service 126A can be executed on a replication host, which is different from the virtualization host 104A. The replication host can be virtual or physical. The replication host and the virtualization host 104A are located at the active site 102A. The network connection 128A can be established using a TCP / IP-based protocol.
[0056] The replication management service 122A can perform step 306, instructing the replication processing service 126A to perform subsequent operations. This step may involve managing the replication processing service 126A, such as configuring it to perform specific tasks related to data replication.
[0057] The replication management service 122A can perform step 308, instructing the replication processing service 126A to receive a data change operation from the data change filter 124A via network connection 128A. The data change operation can be compressed at the data change filter 124A before being sent via network connection 128A. Additionally or alternatively, the data change operation can be encrypted at the data change filter 124A before being sent via network connection 128A.
[0058] In some respects, data change filter 124A may be one of multiple data change filters 124A used in multiple management programs, and network connection 128A may be one of multiple network connections 128A established between replication processing service 126A and data change filter 124A. Replication management service 122A may perform steps to instruct replication processing service 126A to receive corresponding data change operations from the corresponding data change filter in data change filter 124A via network connection 128A.
[0059] In some aspects, replication processing service 126A may be one of multiple replication processing services 126A, and network connection 128A may be one of multiple network connections 128A established between data change filter 124A and replication processing service 126A. Replication management service 122A may perform steps to balance data change operations received through network connection 128A based on the workload distribution of replication processing service 126A. This workload distribution can be obtained by receiving workload metrics from replication processing service 126A and using these metrics to derive the current workload distribution.
[0060] The replication management service 122A can perform step 310, replicating the data change operation to the backup site 102B. In some implementations, the replication processing service 126A can aggregate the data change operation at configurable intervals before replicating it.
[0061] Figures 4A-4B This is a block diagram illustrating intermediate steps in a failover process according to some implementations. Specifically, it shows a series of configurations at the backup site during a failover from the active site. Components at the backup site can be controlled by a replication management service (not shown separately).
[0062] exist Figure 4A In this setup, the backup site operates in a standby configuration. One host 104 is active and has a replication processing service 126 running on its hypervisor 112. The replication processing service 126 manages replication operations to the backup site. Meanwhile, another host 104 at the backup site is inactive (indicated by a dashed line). For example, this inactive host 104 may be in a standby, power-off, or other similar state. In some respects, the inactive host 104 is powered on but no virtual machines are running, which can be particularly advantageous for organizations employing a licensing model based on active CPU usage. During failover, the inactive host 104 can be quickly activated and put into service. This approach allows for rapid response to disaster scenarios while minimizing resource consumption during normal operation.
[0063] exist Figure 4BIn this configuration, the backup site switches to a failover configuration. In this configuration, the previously inactive host 104 becomes active and starts virtual machine 114 to run on its hypervisor 112. A data change filter 124 is configured for this new virtual machine 114. In the failover configuration, the data change filter 124 captures data change operations from virtual machine 114 and also provides the necessary data to virtual machine 114.
[0064] As previously described, virtual machine 114, started during failover, can rebuild its storage disk from the replication log stored on the data store. This rebuilding process may take some time. If virtual machine 114 requests data that has not yet been restored to its storage disk, data change filter 124 can retrieve the necessary data for virtual machine 114. Specifically, data change filter 124 can forward data requests from virtual machine 114 to replication processing service 126, which can retrieve the requested data from the replication log stored on the data store and provide it to data change filter 124. This allows virtual machine 114 to start up quickly without waiting for all its data to be fully restored. Meanwhile, data change filter 124 continues to capture any new data change operations performed by virtual machine 114. These captured operations can then be sent to replication processing service 126 to maintain continuous replication.
[0065] Although Figure 4B The diagram illustrates activating a single virtual machine 114 during a failover process; however, in some implementations, any number of virtual machines can be activated as part of the failover process. In this implementation, a single replication processing service 126 manages data change filters 124 for the failover virtual machine 114. This scalable approach allows the backup system to handle various failover scenarios, from single-machine recovery to full-site failover involving multiple virtual machines 114. The replication processing service 126 coordinates data recovery and continuous replication for each activated virtual machine 114.
[0066] Figures 5A-5B This is a block diagram illustrating intermediate steps in a failover process according to some other implementations. Specifically, the diagram shows another configuration sequence at the backup site during a failover from the active site. Components of the backup site may be controlled by a replication management service (not shown separately).
[0067] exist Figure 5AIn this configuration, the backup site operates in a standby configuration. In this configuration, one host 104 is active and has multiple replication processing services 126 running on its hypervisor 112. Meanwhile, another host 104 at the backup site is inactive (indicated by dashed lines). For example, this inactive host 104 may be in a standby, power-down, or other state. In some respects, the inactive host 104 may be powered on but no virtual machines are running. The replication processing service 126 may be running but idle, ready to begin processing replicated data during failover. For example, the replication processing service 126 may maintain minimal resource usage but is configured to quickly start and begin processing replicated data upon activation.
[0068] exist Figure 5B In this configuration, the backup site switches to a failover configuration. In this configuration, the previously inactive host 104 becomes active and starts virtual machine 114 to run on its hypervisor 112. A data change filter 124 is configured for this new virtual machine 114. In the failover configuration, the data change filter 124 captures data change operations from virtual machine 114 and also provides the necessary data to virtual machine 114. During a failover event, multiple virtual machines 114 can be activated on different hosts 104, with each virtual machine 114 on each host 104 managed by a corresponding replication processing service 126.
[0069] In some aspects, the replication processing service 126 for virtual machine 114 on the newly activated host 104 can be migrated to the newly activated host 104. Live migration technology can be used to migrate the replication processing service 126 from the previously running host 104 to the newly activated host 104. This technology allows the migration of the replication processing service 126 between hosts 104 with minimal disruption to its operation. Live migration may involve transferring the memory state and execution context of the replication processing service 126 from one host 104 to another while the service continues to run. Live migration may include reserving necessary resources on the target host 104, copying memory pages to the target host 104 while the service continues to run, copying CPU states to the target host 104, and then activating the migrated service on the target host 104. Throughout the process, the network connection 128 between the data change filter 124 and the replication processing service 126 can be maintained and redirected to the new host 104. This live migration technology allows for rapid activation of failover resources while minimizing downtime.
[0070] When the failover event ends, failover virtual machine 114 can be stopped, and replication processing service 126 can be moved back to the original host 104 (e.g., ...). Figure 5A(As shown in the diagram). This allows some hosts 104 to be deactivated again once the failover event is over, and the system to revert to a cost-effective standby configuration. This approach reduces resource usage during normal operation.
[0071] In an example embodiment of this disclosure, a method includes: using a data change filter in a hypervisor of a virtualization host, the hypervisor being configured to execute a virtual machine, the data change filter being configured to intercept data change operations from the virtual machine; establishing a network connection between the data change filter and a replication processing service, the replication processing service being executed on a replication host, which is different from the virtualization host, the replication host and the virtualization host being located at an active site; and instructing the replication processing service to perform the following operations: receiving the data change operations from the data change filter through the network connection; and replicating the data change operations to a backup site.
[0072] In some embodiments of the method, the data change filter is one of multiple data change filters used in multiple management programs, the network connection is one of multiple network connections established between the replication processing service and the data change filter, and the method further includes instructing the replication processing service to receive corresponding data change operations from the corresponding data change filter in the data change filter via the network connection. In some embodiments of the method, the replication processing service is one of multiple replication processing services, the network connection is one of multiple network connections established between the data change filter and the replication processing service, and the method further includes balancing the reception of data change operations via the network connection based on the workload distribution of the replication processing service. In some embodiments of the method, the network connection is established using a TCP / IP-based protocol. In some embodiments, the method further includes compressing the data change operation at the data change filter before sending the compressed data change operation via the network connection. In some embodiments, the method further includes encrypting the data change operation at the data change filter before sending the encrypted data change operation via the network connection. In some embodiments, the method further includes instructing the replication processing service to perform the following operation: aggregating data change operations from the data change filter at configurable intervals before replicating the data change operation. In some embodiments of this method, the data modification operation includes input / output operations to a virtual storage disk, and each of these input / output operations includes an offset of the virtual storage disk and binary data. In some embodiments of this method, the data modification operation includes input / output operations to a virtual storage disk, and the data modification filter intercepts the data modification operation by asynchronously copying the input / output operation without preventing the input / output operation from proceeding to the virtual storage disk.
[0073] In an exemplary embodiment of this disclosure, an apparatus includes: a processor; and a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the processor to: configure a data change filter in a hypervisor of a virtualization host, the hypervisor being configured to execute a virtual machine, the data change filter being configured to intercept data change operations from the virtual machine; and configure a replication processing service on a replication host, distinct from the virtualization host, the replication host and the virtualization host being located at an active site, the replication processing service being configured to receive data change operations from the data change filter via a network connection and to replicate the data change operations to a backup site.
[0074] In some implementations of the device, the network connection is established using a TCP / IP-based protocol, and the data change filter is configured to encrypt and compress the data change operation before sending it to the replication processing service.
[0075] In an exemplary embodiment of this disclosure, a system includes: a first replication host located at an active site; and a first virtualization host located at the active site, the first virtualization host being different from the first replication host, the first virtualization host being connected to the first replication host via a first network connection, the first virtualization host being configured to: execute a first virtual machine on a first hypervisor; intercept a first data change operation from the first virtual machine using a first data change filter of the first hypervisor; and send the first data change operation to the first replication host via the first network connection.
[0076] In some embodiments, the system further includes: a second replication host located at the active site, to which the first virtualization host is connected via a second network connection, wherein the first virtualization host is further configured to use a first data change filter to intercept a second data change operation from the first virtual machine, and to send the second data change operation to the second replication host via the second network connection. In some embodiments, the system further includes: a second virtualization host located at the active site, to which the second virtualization host is connected via a second network connection, wherein the second virtualization host is configured to: execute a second virtual machine on a second hypervisor; use a second data change filter of the second hypervisor to intercept a second data change operation from the second virtual machine; and send the second data change operation to the first replication host via the second network connection. In some embodiments, the system further includes: a second replication host located at a backup site, different from the active site, wherein the first replication host is configured to replicate the first data change operation to the second replication host. In some embodiments, the system further includes: a second virtualization host located at a backup site, distinct from the second replication host, the second virtualization host being configured to execute a second virtual machine on a second hypervisor, the second replication host being configured to rebuild a storage disk for the second virtual machine using a first data change operation. In some embodiments of the system, a second data change filter of the second hypervisor is configured to provide data to the second virtual machine during storage disk rebuilding. In some embodiments, the system further includes: a data storage located at the backup site, wherein the second replication host is configured to record the first data change operation on the data storage. In some embodiments of the system, the first virtualization host is further configured to compress the first data change operation before sending it to the first replication host via a first network connection. In some embodiments of the system, the first virtualization host is further configured to encrypt the first data change operation before sending it to the first replication host via the first network connection.
[0077] Although this disclosure describes or illustrates specific operations occurring in a particular order, this disclosure contemplates operations occurring in any suitable order. Furthermore, this disclosure contemplates any suitable operation repeated once or multiple times in any suitable order. Although this disclosure describes or illustrates specific operations occurring sequentially, this disclosure contemplates any suitable operations occurring substantially simultaneously where appropriate. Any suitable operation or sequence of operations described or illustrated herein may be interrupted, suspended, or otherwise controlled by another process (e.g., operating system or kernel) where appropriate. These actions may operate within the operating system environment or as independent routines occupying all or substantially a portion of system processing.
[0078] Although this disclosure has been described with reference to illustrative embodiments, this description is not intended to be limiting. Various modifications and combinations of the exemplary embodiments, as well as other embodiments of this disclosure, will be apparent to those skilled in the art upon reference to this specification. Therefore, the appended claims are intended to cover any such modifications or implementations.
Claims
1. A method, the method comprising: Using a data change filter in the hypervisor of a virtualization host, the hypervisor is configured to execute virtual machines, and the data change filter is configured to intercept data change operations from the virtual machines; A network connection is established between the data change filter and the replication processing service, which is executed on a replication host that is different from the virtualization host. The replication host and the virtualization host are located at the active site. as well as Instruct the replication processing service to perform the following operations: Receive the data change operation from the data change filter through the network connection; as well as The data changes are copied to the backup site.
2. The method as described in claim 1, wherein, The data change filter is one of a plurality of data change filters used in a plurality of management programs, the network connection is one of a plurality of network connections established between the replication processing service and the data change filter, and the method further includes instructing the replication processing service to receive a corresponding data change operation from the corresponding data change filter in the data change filter through the network connection.
3. The method as described in claim 1, wherein, The replication processing service is one of a plurality of replication processing services, the network connection is one of a plurality of network connections established between the data change filter and the replication processing service, and the method further includes balancing the reception of the data change operations through the network connection based on the workload distribution of the replication processing service.
4. The method of claim 1, wherein, The network connection is established using a TCP / IP-based protocol.
5. The method of claim 1, further comprising: The data change operation is compressed at the data change filter before being sent via the network connection.
6. The method of claim 1, further comprising: The data change operation is encrypted at the data change filter before being sent via the network connection.
7. The method of claim 1, further comprising instructing the replication processing service to perform the following operations: Before replicating the data change operations, the data change operations from the data change filter are aggregated at configurable intervals.
8. The method of claim 1, wherein, The data modification operations include input / output operations to a virtual storage disk, each of which includes the offset of the virtual storage disk and binary data.
9. The method of claim 1, wherein, The data change operation includes input / output operations to the virtual storage disk, and the data change filter intercepts the data change operation by asynchronously copying the input / output operation without preventing the input / output operation from reaching the virtual storage disk.
10. An apparatus, the apparatus comprising: processor; as well as A non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the processor to: Configure a data change filter in the hypervisor of the virtualization host, the hypervisor being configured to execute virtual machines, and the data change filter being configured to intercept data change operations from the virtual machines; as well as Configure a replication processing service on a replication host, which is different from the virtualization host. The replication host and the virtualization host are located at the active site. The replication processing service is configured to receive the data change operation from the data change filter via a network connection and replicate the data change operation to the backup site.
11. The device as claimed in claim 10, wherein, The network connection is established using a TCP / IP-based protocol, and the data change filter is configured to encrypt and compress the data change operation before sending it to the replication processing service.
12. A system comprising: The first replication host located at the active site; as well as A first virtualization host is located at the active site. This first virtualization host is different from the first replication host. The first virtualization host is connected to the first replication host via a first network connection. The first virtualization host is configured as follows: The first virtual machine is executed on the first supervisor. The first data change filter of the first management program is used to intercept the first data change operation from the first virtual machine; as well as The first data change operation is sent to the first replication host via the first network connection.
13. The system of claim 12, further comprising: The second replication host is located at the active site, and the first virtualization host is connected to the second replication host via a second network connection. The first virtualization host is further configured to use the first data change filter to intercept a second data change operation from the first virtual machine, and send the second data change operation to the second replication host via the second network connection.
14. The system of claim 12, further comprising: A second virtualization host is located at the active site, and the second virtualization host is connected to the first replication host via a second network connection. The second virtualization host is configured as follows: Execute the second virtual machine on the second supervisor; Use the second data change filter of the second management program to intercept the second data change operation from the second virtual machine; as well as The second data change operation is sent to the first replication host via the second network connection.
15. The system of claim 12, further comprising: A second replication host located at a backup site, which is different from the active site. The first replication host is configured to replicate the first data change operation to the second replication host.
16. The system of claim 15, further comprising: A second virtualization host located at the backup site, the second virtualization host being different from the second replication host, the second virtualization host being configured to execute a second virtual machine on a second hypervisor, and the second replication host being configured to use the first data change operation to rebuild the storage disk for the second virtual machine.
17. The system of claim 16, wherein, The second data change filter of the second management program is configured to provide data to the second virtual machine when the storage disk is rebuilt.
18. The system of claim 15, further comprising: Data storage located at the backup site, The second replication host is configured to record the first data change operation on the data storage.
19. The system of claim 12, wherein, The first virtualization host is further configured to compress the first data change operation before sending the first data change operation to the first replication host via the first network connection.
20. The system of claim 12, wherein, The first virtualization host is further configured to encrypt the first data change operation before sending the first data change operation to the first replication host via the first network connection.
