Making automated use of data volume copy service targets

A system and computer program product for automatically managing copies of source data volumes are provided. A copy management agent receives a message that target volume copies of source volumes are available. The copy management agent accesses the target volume copies of the source volumes. The copy management agent analyzes metadata for the target volume copies. The copy management agent determines whether any of the target volume copies is a boot volume copy based on the analyzed metadata. In response to a determination that one of the target volume copies is a boot volume copy, the copy management agent directs a provisioning agent to provision a new host for the target volume copies. The copy management agent directs the storage subsystem to present the target volume copies to a storage area network port associated with the new host. Then, the new host is booted using the boot volume copy.

This application is related to U.S. application Ser. No. 13/442,538 entitled “MAKING AUTOMATED USE OF DATA VOLUME COPY SERVICE TARGETS,” filed Apr. 9, 2012, status pending.

BACKGROUND

The disclosure relates generally to a data processing system and computer program product for automatically managing data volume copies.

2. Description of the Related Art

In modern computer systems today, collections of data are usually organized and stored in one or more volumes. A volume is an area of storage for data. A volume may be located in a file system. Volumes are typically stored on one or more storage subsystems. A storage subsystem provides persistent storage of data and typically includes one or more storage devices, such as disk drives. The data stored within the volumes have associated metadata to describe the data and allow access to the data.

Modern storage subsystems provide a variety of functions. For example, a storage subsystem may provide a copy service function, which allows almost instantaneous point-in-time copies of storage volumes to be made from a source location to a target location independent of a host machine. Users often utilize this copy service function to create data backups of storage volumes for reporting purposes, disaster recovery, and the like.

Once copies of the storage volumes are created, the storage volume copies may be attached to a host machine for accessing the copied data. However, the user then performs actions to provision the host system for the new storage volume copies. In addition, the user performs additional actions to attach the new storage volume copies to that host machine.

SUMMARY

According to different embodiments of the present invention, a data processing system and a computer program product for automatically managing copies of source data volumes are provided. A copy management agent receives a message from a storage subsystem. The message indicates that target volume copies of source volumes are available for access. The copy management agent accesses the target volume copies of the source volumes. The copy management agent analyzes metadata for the target volume copies. The copy management agent determines whether any of the target volume copies is a boot volume copy based on the analyzed metadata for the target volume copies. In response to a determination that one of the target volume copies is a boot volume copy, the copy management agent directs a provisioning agent to provision a new host for the target volume copies. The copy management agent directs the storage subsystem to present the target volume copies to a storage area network port associated with the new host. Then, the copy management agent directs the provisioning agent to boot the new host using the boot volume copy. In response to a determination that none of the target volume copies is a boot volume copy, the copy management agent directs the storage subsystem to present the target volume copies to a storage area network port associated with an existing host specified in a configuration database associated with the copy management agent.

DETAILED DESCRIPTION

Illustrative embodiments provide a data processing system and a computer program product for automatically managing copies of source data volumes. Illustrative embodiments utilize a copy management agent running on a suitable platform, such as a hardware management console, which is notified by a storage subsystem when a copy service function, such as FlashCopy®, completes a target volume copy of a source data volume. It should be noted that the copy management agent may alternatively be executing on a virtual input/output server. A virtual input/output server is a software application that is located in a logical partition. This software application facilitates the sharing of physical input/output resources between client logical partitions in the virtual server.

The storage subsystem informs the copy management agent of the particulars, such as locations, of the newly generated target volume copies and makes the content of the target volume copies accessible to the copy management agent. After receiving the notification from the storage subsystem that a target volume copy of a source data volume is accessible, the copy management agent then inspects metadata associated with the target volume copy and takes an appropriate action. One action may be to automatically assign the target volume copy of a source volume to an existing host device. For example, if the metadata indicates that the target volume copy is a member of a non-boot volume group, the copy management agent will take the actions necessary to automatically present the target volume copy to an existing host device.

Another action may be to provision a new host device and then assign the new target volume copy of a source volume to the newly provisioned host device. For example, if the metadata indicates that the target volume copy is a member of a boot volume group, such as, for example, an Advanced Interactive Executive (AIX®) host root volume group, the copy management agent will provision a new host device. The new host device may, for example, be an existing physical device from a pool of physical devices or may be a newly generated virtual machine, logical partition, or virtual input/output client logical partition on a virtual input/output server.

