Integrating mirrored storage into a remote replication site

By using storage-level descriptor bits to manage active-active relationships and configure remote copies, the integration of active-active and active-passive storage systems ensures continuous data access and improved disaster recovery.

JP2025527655APending Publication Date: 2025-08-22INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025511431
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-25
Filing Date
2023-07-26
Publication Date
2025-08-22

AI Technical Summary

Technical Problem

Existing data storage systems face challenges in integrating active-active mirrored memory storage with one-to-one mapped active-passive memory storage for disaster recovery, particularly due to the dynamic change of active disks without user intervention and insufficient disk capacity at remote sites.

Method used

The integration is achieved by using storage-level descriptor bits to manage active-active relationships and configure additional remote copies, ensuring data availability through a remote site controller that monitors and updates disk configurations dynamically.

Benefits of technology

This approach enhances data availability and disaster recovery by maintaining continuous data access, even in the event of site failures, with reduced downtime and improved robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025527655000001_ABST
    Figure 2025527655000001_ABST
Patent Text Reader

Abstract

A method, computer system, and computer program product are provided. The computer transmits a query command to a storage descriptor area of ​​a first disk. The first disk belongs to a dual-site data replication system. The dual-site data replication system provides active-active access to a volume of data stored on an active disk and replicated to a backup disk. The computer receives a response to the query command. The response indicates the active disk and the backup disk for the dual-site data replication system. The computer controls an additional copy of the volume of data at a further remote site based on the active disk.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to data storage for disaster recovery, and to integrating different types of data storage for multiple replication sites. Summary of the Invention

[0002] According to one exemplary embodiment, a computer-implemented method is provided. The computer transmits a query command to a storage descriptor area of ​​a first disk. The first disk belongs to a dual-site data replication system. The dual-site data replication system provides active-active access to a volume of data stored on an active disk and replicated to a backup disk. The computer receives a response to the query command. The response indicates the active disk and the backup disk for the dual-site data replication system. The computer controls an additional copy of the volume of data at a further remote site based on the active disk.

[0003] A computer system and computer program product corresponding to the above-described method are also provided. [Brief explanation of the drawings]

[0004] These and other objects, features, and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings. The illustrations are for clarity purposes to facilitate understanding of the invention by those skilled in the art, and together with the detailed description, various features of the drawings are not to scale. In the drawings, the following is shown:

[0005] [Figure 1] FIG. 1 is a block diagram illustrating a replication system architecture, according to at least one embodiment.

[0006] [Figure 2]1 is an operational flowchart illustrating a process for consolidating mirrored active-active storage to a remote site, according to at least one embodiment.

[0007] [Figure 3] FIG. 10 illustrates a storage description area for replication consolidation, according to at least one embodiment.

[0008] [Figure 4] FIG. 2 is a block diagram of internal and external components of the computer and server shown in FIG. 1 according to at least one embodiment.

[0009] [Figure 5] FIG. 5 is a block diagram of an exemplary cloud computing environment including the computers shown in FIGS. 1 and 4, according to one embodiment of the disclosure.

[0010] [Figure 6] FIG. 6 is a block diagram of functional layers of the exemplary cloud computing environment of FIG. 5, in accordance with one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0011] Detailed embodiments of the claimed structures and methods are disclosed herein; however, it should be understood that the disclosed embodiments are merely exemplary of the claimed structures and methods, which may be embodied in various forms. The present invention may be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.

[0012] In a data mirroring system, data may be stored in a pair of volumes, each of which includes a primary volume associated with primary memory storage and a corresponding secondary volume associated with secondary memory storage. The primary and secondary memory storage may be located at different sites to provide backup protection in case of a problem at the first site. For example, a hurricane, earthquake, or other natural disaster may result in a power outage, rendering the first site unavailable for an extended period of time and requiring access to the secondary volume. In an active-active memory storage architecture, both sites can serve an application / workload at any time, and each site and volume therefore functions as an active application site, enabling access. The secondary volume may be a copy of data maintained on the primary volume. The primary and secondary volumes are identified by a copy relationship in which data from the primary volume, also referred to as the source volume, is copied to the secondary volume, also referred to as the target volume. Primary and secondary storage controllers may be used to control access to the primary and secondary memory storage. The secondary site may be located any distance from the primary site. If the secondary site is located less than 100 km away, users may be presented with the advantage of faster access to the backup because data must still flow across a physical link, and the shorter the physical distance, the faster the response. These storage systems allow input / output operations to be swapped from a first set of disks to a second set of disks to store operational data. The first set of disks may be for a primary volume, and another set of disks may be for a secondary volume.

[0013] The computer, referred to in some examples herein as a controller, may be configured to enable management of planned and unplanned outages of memory storage. The controller is configured to detect failures in a primary storage subsystem, which may be at a local site. Such failures may include problems writing to or accessing the primary storage volume at the local site, or other problems discussed herein. When such a failure is detected by the controller, for example, by the operating system, the controller may invoke or cause to be invoked a storage unit swap function, one example of which is IBM®'s HyperSwap® function. (IBM, HyperSwap, and all IBM-based trademarks and logos are trademarks or registered trademarks of International Business Machines Corporation and / or its affiliates.) This swap function may be used to automatically swap processing for all data volumes in a mirrored configuration from the primary site to the secondary site. The swap may include peer-to-peer remote copy failover. The input / output of an application / workload may be transparently redirected to the secondary storage subsystem, allowing the application / workload to continue executing as part of high availability.

[0014] As a result of the swap, the storage volume at the secondary site originally configured as the secondary volume of the original copy relationship is reconfigured as the primary volume of the new copy relationship. Similarly, when the volume at the local site becomes operational again, the storage volume at the first site originally configured as the primary volume of the original copy relationship may be reconfigured as the secondary volume of the new copy relationship. In preparation for an unplanned swap, information may be passed by one or more swap controllers so that the controllers can automatically detect failures and invoke a swap upon failure detection. In various situations, a swap may involve switching input / output (I / O) operations for a workload directed to one or more volumes of data storage to corresponding copies of the volumes on secondary source storage without affecting I / O production operations. This swap may be a peer-to-peer remote copy failover. One or more nodes, e.g., virtual machines, running the workload did not previously know which of the two data volumes was acting as the primary copy; instead, the nodes only knew that their workload was supported. Application I / O is redirected to the secondary storage subsystem, allowing the application to continue running.

