The array-based replication technology uses the remote replication function provided by the storage systems to replicate the service data from the production data center (DC) to a remote disaster recovery (DR) DC.
Array-Based Replication Principles
Storage replication uses the synchronous/asynchronous remote replication functions provided by the storage systems to replicate service data from the production DC to a remote DR DC, thereby implementing replication and protection for the production DC data.
Protection Implemented by Array-Based Replication
Figure 1 shows the protection implemented by array-based replication.
Figure 1 Protection implemented by array-based replication
- At the production DC, create logical unit numbers (LUNs) and plan the to-be-DR-protected primary LUN.
- Migrates the to-be-protected production VM to the planned primary LUN through the storage system.
- At the DR site, create LUNs and plan a secondary LUN with the same size as the primary LUN.
- Configure a connection between the two storage systems.
Configure the LUNs' remote replication relationship and consistency groups.
- Configure site information.
Configure the mapping between inter-site resources.
- Register storage devices to discover remote LUNs and consistency groups.
- Create a storage protected group, select the to-be-protected VM, and specify a protection policy.
- Synchronize the DR protection-related configurations.
- Create a recovery plan according to the protection policy.
Storage-based replication uses various DR technologies. Some DR technologies such as synchronous replication (SAN), asynchronous replication (SAN) will be described in this section.
Synchronous Replication (SAN)
Synchronous replication (SAN) principles are described as follows:
- After a remote synchronous replication relationship is set up between a primary LUN at the production site and a secondary LUN at the DR site, an initial synchronization is implemented to replicate all the data from the primary LUN to the secondary LUN.
- The primary LUN receives a write request from the host during the initial synchronization, and checks the synchronization progress.
- If the data block has not been synchronized to the secondary LUN, data is written to the primary LUN and the primary LUN returns a completion response to the host. Later, a synchronization task is performed to synchronize the entire data block to the secondary LUN.
- If the data block has been synchronized, the new data block must be written to both the primary and secondary LUNs.
- If the data block is being synchronized, the new data block will not be written to the primary and secondary LUNs until the data block is completely copied.
- After the initial synchronization is completed, data on the primary LUN and on the secondary LUN are the same. If the primary LUN receives a write request from the production host later, the I/O will be processed as shown in Figure 2.
Figure 2 I/O processing during synchronous replication
- The primary LUN receives a write request from a production host and sets the differential log value to Differential for the I/O-specific data block.
- The data of the write request is written to both the primary and secondary LUNs. When writing data to the secondary LUN, the production site sends the data to the DR site over a preset link.
- If data is successfully written to both the primary and secondary LUNs, the corresponding differential log value is changed to Non-differential. Otherwise, the value remains Differential, and the data block will be copied again in the next synchronization.
- The primary LUN returns a write completion acknowledgement to the production host.
Asynchronous Replication (SAN)
Asynchronous replication (SAN) principles are described as follows:
- After a remote asynchronous replication relationship is set up between a primary LUN at the production site and a secondary LUN at the DR site, an initial synchronization is implemented.
- If the primary LUN receives a write request from a production host during the initial synchronization, data is written only to the primary LUN.
- After the initial synchronization, the secondary LUN data status changes to Synchronized or Consistent (if the host sends no write request during the initial synchronization, the secondary LUN data status is synchronized; otherwise, the secondary LUN data status is Consistent). Then, I/O requests are processed as shown in Figure 3.
Figure 3 I/O processing during asynchronous replication
- The primary LUN receives a write request from a production host.
- After data is written to the primary LUN, a write completion response is immediately returned to the host.
- Incremental data is automatically synchronized from the primary LUN to the secondary LUN every synchronization period (If the synchronization type is Manual, users need to trigger the synchronization manually). Before the synchronization, the storage system creates snapshots for the primary and secondary LUNs.
- The snapshot generated for the primary LUN ensures data consistency between the primary LUN and the secondary LUN during data synchronization.
- The snapshot for the secondary LUN provides a backup for the data on the secondary LUN before synchronization, thereby preventing the data on the secondary LUN from becoming unusable upon an exception during synchronization.
- During the synchronization, data is read from the snapshot of the primary LUN and copied to the secondary LUN.
- After the synchronization is completed, the snapshots of the primary and secondary LUNs are removed, and later the next synchronization period starts.
Copyright © Huawei Technologies Co., Ltd.