After provisioning the new host device, the copy management agent will then take actions to present the target volume copy to the newly provisioned host device. Actions may, for example, include modifying the target volume copy presentation in the storage subsystem or modifying a virtual device mapping in a virtual input/output server or in a virtual device's hosting partition. The newly provisioned host device is then booted from the new boot volume copy.

The copy management agent also may alter the content, such as volume identifiers and metadata, contained in the target volume copies when appropriate during pre-boot customization. For example, if the metadata associated with the target volume copies includes volume identifiers, the copy management agent may update the volume identifiers before performing the presentation of the target volume copies to the host device. One possible rationale for updating the volume identifiers is to avoid a problem of duplicate volume identifiers in the volume copy management system as a whole because during the volume copying process the volume identifiers are also copied. System administrators may find it confusing if multiple copies of volumes exist with the same volume identifiers in the system. Thus, updating the volume identifiers will help ensure, for example, that target volume copies can be easily distinguished from the source volumes.

Another example of altering the content contained in the target volume copies during pre-boot customization is when the copy management agent determines that a target volume copy contains a boot volume. In response to determining that the target volume copy contains a boot volume, the copy management agent may update the content of the boot partition to reflect a new hostname and/or new IP address for the new host system before provisioning the new host system.

In addition, the copy management agent may perform further actions on the host device that the target volume copies are assigned to. For example, if the metadata stores information about an owning host device for a target volume copy, then the copy management agent may assign target volume copies from related volume groups as a group to a single, perhaps newly provisioned, host device. In addition, the copy management agent may perform scripted post-boot customization activities, such as setting up new IP addresses for new host devices, starting a data instance of a new target volume copy, and other suitable activities. These scripts may be native to the copy management agent or may be downloaded to the copy management agent from a customer client device. Further, the copy management agent may be changed by a customer/user to specify parameters, such as memory size and/or central processing unit (CPU) size, for newly provisioned host devices, mappings of specific volume groups to existing host devices, etc.

Moreover, the storage subsystem is configured with the location, such as a network address, of the copy management agent. Likewise, the copy management agent is configured with information necessary for the copy management agent to access the storage subsystem via a communications network, as well as access the storage subsystem directly via, for example, a Fibre Channel Storage Area Network (SAN). In addition, the copy management agent may be configured with the location or network address of a provisioning agent.

FIG. 1depicts a pictorial representation of a network of data processing systems in which illustrative embodiments may be implemented. Volume copy management system100is a network of computers and other devices in which illustrative embodiments may be implemented. Volume copy management system100includes communications network102, storage area network104, storage subsystem106, copy management agent108, provisioning agent110, and host device112.

Communications network102is a medium used to provide communications links between the computers and other various devices connected together within volume copy management system100. Communications network102is a general purpose network, such as, for example, an Ethernet-based Transmission Control Protocol/Internet Protocol (TCP/IP) network, for carrying messages between host device112and storage subsystem106, copy management agent108, and provisioning agent110. Of course, communications network102may be implemented as a number of different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN). Also, communications network102may include connections, such as wire, wireless communication links, or fiber optic cables.

Storage area network104is a network, such as, for example, a Fiber Channel Storage Area Network (SAN), for carrying data traffic from host device112to data storage volumes in storage subsystem106. Storage subsystem106is a set of one or more devices, such as disk drives, which persistently store data. In this illustrative example, storage subsystem106stores the data in volumes, such as source volumes114and target volumes116. It should be noted that even though source volumes114and target volumes116are shown to be stored in one storage subsystem, source volumes114and target volumes116may be stored in separate storage subsystems.

A volume is a unit of data storage, which typically appears as a disk drive to a host system, such as host device112. Host device112can read and write data from a storage volume. Source volumes114are data volumes that storage subsystem106may use to generate copies of the data contained in the volumes for data backup or reporting purposes. Target volumes116are target volume copies of source data volumes, such as source volumes114. A copy service function within storage subsystem106copies the data contents of one volume, the source volume, to another volume, the target volume copy. It should be noted that the copy service function may copy the data contents of a source volume within one storage subsystem to a target volume copy within another storage subsystem. In other words, illustrative embodiments do not restrict the data copying process to be performed only within one storage subsystem.