[0015] Such active-active sites may support more than one input / output group. Data written to a volume may be automatically sent to copies at both sites. If one site is no longer available, the other site can provide access to the volume. An active-active relationship may be created between the copies at each site. Data flow occurs automatically and switches direction depending on which copy or copies are online, up-to-date, and available. This relationship helps clarify which copy should be provided to the workload / application. The most recent copy may be selected through a single volume. The single volume may have a unique ID. Relationships may be grouped into consistency groups similar to those used for synchronous and asynchronous mirrored relationships. Consistency groups fail over consistently as a group based on the state of all copies in the group. Images that can be used for disaster recovery are maintained at each site.

[0016] When the system topology is set to such an active-active configuration, each node, controller, and host in the system configuration may have a site attribute set to 1 or 2. Both node canisters of an input / output group may be in the same site. This site may be the same site as the controller that provides the managed disks to the input / output group. When the managed disks are added to the storage pool, their site attributes may match. This match ensures that each copy in the active-active relationship is completely independent and in a separate site.

[0017] The Small Computer System Interface (SCSI) protocol allows storage devices to indicate a preferred port for hosts to use when submitting input / output requests. Using the Asymmetric Logical Unit Access (ALUA) state for volumes, the storage controller can inform the host which paths are active and which paths are preferred. The system may suggest that the host use a "local" node rather than a remote node. A "local" node is a node configured at the same site as the host.

[0018] An active-active relationship may be used to manage synchronous replication of volume data between two sites. The master volume may be made accessible through either the input / output group. The synchronization process begins after a change volume is added to the active-active relationship.

[0019] In other storage systems, sometimes referred to as disaster recovery systems, a greater physical distance between the main data volume memory storage and the secondary memory storage hosting a backup of the main data volume is desirable. The main and secondary memory storage may include disks referred to as production and backup disks, respectively. A greater physical distance can be useful in cases where a major event disrupts memory storage functionality and accessibility, such as a fire, earthquake, vandalism, power outage, or other catastrophic event. A greater physical distance, e.g., greater than 100 km, reduces the likelihood that an initial disruptive major event will damage both the primary and secondary memory storage. Such geographically distributed disaster recovery memory storage is often implemented with a one-to-one mapping of data volumes. Such disaster recovery solutions may be considered active-passive data architectures and typically do not provide as robust availability as that provided by active-active systems. This lower level of robustness is acceptable because disaster recovery backups are required less frequently.

[0020] The exemplary embodiment described below provides a method for integrating such different data replication systems to improve data availability and disaster recovery. This embodiment integrates a one-to-one mapped active-passive memory storage system with a swappable active-active mirrored memory storage system. Such integration has been challenging in the past due to the following: (1) the active disks used by virtual machines in the active-active mirrored memory system are changed on the fly without user intervention, and (2) the additional remote memory storage for disaster recovery contains a number of disks that matches the number of disks in one of the two sites of the active-active mirrored storage, but does not have enough disks to match the total number of disks in both sites of the active-active mirrored storage. The present embodiment includes using and configuring storage-level descriptor bits and / or storage-level descriptor areas to store operating system-specific information that can be retrieved and used by the controller to handle disaster recovery, and to organize the creation and / or updating of additional remote copies in a manner that allows active-active mirrored copy pairs to change their active-active relationship on the fly while still maintaining the additional remote copies up-to-date. This allows the present embodiment to achieve improved memory storage to support highly available data storage used by critical workloads where downtime would be highly disruptive to an organization.

[0021] FIG. 1 illustrates an enhanced replication system architecture 100 according to at least one embodiment. In the left portion of the screen, FIG. 1 illustrates an active-active data replication system including a first site 102a and a second site 102b. These two sites 102a, 102b may enable local data replication and the active-active volume copy relationship described above. These two sites may be considered local to each other due to the distance between them, e.g., 100 km or less. The first site 102a includes multiple virtual machines configured to run / execute workloads / applications. A first virtual machine 104 is labeled at the first site 102a. Active-active data storage for supporting the workload of the first virtual machine 104 is provided via disks at the first site 102a and the second site 102b. The first disk controller 106a and the second disk controller 106b are disposed at the first site 102a and control a first site disk 108a also disposed at the first site 102a. Data may be stored on the first site disk 108a. The third disk controller 106c is disposed at the second site 102b and controls a second site disk 108b also disposed at the second site 102b. Data may be stored on the second site disk 108b. The various disk controllers may send control transmissions, such as first control transmission 109, to one or more of these disks to save data and update the saved data.

[0022] In some embodiments, a first volume of data to support the workload of the first virtual machine 104 is stored on the first site disk 108a. In some embodiments, a copy of that volume of data is stored on the second site disk 108b. Data generated via the workload running by the first virtual machine 104 may be automatically sent to be stored as a first volume copy on the first site disk 108a and as a second volume copy on the second site disk 108b. If either the first site disk 108a or the second site disk 108b becomes unavailable, the other of the two sites may make the data / volume available to the workload / application of the first virtual machine 104. An active-active relationship may be created between the copies so that data flow automatically executes and switches direction depending on which copy or copies are online and up to date. If the storage at the first site fails, the system may continue to support operations for the first virtual machine 104 by transferring operations to storage at the second site 102b, e.g., the third disk controller 106c and the second site disk 108b. Although the virtual machine is unaware of which storage is providing support for its operations and is unaware that its main storage designation has been transferred from the first site 102a to the second site 102b, from the perspective of the first virtual machine 104, the system continues to operate.

[0023] The first site 102a and the second site 102b, and their internal components, may communicate with each other and exchange data over a communications network. The communications network enabling communication between the HyperSwap sites may include various types of communications networks, such as the Internet, a wide area network (WAN), a local area network (LAN), a telecommunications network, a wireless network, a public switched telephone network (PTSN), and / or a satellite network. The communications network may include connections such as wired, wireless communication links, and / or fiber optic cables.

