HyperMetro provided by storage devices are used to implement DR.
HyperMetro uses the dual-write and data change log (DCL) technologies to synchronize data changes between two data centers, ensuring data consistency. In addition, HyperMetro enables the storage arrays in the two data centers to concurrently provide services for hosts.
The effective locking and dual-write mechanisms are critical to HyperMetro of storage arrays. Data changes can be synchronized using the dual-write and DCL technologies while services are running, ensuring data consistency between the storage arrays in the two data centers.
Two storage arrays where HyperMetro is installed can process I/O requests concurrently. The locking mechanism is used to prevent access conflicts that occur when different hosts concurrently access the same storage array. Data can be written into a storage array only after the storage array is granted by the locking mechanism. If a storage array is not granted by the locking mechanism, the storage array must wait until the previous I/O is complete and then obtains the write permission after the previous storage array is released by the locking mechanism.
1. An application host delivers a write I/O to HyperMetro.
2. A log is recorded.
3. HyperMetro concurrently writes the write I/O to both the local cache and remote cache.
4. The local cache and remote cache return the write I/O result to HyperMetro.
5. A storage array returns the write I/O result to the application host after receiving the feedback from the local cache and remote cache.
If the write I/O fails to be written to the local cache or remote cache, HyperMetro services are suspended and the storage array in each data center sends an arbitration request to the cloud platform quorum server. The storage array that wins the arbitration continues providing services but the storage array that fails in the arbitration stops providing services. The working storage array uses the data change log (DCL) to synchronize data in the background. After the data on the local LUN is the same as that on the remote LUN, HyperMetro services are restored.
Data on the LUNs at the two ends are synchronized in real time, and hosts can read and write LUNs at both ends. If the storage array in one data center malfunctions, the storage array in the other data center takes over host services.
Huawei optimizes UltraPath to meet HyperMetro requirements. After the optimization, UltraPath can identify host locations so that hosts can access the nearest storage array, reducing cross-site accesses and latency while improving access efficiency and storage performance. UltraPath can read data from the local or remote storage array. However, if the local storage array is working properly, UltraPath preferentially reads data from the local storage array, preventing data read across data centers.
Figure 2 shows the read I/O process.
If the link between the storage arrays in the two data centers is down, the cloud platform quorum server determines which storage array continues providing services for hosts.
2. HyperMetro enables the local storage array to respond to the read I/O request of the host.
If the data of one storage array is abnormal, HyperMetro uses data on the other storage array to repair the data, ensuring data consistency between the two data centers.