Source volumes114include boot volumes118and data volumes120. A boot volume is a data storage volume that is used to boot a host system, such as host device112. The boot volume includes an operating system image for the host system. A data volume is a volume that is used as a data repository by the host system. In other words, a data volume is a data storage area with a file system. The data storage area may be located in one or more storage devices. The data on the data volume may, for example, be a formal database, such as DB2® or Oracle® database, or a file system storage.

Boot volumes118and data volumes120both include volume identifiers122and volume group metadata124. A volume identifier is an identifier defined by a host system, such as host device112, which is stored on a volume to allow a host system to recognize or identify that particular data volume. It should be noted that this volume identifier is different and distinct from a port identifier and a unit identifier that is used to locate a data volume on a storage area network, such as storage area network104. Volume group metadata is metadata stored on a data volume to allow a host system to identify, via volume identifiers, which storage volumes are included in a volume group and the relationship between the data storage volumes in the volume group.

A volume group is a set of two or more data storage volumes, which a host system uses a unit. A set of data volumes may be used as a volume group when, for example, data for a particular application or purpose requires more storage space than is available on a single volume. A portion or segment of the space on each of the data volumes in the volume group is occupied by volume group metadata124.

Target volumes116include boot volume copies128and data volume copies130. A boot volume copy is a copy of a data volume that includes an operating system image and is used to boot a new host system. A new host system is a physical or virtual host system that is newly provisioned to use the newly generated target volume copies, which include a boot volume copy. A data volume copy is a copy of the data contained in a storage volume.

Boot volume copies128and data volume copies130both include new volume identifiers132and new volume group metadata134. A new volume identifier is a newly generated identifier that is stored on a newly generated target volume to allow a host system to identify that particular target volume copy of a source volume. It should be noted that this new volume identifier for the target volume is different and distinct from the volume identifier of the copied source volume. New volume group metadata is metadata stored on target volume copies that is updated to include the new volume identifiers for the target volume copies included in a volume group. It should be noted that the copy service function of storage subsystem106leaves the volume identifiers and the volume group metadata the same on both the source and target volumes during the data copying process. In other words, the copy service function does not update the volume identifiers and the volume group metadata on the volumes. Copy management agent108updates target volumes116after the copying process to provide target volumes116with new volume identifiers and volume group metadata.

Host device112is an example of a computer system that makes use of the data volumes in storage subsystem106. Host device112represents a plurality of physical and/or virtual host systems in volume copy management system100. Host device112and storage subsystem106are coupled to storage area network104. Host device112may use volumes as boot volumes or data volumes and may group the volumes into volume groups.

Copy management agent108is an example of a computer system comprising hardware and software components. However, it should be noted that copy management agent108may be comprised entirely of one or more software components. Copy management agent108manages the process of generating new volume identifiers and new volume group metadata for newly generated target volume copies of source volumes. In addition, copy management agent108assigns target volume copies to existing host systems. Copy management agent108is coupled to storage subsystem106via communications network102and storage area network104. However, it should be noted that even though copy management agent108is shown as a separate component in volume copy management system100, copy management agent108may, for example, be included in storage subsystem106.

Copy management agent108includes configuration database138. Configuration database138stores data within copy management agent108. The data stored in configuration database138may, for example, be site-specific information regarding desired destinations for target volume copies of source data volumes or volume group copies. In addition, the data may include information regarding the use of those target volume copies.

Provisioning agent110is an example of a computer system comprising hardware and software components. However, it should be noted that provisioning agent110may be comprised entirely of one or more software components. Provisioning agent110is a component capable of bringing a new host system online. Bringing a new host system online may include generating a new virtual machine or selecting an idle physical machine from a pool of idle physical machines. Then, provisioning agent110configures the new machine to use a specific target volume copy as the new machine's boot volume. Afterward, provisioning agent110starts the new machine, which boots from the specified boot volume copy, to become a host system for target volume copies.

Storage subsystem106provides persistent storage of data and includes one or more storage devices, such as disk drives, for storing the data and a controller component for controlling functions of storage subsystem106. Storage subsystem106presents volumes to the host systems and to the copy management and provisioning agents. Volumes presented by storage subsystem106to the host systems and to the copy management agent via storage area network104include a location, such as a port identifier and a unit identifier, which may be visible to some host systems and not to others. Host systems often store a volume identifier at a location defined by the host systems on the storage volume.