[0024] The right side of Figure 1 shows an additional remote replication site 112 that is geographically distributed and located a long distance from the first site 102a and the second site 102b. The additional remote replication site 112 can host additional copies of data volumes initially stored at the first site 102a and / or the second site 102b. The additional remote replication site 112 includes a disaster recovery disk 114 that can store additional copies of data volumes. A remote site controller 110 controls the operation of the additional remote replication site 112 and facilitates integration with an active-active data replication system that includes the first site 102a and the second site 102b. The additional remote replication site 112 may be located a second distance from the first site 102a that is greater than the first distance between the first site 102a and the second site 102b. For example, the first site 102a and the second site 102b may be in the same region or metro area, while the additional remote replication site 112 may be located in an entirely different region of the country. For example, the additional remote replication site 112 may be in the Chicago metro area, while the first site 102a and the second site 102b may both be in the Austin, Texas metro area.

[0025] Building a data replication system that includes both a data replication backup at the second site 102b and a data replication backup at the further remote replication site 112 enables diversification and enhanced data recovery in the event of a primary system failure. Such a primary system failure may occur for a variety of reasons. Integrating the data replication backup at the further remote replication site 112 with the active-active replication between the first site 102a and the second site 102b is achieved in this embodiment to overcome the challenge that a virtual machine at the further remote replication site 112 can only have a disk that is a copy of either a disk in the primary storage at the first site 102a or a disk in the secondary storage at the second site 102b, depending on which disk of the two sites is currently designated as the lead disk of the active-active backup.

[0026] The disaster recovery disk 114 may be configured to store an additional copy of the data volume and actively mirror either the first copy on the first site disk 108a or the second copy on the second site disk 108b (but not both). Here, the storage at the additional remote replication site 112 may be referred to as active-passive storage because this data is not relied upon unless the primary system fails and the virtual machine at the additional remote replication site 112 is activated with the volume copy on the disaster recovery disk 114 to support the newly started remote virtual machine. This embodiment helps the additional remote replication site 112 know which of the first two copies to actively mirror. The combined data stored for volume copies by the first site disk 108a and the second site disk 108b may be twice the amount of data stored for volume copies by the disaster recovery disk 114.

[0027] The further remote replication site 112 may include one or more on-demand virtual machines 116 that are activated as needed. Such activation may occur if the first site 102a and the second site 102b fail, so that support for running the workload of the first virtual machine 104 can be handed over to the volume copies in the further remote replication site 112 and the disaster recovery disk 114. In this type of failover, the on-demand virtual machines 116 may be activated to support the workload / operation and better consolidate the data copies used from the disaster recovery disk 114. Due to this deactivation during normal operation of the first site 102a and / or the second site 102b, data replication at the further remote replication site 112 may now be considered active-passive replication. If the first site 102a and the second site 102b fail, activation of such on-demand virtual machines 116 may be required to continue operation of the workload / application. The additional remote replication site 112 may also include a virtual input / output server 118 that facilitates the sharing of physical input / output resources between client logical partitions within the server.

[0028] The virtual input / output server 118 may receive information from the remote site controller 110 to initiate and update additional volume copies of data in the disaster recovery disk 114. The remote site controller 110 may be a server, e.g., a computer, that communicates between (1) an active-active region, i.e., a region including the first site 102a and the second site 102b, and (2) an active-passive region at an additional remote replication site 112. The remote site controller 110 may provide a single point of control for the entire environment managed by the disaster recovery solution, including active-passive replication. To be successful, the remote site controller 110 must not be susceptible to errors that could cause outages in the production system. Therefore, the remote site controller 110 must be self-contained and have minimal resource sharing with the production system. For example, the remote site controller 110 may be deployed from the first site 102a and the second site 102b to an alternate site, thereby isolating the remote site controller 110 from any problems or failures at the active site (the first site 102a and / or the second site 102b). In some embodiments, the remote site controller 110 may have an out-of-band deployment in its own logical partition running on an operating system.

[0029] The remote site controller 110 is responsible for recovery actions in the event of a disaster or potential disaster that disables the first site 102a and the second site 102b. Therefore, availability of the remote site controller 110 is a fundamental requirement of this solution. The remote site controller 110 is deployed at an alternate site and must remain operational even if the active site fails or if a disk located at the active site fails. The remote site controller 110 may constantly monitor the production environment for any unplanned outages affecting the production site or disk subsystem. If an unplanned outage occurs, the remote site controller 110 may analyze the situation and determine the status of the production environment. If a site fails, the remote site controller 110, in some embodiments, may notify an administrator of the failure. If the failure is severe, the administrator can initiate a site takeover. Alternatively, if the remote site controller 110 detects a failure of the primary site, the remote site controller 110 itself may initiate a failover to an additional remote replication site 112. The remote site controller 110 may suspend the processing of data replication to ensure the consistency of the secondary data and to process the site takeover.

[0030] The remote site controller 110 may handle discovery, verification, monitoring, notification, and recovery operations to support disaster recovery for solutions that call for the use of an additional remote replication site 112. The remote site controller 110 may interact with a hardware management console to collect configuration information for the management system. The remote site controller 110 may interact with the first disk controller 106a, the second disk controller 106b, the third disk controller 106c, and / or the virtual input / output server 118 through the hardware management console to obtain storage configuration information for virtual machines. The remote site controller 110 may provide storage replication management and may also provide management of computing / storage capacity as needed on demand.

[0031] The remote site controller 110 may run in an operating system logical partition. The operating system logical partition may include customized security per each organization's operating system requirements. Administration of the remote site controller 110 may, in some embodiments, be enabled only for the root user in the operating system logical partition. The remote site controller 110 may, in some embodiments, be restricted from communicating with any external systems except for a hardware management console. The remote site controller 110 may use one or more application programming interfaces (“APIs”) to communicate with the hardware management console. These application programming interfaces may include those that adhere to the design principles of the representational state transfer architecture style, for example, those that require enabling HTTPS in the enhanced replication system architecture 100.

[0032] Integrating data replication backup at the further remote replication site 112 with active-active replication between the first site 102a and the second site 102b is achieved in this embodiment, overcoming the challenge that a virtual machine at the further remote replication site 112 can only have disks that are copies of either a disk in primary storage at the first site 102a or a disk in secondary storage at the second site 102b, depending on which of the two sites' lead disks is currently designated as the lead disk for the active-active backup. In this embodiment, storage-level descriptor bits and / or storage-level descriptor fields on the disks of the active-active system are used to store active-active configuration information. This information can then be obtained and used to select the correct disks that the further remote replication site 112 should copy as additional copies of volume data to support a workload / application. The correct disks can be part of a consistency group and can be replicated for storage at the further remote replication site 112 for use in the event of a disaster. The active-active configuration information in the storage-level descriptor bits and / or fields may include an indication of the active-active function that is enabled and which disk in the active-active pair is currently configured as the leading disk. The remote site controller 110 may obtain this information and, based on the obtained information, manage the control, e.g., creation and updating, of additional copies at further remote replication sites 112. The additional copies are created and / or updated to match the copies at the leading disk of the active-active pair, i.e., either the first site disk 108 a or the second site disk 108 b. The remote site controller 110 controls the additional remote copies by creating them and updating them to correspond to changes, additions, deletions, and / or other updates in the designated leading disk.The remote site controller 110 may access and transmit data from the determined active disk to the further remote replication site 112 for control of additional copies of the data stored at the further remote replication site 112 .

[0033] The remote site controller 110 may obtain active-active information through out-of-band communication with the first site 102a and / or the second site 102b, and particularly with the first disk controller 106a, the second disk controller 106b, and / or the third disk controller 106c. The information is then obtained from the respective storage-level descriptor areas in the first site disk 108a and / or the second site disk 108b, as appropriate, via the respective disk controllers. When the active / read disk is changed on the fly, for example, from the first site disk 108a to the second site disk 108b, a kernel extension of the active-active system may update the information in the storage-level descriptor bits for that disk. The remote site controller 110 may recognize the update and, accordingly, modify the copy / update of the additional copy at the further remote replication site 112 in the disaster recovery disk 114. Thus, in the above example where the first site disk 108a was the active / read disk in the active-active configuration and then a change occurred such that the second site disk 108b became the active / read disk in the active-active configuration, the additional copy of the disaster recovery disk would begin receiving updates based on changes in the second site disk 108b, rather than based on changes in the first site disk 108a. The remote site controller 110 obtaining the active-active information is an example of active-active details being dynamically queried and leveraged outside of a virtual machine, for example, outside of the first virtual machine 104. In the previous active-active configuration, the operating system of the supported virtual machine did not know which of the two disks was the read disk and which was the backup, whereas now the relationship and configuration information is exposed to the remote site controller 110. Out-of-band communication, as referred to herein, may refer to communication that does not involve and / or is not part of normal data transfer.dscli command communication is an example of such out-of-band communication.

[0034] 1 illustrates connections between first, second, and third disk controllers 106a, 106b, and 106c, respectively, and a disaster recovery disk 114 for transmitting volume data to create and / or update additional volume copies at a further remote replication site 112. These connections may be made over a communications network, such as the Internet, a wide area network (WAN), a local area network (LAN), a telecommunications network, a wireless network, a public switched telephone network (PTSN), and / or a satellite network. The communications network may include connections such as wired, wireless communication links, and / or fiber optic cables. Of these connections, FIG. 1 labels a first remote storage transmission 120 between the first disk controller 106a and the disaster recovery disk 114.

[0035] The remote site controller 110 may obtain active-active information in out-of-band communication with the first site 102a and / or the second site 102b, and in particular with the first disk controller 106a, the second disk controller 106b, and / or the third disk controller 106c. FIG. 1 includes an arrow between the remote site controller 110 and the third disk controller 106c to illustrate an example of such out-of-band communication for obtaining active-active enablement and configuration information from a disk, in this case, from the storage descriptor area of ​​the second site disk 108b. Although arrows are not shown between the remote site controller 110 and the first disk controller 106a and between the remote site controller 110 and the second disk controller 106b for purposes of simplifying the drawing, in at least some embodiments, the remote site controller 110 conducts such out-of-band communication with the first disk controller 106a and / or the second disk controller 106b.

[0036] Due to the tight integration of the operating system and storage technology, software with the right to perform out-of-band communication with a specific memory storage can identify that active-active, swappable data replication is configured in this system. With the active-active configuration enabled, in case a virtual machine at the production site fails, applications can continue after a virtual machine at the remote site restarts. This restart support overcomes the current situation where a production site failure is catastrophic even when the remote site has sufficient capacity and support. This embodiment requires only half of the disks at the production site to make all applications / systems functional again. Consistency group membership is automatically adjusted on the fly based on the dynamic behavior of the active disks used by each virtual machine.

[0037] It should be understood that Figure 1 provides an illustration of one implementation and does not imply any limitations with respect to other embodiments in which the replication integration system and method may be implemented. Many modifications may be made to the illustrated environment, structure, and components based on design and implementation requirements.

[0038] 2, an operational flowchart illustrates an integration process 200 that, according to at least one embodiment, may be performed using the enhanced replication system architecture 100 shown in FIG. 1. Various modules, user interfaces and services, and data storage may be used to perform this integration process 200.

[0039] In step 202 of the integration process 200, in response to activating the active-active relationship, a storage descriptor area is modified. This modification may include setting one or more bits to indicate the enablement of the active-active replication relationship and to indicate which of the disks is the lead disk in the active-active replication relationship. Details of the mirrored active-active storage relationship may be stored in a storage-level descriptor area on the disks of the mirrored volume.

[0040] For example, in the enhanced replication system architecture 100 shown in FIG. 1 , when an active-active replication relationship is activated to support a workload running on a first virtual machine 104, in some embodiments, the first site disk 108a is designated as the lead disk and the second site disk 108b is designated as the backup disk. Thus, as the workload / application runs on the first virtual machine 104, a volume copy is initiated and updated on the first site disk 108a. A backup copy of that volume copy is initiated and updated on the second site disk 108b. Instructions for initiating and / or updating the backup volume copy on the second site disk 108b are transmitted using transmissions over a communications network from the first site 102a to the second site 102b.