It should be noted thatFIG. 1is only intended as an example, and not as an architectural limitation for the different illustrative embodiments. For example, volume copy management system100may include servers, clients, and other devices not shown. Program code located in copy management system100may be stored on a computer recordable storage medium and downloaded to a data processing system or other device for use. For example, program code may be stored on a computer recordable storage medium on a server and downloaded to copy management agent108over communications network102for use on copy management agent108.

With reference now toFIG. 2, a diagram of a data processing system is depicted in accordance with an illustrative embodiment. Copy management agent200is an example of a computer, such as a hardware management console, in which computer usable program code or instructions implementing processes of illustrative embodiments may be located. Copy management agent200may, for example, be copy management agent108inFIG. 1. In this illustrative example, copy management agent200includes communications fabric202, which provides communications between processor unit204, memory206, persistent storage208, communications unit210, input/output (I/O) unit212, and display214.

Processor unit204serves to execute instructions for software applications or programs that may be loaded into memory206. Processor unit204may be a set of one or more processors or may be a multi-processor core, depending on the particular implementation. Further, processor unit204may be implemented using one or more heterogeneous processor systems, in which a main processor is present with secondary processors on a single chip. As another illustrative example, processor unit204may be a symmetric multi-processor system containing multiple processors of the same type.

Communications unit210, in these examples, provides for communication with other data processing systems or devices, such as the storage subsystem, host devices, and provisioning agent. The provisioning agent may, for example, be provisioning agent110inFIG. 1. In these examples, communications unit210is a network interface card and/or a modem. Communications unit210may provide communications through the use of either or both physical and wireless communications links.

Input/output unit212allows for the input and output of data with other devices that may be connected to copy management agent200. For example, input/output unit212may provide a connection for user input through a keyboard, a mouse, and/or some other suitable input device. Further, input/output unit212may send output to a printer. Display214provides a mechanism to display information to a user.

These instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and run by a processor in processor unit204. The program code, in the different embodiments, may be embodied on different physical or computer readable storage media, such as memory206or persistent storage208.

Program code220is located in a functional form on computer readable media222that is selectively removable and may be loaded onto or transferred to copy management agent200for running by processor unit204. Program code220and computer readable media222form computer program product224. In one example, computer readable media222may be computer readable storage media226or computer readable signal media228. Computer readable storage media226may, for example, include an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage208for transfer onto a storage device, such as a hard drive, that is part of persistent storage208. Computer readable storage media226also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory that is connected to copy management agent200. In some instances, computer readable storage media226may not be removable from copy management agent200.

Alternatively, program code220may be transferred to copy management agent200using computer readable signal media228. Computer readable signal media228may, for example, be a propagated data signal containing program code220. For example, computer readable signal media228may be an electro-magnetic signal, an optical signal, and/or any other suitable type of signal. These signals may be transmitted over communications links, such as wireless communications links, an optical fiber cable, a coaxial cable, a wire, and/or any other suitable type of communications link. In other words, the communications link and/or the connection may be physical or wireless in the illustrative examples. The computer readable media also may take the form of non-tangible media, such as communications links or wireless transmissions containing the program code.

In some illustrative embodiments, program code220may be downloaded over a network to persistent storage208from another device or data processing system through computer readable signal media228for use within copy management agent200. For instance, program code stored in a computer readable storage media in a server data processing system may be downloaded over a network from the server to copy management agent200. The data processing system providing program code220may be a server computer, a client computer, or some other device capable of storing and transmitting program code220.

As another example, a storage device in copy management agent200is any hardware apparatus that may store data. Memory206, persistent storage208, and computer readable media222are examples of storage devices in a tangible form.

With reference now toFIG. 3A,FIG. 3BandFIG. 3C, a flowchart illustrating a process for a copy management agent is shown in accordance with an illustrative embodiment. The process shown inFIGS. 3A,3B and3C may be implemented in a copy management agent, such as copy management agent108inFIG. 1.