[0041] A kernel extension for the active-active program may be disposed on the first disk controller 106a to set these information bits in the storage-level descriptor area on the first site disk 108a. Another kernel extension for the active-active program may be disposed on the third disk controller 106c to set these information bits in the storage-level descriptor area on the second site disk 108b. Bit setting is described in more detail below with respect to FIG. 3.

[0042] A similar bit setting may be performed if the second disk controller 106b is used to support a workload on another virtual machine at the first site 102a, and the first site disk 108a is again used as a lead disk for storing a volume copy of data for the workload being executed by this other virtual machine. As in the previous example, the second site disk 108b may again be used as a backup disk in an active-active replication relationship, with the first volume copy at the first site 102a being controlled via the second disk controller 106b.

[0043] Another bit setting may be performed if the third disk controller 106c is used to support a workload on another virtual machine at the second site 102b, and the second site disk 108b is used as a lead disk for storing a volume copy of data of the workload being executed by this other virtual machine. With the first volume copy at the second site 102b controlled via the third disk controller 106c, in this embodiment the first site disk 108a may be used as a backup disk in an active-active replication relationship.

[0044] Step 202 may be performed by an operating system path control module in each disk controller initiating a SCSI inquiry command to the associated storage disk and by listening for unit attentions. Once a data transmission path is selected from two data storages, the path control module may set a bit in a storage-level descriptor area. The bit indicates that the disk is part of an active-active replication relationship and whether the disk is the active (read) disk. This inquiry command from the path control module may be an in-band communication, e.g., a communication that accompanies or is part of a normal data transfer.

[0045] In stage 204 of the integration process 200, the remote site controller retrieves the modified information via communication to the disks. The remote site controller may use an application programming interface to retrieve the disk relationships and activation states stored in stage 202. This retrieval may be via out-of-band communication to one or more of the disks of the mirrored volume. In some embodiments, the out-of-band communication to one or more disks may be via communication through the disk controllers of those disks. The out-of-band communication may refer to control messages.

[0046] For example, in the enhanced replication system architecture 100 shown in Figure 1, in some embodiments, the remote site controller 110 sends application programming interface queries to one or more of the disk controllers, for example, as shown in Figure 1 by the arrow to the third disk controller 106c. Similar application programming interface queries may additionally and / or alternatively be sent from the remote site controller 110 to the first disk controller 106a and / or the second disk controller 106b.

[0047] The corrected information obtained may include an indicator that active-active replication status is enabled and which of the disks is hosting a read copy of the volume to support the workload.

[0048] In embodiments where the storage-level descriptor area is configured to indicate active-active information on both the disk hosting the primary volume copy and the disk hosting the backup volume copy, the query here may be sent to one or both of the two disks / two disk controllers as part of stage 204. The remote site controller 110, in some embodiments, may send a first query to a first controller / disk and then send a second query to a second controller / disk to confirm the information obtained in the first query.

[0049] In some embodiments, the remote site controller sends a first query requesting information whether the active-active relationship is currently activated, and then if the first query is positive (active-active is activated), sends a second query to find out which of the disks is the leading disk. The information set in stage 202 may include these two different bits of information in different bytes, so that a two-stage query (first asking about activation, second asking which is the leading disk) may be applied in some examples.

[0050] In step 206 of the integration process 200, the remote site controller creates and / or updates an additional volume copy at the remote site in response to the lead disk determined in the obtained information, which may be established in an active-passive replication relationship as an asynchronous copy relative to the primary volume copy on the lead disk.

[0051] 1 , in some embodiments, the remote site controller 110 sends instructions to the further remote replication site 112 and / or to either the first site 102 a or the second site 102 b (whichever is hosting the disk currently designated as the leading disk in the active-active replication relationship) to initiate, update, and / or populate an additional volume copy on the disaster recovery disk 114 of the further remote replication site 112. The volume copy's data and / or updates to that data may be transmitted over a communications network between the site hosting the leading disk and the further remote replication site 112.

[0052] At step 208 of consolidation process 200, a determination is made as to whether any updates to the lead disk designation have occurred. In response to the determination at step 208 being affirmative, that updates to the lead disk designation have occurred, consolidation process 200 proceeds to step 210. In response to the determination at step 208 being negative, that updates to the lead disk designation have not occurred, consolidation process 200 proceeds to step 212.

[0053] The determination of step 208 may be made via the path control modules of each disk controller listening for unit attentions for the disks involved in the active-active relationship, which may be done continuously and / or intermittently, e.g., scheduled with even periods between listening sessions.

[0054] At stage 210 of integration process 200, the storage descriptor area is modified to reflect any changed designations. In some embodiments, kernel extensions for the active-active relationship and in each disk controller may be used to update the descriptor area as the active-active state and / or relationship changes. After the path control module receives a response with the changed information, the path control module may notify the kernel extension, which in turn updates the bits in the storage level descriptor area. In some embodiments, each disk controller may send a notification signal to the remote site controller 110 in response to any changes made to the active-active information, e.g., bits.

[0055] For the first example described above with respect to the enhanced replication system architecture 100 shown in FIG. 1 , with an active-active replication relationship to support a workload running on a first virtual machine 104, with the first site disk 108 a designated as the lead disk and the second site disk 108 b designated as the backup disk, if a problem causes the backup disk to become the lead disk, the information in the storage level descriptor area is updated. Specifically, the information may be updated to indicate that the second site disk 108 b is now the lead disk and the first site disk 108 a is the backup disk in the active-active relationship. The bit change is described in more detail below with respect to FIG. 3.

[0056] After step 210, consolidation process 200 returns to step 204 and repeats the above-described steps 204, 206, and 208 of the consolidation process. Because the goal of this embodiment is to provide highly available data storage to workloads running on virtual machines, consolidation process 200 is configured in a repeating loop to ensure that data is continuously available, whether provided by the original primary disk, an active-active backup disk, or an additional remote (active-passive backup) disk.

[0057] In step 212 of integration process 200, which occurs after no lead disk designation is identified in step 208, a determination is made as to whether any site failures have occurred that would trigger a failover. In response to the determination in step 212 being affirmative that a site failure that would trigger a failover has occurred, integration process 200 proceeds to step 214. In response to the determination in step 212 being negative that a site failure that would trigger a failover has not occurred, integration process 200 returns to and repeats step 208. The disk controller and / or virtual machine may initiate a failover procedure if one of the supporting disks becomes unresponsive, unavailable, or otherwise corrupted.

[0058] In stage 214 of the integration process 200, workload support is adjusted as needed using the replication backup. If an active-active relationship is activated, a first attempt is made to failover to the backup copy of the active-active relationship. For example, in the first example described with reference to FIG. 1, if the first site disk 108a becomes unavailable, support for the operation of the workload on the first virtual machine may be shifted to the second site disk 108b, which already has a complete or substantial copy of the volume copy. In another example, if the second site disk 108b was the lead disk but becomes unavailable, the first site disk 108a may then be used as the primary support option for supporting the workload on one of the virtual machines. In another example, if both the first and second site disks 108a, 108b become unavailable, support for the operation of the workload may be transferred to the disaster recovery disk 114 of the additional remote replication site 112.

[0059] In step 216 of consolidation process 200, a determination is made as to whether the failed site has been restored. In response to the determination in step 216 being affirmative, that the failed site has been restored, consolidation process 200 proceeds to step 218. In response to the determination in step 212 being negative, that the failed site has not been restored, consolidation process 200 returns to step 208 and repeats step 208.

[0060] In stage 218 of the consolidation process 200, workload support is coordinated via the remote site controller. This stage 218 may include fallback to the original production site after the original production site is restored. The remote site controller 110 and / or one of the disk controllers may track the last queried storage relationships and states. The remote site controller 110 may determine the health and ability of the production site storage to fallback. Fallback from the additional remote replication site 112 may occur even if not all of the mirrored disks are available, for example, if the first site disk 108a has been restored but the second site disk 108b has not, or vice versa, if the second site disk 108b has been restored but the first site disk 108a has not. Thus, in these cases, support for application operation at one of the two main sites may be reestablished even if the active-active replication relationship has not yet been reestablished.

[0061] After step 218, consolidation process 200 returns to step 210 and repeats the above-described steps 210, 204, 206, and 208 of the consolidation process. Because the goal of this embodiment is to enhance highly available data storage for workloads running on virtual machines, consolidation process 200 is configured in a repeating loop to ensure that data is continuously available, whether provided by the original primary disk, an active-active backup disk, or an additional remote (active-passive backup) disk.

[0062] It can be understood that Figure 2 provides illustrations of some embodiments and does not imply any limitations on how different embodiments may be implemented. Many modifications to the illustrated embodiment, for example, modifications to the sequence of steps shown, can be made based on design and implementation requirements. Steps and features from various processes may be incorporated into other processes described in other figures or embodiments.

[0063] FIG. 3 illustrates a storage descriptor area for replication consolidation, according to at least one embodiment. FIG. 3 illustrates a first storage descriptor area 300 including byte 14, which indicates that the disk is currently in an active-active replication relationship according to one of its suborder commands, e.g., suborder command 0x67. The first storage descriptor area 300 also includes, in byte 11, an indication of whether the disk is the lead disk or the backup disk in the active-active replication relationship. A path control module of the disk controller may initiate a SCSI command with operation code 0xED and a new suborder command, such as 0x67, to set the bit in response to the active-active replication relationship being initiated and / or changed. This first storage descriptor area 300 may be stored in the first site disk 108 a or the second site disk 108 b. A second, similar storage descriptor area may be stored in the other of the two storage disks. However, if the first storage descriptor area 300 indicates by byte 11 that the corresponding disk is a lead disk, then the second similar storage descriptor area indicates by byte 11 that the corresponding disk is currently a backup disk in an active-active configuration.

[0064] Retrieval of the bits may be via a command, such as a dscli command, that includes a request to the disk storage. The command may use out-of-band enhanced communication to retrieve details from the disk storage, such as information in bytes 11 and 14 of the active storage. The remote site controller 110 already has access to the storage disk over the network and has the ability to issue commands, such as the dscli command. The dscli command may include a command line interface that receives commands in text form. The remote site controller 110 may issue a query command at periodic intervals and may store the information locally.

[0065] Using the embodiments described herein, if a virtual machine or host at the production site in an active-active group goes down, applications on the virtual machine or host can continue after the virtual machine is restarted at the disaster recovery site. This embodiment increases the transparency of the active-active relationship by indicating which disk is the current read disk and / or which is the current backup disk. At the virtual input / output server level, the return of a different disk as part of the active-active relationship may trigger a request for the output of an inquiry command. Both the first storage disk and the second storage disk currently used by the virtual machine will have corresponding replicated disks in the remote active-passive storage.

[0066] 4 is a block diagram 400 of internal and external computer components that may be used in the environment of FIG. 1 or otherwise used in the integrated process 200 described above, in accordance with an exemplary embodiment of the present invention. It should be understood that FIG. 4 provides only an illustration of one implementation and is not intended to imply any limitation with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made based on design and implementation requirements.

[0067] Data processing systems 402a, 402b, 404a, 404b represent any electronic device capable of executing machine-readable program instructions. Data processing systems 402a, 402b, 404a, 404b may represent smartphones, computer systems, PDAs, or other electronic devices. Examples of computing systems, environments, and / or configurations that may be represented by data processing systems 402a, 402b, 404a, 404b include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputer systems, and distributed cloud computing environments that include any of the above systems or devices.