The process begins when the copy management agent receives via a communications network, such as communications network102inFIG. 1, a message from a storage subsystem, such as storage subsystem106inFIG. 1, indicating that target volume copies of source volumes, such as target volumes116inFIG. 1, are available for access (step302). Then, the copy management agent accesses the target volume copies of the source volumes using a storage area network, such as storage area network104inFIG. 1, in response to receiving the message from the storage subsystem (step304). It should be noted that the storage subsystem is aware of the storage area port identifier, such as a World Wide Port Name, of the copy management agent. In addition, the storage subsystem assigns unit identifiers to the target volume copies of the source volumes, which are presented to the copy management agent by the storage subsystem. The storage subsystem presents target volume copies to an entity, such as the copy management agent, by making the target volume copies visible to and accessible by the entity that the target volume copies are presented to. In other words, in this case the storage subsystem presents the target volume copies to the copy management agent, which are then accessible by the copy management agent.

Further, the storage subsystem prepares to accept Fibre Channel logins and subsequent input/output requests from the copy management agent. Furthermore, the storage subsystem sends via the communications network a message to the copy management agent indicating that the target volume copies have been presented and are available for access. Afterward, the copy management agent sends Fibre Channel logins to the storage subsystem to access the target volume copies and the storage subsystem accepts the Fibre Channel logins from the copy management agent based on the presentation of the target volume copies to the copy management agent.

Then, the copy management agent sends a request to the storage subsystem requesting a list of unit identifiers assigned to the target volume copies presented to the copy management agent by the storage subsystem. The storage subsystem responds by providing the list of unit identifiers assigned to the target volume copies presented to the copy management agent by the storage subsystem. Subsequently, the copy management agent accesses the presented target volume copies by sending input/output requests to the presented target volume copies in the storage subsystem, which are specified by the unit identifiers. Then, the storage subsystem processes the input/output requests made by the copy management agent.

After accessing the target volume copies in step304, the copy management agent makes a determination as to whether the target volume copies include valid volume identifiers, such as volume identifiers122inFIG. 1(step306). If the copy management agent determines that the target volume copies do not include valid volume identifiers, no output of step306, then the process terminates thereafter. If the copy management agent determines that the target volume copies do include valid volume identifiers, yes output of step306, then the copy management agent makes a determination as to whether the target volume copies include valid metadata for a volume group, such as volume group metadata124inFIG. 1(step308).

If the copy management agent determines that the target volume copies do not include valid metadata for the volume group, no output of step308, then the process terminates thereafter. If the copy management agent determines that the target volume copies do include valid metadata for the volume group, yes output of step308, then the copy management agent analyzes the valid metadata for the volume group to determine whether all target volume copies in the volume group have been presented to the copy management agent (step310). Subsequent to analyzing the valid metadata for the volume group in step310, the copy management agent makes a determination as to whether all target volume copies in the volume group have been presented to the copy management agent (step312).

If the copy management agent determines that not all target volume copies in the volume group have been presented to the copy management agent, no output of step312, then the process terminates thereafter. If the copy management agent determines that all target volume copies in the volume group have been presented to the copy management agent, yes output of step312, then the copy management agent generates new unique volume identifiers, such as new volume identifiers132inFIG. 1, for all the target volume copies in the volume group (step314). Afterward, the copy management agent updates volume identifiers of the target volume copies in the volume group to the new unique volume identifiers (step316).

Then, the copy management agent updates volume group metadata of the target volume copies in the volume group, such as new volume group metadata134inFIG. 1, to include the new unique volume identifiers (step318). Subsequently, the copy management agent makes a determination as to whether any of the target volume copies in the volume group is a boot volume copy, such as one of boot volume copies128inFIG. 1(step320). If the copy management agent determines that a boot volume copy does exist within the target volume copies in the volume group, yes output of step320, then the copy management agent directs via the communications network a provisioning agent, such as provisioning agent110inFIG. 1, to provision a new host device, such as host device112inFIG. 1, for the target volume copies in the volume group (step322).

Subsequent to directing the provisioning agent to provision a new host device for the target volume copies in the volume group in step322, the copy management agent receives information from the provisioning agent regarding the newly provisioned host device for the target volume copies in the volume group (step324). After receiving the information regarding the newly provisioned host device in step324, the copy management agent updates the boot volume copy to include the information sent by the provisioning agent regarding the new host device provisioned for the target volume copies (step326). Then, the copy management agent contacts via the communications network the storage subsystem to direct the storage subsystem to un-present the target volume copies to the copy management agent and instead present the target volume copies to a storage area network port identifier associated with the new host device (step328). Subsequently, the copy management agent receives a storage area network port identifier and unit identifier associated with the target volume copies from the storage subsystem in response to the storage subsystem presenting the target volume copies to the storage area network port identifier associated with the new host device (step330).