[0068] The computers responsible for virtual machines running workloads, e.g., the first virtual machine 104, and other computers involved in remote replication at the first site 102a, the second site 102b, and the further remote replication site 112a, and the computer running the remote site controller 110, may include respective sets of internal components 402a, 402b and / or external components 404a, 404b shown in Figure 4. Each of the sets of internal components 402a, 402b includes one or more processors 406, one or more computer-readable RAMs 408, and one or more computer-readable ROMs 410 on one or more buses 412, as well as one or more operating systems 414 and one or more computer-readable tangible storage devices 416. Programs for controlling one or more of the remote site controller 110 and the disk controllers may be stored on the one or more computer-readable tangible storage devices 416 for execution by the one or more processors 406 via the one or more RAMs 408 (which typically include cache memory). 4, each of the computer-readable tangible storage devices 416 is an internal hard drive magnetic disk storage device. Alternatively, each of the computer-readable tangible storage devices 416 is a semiconductor storage device such as ROM 410, EPROM, flash memory, or any other computer-readable tangible storage device capable of storing computer programs and digital information.

[0069] Each set of internal components 402a, 402b also includes a R / W drive or interface 418 for reading from and writing to one or more portable computer-readable tangible storage devices 420, such as CD-ROMs, DVDs, memory sticks, magnetic tapes, magnetic disks, optical disks, or semiconductor storage devices. Software programs, such as those implemented via remote site controller 110 and / or via one or more of the disk controllers, can be stored on one or more of the respective portable computer-readable tangible storage devices 420, read via the respective R / W drive or interface 418, and loaded onto respective hard drives, e.g., tangible storage devices 416.

[0070] Each set of internal components 402a, 402b may also include a network adapter (or switch port card) or interface 422, such as a TCP / IP adapter card, a wireless Wi-Fi interface card, or a 3G, 4G, or 5G wireless interface card, or other wired or wireless communication link. Programs for one or more of the remote site controller 110 and / or other disk controllers may be downloaded from an external computer (e.g., a server) via a network (e.g., the Internet, a local area network, or other wide area network) and the respective network adapter or interface 422. From the network adapter (or switch port adapter) or interface 422, programs for the remote site controller 110 may be loaded onto a respective hard drive, such as a tangible storage device 416. The network may include copper wire, optical fiber, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers.

[0071] Each of the set of external components 404a, 404b may include a computer display monitor 424, a keyboard 426, and a computer mouse 428. The external components 404a, 404b may also include a touch screen, a virtual keyboard, a touchpad, a pointing device, and other human interface devices. Each of the set of internal components 402a, 402b also includes a device driver 430 that interfaces with the computer display monitor 424, the keyboard 426, and the computer mouse 428. The device driver 430, the R / W drive or interface 418, and the network adapter or interface 422 include hardware and software (stored in the storage device 416 and / or ROM 410).

[0072] The present invention may be a system, method and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0073] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves on which instructions are recorded, and any suitable combination of the foregoing. Computer-readable storage medium, as used herein, should not be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over an electrical wire.

[0074] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computing / processing device for storage.

[0075] The computer-readable program instructions that carry out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or may be source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk® or C++, and procedural programming languages ​​such as the “C” programming language or similar programming languages. The computer-readable program instructions may run entirely on the user's computer as a standalone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.

[0076] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0077] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine whereby the instructions, executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus and / or other device to function in a particular manner, whereby the computer-readable storage medium having instructions stored therein has an article of manufacture including instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0078] Also, computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device to generate a computer-implemented process, whereby the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.

[0079] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may actually be realized as a single step, executed simultaneously, substantially simultaneously, partially, or fully in a time-overlapping manner, or the blocks may possibly be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or actions or executes a combination of dedicated hardware and computer instructions.

[0080] Although this disclosure includes detailed descriptions of cloud computing, it will be understood that practice of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be implemented in conjunction with any other type of computing environment now known or later developed.

[0081] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, services) that can be rapidly provisioned and released with minimal administrative effort or interaction with the service provider. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0082] The characteristics are as follows: On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as needed without requiring human interaction with the service provider. Wide network access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., cell phones, laptops, and PDAs). Resource Pooling: Provider computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated according to demand. Consumers generally have no control or knowledge over the exact location of the resources provided, although there is some location independence in that it may be possible to specify location at a higher level of abstraction (e.g., country, state, or data center). Rapid Elasticity: Capacity is provisioned quickly and elastically, sometimes automatically, and can be quickly scaled out or quickly released and quickly scaled in. In many cases, the capacity available for provisioning appears unlimited to the consumer, and can be purchased in any amount at any point in time. Metering Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts) at a certain level of abstraction. Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services being utilized.

[0083] The service model is as follows: Software as a Service (SaaS): The consumer is offered the ability to use a provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings. Platform as a Service (PaaS): The ability offered to consumers is to deploy applications they create or acquire, written using programming languages ​​and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the configuration of the application hosting environment. Infrastructure as a Service (IaaS): The ability provided to consumers is to provision processing, storage, network, and other basic computing resources, and the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does control the operating system, storage, deployed applications, and in some cases, limited control over selected networking components (e.g., host firewalls).

[0084] The deployment model is as follows: Private Cloud: Cloud infrastructure is operated solely for the organization. It may be managed by the organization or a third party and may reside on-premise or off-premise. Community Cloud: Cloud infrastructure is shared by multiple organizations to support a specific community with shared interests (e.g., mission, security requirements, policies, and regulatory compliance considerations). Community clouds may be managed by those organizations or by a third party and may exist on-premises or off-premises. Public Cloud: Cloud infrastructure is made available to the general public or large industry organizations and is owned by organizations that sell cloud services. Hybrid Cloud: This cloud infrastructure is a composite of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that allow for data and application portability (e.g., cloud bursting for load balancing between clouds).

[0085] A cloud computing environment is a service oriented environment with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that comprises a network of interconnected nodes.

[0086] Referring now to FIG. 5, an exemplary cloud computing environment 500 is shown. As shown, the cloud computing environment 500 comprises one or more cloud computing nodes 50, with which local computing devices used by cloud consumers may communicate, such as, for example, a personal digital assistant (PDA) or mobile phone 50A, a desktop computer 50B, a laptop computer 50C, and / or an automobile computer system 50N. The nodes 50 may communicate with each other and may include individual computers used to access data in the cloud. They may be physically or virtually grouped (not shown) into one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud, or combinations thereof, as described hereinabove. This enables the cloud computing environment 500 to provide infrastructure, platform, and / or software as a service for which cloud consumers do not need to maintain resources on their local computing devices. The types of computing devices 50A-N shown in FIG. 5 are intended to be illustrative only, and it will be understood that computing node 50 and cloud computing environment 500 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0087] Referring now to Figure 6, there is shown a set of functional abstraction layers 600 provided by the cloud computing environment 500. It should be understood in advance that the components, layers, and functions shown in Figure 6 are merely intended to be illustrative, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0088] Hardware and software layer 602 includes hardware and software components. Examples of hardware components include mainframe 604; RISC (reduced instruction set computer) architecture-based server 606; server 608; blade server 610; storage device 612; and network and networking components 614. In some embodiments, software components include network application server software 616 and database software 618.