Afterward, the copy management agent sends the storage area network port identifier and unit identifier associated with the boot volume copy to a provisioning agent, such as provisioning agent110inFIG. 1, and directs the provisioning agent to boot the new host device using the boot volume copy (step332). It should be noted that the copy management agent may perform post-boot customization actions on the newly provisioned host device at this point. For example, the copy management agent may assign target volume copies from related volume groups to the newly provisioned host device as well. In addition, the copy management agent may generate a new IP address and host name for the newly provisioned host device or start a new formal database instance using the target volume copies. Further, the copy management agent may specify parameters, such as memory and CPU sizes, for the newly provisioned host device or map specific volume groups to existing host devices. Thereafter, the process terminates.

Returning again to step320, if the copy management agent determines that a boot volume copy does not exist within the target volume copies in the volume group, no output of step320, then the copy management agent consults a configuration database associated with the copy management agent, such as configuration database138inFIG. 1, to determine whether a destination in an existing host device has been assigned to the target volume copies (step334). It should be noted that consultation of the configuration database by the copy management agent to determine whether a destination in an existing host device has been assigned to the target volume copies may be based on volume identifiers. If the consultation of the configuration database is based on volume identifiers, then the copy management agent may, for example, recall and utilize the original volume identifiers of the source volumes to determine destinations in existing host devices. After consulting the configuration database in step334, the copy management agent makes a determination as to whether a destination was found for the target volume copies within an existing host device (step336). If the copy management agent determines that a destination was not found in the configuration database for the target volume copies within an existing host device, no output of step336, then the process terminates thereafter.

If the copy management agent determines that a destination was found in the configuration database for the target volume copies within an existing host device, yes output of step336, then the copy management agent contacts via the communications network the storage subsystem to direct the storage subsystem to un-present the target volume copies to the copy management agent and instead present the target volume copies to a destination storage area network port identifier associated with the existing host device specified in the configuration database (step338). Subsequently, the copy management agent receives a storage area network unit identifier associated with the target volume copies from the storage subsystem in response to the storage subsystem presenting the target volume copies to the destination storage area network port identifier associated with the existing host device specified in the configuration database (step340).

Afterward, the copy management agent communicates via the communications network to the existing host device specified in the configuration database that the target volume copies in the volume group are available for access (step342). Further, the copy management agent sends any specific request associated with an entry in the configuration database for the volume group to the existing host system for changing the existing host system (step344). For example, a specific request may be to start a formal database instance, such as a DB2® or an Oracle® database instance, using the volume group. Thereafter, the process terminates.

With reference now toFIG. 4, a flowchart illustrating a process for a storage subsystem is shown in accordance with an illustrative embodiment. The process shown inFIG. 4may be implemented in a storage subsystem, such as storage subsystem106inFIG. 1.

The process begins when the storage subsystem receives an input to copy source volumes, such as source volumes114inFIG. 1, in the storage subsystem (step402). The input may, for example, be a manual input from a user, such as a system administrator, utilizing a local hardware management console or may be an input received via a communications network, such as communications network102inFIG. 1, from a customer utilizing a remote client network device. Alternatively, the input may be an automatic input received from a local or remote application executing on a local or remote network device. In response to receiving the input to copy the source volumes in step402, the storage subsystem copies the source volumes using a copy service function to generate target volume copies of the source volumes, such as target volumes116inFIG. 1(step404).

Then, the storage subsystem presents via a storage area network the target volume copies of the source volumes to a copy management agent, such as copy management agent108inFIG. 1(step406). Afterward, the storage subsystem sends via the communications network a message to the copy management agent indicating that the target volume copies of the source volumes are available for access (step408). Subsequently, the storage subsystem receives via the communications network a message from the copy management agent directing the storage subsystem to un-present the target volume copies to the copy management agent and instead present the target volume copies to a storage area network port identifier associated with a new host device, such as host device112inFIG. 1(step410).