[0089] The virtualization layer 620 provides an abstraction layer over which the following examples of virtual entities may be provided: virtual servers 622; virtual storage 624; virtual networks 626, including virtual private networks; virtual applications and operating systems 628; and virtual clients 630.

[0090] In one example, management layer 632 may provide the functions described below. Resource provisioning 634 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 636 provides cost tracking as resources are utilized within the cloud computing environment and accounting or billing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection of data and other resources. User portal 638 provides access to the cloud computing environment for consumers and system administrators. Service level management 640 provides cloud computing resource allocation and management to ensure required service levels are met. Service level agreement (SLA) planning and fulfillment 642 provides advance arrangements and procurement of cloud computing resources where future requirements are anticipated according to SLAs.

[0091] The workload layer 644 provides examples of functions for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this layer include mapping and navigation 646, software development and lifecycle management 648, virtual classroom instruction delivery 650, data analytics processing 652, transaction processing 654, and replication system integration 656. The integration of active-active and active-passive systems performed by the remote site controller 110 and / or one or more disk controllers by updating and retrieving storage-level descriptor field information in the storage disks provides an avenue for the integration of these different replication systems.

[0092] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," "including," "has," "have," "having," "with," and the like, when used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0093] The description of various embodiments of the present invention has been presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used herein have been selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond those found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A computer-implemented method comprising: transmitting, via a computer, a query command to a storage descriptor area of ​​a first disk, the first disk belonging to a dual-site data replication system, the dual-site data replication system providing active-active access to a volume of data stored on an active disk and replicated on a backup disk; receiving, via the computer, a response to the query command, the response indicating the active disk and the backup disk for the dual-site data replication system; and controlling, via said computer, additional copies of said volume of data at further remote sites based on said active disks. A method comprising:

2. 2. The method of claim 1, wherein said transmitting step is performed as an out-of-band communication to said first disk.

3. updating, in the storage descriptor area, at least one indicator of a relationship between the active disk and the backup disk in response to determining that the relationship has changed. The method of claim 1 further comprising:

4. Shifting workload to the additional copy of the volume at the further remote site in response to a failure of the dual-site data replication system. The method of claim 1 further comprising:

5. returning the workload to the dual site data replication system once the dual site data replication system is restored. The method of claim 4 further comprising:

6. 6. The method of claim 5, wherein the restoration of the dual site data replication system is performed only on the first disk hosting the volume of data and not on a second disk of the dual site data replication system.

7. The method of claim 1 , wherein the storage descriptor area of ​​the first disk includes custom state bits, and the response to the query command is based on the custom state bits.

8. 1. A computer system comprising: a computer system including one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored in at least one of the one or more computer-readable tangible storage media and executed by at least one of the one or more processors via at least one of the one or more computer-readable memories to provide the computer system with: transmitting a query command to a storage descriptor area of ​​a first disk, the first disk belonging to a dual site data replication system, the dual site data replication system providing active-active access to a volume of data; receiving a response to the query command, the response indicating an active disk and a backup disk for the dual-site data replication system; and and controlling additional copies of said volume of data at further remote sites based on said active disk. A computer system that performs the above.

9. 9. The computer system of claim 8, wherein said transmitting step is performed as an out-of-band communication to said first disk.

10. The program instructions further execute to cause the computer system to:

9. The computer system of claim 8, further comprising: updating, in said storage descriptor area, at least one indicator of a relationship between said active disk and said backup disk in response to determining that said relationship has changed.

11. The program instructions further execute to cause the computer system to:

9. The computer system of claim 8, further comprising: in response to a failure of the dual-site data replication system, causing a procedure to shift workload to the additional copy of the volume at the further remote site.

12. The program instructions further execute to cause the computer system to: The computer system of claim 11 , further comprising: a step of returning the workload to the dual site data replication system when the dual site data replication system is restored.

13. 13. The computer system of claim 12, wherein the restoration of the dual site data replication system is performed only on the first disk hosting the volume of data and not on a second disk of the dual site data replication system.

14. 9. The computer system of claim 8, wherein the storage descriptor area of ​​the first disk includes custom state bits, and the response to the query command is based on the custom state bits.

15. 1. A computer program product comprising a computer-readable storage medium having program instructions embodied thereon, said program instructions being executable by a computer system and transmitting a query command to a storage descriptor area of ​​a first disk, the first disk belonging to a dual site data replication system, the dual site data replication system providing active-active access to a volume of data; receiving a response to the query command, the response indicating an active disk and a backup disk for the dual-site data replication system; and and controlling additional copies of said volume of data at further remote sites based on said active disk. A computer program product that causes

16. 16. The computer program product of claim 15, wherein the transmitting step occurs as an out-of-band communication to the first disk.

17. The program instructions further execute to cause the computer system to:

16. The computer program product of claim 15, further comprising: updating, in the storage descriptor area, at least one indicator of a relationship between the active disk and the backup disk in response to determining that the relationship has changed.

18. The program instructions further execute to cause the computer system to:

16. The computer program product of claim 15, further comprising: in response to a failure of the dual-site data replication system, shifting workload to the additional copy of the volume at the further remote site.

19. The program instructions further execute to cause the computer system to:

20. The computer program product of claim 18, further comprising: upon restoration of the dual site data replication system, causing a procedure to be performed to return the workload to the dual site data replication system.

20. 20. The computer program product of claim 19, wherein the restoration of the dual site data replication system is performed only on the first disk hosting the volume of data and not on a second disk of the dual site data replication system.