Then, the storage subsystem presents the target volume copies to the storage area network port identifier associated with the new host device (step412). In addition, the storage subsystem sends a storage area network port identifier and unit identifier associated with the target volume copies to the copy management agent (step414). The process terminates thereafter.

With reference now toFIG. 5, a flowchart illustrating a process for a provisioning agent is shown in accordance with an illustrative embodiment. The process shown inFIG. 5may be implemented in a provisioning agent, such as provisioning agent110inFIG. 1.

The process begins when the provisioning agent receives via a communications network, such as communications network102inFIG. 1, a request from a copy management agent, such as copy management agent108inFIG. 1, to provision a new host device, such as host device112inFIG. 1, for target volume copies of source volumes in a volume group, such as target volumes116inFIG. 1(step502). Then, the provisioning agent provisions the new host device for the target volume copies in the volume group (step504).

Provisioning means to assemble a collection of physical or virtual computer components to run an instance of a computer operating system. For example, the provisioning agent would assemble a collection of components of at least one or more central processing units and system memory, a storage area network adapter, a communications network adapter, and disk storage volumes for new host systems. In addition, the provisioning agent may include other components in the collection, such as, for example, display devices and additional storage area network adapters and communications network adapters for redundancy purposes for the new host systems. In provisioning a physical machine, the provisioning agent does not physically assemble the collection of hardware components, but instead selects a physical machine from a pool of pre-assembled physical machines by assigning the selected physical machine to the target volume copies in the volume group. In provisioning a virtual machine, the provisioning agent may, for example, generate a new logical partition in a logically partitioned machine or generate a new virtual machine, such as a virtual input/output server, with corresponding virtual storage area network and communications network adapters. The disk storage volumes for the newly provisioned host machine are provided via the copy management agent.

After provisioning the new host device for the target volume copies in the volume group in step504, the provisioning agent sends information regarding the newly provisioned host device to the copy management agent (step506). For example, the provisioning agent sends a storage area network port identifier for the storage area network adapter, whether physical or virtual, of the new host device to the copy management agent. Later, the copy management agent communicates the storage area network port identifier for the storage area network adapter of the new host device to a storage subsystem, such as storage subsystem106inFIG. 1, in order for the storage subsystem to present the disk storage volumes to the newly provisioned host device.

Subsequent to sending the information regarding the newly provisioned host device to the copy management agent in step506, the provisioning agent receives a storage area network port identifier and unit identifier associated with a boot volume copy in the volume group from the copy management agent (step508). Afterward, the provisioning agent receives a request from the copy management agent to boot the new host device using the boot volume copy associated with the storage area network port identifier and unit identifier (step510). Then, the provisioning agent boots and initializes the new host device using the boot volume copy and other volume copies in the volume group (step512). The process terminates thereafter.

With reference now toFIG. 6, a flowchart illustrating a process for a host system is shown in accordance with an illustrative embodiment. The process shown inFIG. 6may be implemented in a host system, such as host device112inFIG. 1.

The process begins when the host system receives a message indicating that target volume copies of source volumes in a volume group, such as target volumes116inFIG. 1, assigned to the host system have been presented by a storage subsystem, such as storage subsystem106inFIG. 1, to a storage area network port identifier associated with the host system (step602). Then, the host system accesses the target volume copies of the source volumes assigned to the host system using the storage area network port identifier associated with the host system (step604).

In addition, the host system may receive a request associated with an entry in a configuration database, such as configuration database138inFIG. 1, for the volume group from a copy management agent, such as copy management agent108inFIG. 1(step606). Subsequent to receiving the request in step606, the host system performs one or more actions specified in the request for the volume group (step608). For example, an action specified in the request may be for the host system to start a formal database instance, such as a DB2® or an Oracle® database instance, using the volume group. Thereafter, the process terminates.

Also, it should be noted that illustrative embodiments install and configure a copy management agent aware storage subsystem with knowledge of the copy management agent's particulars. The particulars may, for example, include the copy management agent's communications network and storage area network identifiers. In addition, if new host systems are to be provisioned by processes of illustrative embodiments, then the copy management agent is configured with the particulars of the provisioning agent. For example, the copy management agent may be configured with the provisioning agent's communications network identifier. Moreover, it should be noted that a customer may via the communications network update the copy management agent's configuration database regarding desired destinations for copied volume groups.