WO2015162674A1 - ストレージシステム - Google Patents

ストレージシステム Download PDF

Info

Publication number
WO2015162674A1
WO2015162674A1 PCT/JP2014/061194 JP2014061194W WO2015162674A1 WO 2015162674 A1 WO2015162674 A1 WO 2015162674A1 JP 2014061194 W JP2014061194 W JP 2014061194W WO 2015162674 A1 WO2015162674 A1 WO 2015162674A1
Authority
WO
WIPO (PCT)
Prior art keywords
volume
storage device
write
physical
migration
Prior art date
Application number
PCT/JP2014/061194
Other languages
English (en)
French (fr)
Inventor
弘志 那須
晋広 牧
秀雄 斎藤
智大 川口
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/061194 priority Critical patent/WO2015162674A1/ja
Priority to US15/121,516 priority patent/US9875059B2/en
Priority to JP2016514568A priority patent/JP6234557B2/ja
Publication of WO2015162674A1 publication Critical patent/WO2015162674A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Definitions

  • the present invention relates to a storage system, and more particularly to migration of a volume group in a storage system.
  • Patent Document 1 discloses a host I / O that eliminates the need to change storage device information and volume information recognized by a server when performing data migration between physical storage devices in a virtual storage device including a plurality of physical storage devices. A technique for realizing data migration without stopping is disclosed.
  • a high availability (HA) function based on a cluster configuration of storage devices is required.
  • the HA function realizes high availability of the storage system.
  • the HA configuration has a duplex system, and when a failure occurs, the faulty system is automatically disconnected, and the operation is continued using only a normal system.
  • the Active-Active HA configuration operates all systems as active systems.
  • the storage system accepts any I / O access of the volume pair.
  • One aspect of the present invention is a storage system including a plurality of storage apparatuses that perform migration from a pre-migration volume group to a post-migration volume group, wherein the plurality of storage apparatuses are configured to perform the pre-migration volume group and A write command from a host to an arbitrary volume in a plurality of volumes of the post-migration volume group is received, and the plurality of storage devices write the write data of the write command to each of the plurality of volumes in a predetermined order.
  • the first storage device in the plurality of storage devices writes the write data to the last volume at the end of the plurality of volumes, and provides a different volume from the last volume in the plurality of storage devices.
  • Device, in each of said different volumes writes the write data after performing an exclusive lock, releasing the exclusive lock after the completion of writing of the write data to the last volume.
  • data migration can be realized without stopping host I / O and maintaining availability.
  • Example 1 it is a figure explaining the outline
  • Example 1 it is a figure which shows the structural example of a computer system.
  • Example 1 it is a figure which shows the structural example of a host computer.
  • 2 is a diagram illustrating a configuration example of a physical storage device in Embodiment 1.
  • FIG. 3 is a diagram illustrating a software configuration example in a memory of a physical storage device in Embodiment 1.
  • FIG. 6 is a diagram illustrating a configuration example of a resource management table in a physical storage device in Embodiment 1.
  • FIG. 6 is a diagram illustrating a configuration example of a host group management table in a physical storage in Embodiment 1.
  • FIG. 6 is a diagram illustrating a configuration example of a virtual storage box management table in a physical storage device in Embodiment 1.
  • FIG. 6 is a diagram illustrating a configuration example of a virtual storage management table in a physical storage device in Embodiment 1.
  • FIG. 10 is a diagram illustrating a configuration example of a volume copy pair management table in the physical storage device in the first embodiment.
  • 6 is a diagram illustrating a configuration example of an exclusive lock management table in a physical storage device in Embodiment 1.
  • FIG. 6 is a diagram illustrating a configuration example of a virtual storage management table in a management computer in the first embodiment.
  • FIG. 10 is a diagram illustrating a configuration example of a virtual storage box management table in the management computer in the first embodiment.
  • FIG. 6 is a diagram illustrating a configuration example of a virtual storage resource management table in the management computer in the first embodiment. 6 is a diagram showing a configuration example of a volume copy pair management table in the migration destination physical storage device B in Embodiment 1.
  • FIG. FIG. 10 is a diagram illustrating an HA volume migration step in the first embodiment.
  • 10 is a flowchart illustrating an example of WRITE command processing from the host computer to the physical storage device in the first embodiment.
  • 10 is a flowchart illustrating an example of WRITE command processing of a physical storage device in an HA multi-target configuration in the first embodiment.
  • 10 is a flowchart illustrating an example of WRITE command processing when transferring a WRITE command between physical storage devices in an HA multi-target configuration in the first embodiment.
  • 6 is a flowchart illustrating an example of READ command processing from the host computer to the physical storage device in the first embodiment.
  • 6 is a flowchart illustrating an example of exclusive lock release command processing in the physical storage device in the first embodiment.
  • 10 is a sequence showing an example of WRITE command processing from the host computer to the PVOL in the HA single volume pair in the first embodiment.
  • 10 is a sequence showing an example of WRITE command processing from the host computer to the SVOL in the HA single volume pair in the first embodiment.
  • Example 10 is a sequence showing an example of READ command processing from the host computer to the PVOL in the HA single volume pair in the first embodiment.
  • 11 is a sequence showing an example of READ command processing from the host computer to the SVOL in the HA single volume pair in the first embodiment.
  • Example 1 it is a sequence which shows the example of WRITE command processing from the host computer in a HA multi target structure to 1st pair PVOL.
  • Example 1 it is the sequence which shows the example of the WRITE command processing from the host computer in the HA multi target constitution to 1st pair SVOL.
  • Example 1 is a sequence which shows the example of a WRITE command process from the host computer in a HA multi-target structure to SVOL of a 2nd pair.
  • Example 1 it is the sequence which shows the READ command processing example from the host computer in the HA multi target constitution to 1st pair PVOL. In Example 1, it is the sequence which shows the example of READ command processing from the host computer in the HA multi target constitution to 1st pair SVOL.
  • 11 is a sequence illustrating an example of READ command processing from the host computer to the second pair of SVOLs in the HA multi-target configuration in the first embodiment.
  • Example 2 it is a figure explaining the characteristic of this invention in HA cascade structure.
  • Example 2 it is a figure which shows a HA volume transfer step.
  • 10 is a flowchart illustrating an example of a WRITE command process for a physical storage in an HA cascade configuration according to the second embodiment.
  • Example 10 is a flowchart illustrating an example of WRITE command processing when transferring a WRITE command between physical storages in an HA cascade configuration according to the second embodiment.
  • Example 2 it is the sequence which shows the example of WRITE command processing from the host computer to the 1st pair PVOL in HA cascade constitution.
  • Example 2 it is a sequence which shows the example of WRITE command processing from the host computer in a HA cascade structure to SVOL of a 1st pair.
  • Example 2 it is a sequence which shows the example of WRITE command processing from the host computer in a HA cascade structure to 2nd pair SVOL.
  • Example 3 it is a figure which shows a HA volume pair transfer step.
  • Example 3 it is a figure which shows a HA volume pair transfer step.
  • Example 4 it is a figure which shows a HA volume pair transfer step.
  • Example 4 it is a figure which shows a HA volume pair transfer step.
  • Example 5 it is a figure which shows a HA volume pair transfer step.
  • the storage system described below has an Active-Active HA configuration.
  • the HA configuration has a duplex system, and has an automatic failure recovery function for automatically disconnecting a failed system when a failure occurs and continuing operation using only a normal system.
  • the Active-Active HA configuration realizes effective use of resources and load distribution by operating all systems as active systems.
  • an HA configuration and an HA pair mean an Active-Active type HA configuration and an HA pair.
  • the storage system accepts I / O access to any of the HA pairs.
  • the migration of HA volume pairs will be described. Specifically, in the migration of the HA volume pair, one of the pre-migration HA volume pairs is migrated to another volume, and the other HA volume pair before migration and a new volume constitute a post-migration HA volume pair. .
  • the storage system accepts I / O access to all volumes during migration. The storage system switches the HA volume pair after the migration is completed.
  • the HA volume pair is composed of a primary volume (PVOL) and a secondary volume (SVOL).
  • PVOL primary volume
  • SVOL secondary volume
  • the storage system copies the PVOL data to the SVOL when creating a pair.
  • the storage system receives a WRITE command to the SVOL at the time of non-migration, after the write data write to the PVOL (either write to the write cache or write to the storage drive) is completed, the SVOL Write write data to.
  • the I / O access to the PVOL is accompanied by an exclusive lock of the PVOL, and the exclusive lock is not used in the I / O access to the SVOL.
  • An exclusive lock may be used in accessing the SVOL.
  • exclusive lock in write processing prohibits other write processing and read processing.
  • the exclusive lock in the read process prohibits other write processes and may or may not prohibit other read processes.
  • the exclusive lock in the read process can suppress a response delay to the host by permitting another read process.
  • FIG. 1 is a diagram showing an outline of the HA multi-target configuration in volume migration.
  • one volume is set as a common PVOL of two HA volume pairs, and two HA volume pairs are configured by these three volumes.
  • the 1 includes a host computer 1000, a physical storage device (also simply referred to as a storage device) 2000, and a virtual storage device 3000.
  • the virtual storage device 3000 includes a plurality of physical storage devices 2000.
  • This system has an Active-Active HA configuration (hereinafter also referred to as HA volume configuration) with a plurality of physical storage apparatuses 2000.
  • the multiple physical storage devices 2000 are provided to the host computer 1000 as a single virtual storage device 3000.
  • Each physical storage device 2000 provides the same storage device configuration information, that is, the configuration information of the virtual storage device 1 (3000) in response to a request from the host computer 1000.
  • the physical VOL 1 (2900) of the physical storage device 1 (2000) and the physical VOL 2 (2900) of the physical storage device 2 (2000) constitute an HA volume pair 7100.
  • the physical VOL1 (2900) is a PVOL
  • the physical VOL2 (2900) is an SVOL.
  • the same VOL information that is, the information on the virtual VOL11 (3900) is provided to the host computer 1000. Since the host computer 1000 accesses the virtual VOL 11 (3900), the path to either the physical VOL 1 (2900) or the physical VOL 2 (2900) can be used.
  • Write data for one physical VOL 2900 is transferred to the other physical VOL 2900. Thereby, the data identity between the physical VOL1 (2900) and the physical VOL2 (2900) is maintained.
  • Each of the physical storage device 1 (2000) and the physical storage device 2 (2000) transmits data read from the physical volume 2900 provided by the own device in response to the READ command from the host computer 1000.
  • the physical VOL 1 (2900) and the physical VOL 2 (2900) can be I / O accessed as one volume from the host computer 1000, and even if a failure occurs in any of the physical volumes, I / O access to the physical volume is possible.
  • This example describes the migration of a volume pair in which the host I / O is not stopped and the Active-Active HA configuration is maintained.
  • the physical VOL 2 (2900) is migrated to the physical VOL 3 will be described.
  • the physical VOL1 and physical VOL2 constitute a pre-migration volume pair
  • the physical VOL1 (2900) and physical VOL3 (2900) constitute a post-migration volume pair.
  • the HA volume pair 7200 is formed by the physical VOL1 (2900) and the physical VOL3 (2900).
  • the physical VOL1 (2900) is PVOL
  • the physical VOL3 (2900) is SVOL.
  • data is copied from the physical VOL 1 (2900) that is the PVOL to the physical VOL 3 (2900) that is the SVOL.
  • a path 8300 from the host computer 1000 to the physical VOL 3 (2900) is defined.
  • the physical storage device 3 (2000) returns the information on the virtual VOL11 (3900) in the same manner as the physical VOL1 (2900) and physical VOL2 (2900). .
  • the path 8200 from the host computer 1000 to the physical VOL 2 (2900) is deleted. Further, the physical storage device 1 (2000) and the physical storage device 2 (2000) delete the HA volume pair 7100. Thereby, the migration from the physical VOL 2 (2900) of the physical storage device 2 (2000) to the physical VOL 3 (2900) of the physical storage device 3 (2000) is completed.
  • FIG. 2 shows a configuration example of the computer system in this embodiment.
  • the computer system of FIG. 2 includes a host computer 1000, a physical storage device 2000, and a management computer 4000.
  • the number of various devices (systems) included in the computer system depends on the design.
  • the physical storage devices 1 to 3 (2000) constitute a virtual storage device that is one virtual storage device.
  • two or three physical storage devices constitute one virtual storage, but the number of constituent physical storages depends on the design.
  • the physical storage device A (2000) has a Quorum Disk.
  • the Quorum Disk provides a function of determining which of the physical storage devices 2000 with the HA configuration to be continuously operated and what to stop when communication between the physical storage devices 2000 in the HA configuration becomes impossible. Quorum Disk can prevent the split brain problem.
  • the host computer 1000, the management computer 4000, and the physical storage device 2000 are communicably connected via a management network configured by a LAN 6000.
  • the management network 6000 is an IP network.
  • the management network 6000 may be any type of network as long as it is a network for management data communication.
  • the host computer 1000 and the physical storage device 2000 are connected by a data network configured with a SAN (Storage Area Network) 5000.
  • the host computer 1000 accesses the volume of the physical storage device 2000 via the SAN 5000.
  • the data network 5000 may be any type of network as long as it is a data communication network.
  • the data network 5000 and the management network 6000 may be the same network.
  • FIG. 3 schematically shows a configuration example of the host computer 1000.
  • the host computer 1000 includes a CPU (Central Processing Unit) 1100 that is a processor, a non-volatile secondary storage device 1200, a memory 1300 that is a main storage device, an input / output device 1400, and an initiator port 1600 that is an I / O request issuer interface.
  • Each component is communicably connected via a bus 1500.
  • CPU 1100 operates in accordance with a program stored in memory 1300.
  • programs and data stored in the secondary storage device 1200 are loaded into the memory 1300.
  • the memory 1300 holds an OS (Operating System) 1310, an alternate path program 1320, and an application program 1330.
  • the application program 1330 reads and writes data from and to the volume provided by the physical storage device 2000.
  • the initiator port 1600 is a network interface connected to the SAN 4000.
  • the initiator port 1600 transmits / receives data and requests to / from the physical storage device 2000 via the SAN 5000.
  • the management interface 1700 is a network interface connected to the LAN 6000.
  • the management interface 1700 transmits / receives management data and control commands to / from the physical storage device 2000 via the LAN 6000.
  • the management interface 1700 further transmits / receives management data and control commands to / from the management computer 4000 via the LAN 6000.
  • FIG. 4 is a diagram schematically illustrating a configuration example of the physical storage device 2000.
  • the basic configuration of all the physical storage apparatuses 2000 is the same, but the number of components, storage capacity, and the like depend on each physical storage apparatus 2000. These may have different basic configurations.
  • the physical storage device 2000 controls a plurality of storage devices (for example, a hard disk drive and / or SSD (Solid State Drive)) 2200 and the physical storage device 2000 to manage the volume, the host computer 1000, or another physical storage device 2000. And a storage controller for performing data communication and the like.
  • a storage controller for performing data communication and the like.
  • the storage controller includes a CPU 2100 that is a processor, a program memory 2300, an initiator port 2600 that is an I / O request issuer interface, a target port 2700 that is an I / O request reception interface, a management interface 2800, and a cache memory for data transfer 2400.
  • the components of the storage device 2000 are communicably connected via a bus 2500.
  • the physical storage device 2000 is connected to the external (other) physical storage device 2000 via the initiator port 2600 and transmits an I / O request and write data to the external physical storage device 2000, and the external physical storage device 2000. Read data can be received from.
  • the initiator port 2600 is connected to the SAN 5000.
  • the initiator port 2600 has a function of converting a protocol such as FC, Fiber Channel Over Ethernet (FCoE), iSCSI used for communication with the external physical storage device 2000 into a protocol used inside the storage controller, for example, PCIe. .
  • FC Fiber Channel Over Ethernet
  • iSCSI used for communication with the external physical storage device 2000
  • PCIe used inside the storage controller
  • the physical storage device 2000 is connected to the host computer 1000 or the external physical storage device 2000 at the target port 2700.
  • the physical storage device 2000 receives an I / O request and write data from the host computer 1000 or the external physical storage device 2000 via the target port 2700, and reads data from the host computer 1000 or the external physical storage device 2000. Send.
  • the target port 2700 is connected to the SAN 5000.
  • the target port 2700 converts protocols such as FC, Fiber Channel Over Ethernet (FCoE), and iSCSI used for communication with the host computer 1000 or the external physical storage device 2000 into a protocol used inside the storage controller, for example, PCIe. It has the function to do.
  • protocols such as FC, Fiber Channel Over Ethernet (FCoE), and iSCSI used for communication with the host computer 1000 or the external physical storage device 2000 into a protocol used inside the storage controller, for example, PCIe. It has the function to do.
  • the management interface 2800 is a device for connecting to the LAN 6000.
  • the management interface 2800 has a function of converting a protocol used in the LAN 6000 into a protocol used in the storage controller, for example, PCIe.
  • the CPU 2100 executes a program for controlling the physical storage device 2000 and realizes predetermined functions including I / O control from the host computer 1000 and management and control of the physical storage device 2000 volume. At least a part of the functions realized by the CPU 2100 described in this embodiment may be realized by a logic circuit different from the CPU 2100.
  • the program is executed by a processor (CPU) to perform a predetermined process using a memory and an interface. Therefore, in the present disclosure, the description with the program as the subject may be an explanation with the processor as the subject. Alternatively, the processing executed by the program is processing performed by the device (for example, the physical storage device 2000 or the host computer 1000) and the system on which the program operates.
  • a processor CPU
  • the processing executed by the program is processing performed by the device (for example, the physical storage device 2000 or the host computer 1000) and the system on which the program operates.
  • the program memory 2300 stores data and programs handled by the CPU 2100.
  • the data in the program memory 2300 is stored in a non-transitory storage medium such as any storage device 2200 in the physical storage apparatus 2000, flash memory (not shown), or other apparatus connected via the LAN 5000, for example. It is loaded into the program memory 2300 from the device.
  • FIG. 4 shows a software configuration example in the program memory 2300 of each physical storage device 2000.
  • the program memory 2300 holds a data input / output processing program 2350, a resource management program 2360, and a volume copy control program 2370. Further, the program memory 2300 holds a resource management table 2310, a virtual storage box management table 2320, a virtual storage management table 2330, a volume copy pair management table 2340, a host group management table 2380, and an exclusive lock management table 2390.
  • the data input / output processing program 2350 ⁇ ⁇ reads and writes user data according to an I / O request from the host computer 1000, and performs necessary data communication between the host computer 1000 and other physical storage devices 2000.
  • the resource management program 2360 manages the resources of the physical storage device 2000.
  • the resource management program 2360 creates and updates a table (information) described below in addition to creating and deleting a volume.
  • the resource management program 2360 transmits / receives information necessary for resource management to / from the management computer 4000.
  • the table having the same name has the same configuration (column) in each physical storage device 2000.
  • the table described below with reference to the drawings is a table held by the physical storage device 1 (2000). Note that information held by each device may be stored in a structure other than a table.
  • FIG. 6A shows a configuration example of the resource management table 2310.
  • the resource management table 2310 is a table for managing resources of the physical storage device 1 (2000).
  • the resource management table 2310 includes a resource type column 2311 for storing the resource type of the physical storage device 1 (2000), a resource ID column 2312 for storing a resource ID, and a resource group ID column 2313 for storing a resource group ID to which the resource belongs. And a virtual resource ID column 2314 for storing a virtual resource ID assigned to the resource.
  • FIG. 6B shows a configuration example of the host group management table 2380.
  • the host group is a group of WWN (World Wide Name) of the host computer 1000 connected to the port for each OS type of the host computer 1000.
  • the host group management table 2380 includes a port ID column 2381 for storing a port ID, a host group ID column 2382 for storing a host group ID related to the port, a host mode ID column 2383 indicating the OS type of the host computer 1000, the host It has a host WWN column 2384 for storing the host WWN registered in the group, and a volume ID 2385 for storing a volume ID accessible to the host computer 1000 belonging to the host group ID 2382.
  • FIG. 7 shows a configuration example of the virtual storage box management table 2320.
  • a virtual storage box is a set of resource groups possessed by one virtual storage device within one physical storage device.
  • the virtual storage box management table 2320 is a table for managing virtual storage boxes of the virtual storage device 3000.
  • the virtual storage box management table 2320 has a virtual storage box ID column 2321 for storing a virtual storage box ID, and a resource group ID column 2322 for storing a resource group ID belonging to the virtual storage box.
  • FIG. 8 shows a configuration example of the virtual storage management table 2330.
  • the virtual storage management table 2330 is a table for managing the virtual storage device 3000.
  • the virtual storage management table 2330 has a virtual storage ID column 2331 for storing a virtual storage ID and a virtual storage box ID column 2332 for storing a virtual storage box ID belonging to the virtual storage device.
  • FIG. 9A shows a configuration example of the volume copy pair management table 2340.
  • the volume copy pair management table 2340 is a table for managing a volume copy pair including a volume provided by the physical storage device 2000.
  • the volume copy pair management table 2340 includes a pair ID column 2341 that stores a pair ID of a volume copy pair, a pair type column 2342 that stores the type of the pair, and a pair status column 2343 that stores the state of the pair.
  • the volume copy pair management table 2340 further includes a PVOLID column 2344 for storing a PVOLID and an SVOLID column 2345 for storing an SVOLID.
  • the PVOLID and the SVOLID are configured by identification information of the physical storage device 2000 and volume identification information in the physical storage device.
  • the volume copy pair management table 2340 further includes a related pair ID column 2346 for storing the ID of a pair related to the pair, and a priority column 2347 for storing the priority of the pair and the related pair.
  • the pair type stored in the pair type column 2342 is “HA” for HA, “LC” for volume local copy in physical storage, “RC” for volume remote copy between physical storages, and HA multi-target. If the configuration is “HA-MLT”, the HA cascade configuration (see FIG. 31) indicates the type of volume copy pair, such as “HA-CAS”.
  • the pair status stored in the pair status column 2343 is a volume copy pair such as “COPY” if data copying is in progress, “PAIR” if the data copy is in a synchronized state, “SUSPEND” if data copy is suspended, etc. Stores character strings and numbers indicating the status of data copy between.
  • the priority stored in the priority column 2347 indicates information for determining the data write order in the HA multi-target configuration or the HA cascade configuration. In this embodiment, writing is performed in the order of the first pair of PVOL, the first pair of SVOL, the second pair of PVOL, and the second pair of SVOL.
  • the priority may be determined according to the order in which the pairs are created, or the user may determine an arbitrary priority when setting the HA multi-target configuration or setting the HA cascade configuration.
  • FIG. 9B shows a configuration example of the exclusive lock management table 2390.
  • the exclusive lock management table 2390 holds information for managing the exclusive lock of the volume.
  • the exclusive lock management table 2390 has an exclusive lock ID column 2391, a volume ID column 2392, and an LBA column 2393.
  • the exclusive lock management table 2390 manages the data storage area that is exclusively locked. Each entry indicates an area in the volume that is exclusively locked, and is specified by, for example, the start LBA and the data length using the volume ID and the address (LBA) in the volume. In this example, the partial area in the volume is exclusively locked, but may be exclusively locked in volume units.
  • FIG. 10 is a diagram showing a configuration example of the management computer 4000.
  • the management computer 4000 includes a CPU 4100 as a processor, a memory 4300 as a main storage device, a secondary storage device 4200, an input / output device 4400, and a management interface (I / F) 4600.
  • the devices of the management computer 4000 are communicably connected via a bus 4500.
  • the management computer 4000 executes a management program and operates according to it.
  • the management I / F 4600 is connected to the LAN 6000 and performs conversion between the protocol in the computer and the protocol of the LAN 6000.
  • the management computer 4000 can communicate with the physical storage apparatus 2000 and the host computer 1000 via the management I / F 4600 and the LAN 6000.
  • the input / output device 4400 includes one or more devices such as a display, a pointer, or a keyboard. Users (in the above example, users User01 to User03) can operate the management computer 4000 using the input / output device 4400, and may access the management computer 4000 from a client computer connected via a network.
  • the client computer is included in the management system together with the management computer 4000.
  • the user can input necessary information with an input device (for example, a mouse and a keyboard), and can visually recognize the necessary information with an output device.
  • the CPU 4100 implements a predetermined function of the management computer 4000 by executing a program stored in the memory 4300.
  • the memory 4300 stores a program executed by the CPU 4100 and data necessary for executing the program.
  • a program that runs on the management computer 4000 will be described later.
  • At least a part of the functions realized by the CPU 4100 described in this embodiment may be realized by a logic circuit different from the CPU 4100.
  • the program is loaded from the secondary storage device 4200 to the memory 4300.
  • the secondary storage device 4200 is a storage device provided with a non-volatile non-transitory storage medium that stores programs and data necessary for realizing predetermined functions of the management computer 4000.
  • the secondary storage device 4200 may be an external storage device connected via a network.
  • the management system of this configuration example is composed of management computers, but the management system may be composed of a plurality of computers.
  • One of the plurality of computers may be a display computer, and the plurality of computers may realize processing equivalent to that of the management computer in order to increase management processing speed and reliability.
  • the management system may be configured in the physical storage. Some functions of the management system may be implemented in the physical storage device.
  • the program memory 4300 of the management computer 40000 stores data and programs handled by the CPU 4100.
  • the data in the program memory 4300 is loaded into the program memory 4300 from, for example, any storage device 2200 or flash memory (not shown) in the physical storage apparatus 2000 or another apparatus connected via the LAN 6000.
  • the program memory 4300 holds an OS 4310 and a virtual storage management program. Further, the program memory 4300 holds a virtual storage management table 4320, a virtual storage box management table 4330, a virtual storage resource management table 4340, and a volume copy pair management table 4350.
  • the virtual storage management program 4360 manages the resources of the physical storage device 2000 and the virtual storage device 3000.
  • the virtual storage management program 4360 creates and updates a table (information) described below in addition to volume creation and deletion.
  • the virtual storage management program 4360 transmits / receives information necessary for resource management to / from the physical storage device 2000.
  • FIG. 11 shows a configuration example of the virtual storage management table 4320.
  • the virtual storage management table 4320 is a table for managing resources of the virtual storage device 3000 and the physical storage device 2000 that is a component of the virtual storage device 3000.
  • the virtual storage management table 4320 is a table in which the virtual storage management tables 2330 of all physical storage apparatuses 2000 are integrated.
  • the virtual storage management table 4320 has a virtual storage ID column 4321 for storing a virtual storage ID, and a virtual storage box ID 4322 for storing a virtual storage box ID belonging to the virtual storage.
  • FIG. 12 shows a configuration example of the virtual storage box management table 4330.
  • the virtual storage box management table 4330 is a table for managing the virtual storage boxes of the virtual storage device 3000.
  • the virtual storage box management table 4330 is a table in which the virtual storage box management tables 2320 of all physical storage apparatuses 2000 are integrated.
  • the virtual storage box management table 4330 has a virtual storage box ID column 4331 for storing a virtual storage box ID and a resource group ID column 4332 for storing a resource group ID belonging to the virtual storage box.
  • FIG. 13 shows a configuration example of the virtual storage resource management table 4340.
  • the virtual storage resource management table 4340 is a table for managing the resources of the virtual storage device 3000.
  • the virtual storage resource management table 4340 is a table in which the resource management tables 2310 of all physical storage apparatuses 2000 are integrated.
  • the virtual storage resource management table 4340 is assigned to a resource type column 4341 that stores a resource type, a resource ID column 4342 that stores the resource ID, a resource group ID column 4343 that stores a resource group ID to which the resource belongs.
  • FIG. 14 shows a configuration example of the volume copy pair management table 4350.
  • the volume copy pair management table 4350 is a table for managing volume copy pairs of the physical storage device 2000 managed by the management computer 4000.
  • the volume copy pair management table 4350 is a table in which the volume copy pair management table 2340 of all physical storage apparatuses 2000 is integrated.
  • the volume copy pair management table 4350 stores a pair ID column 4351 for storing a pair ID of a volume copy pair, a pair type column 4352 for storing the type of the pair, a pair status column 4353 for storing the status of the pair, and a PVOLID. It has a PVOLID column 4354, a SVOLID column 4355 for storing the SVOLID, a related pair ID column 4356 for storing the pair ID related to the pair, and a priority column 4357 for storing the priority of the pair and the related pair.
  • the meaning of the words in each column of the volume copy pair management table 4350 is the same as that of the volume copy pair management table 2340.
  • FIG. 15 shows the steps of migrating the physical VOL2 (SVOL) 2900 of the physical storage device 2 (ST2) (2000) to the physical VOL3 (SVOL) 2900 of the physical storage device 3 (ST3) (2000).
  • the physical VOL1, VOL2, and VOL3 (2900) are components of the virtual VOL11 (3000). Note that some symbols are omitted.
  • the physical VOL 2 (SVOL) 2900 and the physical VOL 1 (PVOL) 2900 of the physical storage device 2 (2000) are pre-migration volume pairs (first volume pairs).
  • the physical VOL3 (2900) and the physical VOL1 (PVOL) 2900 are post-migration volume pairs (second volume pairs). In the migration, data of the physical VOL1 (PVOL) 2900 is copied to the physical VOL3 (2900).
  • a system administrator who can perform both host management and storage management performs path and volume settings.
  • step A-0 shows an initial state.
  • a path is defined between the host computer 1000 and the physical VOL1, VOL2.
  • the physical VOL1 and VOL2 constitute a volume pair.
  • the physical VOL1 and VOL2 are components of the virtual VOL11, and the host computer 1000 can access any of the physical VOL1 and VOL for accessing the virtual VOL11.
  • Step A-1 the physical storage device 3 creates a physical VOL 3 in accordance with an instruction from the system administrator.
  • the physical storage device 1 (ST1) and the physical storage device 3 create an HA volume pair of the physical VOL1 and the physical VOL3.
  • a virtual ID is assigned to VOL3.
  • VOL1, VOL2, and VOL3 have an HA multi-target configuration.
  • step A-2 the host computer 1000 and the physical storage device 3 define a path from the host computer 1000 to the physical VOL 3 in accordance with an instruction from the system administrator.
  • the physical storage device 3 adds host WWN, port ID, and VOL3 volume ID information to the host group management table 2380.
  • step A-3 the host computer 1000 and the physical storage device 2 delete the path from the host computer 1000 to the physical VOL 2 in accordance with an instruction from the system administrator.
  • the physical storage device 2 deletes the information of the host WWN, port ID, and VOL2 volume ID from the host group management table 2380.
  • step A-4 according to the instruction from the system administrator, the physical storage devices 1 and 2 delete the HA pair of the physical VOL1 and physical VOL2, and the physical storage device 2 assigns the virtual ID of the physical VOL2. delete.
  • FIG. 16 shows an example of a flowchart when the data input / output processing program 2350 of the physical storage device 2000 processes the WRITE command when the WRITE command is issued from the host computer 1000 to the physical storage device 2000.
  • the WRITE command includes a data write instruction and write data.
  • step S101 the data input / output processing program 2350 receives a WRITE command from the host computer 1000.
  • step S102 the data input / output processing program 2350 determines whether the HA volume pair configuration of the WRITE target volume indicated by the WRITE command is an HA multi-target configuration (HA-MLT).
  • the data input / output processing program 2350 refers to the pair type column 2342 in the volume copy pair management table 2340 for the determination.
  • step S102 If the decision result in step S102 is Yes, the data input / output processing program 2350 proceeds to step S103. After step S103 is completed, the data input / output processing program 2350 ends the flow. Details of step S103 will be described later with reference to FIG.
  • step S104 the data input / output processing program 2350 refers to the volume copy pair management table 2340 to determine whether or not the WRITE target volume copy pair configuration is an HA cascade configuration (HA-CAS).
  • HA-CAS HA cascade configuration
  • step S104 If the decision result in step S104 is Yes, the data input / output processing program 2350 proceeds to step S105. After step S105 is completed, the data input / output processing program 2350 ends the flow. Details of step S105 will be described later with reference to FIG.
  • step S104 the data input / output processing program 2350 proceeds to step S106.
  • the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether the WRITE target volume is a PVOL of a single HA volume pair (S-HA).
  • S-HA single HA volume pair is an HA volume pair that is not being migrated.
  • step S106 determines whether the access destination is a PVL of a single volume pair. If the determination result in step S106 is Yes, that is, if the access destination is a PVL of a single volume pair, the data input / output processing program 2350 proceeds to step S107.
  • step S107 the data input / output processing program 2350 executes exclusive lock processing. In this example, the data input / output processing program 2350 exclusively locks the access destination address area in the access destination physical volume.
  • Exclusive lock processing is WRITE / READ exclusive control for WRITE target data or READ target data.
  • the WRITE / READ exclusive control unit in the exclusive lock process may be an LBA unit or a volume unit.
  • Information on the exclusive lock state is managed in the exclusive lock management table 2390 in units of exclusive control.
  • the exclusive lock management table 2390 is updated each time an exclusive lock process and an exclusive lock release process are performed.
  • step S108 the data input / output processing program 2350 writes the write data to the WRITE target volume.
  • Writing the write data to the target volume by the WRITE command means writing to the storage device 2200 or the cache memory 2400. This is the same for other WRITE processes.
  • step S109 the data input / output processing program 2350 transfers the WRITE command to the physical storage device 2000 having the corresponding SVOL.
  • the data input / output processing program 2350 acquires the identifier of the physical storage device 2000 that provides the corresponding SVOL from the volume copy pair management table 2340.
  • step S110 the data input / output processing program 2350 receives a WRITE command completion response from the physical storage device 2000 having the SVOL.
  • step S111 the data input / output processing program 2350 releases the exclusive lock executed for the WRITE command, and updates the exclusive lock management table 2390.
  • step S112 the data input / output processing program 2350 transmits a WRITE command completion response to the host computer 1000 and ends the flow.
  • step S106 determines whether the target of the WRITE command is SVOL in a single HA volume pair. If the determination result of step S106 is No, that is, if the target of the WRITE command is SVOL in a single HA volume pair, the data input / output processing program 2350 proceeds to step S113.
  • step S113 the data input / output processing program 2350 transfers the WRITE command to the physical storage device 2000 having the corresponding PVOL.
  • the data input / output processing program 2350 acquires from the volume copy pair management table 2340 the physical storage device 2000 that provides the corresponding PVOL and the SVOL identifier in the physical storage device 2000.
  • step S114 the data input / output processing program 2350 receives a WRITE command completion response from the physical storage device 2000 having the PVOL.
  • step S115 the data input / output processing program 2350 writes the write data to the WRITE target volume, that is, the SVOL held by the own device.
  • step S116 the data input / output processing program 2350 transmits a WRITE command completion response to the host computer 1000.
  • the data input / output processing program 2350 transmits an exclusive lock release command to the physical storage apparatus 2000 having the PVOL.
  • the exclusive lock release command includes, for example, the identifier of the WRITE command or the designated address of the virtual volume.
  • step S108 the data input / output processing program 2350 receives the exclusive lock release command completion response from the physical storage apparatus 2000 with the PVOL, and ends the flow.
  • FIG. 21 shows a sequence from step S107 to step S112.
  • Steps S107 to S112 are a flow of a WRITE command from the host computer 1000 to the PVOL of the single volume pair.
  • the physical storage device 1 (2000) receives a WIRITE command to the physical VOL1 (virtual VOL11) 2900 from the host computer 1000 (S101).
  • the physical VOL 1 (2900) is a PVOL of a single volume pair.
  • the physical storage device 1 (2000) exclusively locks the designated area (S107) and writes the write data (S108).
  • the physical storage device 1 (2000) transfers the WIRITE command to the physical storage device 2 (2000) that provides the physical VOL2 (2900) that is the corresponding SVOL (S109).
  • the physical storage device 2 (2000) writes the transferred write data to the designated area of the physical VOL2 (2900) without exclusive lock (S2101), and returns a write completion response to the physical storage device 1 (2000) (S110). ).
  • the physical storage device 1 (2000) that has received the write completion response releases the exclusive lock (S111), and returns a write completion response to the host computer 1000 (S112).
  • FIG. 22 shows a sequence from step S113 to step S118.
  • Steps S113 to S118 are a flow of a WRITE command from the host computer 1000 to the SVOL of the single volume pair.
  • the physical storage device 2 (2000) receives a WIRITE command to the physical VOL2 (virtual VOL11) 2900 from the host computer 1000 (S101).
  • the physical VOL 2 (2900) is a single volume pair SVOL.
  • the physical storage device 2 (2000) transfers the WRITE command to the physical storage device 1 (2000) that provides the corresponding PVOL (physical VOL1 (2900)) (S113).
  • the physical storage device 1 (2000) exclusively locks the designated area of the physical VOL1 (2900) (S2201) and writes the write data (S2202).
  • the physical storage device 1 (2000) returns a write completion response to the physical storage device 2 (2000) (S114).
  • the physical storage device 2 (2000) that has received the write completion response writes the write data to the physical VOL 2 (2900) (S115), and returns a write completion response to the host computer 1000 (S116). Thereafter, the physical storage device 2 (2000) transmits an exclusive lock release command to the physical storage device 1 (2000) (S117). The physical storage device 1 (2000) releases the exclusive lock (S2203), and returns an exclusive lock release completion response to the physical storage device 2 (2000) (S118).
  • FIG. 17 shows a flowchart example of the WRITE process in the HA multi-target configuration in step S103.
  • the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether the WRITE target volume is a PVOL of the first volume pair.
  • the priority column 2347 indicates whether the volume pair is a first volume pair or a second volume pair. As described above, in this example, the first volume pair is a pre-migration volume pair.
  • the data input / output processing program 2350 refers to the volume copy pair management table 2340 to determine the priority of the volume pair (copy pair) to which the WRITE target volume belongs, and whether the volume is a PVOL or SVOL. Can be determined.
  • step S201 If the determination result of step S201 is No, the data input / output processing program 2350 proceeds to step S202.
  • step S202 the WRITE command is transferred to the PVOL of the first volume pair. Details of step S202 will be described later.
  • step S202 the data input / output processing program 2350 proceeds to step S203. If the determination result in step S201 is Yes, the data input / output processing program 2350 proceeds to step S203.
  • step S203 the data input / output processing program 2350 determines whether or not the WRITE target volume is a PVOL of the first volume pair or an SVOL of the first volume pair.
  • step S203 determines whether the WRITE target volume is included in the first volume pair. If the determination result in step S203 is Yes, that is, if the WRITE target volume is included in the first volume pair, the data input / output processing program 2350 proceeds to step S204. In step S204, the data input / output processing program 2350 executes exclusive lock processing on the WRITE target volume, and the process proceeds to step S205.
  • step S203 determines whether the WRITE target volume is a new migration destination volume. If the determination result in step S203 is No, that is, if the WRITE target volume is a new migration destination volume, the data input / output processing program 2350 proceeds to step S205. In step S205, the data input / output processing program 2350 writes data to the WRITE target volume without performing an exclusive lock.
  • step S206 the data input / output processing program 2350 determines whether the WRITE target volume is a PVOL of the first volume pair. If the determination result in step S206 is Yes, the data input / output processing program 2350 proceeds in the order of step S207, step S208, and step S209. Details of step S207 and step S208 will be described later.
  • step S206 determines whether or not the WRITE target volume is a PVOL of the first volume pair or an SVOL of the first volume pair. If the determination result of step S209 is Yes, the data input / output processing program 2350 proceeds to step 210.
  • step S210 the data input / output processing program 2350 releases the exclusive lock and proceeds to step S211. If the determination result of step S209 is No, the data input / output processing program 2350 proceeds to step 211.
  • step S211 the data input / output processing program 2350 transmits a WRITE command completion response to the host computer 1000.
  • the data input / output processing program 2350 determines whether or not the WRITE target volume is the first pair PVOL. If the determination result of step S212 is No, the data input / output processing program 2350 ends the flow.
  • step S212 If the determination result in step S212 is Yes, the data input / output processing program 2350 transmits an exclusive lock release command to the physical storage device 2000 having the SVOL of the first volume pair in step S213.
  • step S214 the data input / output processing program 2350 receives the exclusive lock release command completion response from the physical storage device 2000 having the SVOL of the first volume pair, and ends the flow.
  • FIG. 18 shows a flowchart of steps S202, S207, and S208 in the flowchart of FIG. Steps S202, 207, and 208 show WRITE command transfer processing between physical storage apparatuses in the HA multi-target configuration.
  • step S301 the data input / output processing program 2350 determines whether the WRITE target volume is the PVOL of the first volume pair or the SVOL of the first pair. As described above, the data input / output processing program 2350 refers to the volume copy pair management table 2340 to determine the priority of the volume pair (copy pair) to which the WRITE target volume belongs, and whether the volume is a PVOL or SVOL. Can be determined.
  • step S301 determines whether the data input / output processing program 2350 is Yes. If the determination result in step S301 is Yes, the data input / output processing program 2350 proceeds to step S302. In step S302, the data input / output processing program 2350 executes exclusive lock processing for the WRITE target area, and the process proceeds to step S303. If the determination result in step S301 is No, the data input / output processing program 2350 proceeds to step S303.
  • step S303 the data input / output processing program 2350 writes the data to the WRITE target volume, and proceeds to step S304.
  • step S304 the data input / output processing program 2350 determines whether the WRITE target volume is a PVOL of the first volume pair.
  • step S304 If the determination result in step S304 is Yes, the data input / output processing program 2350 proceeds in the order of step S305, step S306, and step S307.
  • step S305 the data input / output processing program 2350 transfers the WRITE command to the physical storage device 2000 having the SVOL of the first volume pair.
  • the physical storage apparatus 2000 having the SVOL of the first volume pair executes the WRITE command transfer process of FIG.
  • step S306 the data input / output processing program 2350 transfers the WRITE command to the physical storage device 2000 having the SVOL of the second volume pair.
  • the physical storage apparatus 2000 having the SVOL of the second volume pair executes the WRITE command transfer process of FIG.
  • step S307 the data input / output processing program 2350 determines whether the WRITE target volume is a PVOL of the first volume pair. If the determination result in step S307 is Yes, the data input / output processing program 2350 executes the exclusive lock release processing, and proceeds to step S309. If the determination result of step S307 is No, the data input / output processing program 2350 proceeds to step S309.
  • step S309 the data input / output processing program 2350 transmits a WRITE command completion response to the WRITE command transfer source physical storage device 2000, and proceeds to step S313.
  • step S313 the data input / output processing program 2350 determines whether the WRITE target volume is an SVOL of the first volume pair. If the determination result in step S313 is Yes, the data input / output processing program 2350 waits for an exclusive lock release command from the physical storage device 1 (2000) that provides the physical VOL1 (2900), which is the WRITE command transfer source.
  • step S314 the data input / output processing program 2350 receives the exclusive lock release command.
  • step S313 the data input / output processing program 2350 proceeds to step S310.
  • step S310 the data input / output processing program 2350 determines whether or not the volume in the WRITE command transfer source physical storage device 2000 is the SVOL of the first volume pair. If the determination result in step S310 is Yes, the data input / output processing program 2350 ends the flow.
  • step S311 the data input / output processing program 2350 transmits an exclusive lock release command to the physical storage device 2 (2000). Thereafter, in step S312, the data input / output processing program 2350 receives the exclusive lock release command completion response from the physical storage device 2 (2000), and ends the flow.
  • FIG. 25 shows the processing sequence of the WRITE command from the host computer 1000 to the PVOL of the first volume pair.
  • FIG. 26 shows the processing sequence of the WRITE command from the host computer 1000 to the SVOL of the first volume pair.
  • FIG. 27 shows the processing sequence of the WRITE command from the host computer 1000 to the SVOL of the second volume pair.
  • the physical storage device 1 (2000) receives the WRITE command to the physical VOL1 (virtual VOL11) 2900 (S101).
  • the physical VOL1 (2900) is a PVOL of the first volume pair and the second volume pair.
  • the physical storage device 1 (2000) exclusively locks the designated address area of the physical VOL1 (2900) (S204) and writes the write data (S205).
  • the physical storage device 1 (2000) transfers the WRITE command to the physical storage device 2 (2000) that provides the physical VOL2 (2900) (S207).
  • the physical VOL 2 (2900) is the SVOL of the first volume pair.
  • the physical storage device 2 (2000) exclusively locks the designated address area of the physical VOL2 (2900) (S302) and writes the write data (S303). Thereafter, the physical storage device 2 (2000) transmits a WRITE command completion response to the physical storage device 1 (2000) (S309).
  • the physical storage device 1 (2000) transfers the WRITE command to the physical storage device 3 (2000) that provides the physical VOL3 (2900) (S208).
  • the physical VOL 3 (2900) is the SVOL of the second volume pair.
  • the physical storage device 3 (2000) writes the write data to the physical VOL 3 (2900) without performing an exclusive lock (S303).
  • the physical storage device 3 (2000) transmits a WRITE command completion response to the physical storage device 1 (2000) (S309).
  • the physical storage device 1 (2000) releases the exclusive lock (S210), and returns a WRITE command completion response to the host computer 1000 (S211).
  • the physical storage device 1 (2000) transmits an exclusive lock release command to the physical storage device 2 (2000) (S213), and the physical storage device 2 releases the exclusive lock (S308).
  • the physical storage device 1 (2000) receives the completion response (S214).
  • the response time to the host computer 1000 can be shortened by sending an exclusive lock release command to another physical storage device 2000 after returning a WRITE command completion response to the host computer 1000. After receiving an exclusive lock release command completion response from another physical storage device 2000, a WRITE command completion response to the host computer 1000 may be returned. This is the same in other sequence diagrams.
  • the physical storage device 2 (2000) receives the WRITE command to the physical VOL2 (virtual VOL11) 2900 (S101).
  • the physical storage device 2 (2000) transfers the WRITE command to the physical storage device 1 (2000) (S202).
  • the physical storage device 1 (2000) exclusively locks the designated address area of the physical VOL1 (2900) (S302) and writes the write data (S303). Next, the physical storage device 1 (2000) transfers the WRITE command to the physical storage device 2 (2000) (S305).
  • the physical storage device 2 (2000) exclusively locks the designated address area of the physical VOL 2 (2900) (S302) and writes the write data (S303). Thereafter, the physical storage device 2 (2000) transmits a WRITE command completion response to the physical storage device 1 (2000) (S309).
  • the physical storage device 1 (2000) transfers the WRITE command to the physical storage device 3 (2000) that provides the physical VOL3 (2900) (S306).
  • the physical storage device 3 (2000) writes the write data to the physical VOL 3 (2900) without performing an exclusive lock (S303).
  • the physical storage device 3 (2000) transmits a WRITE command completion response to the physical storage device 1 (2000) (S309).
  • the physical storage device 1 (2000) releases the exclusive lock (S308), and returns a WRITE command completion response to the physical storage device 2 (2000) that is the WRITE command transfer source (S309).
  • the physical storage device 2 (2000) releases the exclusive lock (S210), and returns a WRITE command completion response to the host computer 1000 (S211).
  • the physical storage device 3 (2000) receives the WRITE command to the physical VOL3 (virtual VOL11) 2900 (S101).
  • the physical storage device 3 (2000) transfers the WRITE command to the physical storage device 1 (2000) (S202).
  • the physical storage device 1 (2000) exclusively locks the designated address area of the physical VOL1 (2900) (S302) and writes the write data (S303). Next, the physical storage device 1 (2000) transfers the WRITE command to the physical storage device 2 (2000) (S305).
  • the physical storage device 2 (2000) exclusively locks the designated address area of the physical VOL 2 (2900) (S302) and writes the write data (S303). Thereafter, the physical storage device 2 (2000) transmits a WRITE command completion response to the physical storage device 1 (2000) (S309).
  • the physical storage device 1 (2000) transfers the WRITE command to the physical storage device 3 (2000) that provides the physical VOL3 (2900) (S306).
  • the physical storage device 3 (2000) writes the write data to the physical VOL 3 (2900) without performing an exclusive lock (S303).
  • the physical storage device 3 (2000) transmits a WRITE command completion response to the physical storage device 1 (2000) (S309).
  • the physical storage device 1 (2000) releases the exclusive lock (S308), and returns a WRITE command completion response to the physical storage device 3 (2000) that is the WRITE command transfer source (S309).
  • the physical storage device 3 (2000) When the WRITE command completion response is received from the physical storage device 1 (2000), the physical storage device 3 (2000) returns a WRITE command completion response to the host computer 1000 (S211).
  • the physical storage device 1 (2000) After returning a WRITE command completion response, the physical storage device 1 (2000) transmits an exclusive lock release command to the physical storage device 2 (2000) (S311).
  • the physical storage device 2 (2000) receives the exclusive lock release command (S314), executes the exclusive lock release processing (S315), and returns a completion response of the exclusive lock release command to the physical storage device 1 (2000) (S316). ).
  • FIG. 19 shows a flowchart example of processing of the data input / output processing program 2350 when a READ command is issued from the host computer 1000 to the physical storage device 2000.
  • reading from the physical volume means reading from the storage device 2200 or the cache memory 2400.
  • step S401 the data input / output processing program 2350 receives a READ command from the host.
  • step S402 the data input / output processing program 2350 determines whether or not the READ target volume is the SVOL of the second volume pair or the SVOL of the single volume pair.
  • the data input / output processing program 2350 refers to the volume copy pair management table 2340 in the determination.
  • step S402 If the determination result in step S402 is Yes, the data input / output processing program 2350 reads data from the READ target volume in step S403, and proceeds to step S407.
  • step S402 determines whether the determination in step S402 is No. If the determination in step S402 is No, the data input / output processing program 2350 executes exclusive lock processing in step S404, and reads data from the READ target volume in step S405. In step S406, the data input / output processing program 2350 executes exclusive lock release processing, and proceeds to step S407. In step S407, the data input / output processing program 2350 transmits a READ command completion response including the read data to the host computer 1000, and ends the flow.
  • FIG. 23, FIG. 24, FIG. 28, FIG. 29 and FIG. 30 show the sequence of FIG.
  • FIG. 23 shows a sequence of READ command processing to the PVOL of a single volume pair.
  • FIG. 24 shows the sequence of READ command processing to the SVOL of a single volume pair.
  • FIG. 28 shows a READ command processing sequence for the PVOL of the first volume pair.
  • FIG. 29 shows a READ command processing sequence for the SVOL of the first volume pair.
  • FIG. 30 shows a sequence of READ command processing to the SVOL of the second volume pair.
  • the physical storage device 1 (2000) receives a READ command to the physical VOL1 (virtual VOL11) (S401).
  • the physical storage device 1 (2000) exclusively locks the designated address area (S404), and reads the read data from the designated address area (S405).
  • the physical storage device 1 (2000) releases the exclusive lock (S406), and returns a RAD command completion response including read data to the host computer 1000 (S407).
  • the physical storage device 2 (2000) receives a READ command to the physical VOL2 (virtual VOL11) (S401).
  • the physical storage device 2 (2000) reads the read data from the designated address area without performing exclusive lock (S403).
  • the physical storage device 2 (2000) returns a RAD command completion response including read data to the host computer 1000 (S407).
  • the sequence in FIG. 28 is the same as the sequence in FIG.
  • the sequence in FIG. 29 is the same as the sequence in FIG. 23 except that the physical storage device 2 (2000) performs processing instead of the physical storage device 1 (2000).
  • the sequence in FIG. 30 is the same as the sequence in FIG. 24 except that the physical VOL 2 (2900) and the physical storage device 2 (2000) are changed to the physical VOL 3 (2900) and the physical storage device 3 (2000). is there.
  • the exclusive lock is not performed on the volume (the last volume) to which the write data is written last, but the exclusive lock may be performed even when writing to the last volume.
  • the exclusive lock is performed after receiving a WRITE command from another physical storage device 2000.
  • the read process at the time of volume migration may be the same as the read process at the HA single volume pair at the time of non-migration.
  • volume pair migration is performed, but the above description can be applied to volume migration of a volume group including three or more volumes.
  • the above description can be applied to a storage system including three or more physical storage devices.
  • the write data write order at the time of volume migration matches the write order at the time of non-migration, so that the functions of the storage system can be efficiently configured.
  • the writing order at the time of migration and non-migration may be different.
  • the writing order of the physical VOL 2 and the physical VOL 3 may be switched. These are the same in other embodiments.
  • FIG. 31 shows data migration (volume migration) of this embodiment.
  • the physical VOL 1 (2900) is migrated to the physical VOL 3 (2900).
  • the physical VOL2 (2900) is common before and after the migration.
  • FIG. 31 shows an outline of the HA cascade configuration in volume migration.
  • one volume is an SVOL of one HA volume pair and a PVOL of the other HA volume pair, and these three volumes constitute two HA volume pairs.
  • the physical VOL 1 (2900) and the physical VOL 2 (2900) constitute an HA volume pair 7100.
  • an HA volume pair 7200 is formed by the physical VOL 2 (2900) and the physical VOL 3 (2900).
  • the physical VOL2 is PVOL
  • the physical VOL3 is SVOL.
  • data is copied from the physical VOL 2 that is the PVOL to the physical VOL 3 that is the SVOL.
  • a path 8300 from the host computer 1000 to the physical VOL 3 (2900) is defined.
  • the physical storage device 3 (2000) returns the information on the virtual VOL11 (3900) in the same manner as the physical VOL1 (2900) and physical VOL2 (2900). .
  • the path 8100 from the host computer 1000 to the physical VOL 2 is deleted. Further, the physical storage device 1 (2000) and the physical storage device 2 (2000) delete the HA volume pair 7100. Thereby, the migration from the physical VOL 2 (2900) of the physical storage device 2 (2000) to the physical VOL 3 (2900) of the physical storage device 3 (2000) is completed.
  • FIG. 32 shows the procedure for migrating the PVOL (VOL1) of the physical storage device 1 (ST1) of the HA pair to the physical storage device 3 (ST3).
  • the physical volume after the migration is a physical VOL3.
  • the system administrator executes the procedure. Note that some symbols are omitted.
  • Step B-0 shows the initial state.
  • a path is defined between the host computer 1000 and the physical VOL1, VOL2.
  • the physical VOL1 and VOL2 constitute a volume pair.
  • the physical VOL1 and VOL2 are components of the virtual VOL11, and the host computer 1000 can access any of the physical VOL1 and VOL for accessing the virtual VOL11.
  • step B-1 the physical storage device 3 creates a physical VOL 3 in accordance with an instruction from the system administrator.
  • the physical storage device 2 (ST2) and the physical storage device 3 create an HA volume pair of the physical VOL2 and the physical VOL3.
  • the physical VOL1, VOL2, and VOL3 are in an HA cascade configuration.
  • step B-2 the host computer 1000 and the physical storage device 3 are defined with a path from the host computer 1000 to the physical VOL 3 in accordance with an instruction from the system administrator.
  • the physical storage device 3 adds host WWN, port ID, and VOL3 volume ID information to the host group management table 2380.
  • step B-3 the system administrator deletes the path from the host computer 1000 to the physical VOL 1 in the host computer 1000 and the physical storage device 1.
  • the physical storage device 1 deletes the host WWN, port ID, and VOL2 volume ID information from the host group management table 2380.
  • step B-4 according to the instruction from the system administrator, the physical storage device 1 and the physical storage device 2 delete the physical VOL1 and physical VOL2HA pair, and the physical storage device 1 further deletes the virtual VOL1 virtual Delete the ID.
  • FIG. 33 shows a flowchart example of the WRITE process in the HA cascade configuration of step S105 in FIG.
  • the data input / output processing program 2350 refers to the volume copy pair management table 2340 to determine whether or not the WRITE target volume is a PVOL of the first volume pair.
  • step S601 the data input / output processing program 2350 proceeds to step S602.
  • step S602 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether the WRITE target volume is an SVOL of the first volume pair.
  • step S602 determines whether the data input / output processing program 2350 is Yes. If the determination result in step S602 is Yes, the data input / output processing program 2350 proceeds in the order of step S603 and step S605. Details of step S603 will be described later. If the determination result in step S602 is No, the data input / output processing program 2350 proceeds in the order of step S604 and step S606. Details of step S604 will be described later.
  • step S601 If the determination result in step S601 is Yes, the data input / output processing program 2350 proceeds to step S605. In step S605, the data input / output processing program 2350 executes exclusive lock processing.
  • step S606 the data input / output processing program 2350 writes the write data to the WRITE target volume.
  • step S607 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether the WRITE target volume is a PVOL of the first volume pair.
  • step S607 If the determination result in step S607 is Yes, the data input / output processing program 2350 proceeds in the order of step S609 and step S611. Details of step S609 will be described later. If the determination result of step S607 is No, the data input / output processing program 2350 proceeds to step S608.
  • step S608 the data input / output processing program 2350 refers to the volume copy pair management table 2340 to determine whether the WRITE target volume is the first pair of SVOLs.
  • step S608 determines whether the data input / output processing program 2350 is Yes or not. If the determination result in step S608 is Yes, the data input / output processing program 2350 proceeds in the order of step S610 and step S611. Details of step S610 will be described later. If the determination result of step S608 is No, the data input / output processing program 2350 proceeds to step S612. In step S611, the data input / output processing program 2350 executes exclusive lock release processing.
  • step S612 the data input / output processing program 2350 transmits a WRITE command completion response to the host.
  • step S613 the data input / output processing program 2350 refers to the volume copy pair management table 2340 to determine whether or not the WRITE target volume is a PVOL of the first volume pair.
  • step S613 If the determination result in step S613 is Yes, the data input / output processing program 2350 ends the flow.
  • step S613 the data input / output processing program 2350 proceeds to step S614.
  • step S614 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether the WRITE target volume is the SVOL of the first volume pair.
  • step S614 If the determination result in step S614 is Yes, the data input / output processing program 2350 transmits an exclusive lock release command to the physical storage device 2000 having the PVOL of the first volume pair in step S615.
  • step S616 the data input / output processing program 2350 receives the exclusive lock release command completion response from the physical storage device 2000 having the PVOL of the first volume pair, and ends the flow.
  • step S614 the data input / output processing program 2350 transmits an exclusive lock release command to the physical storage device 2000 having the SVOL of the first volume pair in step S617, and then in step S618, the first The exclusive lock release command completion response is received from the physical storage apparatus 2000 having the SVOL of the volume pair, and the flow ends.
  • the flowchart in FIG. 34 shows an example of the WRITE command transfer process between physical storage devices in the HA cascade configuration in steps S603, S604, S609, and S610.
  • step S701 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether the WRITE target volume is the first pair of PVOLs. If the determination result of step S701 is Yes, the data input / output processing program 2350 proceeds to step S702. If the determination result in step S701 is No, the data input / output processing program 2350 proceeds to step S702.
  • step S702 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether the WRITE target volume is an SVOL of the first volume pair. If the determination result of step S702 is No, the process proceeds to step S706. If the determination result of step S702 is Yes, the process proceeds to step S703.
  • step S703 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether or not the WRITE command transfer source is the physical storage apparatus 2000 having the first pair of PVOLs. If the determination result in step S703 is Yes, the data input / output processing program 2350 proceeds to step S705. If the determination result in step S703 is No, the data input / output processing program 2350 proceeds in the order of step S704 and step S705.
  • step S704 the data input / output processing program 2350 transfers the WRITE command to the physical storage apparatus 2000 having the first volume pair PVOL, and the physical storage apparatus 2000 having the first pair PVOL performs the WRITE command transfer process of FIG. Execute.
  • step S705 the data input / output processing program 2350 executes exclusive lock processing.
  • step S706 the data input / output processing program 2350 writes the write data to the WRITE target volume.
  • step S707 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines that the VOL target volume is the SVOL of the first volume pair and the WRITE command transfer source is the SVOL of the first volume pair. It is determined whether or not the physical storage device 2000 is present.
  • step S707 the process proceeds in the order of step S708, step S709, and step S710.
  • step S708 the data input / output processing program 2350 transfers the WRITE command to the physical storage device 2000 having the SVOL of the second volume pair, and the physical storage device 2000 having the SVOL of the second volume pair receives the WRITE command in FIG. Execute the transfer process.
  • step S709 the data input / output processing program 2350 executes exclusive lock release processing, and proceeds to step S710.
  • step S 710 the data input / output processing program 2350 transmits a WRITE command completion response to the WRITE command transfer source physical storage apparatus 2000.
  • step 711 the data input / output processing program 2350 refers to the volume copy pair management table 2340 and determines whether or not the WRITE target volume is the first pair of PVOLs. If the determination result in step 711 is No, the data input / output processing program 2350 ends the flow. If the determination result in step 711 is Yes, the data input / output processing program 2350 proceeds to step S713.
  • step S707 the data input / output processing program 2350 proceeds to step S712.
  • step S 712 the data input / output processing program 2350 transmits a WRITE command completion response to the WRITE command transfer source physical storage apparatus 2000.
  • step S713 the data input / output processing program 2350 receives the exclusive lock release command from the other physical storage device 2000, and executes the exclusive lock release processing in step S714.
  • step 715 the data input / output processing program 2350 refers to the volume copy pair management table 2340 to determine whether the WRITE target volume is the SVOL of the first volume pair and the PVOL of the second volume pair. If the determination result in step S715 is No, in step S718, the data input / output processing program 2350 returns an exclusive lock release command completion response to the transmission source of the command, and the flow ends.
  • step S716 the data input / output processing program 2350 transmits an exclusive lock release command to the physical storage device 2000 having the PVOL of the first volume pair.
  • the exclusive lock release command completion response is received from the physical storage apparatus 2000 having the PVOL of the first volume pair in step S717, the data input / output processing program 2350 proceeds to step S718.
  • FIGS. 33 and 34 show the sequences of FIGS. 33 and 34.
  • FIG. FIG. 35 shows the processing sequence of the WRITE command from the host computer 1000 to the PVOL of the first volume pair.
  • FIG. 36 shows the processing sequence of the WRITE command from the host computer 1000 to the SVOL of the first volume pair.
  • FIG. 37 shows the processing sequence of the WRITE command from the host computer 1000 to the SVOL of the second volume pair.
  • the physical storage device 1 (2000) receives a WRITE command to the physical VOL1 (virtual VOL11) 2900 (S101).
  • the physical VOL1 (2900) is a PVOL of the first volume pair.
  • the physical storage device 1 (2000) exclusively locks the designated address area of the physical VOL1 (2900) (S605) and writes the write data (S606).
  • the physical storage device 1 (2000) transfers the WRITE command to the physical storage device 2 (2000) that provides the physical VOL2 (2900) (S609).
  • the physical VOL 2 (2900) is an SVOL of the first volume pair and a PVOL of the second volume pair.
  • the physical storage device 2 (2000) exclusively locks the designated address area of the physical VOL 2 (2900) (S705) and writes the write data (S706).
  • the physical storage device 2 (2000) transfers the WRITE command to the physical storage device 3 (2000) that provides the physical VOL3 (2900) (S708).
  • Physical VOL3 (2900) is the SVOL of the second volume pair.
  • the physical storage device 3 (2000) writes the write data to the designated address area of the physical VOL3 (2900) without performing exclusive lock (S706).
  • the physical storage device 3 (2000) transmits a WRITE command completion response to the physical storage device 2 (2000) (S710).
  • the physical storage device 2 (2000) releases the exclusive lock (S709), and the WRITE command transfer source physical storage device 1 (2000) is transferred to the WRITE command.
  • a command completion response is transmitted (S710).
  • the physical storage device 1 (2000) Upon receiving the WRITE command completion response from the physical storage device 2 (2000), the physical storage device 1 (2000) releases the exclusive lock (S611), and returns the WRITE command completion response to the host computer 1000 (S612).
  • the physical storage device 2 (2000) receives a WRITE command to the physical VOL2 (virtual VOL11) 2900 (S101).
  • the physical storage device 2 (2000) transfers the WRITE command to the physical storage device 1 (2000) (S603).
  • the physical storage device 1 (2000) exclusively locks the designated address area of the physical VOL1 (2900) (S705) and writes the write data (S706).
  • the physical storage device 1 (2000) transmits a WRITE command completion response to the physical storage device 2 (2000) (S710).
  • the physical storage device 2 (2000) exclusively locks the designated address area of the physical VOL2 (2900) (S605) and writes the write data (S606).
  • the physical storage device 2 (2000) transfers the WRITE command to the physical storage device 3 (2000) that provides the physical VOL3 (2900) (S610).
  • the physical storage device 3 (2000) writes the write data to the physical VOL 3 (2900) without performing an exclusive lock (S706).
  • the physical storage device 3 (2000) transmits a WRITE command completion response to the physical storage device 2 (2000) (S710).
  • the physical storage device 2 (2000) releases the exclusive lock (S611), and returns the WRITE command completion response to the host computer 1000 (S612).
  • the physical storage device 2 (2000) transmits an exclusive lock release command to the physical storage device 1 (2000) (S615).
  • the physical storage device 1 (2000) receives the exclusive lock command (S713) and releases the exclusive lock (S714).
  • the physical storage device 1 (2000) returns a completion response of the exclusive lock release command to the physical storage device 2 (2000) (S718).
  • the physical storage device 3 (2000) receives the WRITE command to the physical VOL3 (virtual VOL11) 2900 (S101).
  • the physical storage device 3 (2000) transfers the WRITE command to the physical storage device 2 (2000) (S604).
  • the physical storage device 2 (2000) transfers the WRITE command to the physical storage device 1 (2000) (S704).
  • the physical storage device 1 (2000) exclusively locks the designated address area of the physical VOL1 (2900) (S705) and writes the write data (S706). Next, the physical storage device 1 (2000) transmits a WRITE command completion response to the physical storage device 2 (2000) (S710).
  • the physical storage device 2 (2000) exclusively locks the designated address area of the physical VOL 2 (2900) (S705) and writes the write data (S706). Next, the physical storage device 2 (2000) transmits a WRITE command completion response to the physical storage device 3 (2000) (S712).
  • the physical storage device 3 (2000) that has received the WRITE command completion response from the physical storage device 2 (2000) writes the write data to the designated area of the physical VOL3 (2900) (S606), and the WRITE command is completed to the host computer 1000. A response is returned (S612).
  • the physical storage device 3 (2000) transmits an exclusive lock release command to the physical storage device 2 (2000) (S617).
  • the physical storage device 2 (2000) receives the exclusive lock release command (S713) and releases the exclusive lock (S714).
  • the physical storage device 2 (2000) transmits an exclusive lock release command to the physical storage device 1 (2000) (S716).
  • the physical storage device 1 (2000) receives the exclusive lock release command (S713) and releases the exclusive lock (S714).
  • the physical storage device 1 (2000) returns a completion response of the exclusive lock release command to the physical storage device 2 (2000) (S718).
  • the physical storage device 2 (2000) When the completion response of the exclusive lock release command is received from the physical storage device 1 (2000), the physical storage device 2 (2000) returns a completion response of the exclusive lock release command to the physical storage device 3 (2000) (S718).
  • host I / O non-stop and high availability can be maintained during volume migration in the HA cascade configuration.
  • the READ command processing at the time of volume migration is the same as that in the first embodiment, and a description thereof will be omitted.
  • Example 3 will be described below.
  • This embodiment describes volume migration using an I / O switching volume in an HA multi-target configuration.
  • 38A and 38B show a procedure for migrating the SVOL (physical VOL2) of the physical storage device 2 (ST2) of the HA pair to the physical storage device 3 (ST3).
  • the physical volume after the migration is a physical VOL3.
  • the system administrator executes the procedure. Note that some reference numerals are omitted in FIGS. 38A and 38B.
  • Step C-0 shows the initial state of Step C.
  • a path is defined between the host computer 1000 and the physical VOL1, VOL2.
  • the physical VOL1 and VOL2 constitute a volume pair.
  • the physical VOL1 and the physical VOL2 are components of the virtual VOL11, and the host computer 1000 can access any of the physical VOL1 and VOL for accessing the virtual VOL11.
  • Step C-1 the physical storage device 3 creates an I / O switching volume (SWVOL) (2900) associated with the physical VOL 2 in accordance with an instruction from the system administrator.
  • SWVOL I / O switching volume
  • An I / O request from the host computer 1000 to the SWVOL is transferred to a physical volume associated with the SWVOL. Further, according to the instruction from the system administrator, the physical storage device 3 assigns a virtual ID to the SWVOL.
  • step C-3 processing of an I / O request transferred from the host computer 1000 to the physical VOL 2 via SWVOL, processing of an I / O request issued from the host computer 1000 to the physical VOL 2, and I / O The request is the same except for the part through SVOL.
  • Step C-2 the host computer 1000 and the physical storage device 3 define a path definition from the host computer 1000 to SWVOL in accordance with an instruction from the system administrator.
  • step C-3 the physical storage device 1 and the physical storage device 3 create an HA pair of VOL1 and VOL3 according to an instruction from the system administrator.
  • Step C-4 the physical storage device 3 assigns a virtual ID to the physical VOL 3 in accordance with an instruction from the system administrator. Further, the host computer 1000 and the physical storage device 3 define a path from the host computer 1000 to the physical VOL 3 and delete the SWVOL.
  • Step C-5 according to the instruction from the system administrator, the physical storage device 2 creates a SWVOL associated with the physical VOL 3 and assigns a virtual ID to the SWVOL.
  • the host computer 1000 and the physical storage device 2 define a path from the host computer 1000 to SWVOL, delete the path from the host computer 1000 to VOL2, and delete the virtual ID of the physical VOL2.
  • Step C-6 the host computer 1000 and the physical storage device 2 delete the path from the host computer 1000 to SWVOL according to the instruction from the system administrator.
  • Step C-7 according to the instruction from the system administrator, the physical storage device 2 deletes the SWVOL, and the physical storage devices 1 and 2 delete the HA pair of the physical VOL1 and the physical VOL2.
  • the management of the physical volume in the storage apparatus and the path management between the physical storage apparatus and the host computer can be performed independently.
  • I / O switching volumes for both the new physical volume after migration and the pre-migration physical volume deleted after migration as in the above example, only one of them may be prepared.
  • Example 4 describes volume migration using an I / O switching volume in an HA cascade configuration. Differences from the third embodiment will be mainly described.
  • FIGS. 39A and 39B show the procedure for migrating the PVOL (VOL1) of the physical storage device 1 (ST1) of the HA pair to the physical storage device 3 (ST3).
  • the physical volume after the migration is a physical VOL3.
  • the system administrator performs the above procedure.
  • FIG. 39A and 39B some symbols are omitted.
  • Step D-0 shows the initial state of Step D.
  • a path is defined between the host computer 1000 and the physical VOL1, VOL2.
  • the physical VOL1 and VOL2 constitute a volume pair.
  • step D-1 the physical storage device 3 creates a SWVOL associated with the physical VOL 2 according to an instruction from the system administrator, and assigns a virtual ID to the SWVOL.
  • step D-2 the host computer 1000 and the physical storage device 3 define a path from the host computer 1000 to SWVOL in accordance with an instruction from the system administrator.
  • step D-3 according to an instruction from the system administrator, the physical storage device 3 creates a physical VOL3, and the physical storage devices 2 and 3 create an HA pair of the physical VOL2 and the physical VOL3.
  • Step D-4 the physical storage device 3 assigns a virtual ID to the physical VOL 3 in accordance with an instruction from the system administrator.
  • the host computer 1000 and the physical storage device 3 define a path from the host computer 1000 to VOL3.
  • the physical storage device 3 deletes SWVOL.
  • Step D-5 in accordance with an instruction from the system administrator, the physical storage device 1 (ST1) creates a SWVOL associated with the physical VOL2 and assigns a virtual ID to the SWVOL.
  • the host computer 1000 and the physical storage device 1 define a path from the host computer 1000 to the SWVOL, delete the path from the host computer 1000 to the physical VOL1, and delete the virtual ID of the physical VOL1.
  • Step D-6 the host computer 1000 and the physical storage device 1 delete the path from the host computer 1000 to SWVOL in accordance with an instruction from the system administrator.
  • step D-7 according to the instruction from the system administrator, the physical storage device 1 deletes the SWVOL, and the physical storage devices 1 and 2 delete the HA pair of the physical VOL1 and the physical VOL2.
  • the management of the physical volume in the storage apparatus and the path management between the physical storage apparatus and the host computer can be performed independently.
  • I / O switching volumes for both the new physical volume after migration and the pre-migration physical volume deleted after migration as in the above example, only one of them may be prepared.
  • FIG. 40 shows a procedure for replacing the SVOL (VOL2) of the physical storage device 2 (ST2) of the HA pair with another volume (VOL3) of the same physical storage device 2.
  • the system administrator executes the procedure.
  • FIG. 40 some symbols are omitted.
  • Step E-0 shows the initial state of Step E.
  • a path is defined between the host computer 1000 and the physical VOL1, VOL2.
  • the physical VOL1 and VOL2 constitute a volume pair.
  • the physical storage device 2 creates a physical VOL3 according to an instruction from the system administrator, and creates an HA pair of the physical VOL1 and the physical VOL3.
  • step E-2 the physical storage device 2 assigns a virtual ID to the VOL 3 in accordance with an instruction from the system administrator.
  • the host computer 1000 and the physical storage device 2 define a path from the host computer 1000 to the physical VOL 3, delete the path from the host computer 1000 to the physical VOL 2, and delete the virtual ID of the physical VOL 2.
  • step E-3 the physical storage apparatuses 1 and 2 delete the HA pair of the physical VOL1 and the physical VOL2 in accordance with an instruction from the system administrator.
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • each of the above-described configurations, functions, processing units, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files for realizing each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card or an SD card.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

 移行前ボリュームグループから移行後ボリュームグループへの移行を行う複数ストレージ装置、の制御方法が与えられる。複数ストレージ装置は、移行中において、移行前ボリュームグループ及び移行後ボリュームグループの複数ボリューム内の任意ボリュームへのホストからのライトコマンドを受け付ける。上記制御方法は、複数ボリュームのそれぞれに、予め定められた順番で、受信したライトコマンドのライトデータを書き込み、複数ボリュームにおける最後において最後ボリュームに上記ライトデータを書き込み、上記異なるボリュームそれぞれにおいて、排他ロックをしてから上記ライトデータを書き込み、上記最後ボリュームへの上記ライトデータの書き込み完了後に上記排他ロックを解除する。

Description

ストレージシステム
 本発明は、ストレージシステムに関し、特に、ストレージシステムにおけるボリュームグループの移行に関する。
 背景技術として、特許文献1がある。特許文献1は、複数物理ストレージ装置から構成される仮想ストレージ装置において、物理ストレージ装置間でデータ移行を行う際に、サーバが認識するストレージ装置情報及びボリューム情報の変更を不要にし、ホストI/O無停止のままでのデータ移行を実現する技術を開示している。
米国特許出願公開第2008/0034005号明細書
 エンタプライズクラスのストレージシステムでは、ストレージ装置のクラスタ構成によるHigh Availability(HA)機能が求められている。HA機能は、ストレージシステムの高可用性を実現する。HA構成は、二重化された系を有し、障害発生時には自動的に故障した系を切り離し、正常な系のみを用いて動作を継続する。
 さらに、Active-Active型HA構成は、全ての系を稼動系として運用する。Active-Active型HA構成において、ストレージシステムは、ボリュームペアのいずれのI/Oアクセスも受け付ける。
 Active-Active型HA構成のストレージシステムにおけるデータ移行では、ホストI/O無停止かつActive-Active型HA構成を維持したまま、データを移行することが求められる。つまり、Active-Active型HA構成の高可用性を維持しながらのデータ移行が求められる。しかしながら、先行技術の範囲では、HA構成を解除しなければホストI/O無停止のデータ移行ができないため、データ移行中の高可用性を維持できない。
 本発明の一態様は、移行前ボリュームグループから移行後ボリュームグループへの移行を行う複数ストレージ装置、を含むストレージシステムであって、前記複数ストレージ装置は、前記移行中において、前記移行前ボリュームグループ及び前記移行後ボリュームグループの複数ボリューム内の任意ボリュームへのホストからのライトコマンドを受け付け、前記複数ストレージ装置は、前記複数ボリュームのそれぞれに、予め定められた順番で、前記ライトコマンドのライトデータを書き込み、前記複数ストレージ装置における第1ストレージ装置は、前記複数ボリュームにおける最後において、最後ボリュームに前記ライトデータを書き込み、前記複数ストレージ装置において前記最後ボリュームと異なるボリュームを提供するストレージ装置は、前記異なるボリュームそれぞれにおいて、排他ロックを行ってから前記ライトデータを書き込み、前記最後ボリュームへの前記ライトデータの書き込み完了後に前記排他ロックを解除する。
 本発明の一態様によれば、ストレージ装置のHA構成において、ホストI/O無停止かつ可用性を維持しつつデータ移行を実現することができる。
実施例1において、HAマルチターゲット構成におけるボリュームペア移行の概要を説明する図である。 実施例1において、計算機システムの構成例を示す図である。 実施例1において、ホスト計算機の構成例を示す図である。 実施例1において、物理ストレージ装置の構成例を示す図である。 実施例1において、物理ストレージ装置のメモリにおけるソフトウェア構成例を示す図である。 実施例1において、物理ストレージ装置におけるリソース管理テーブルの構成例を示す図である。 実施例1において、物理ストレージにおけるホストグループ管理テーブルの構成例を示す図である。 実施例1において、物理ストレージ装置における仮想ストレージボックス管理テーブルの構成例を示す図である。 実施例1において、物理ストレージ装置における仮想ストレージ管理テーブルの構成例を示す図である。 実施例1において、物理ストレージ装置におけるボリュームコピーペア管理テーブルの構成例を示す図である。 実施例1において、物理ストレージ装置における排他ロック管理テーブルの構成例を示す図である。 実施例1において、管理計算機の構成例を示す図である。 実施例1において、管理計算機におけるか仮想ストレージ管理テーブルの構成例を示す図である。 実施例1において、管理計算機における仮想ストレージボックス管理テーブルの構成例を示す図である。 実施例1において、管理計算機における仮想ストレージリソース管理テーブルの構成例を示す図である。 実施例1において、移行先物理ストレージ装置Bにおけるボリュームコピーペア管理テーブルの構成例を示す図である。 実施例1において、HAボリューム移行ステップを示す図である。 実施例1において、ホスト計算機から物理ストレージ装置へのWRITEコマンド処理例を示すフローチャートである。 実施例1において、HAマルチターゲット構成における物理ストレージ装置のWRITEコマンド処理例を示すフローチャートである。 実施例1において、HAマルチターゲット構成における物理ストレージ装置間WRITEコマンド転送時のWRITEコマンド処理例を示すフローチャートである。 実施例1において、ホスト計算機から物理ストレージ装置へのREADコマンド処理例を示すフローチャートである。 実施例1において、物理ストレージ装置における排他ロック解除コマンド処理例を示すフローチャートである。 実施例1において、HA単体ボリュームペアにおけるホスト計算機からPVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例1において、HA単体ボリュームペアにおけるホスト計算機からSVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例1において、HA単体ボリュームペアにおけるホスト計算機からPVOLへのREADコマンド処理例を示すシーケンスである。 実施例1において、HA単体ボリュームペアにおけるホスト計算機からSVOLへのREADコマンド処理例を示すシーケンスである。 実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのPVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例1において、HAマルチターゲット構成におけるホスト計算機から第2ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのPVOLへのREADコマンド処理例を示すシーケンスである。 実施例1において、HAマルチターゲット構成におけるホスト計算機から第1ペアのSVOLへのREADコマンド処理例を示すシーケンスである。 実施例1において、HAマルチターゲット構成におけるホスト計算機から第2ペアのSVOLへのREADコマンド処理例を示すシーケンスである。 実施例2において、HAカスケード構成における本発明の特徴を説明する図である。 実施例2において、HAボリューム移行ステップを示す図である。 実施例2において、HAカスケード構成における物理ストレージのWRITEコマンド処理例を示すフローチャートである。 実施例2において、HAカスケード構成における物理ストレージ間WRITEコマンド転送時のWRITEコマンド処理例を示すフローチャートである。 実施例2において、HAカスケード構成におけるホスト計算機から第1ペアのPVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例2において、HAカスケード構成におけるホスト計算機から第1ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例2において、HAカスケード構成におけるホスト計算機から第2ペアのSVOLへのWRITEコマンド処理例を示すシーケンスである。 実施例3において、HAボリュームペア移行ステップを示す図である。 実施例3において、HAボリュームペア移行ステップを示す図である。 実施例4において、HAボリュームペア移行ステップを示す図である。 実施例4において、HAボリュームペア移行ステップを示す図である。 実施例5において、HAボリュームペア移行ステップを示す図である。
 以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
 以下に説明するストレージシステムは、Active-Active型HA構成を有する。HA構成は、二重化された系を有し、障害発生時には自動的に故障した系を切り離し、正常な系のみを用いて動作を継続するための自動障害回復機能を備える。Active-Active型HA構成は、全ての系を稼動系として運用することで、リソースの有効活用及び負荷分散を実現する。以下の説明において、HA構成及びHAペアは、Active-Active型のHA構成及びHAペアを意味する。ストレージシステムは、HAペアのいずれに対するI/Oアクセスも受け付ける。
 以下においては、HAボリュームペアの移行を説明する。具体的には、HAボリュームペアの移行は、移行前HAボリュームペアの一つを別のボリュームに移行し、移行前HAボリュームペアの他方と新たなボリュームとで、移行後HAボリュームペアを構成する。ストレージシステムは、移行中において、全てのボリュームへのI/Oアクセスを受け付ける。ストレージシステムは、移行完了後に、HAボリュームペアを切り替える。
 HAボリュームペアは、Primary Volume(PVOL)とSecondary Volume(SVOL)とで構成される。一例において、ストレージシステムは、ペア作成時に、PVOLのデータをSVOLにコピーする。
 後述するように、非移行時において、ストレージシステムは、SVOLへのWRITEコマンドを受信すると、PVOLへのライトデータの書き込み(ライトキャッシュへの書き込み又は記憶ドライブへの書き込みのいずれか)終了後に、SVOLへのライトデータの書き込みを行う。一例において、PVOLへのI/Oアクセスは、PVOLの排他ロックを伴い、SVOLへのI/Oアクセスにおいて排他ロックは使用されない。SVOLへのアクセスにおいて排他ロックが使用されてもよい。
 移行時及び非移行時において、ライト処理における排他ロックは、他のライト処理及びリード処理を禁止する。リード処理における排他ロックは、他のライト処理を禁止し、他のリード処理を禁止しても禁止しなくともよい。リード処理における排他ロックは、他のリード処理を許可することでホストへの応答遅延を抑制できる。
 図1は、ボリューム移行における、HAマルチターゲット構成の概要を示す図である。HAマルチターゲット構成は、一つのボリュームを二つのHAボリュームペアの共通のPVOLとし、それらの三つのボリュームで二つのHAボリュームペアを構成する。
 図1のシステムは、ホスト計算機1000と、物理ストレージ装置(単にストレージ装置とも呼ぶ)2000と、仮想ストレージ装置3000とを含む。仮想ストレージ装置3000は、複数の物理ストレージ装置2000で構成されている。
 本システムは、複数物理ストレージ装置2000によるActive-Active型HA構成(以下、HAボリューム構成とも呼ぶ)を有する。複数物理ストレージ装置2000は、単一の仮想ストレージ装置3000として、ホスト計算機1000に提供される。各物理ストレージ装置2000は、ホスト計算機1000からの要求に対して、同一のストレージ装置構成情報、すなわち仮想ストレージ装置1(3000)の構成情報を提供する。
 図1の例において、物理ストレージ装置1(2000)の物理VOL1(2900)と、物理ストレージ装置2(2000)の物理VOL2(2900)とは、HAボリュームペア7100を構成している。物理VOL1(2900)はPVOLであり、物理VOL2(2900)はSVOLである。
 物理VOL1(2900)及び物理VOL2(2900)について、ホスト計算機1000に対して、同一のVOL情報、すなわち仮想VOL11(3900)の情報が提供される。ホスト計算機1000は、仮想VOL11(3900)にアクセスするため、物理VOL1(2900)及び物理VOL2(2900)のいずれへのパスも使用することができる。
 一方の物理VOL2900に対するライトデータは、他方の物理VOL2900に転送される。これにより、物理VOL1(2900)及び物理VOL2(2900)の間のデータ同一性が維持される。物理ストレージ装置1(2000)及び物理ストレージ装置2(2000)は、それぞれ、ホスト計算機1000からのREADコマンドに対して、自装置が提供する物理ボリューム2900から読み出したデータを送信する。
 このように、物理VOL1(2900)及び物理VOL2(2900)は、ホスト計算機1000から一つのボリュームとしてI/Oアクセス可能であり、また、いずれかの物理ボリュームにおいて障害が発生しても、他の物理ボリュームへのI/Oアクセスが可能である。
 本実施例は、ホストI/O無停止かつActive-Active型HA構成を維持したボリュームペアの移行を説明する。一例として、物理VOL2(2900)を物理VOL3へ移行する例を説明する。物理VOL1及び物理VOL2は移行前ボリュームペアを構成し、物理VOL1(2900)及び物理VOL3(2900)は移行後ボリュームペアを構成する。
 まず、物理VOL1(2900)と物理VOL3(2900)で、HAボリュームペア7200が形成される。ここでは、物理VOL1(2900)はPVOL、物理VOL3(2900)はSVOLとする。移行において、PVOLである物理VOL1(2900)からSVOLである物理VOL3(2900)にデータがコピーされる。
 ホスト計算機1000及び物理ストレージ装置3(2000)において、ホスト計算機1000から物理VOL3(2900)へのパス8300が定義される。物理ストレージ装置3(2000)は、物理VOL3(2900)について、ホスト計算機1000からの要求に対して、物理VOL1(2900)及び物理VOL2(2900)と同様に、仮想VOL11(3900)の情報を返す。
 次に、ホスト計算機1000及び物理ストレージ装置2(2000)において、ホスト計算機1000から物理VOL2(2900)へのパス8200が削除される。さらに、物理ストレージ装置1(2000)及び物理ストレージ装置2(2000)は、HAボリュームペア7100を削除する。これにより、物理ストレージ装置2(2000)の物理VOL2(2900)から物理ストレージ装置3(2000)の物理VOL3(2900)への移行が完了する。
 図2は、本実施例における計算機システムの構成例を示す。図2の計算機システムは、ホスト計算機1000と、物理ストレージ装置2000と、管理計算機4000と、を含む。
 計算機システムに含まれる各種装置(システム)の数は、設計に依存する。物理ストレージ装置1~3(2000)は、1台の仮想的なストレージ装置である仮想ストレージ装置を構成する。本例の仮想ストレージ環境において、2台または3台の物理ストレージ装置が1台の仮想ストレージを構成するが、その構成物理ストレージ数は設計に依存する。
 物理ストレージ装置A(2000)は、Quorum Diskを持つ。Quorum Diskは、HA構成における物理ストレージ装置2000間で通信不可となった場合に、HA構成が組まれた物理ストレージ装置2000のうち、継続稼動させるものと停止させるものを決定する機能を提供する。Quorum Diskにより、スプリットブレイン問題を防ぐことができる。
 ホスト計算機1000、管理計算機4000及び物理ストレージ装置2000は、LAN6000で構成された管理ネットワークにより、通信可能に接続されている。例えば、管理ネットワーク6000は、IPネットワークである。管理ネットワーク6000は、管理データ通信用のネットワークであればどのタイプのネットワークでもよい。
 ホスト計算機1000及び物理ストレージ装置2000は、SAN(Storage Area Network)5000で構成されたデータネットワークにより接続されている。ホスト計算機1000は、SAN5000を介して、物理ストレージ装置2000のボリュームにアクセスする。データネットワーク5000はデータ通信用のネットワークであれば、どのようなタイプのネットワークでもよい。データネットワーク5000と管理ネットワーク6000は同一のネットワークでもよい。
 図3は、ホスト計算機1000の構成例を模式的に示す。ホスト計算機1000は、プロセッサであるCPU(Central Processing Unit)1100、不揮発性の二次記憶デバイス1200、主記憶デバイスであるメモリ1300、入出力デバイス1400、I/O要求発行側インタフェースであるイニシエータポート1600、管理インタフェース1700を含む。各構成要素は、バス1500により通信可能に接続されている。
 CPU1100は、メモリ1300に格納されたプログラムに従って動作する。典型的には、二次記憶デバイス1200に格納されているプログラム及びデータが、メモリ1300にロードされる。本例において、メモリ1300は、OS(Operating System)1310、交替パスプログラム1320及びアプリケーションプログラム1330を保持する。アプリケーションプログラム1330は、物理ストレージ装置2000が提供するボリュームへデータの読み書きを行う。
 イニシエータポート1600は、SAN4000に接続するネットワークインタフェースである。イニシエータポート1600は、SAN5000を介して物理ストレージ装置2000とデータ及び要求を送受信する。
 管理インタフェース1700は、LAN6000に接続するネットワークインタフェースである。管理インタフェース1700は、LAN6000を介して物理ストレージ装置2000と管理データ及び制御命令を送受信する。管理インタフェース1700は、さらに、LAN6000を介して管理計算機4000と、管理データ及び制御命令を送受信する。
 図4は、物理ストレージ装置2000の構成例を模式的に示す図である。本例において、全物理ストレージ装置2000の基本構成は同じであるが、構成要素の数や記憶容量等は各物理ストレージ装置2000に依存する。これらは異なる基本構成を有していてもよい。
 物理ストレージ装置2000は、複数の記憶デバイス(例えば、ハードディスクドライブ及び/又はSSD(Solid State Drive))2200と、物理ストレージ装置2000を制御し、ボリューム管理や、ホスト計算機1000又は他の物理ストレージ装置2000とのデータ通信等を行うストレージコントローラとを含む。
 ストレージコントローラは、プロセッサであるCPU2100、プログラムメモリ2300、I/O要求発行側インタフェースであるイニシエータポート2600、I/O要求受信側インタフェースであるターゲットポート2700、管理インタフェース2800、データ転送のためのキャッシュメモリ2400、を含む。ストレージ装置2000の構成要素は、バス2500で通信可能に接続されている。
 物理ストレージ装置2000は、イニシエータポート2600 を介して、外部(他)の物理ストレージ装置2000に接続し、外部の物理ストレージ装置2000にI/O要求及びライトデータを送信し、外部の物理ストレージ装置2000からリードデータを受信することができる。イニシエータポート2600は、SAN5000に接続する。
 イニシエータポート2600は、外部の物理ストレージ装置2000との通信に用いられるFC、Fibre Channel Over Ethernet(FCoE)、iSCSI等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
 物理ストレージ装置2000は、ターゲットポート2700において、ホスト計算機1000又は外部の物理ストレージ装置2000に接続する。物理ストレージ装置2000は、ターゲットポート2700を介して、ホスト計算機1000又は外部の物理ストレージ装置2000からI/O要求及びライトデータを受信し、また、ホスト計算機1000又は外部の物理ストレージ装置2000にリードデータを送信する。ターゲットポート2700は、SAN5000に接続する。
 ターゲットポート2700は、ホスト計算機1000又は外部の物理ストレージ装置2000との通信に用いられるFC、Fibre Channel Over Ethernet(FCoE)、iSCSI等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
 管理インタフェース2800は、LAN6000に接続するためのデバイスである。管理インタフェース2800は、LAN6000で使用されるプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
 CPU2100は、物理ストレージ装置2000の制御のためのプログラムを実行し、ホスト計算機1000からのI/Oの制御及び物理ストレージ装置2000ボリュームの管理、制御を含む所定の機能を実現する。本実施例で説明するCPU2100により実現される機能の少なくとも一部は、CPU2100と異なるロジック回路によって実現されてもよい。
 プログラムはプロセッサ(CPU)によって実行されることで、定められた処理をメモリ及びインタフェースを用いながら行う。従って、本開示においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する装置(例えば物理ストレージ装置2000又はホスト計算機1000)及びシステムが行う処理である。
 プログラムメモリ2300は、CPU2100が扱うデータやプログラムを格納する。プログラムメモリ2300のデータは、例えば、物理ストレージ装置2000内のいずれかの記憶デバイス2200、フラッシュメモリ(不図示)、又はLAN5000を介して接続された他の装置等、非一時的記憶媒体を備える記憶デバイスからプログラムメモリ2300にロードされる。
 図4は、物理ストレージ装置2000それぞれのプログラムメモリ2300におけるソフトウェア構成例を示す。プログラムメモリ2300は、データ入出力処理プログラム2350、リソース管理プログラム2360及びボリュームコピー制御プログラム2370を保持する。さらに、プログラムメモリ2300は、リソース管理テーブル2310、仮想ストレージボックス管理テーブル2320、仮想ストレージ管理テーブル2330、ボリュームコピーペア管理テーブル2340、ホストグループ管理テーブル2380、排他ロック管理テーブル2390を保持する。
 データ入出力処理プログラム2350 は、ホスト計算機1000からのI/O要求に従って、ユーザデータのリード及びライトを行い、ホスト計算機1000及び他の物理ストレージ装置2000との間の必要なデータ通信を行う。
 リソース管理プログラム2360は、物理ストレージ装置2000のリソースを管理する。リソース管理プログラム2360は、ボリュームの作成や削除の他、以下に説明するテーブル(情報)の作成及び更新を行う。リソース管理プログラム2360は、リソース管理のために必要な情報を、管理計算機4000との間で送受信する。
 以下において、物理ストレージ装置2000がそれぞれ保持し、本実施例の説明において参照されるテーブル(情報)について説明する。同一名称のテーブルは、各物理ストレージ装置2000において、同一の構成(欄)を有する。以下において図を参照して説明するテーブルは、物理ストレージ装置1(2000)が保持するテーブルである。なお、各装置が保持する情報は、テーブル以外の構造体に格納されていてもよい。
 図6Aは、リソース管理テーブル2310の構成例を示す。リソース管理テーブル2310は、当該物理ストレージ装置1(2000)のリソースを管理するためのテーブルである。
 リソース管理テーブル2310は、物理ストレージ装置1(2000)のリソースの種類を格納するリソース種別欄2311、リソースIDを格納するリソースID欄2312、当該リソースが属するリソースグループIDを格納するリソースグループID欄2313、当該リソースに付与された仮想リソースIDを格納する仮想リソースID欄2314を有する。
 図6Bは、ホストグループ管理テーブル2380の構成例を示す。ホストグループは、ポートに接続されたホスト計算機1000のWWN(World Wide Name)を、ホスト計算機1000のOS種別毎にグループ化したものである。ホストグループ管理テーブル2380は、ポートIDを格納するポートID欄2381、当該ポートに関連するホストグループIDを格納するホストグループID欄2382、ホスト計算機1000のOS種別を示すホストモードID欄2383、当該ホストグループに登録されたホストWWNを格納するホストWWN欄2384、ホストグループID2382に属するホスト計算機1000がアクセス可能なボリュームIDを格納するボリュームID2385を有する。
 図7は、仮想ストレージボックス管理テーブル2320の構成例を示す。仮想ストレージボックスは、1物理ストレージ装置内で1仮想ストレージ装置が持つリソースグループの集合である。仮想ストレージボックス管理テーブル2320は、仮想ストレージ装置3000の仮想ストレージボックスを管理するためのテーブルである。
 仮想ストレージボックス管理テーブル2320は、仮想ストレージボックスIDを格納する仮想ストレージボックスID欄2321、当該仮想ストレージボックスに属するリソースグループIDを格納するリソースグループID欄2322を有する。
 図8は、仮想ストレージ管理テーブル2330の構成例を示す。仮想ストレージ管理テーブル2330は、仮想ストレージ装置3000を管理するためのテーブルである。仮想ストレージ管理テーブル2330は、仮想ストレージIDを格納する仮想ストレージID欄2331、当該仮想ストレージ装置に属する仮想ストレージボックスIDを格納する仮想ストレージボックスID欄2332を有する。
 図9Aは、ボリュームコピーペア管理テーブル2340の構成例を示す。ボリュームコピーペア管理テーブル2340は、当該物理ストレージ装置2000が提供するボリュームを含むボリュームコピーペアを管理するためのテーブルである。
 ボリュームコピーペア管理テーブル2340は、ボリュームコピーペアのペアIDを格納するペアID欄2341、当該ペアの種別を格納するペア種別欄2342、当該ペアの状態を格納するペア状態欄2343を有する。
 ボリュームコピーペア管理テーブル2340は、さらに、PVOLIDを格納するPVOLID欄2344、SVOLIDを格納するSVOLID欄2345を有する。本例において、PVOLID及びSVOLIDは、物理ストレージ装置2000の識別情報及び当該物理ストレージ装置におけるボリュームの識別情報により構成されている。
 ボリュームコピーペア管理テーブル2340は、さらに、当該ペアに関連するペアのIDを格納する関連ペアID欄2346、当該ペアと関連ペアの優先度を格納する優先度欄2347を有する。
 ペア種別欄2342に格納するペア種別は、HAであれば"HA"、物理ストレージ内のボリュームローカルコピーであれば"LC"、物理ストレージ間のボリュームリモートコピーであれば"RC"、HAマルチターゲット構成であれば"HA‐MLT"、HAカスケード構成(図31参照)であれば"HA‐CAS"など、ボリュームコピーペアの種類を示す。
 ペア状態欄2343に格納するペア状態は、データコピー中であれば"COPY"、データコピー完了後の同期状態であれば"PAIR"、データコピー中断中であれば"SUSPEND"など、ボリュームコピーペア間のデータコピーの状態を示す文字列や数字を格納する。
 優先度欄2347に格納する優先度は、HAマルチターゲット構成またはHAカスケード構成におけるデータ書き込み順序を決定する情報を示す。本実施例では、第1ペアのPVOL、第1ペアのSVOL、第2ペアのPVOL、第2ペアのSVOLの順に書き込む。優先度は、ペアが作成された順番に従って決定してもよいし、HAマルチターゲット構成設定時またはHAカスケード構成設定時にユーザが任意の優先度を決定してもよい。
 図9Bは、排他ロック管理テーブル2390の構成例を示す。排他ロック管理テーブル2390は、ボリュームの排他ロックを管理するための情報を保持する。排他ロック管理テーブル2390は、排他ロックID欄2391、ボリュームID欄2392及びLBA欄2393を有する。
 排他ロック管理テーブル2390は、排他ロックされているデータ記憶領域を管理している。各エントリは、排他ロックされているボリューム内の領域を示し、ボリュームIDと当該ボリューム内のアドレス(LBA)を使用して、例えば、開始LBAとデータ長で指定される。本例において、ボリューム内の部分領域が排他ロックされるが、ボリューム単位で排他ロックされてもよい。
 図10は、管理計算機4000の構成例を示す図である。管理計算機4000は、プロセッサであるCPU4100、主記憶デバイスであるメモリ4300、二次記憶デバイス4200、入出力デバイス4400、管理インタフェース(I/F)4600を含む。管理計算機4000のデバイスは、バス4500により通信可能に接続されている。
 管理計算機4000は、管理プログラムを実行し、それに従って動作する。管理I/F4600はLAN6000に接続し、計算機内のプロトコルとLAN6000のプロトコルとの間の変換を行う。管理計算機4000は、管理I/F4600及びLAN6000を介して、物理ストレージ装置2000及びホスト計算機1000と通信することができる。
 入出力デバイス4400は、ディスプレイ、ポインタ又はキーボード等のデバイスの一つ又は複数のデバイスを含む。ユーザ(上記例において、ユーザUser01~User03)は、入出力デバイス4400により、管理計算機4000を操作することができるほか、ネットワークを介して接続するクライアント計算機から管理計算機4000にアクセスしてもよい。クライアント計算機は、管理計算機4000と共に管理システムに含まれる。ユーザは、入力デバイス(例えばマウス及びキーボード)により必要な情報を入力し、出力デバイスにより必要な情報を視認することができる。
 CPU4100は、メモリ4300に記憶されているプログラムを実行することによって管理計算機4000の所定の機能を実現する。メモリ4300は、CPU4100よって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。管理計算機4000で動作するプログラムについては後述する。本実施例で説明するCPU4100により実現される機能の少なくとも一部は、CPU4100と異なるロジック回路によって実現されてもよい。
 例えば、プログラムは、二次記憶デバイス4200からメモリ4300にロードされる。二次記憶デバイス4200は、管理計算機4000の所定の機能を実現するために必要なプログラム及びデータを格納する、不揮発性の非一時的記憶媒体を備える記憶装置である。二次記憶デバイス4200は、ネットワークを介して接続された外部の記憶装置でもよい。
 本構成例の管理システムは、管理計算機で構成されているが、管理システムは複数の計算機で構成してもよい。複数の計算機の一つは表示用計算機であってもよく、管理処理の高速化や高信頼化のために、複数の計算機が管理計算機と同等の処理を実現してもよい。管理システムは、物理ストレージ内に構成されていてもよい。管理システムの一部の機能が、物理ストレージ装置内に実装されていてもよい。
 管理計算機40000のプログラムメモリ4300は、CPU4100が扱うデータやプログラムを格納する。プログラムメモリ4300のデータは、例えば、物理ストレージ装置2000内のいずれかの記憶デバイス2200又はフラッシュメモリ(不図示)、又はLAN6000を介して接続された他の装置からプログラムメモリ4300にロードされる。
 プログラムメモリ4300は、OS4310及び仮想ストレージ管理プログラムを保持する。さらに、プログラムメモリ4300は、仮想ストレージ管理テーブル4320、仮想ストレージボックス管理テーブル4330、仮想ストレージリソース管理テーブル4340、ボリュームコピーペア管理テーブル4350を保持する。
 仮想ストレージ管理プログラム4360は、物理ストレージ装置2000及び仮想ストレージ装置3000のリソースを管理する。仮想ストレージ管理プログラム4360は、ボリュームの作成や削除の他、以下に説明するテーブル(情報)の作成及び更新を行う。仮想ストレージ管理プログラム4360は、リソース管理のために必要な情報を、物理ストレージ装置2000との間で送受信する。
 図11は、仮想ストレージ管理テーブル4320の構成例を示す。仮想ストレージ管理テーブル4320は、仮想ストレージ装置3000及び仮想ストレージ装置3000の構成要素である物理ストレージ装置2000のリソースを管理するためのテーブルである。仮想ストレージ管理テーブル4320は、全ての物理ストレージ装置2000の仮想ストレージ管理テーブル2330を統合したテーブルである。
 仮想ストレージ管理テーブル4320は、仮想ストレージIDを格納する仮想ストレージID欄4321、当該仮想ストレージに属する仮想ストレージボックスIDを格納する仮想ストレージボックスID4322を有する。
 図12は、仮想ストレージボックス管理テーブル4330の構成例を示す。仮想ストレージボックス管理テーブル4330は、仮想ストレージ装置3000の仮想ストレージボックスを管理するためのテーブルである。仮想ストレージボックス管理テーブル4330は、全ての物理ストレージ装置2000の仮想ストレージボックス管理テーブル2320を統合したテーブルである。
 仮想ストレージボックス管理テーブル4330は、仮想ストレージボックスIDを格納する仮想ストレージボックスID欄4331、当該仮想ストレージボックスに属するリソースグループIDを格納するリソースグループID欄4332を有する。
 図13は、仮想ストレージリソース管理テーブル4340の構成例を示す。仮想ストレージリソース管理テーブル4340は、仮想ストレージ装置3000のリソースを管理するためのテーブルである。仮想ストレージリソース管理テーブル4340は、全ての物理ストレージ装置2000のリソース管理テーブル2310を統合したテーブルである。
 仮想ストレージリソース管理テーブル4340は、リソース種別を格納するリソース種別欄4341、当該リソースIDを格納するリソースID欄4342、当該リソースが属するリソースグループIDを格納するリソースグループID欄4343、当該リソースに付与された仮想リソースIDを格納する仮想リソースID欄4344を有する。
 図14は、ボリュームコピーペア管理テーブル4350の構成例を示す。ボリュームコピーペア管理テーブル4350は、管理計算機4000が管理する物理ストレージ装置2000のボリュームコピーペアを管理するためのテーブルである。ボリュームコピーペア管理テーブル4350は、全物理ストレージ装置2000のボリュームコピーペア管理テーブル2340を統合したテーブルである。
 ボリュームコピーペア管理テーブル4350は、ボリュームコピーペアのペアIDを格納するペアID欄4351、当該ペアの種類を格納するペア種別欄4352、当該ペアの状態を格納するペア状態欄4353、PVOLIDを格納するPVOLID欄4354、SVOLIDを格納するSVOLID欄4355、当該ペアに関連するペアIDを格納する関連ペアID欄4356、当該ペアと関連ペアの優先度を格納する優先度欄4357を有する。ボリュームコピーペア管理テーブル4350の各欄の言葉の意味は、ボリュームコピーペア管理テーブル2340と同じである。
 図15は、物理ストレージ装置2(ST2)(2000)の物理VOL2(SVOL)2900を、物理ストレージ装置3(ST3)(2000)の物理VOL3(SVOL)2900に移行するステップを示す。物理VOL1、VOL2、VOL3(2900)は、仮想VOL11(3000)の構成要素である。なお、一部の符号を省略している。
 物理VOL2(SVOL)2900と物理ストレージ装置2(2000)の物理VOL1(PVOL)2900は、移行前ボリュームペア(第1ボリュームペア)である。
 物理VOL3(2900)と物理VOL1(PVOL)2900は、移行後ボリュームペア(第2ボリュームペア)である。移行において、物理VOL1(PVOL)2900のデータが、物理VOL3(2900)にコピーされる。本例では、ホスト管理及びストレージ管理の両方を実施可能なシステム管理者が、パス及びボリュームの設定を行う。
 図15において、ステップA‐0は、初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。物理VOL1、VO2は、仮想VOL11の構成要素であり、ホスト計算機1000は、仮想VOL11のアクセスのために、いずれの物理VOL1、VOLにもアクセスすることができる。
 ステップA‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3を作成する。システム管理者からの指示に従って、物理ストレージ装置1(ST1)及び物理ストレージ装置3は、物理VOL1と物理VOL3のHAボリュームペアを作成する。VOL3への仮想IDを付与する。このとき、VOL1、VOL2及びVOL3はHAマルチターゲット構成である。
 ステップA‐2において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000から物理VOL3へのパスを定義する。物理ストレージ装置3は、ホストグループ管理テーブル2380に、ホストのWWN、ポートID、VOL3のボリュームIDの情報を追加する。
 次に、ステップA‐3において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000から物理VOL2へのパスを削除する。物理ストレージ装置2は、ホストグループ管理テーブル2380から、ホストのWWN、ポートID、VOL2のボリュームIDの情報を削除する。
 次に、ステップA‐4において、システム管理者からの指示に従って、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除し、さらに、物理ストレージ装置2は物理VOL2の仮想IDを削除する。
 図16は、ホスト計算機1000から物理ストレージ装置2000へWRITEコマンドが発行されるときの、当該物理ストレージ装置2000のデータ入出力処理プログラム2350がWRITEコマンドを処理するフローチャート例を示す。以下の説明においては、WRITEコマンドは、データ書き込み指示及びライトデータを含むものとする。
 ステップS101において、データ入出力処理プログラム2350は、ホスト計算機1000からWRITEコマンドを受信する。ステップS102において、データ入出力処理プログラム2350は、WRITEコマンドが示すWRITE対象ボリュームのHAボリュームペア構成が、HAマルチターゲット構成(HA-MLT)か否かを判定する。データ入出力処理プログラム2350は、当該判定のため、ボリュームコピーペア管理テーブル2340における、ペア種別欄2342を参照する。
 ステップS102の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS103へ進む。ステップS103が完了した後、データ入出力処理プログラム2350は、当該フローを終了する。ステップS103の詳細は、図17を参照して後述する。
 ステップS102の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS104へ進む。ステップS104において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームコピーペア構成が、HAカスケード構成(HA-CAS)か否かを判定する。
 ステップS104の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS105へ進む。ステップS105が完了した後、データ入出力処理プログラム2350は、当該フローを終了する。ステップS105の詳細は、図18を参照して後述する。
 ステップS104の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS106へ進む。ステップS106において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが、単体HAボリュームペア(S-HA)のPVOLか否かを判定する。単体HAボリュームペアは、移行中ではないHAボリュームペアである。
 ステップS106の判定結果がYesの場合、つまり、アクセス先が単体ボリュームペアのPVLである場合、データ入出力処理プログラム2350は、ステップS107へ進む。ステップS107において、データ入出力処理プログラム2350は、排他ロック処理を実行する。本例において、データ入出力処理プログラム2350は、アクセス先の物理ボリュームにおけるアクセス先アドレス領域について、排他ロックする。
 排他ロック処理は、WRITE対象データまたはREAD対象データに対するWRITE/READ排他制御である。排他ロック処理におけるWRITE/READ排他制御単位は、LBA単位でも世いし、ボリューム単位でもよい。排他ロック状態の情報は、排他ロック管理テーブル2390において、排他制御単位で管理されている。排他ロック管理テーブル2390は、排他ロック処理及び排他ロック解除処理の度に更新される。
 WRITE対象データに対しては、他のライト及びリード禁止される。READ対象データに対しては、他のライトが禁止され、他のリードは禁止されても許可されていてもよい。他のリードを許可することでホスト計算機1000への応答遅延を抑制する。この点は、他の例において同様である。
 ステップS108において、データ入出力処理プログラム2350は、WRITE対象ボリュームに対して、ライトデータを書き込む。WRITEコマンドによるライトデータの対象ボリュームへの書き込みは、記憶デバイス2200又はキャッシュメモリ2400への書き込みを意味する。この点は他のWRITE処理について同様である。
 ステップS109において、データ入出力処理プログラム2350は、対応するSVOLがある物理ストレージ装置2000へWRITEコマンドを転送する。データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340から、対応するSVOLを提供する物理ストレージ装置2000の識別子を取得する。
 ステップS110において、データ入出力処理プログラム2350は、上記SVOLがある物理ストレージ装置2000からのWRITEコマンド完了応答を受信する。ステップS111において、データ入出力処理プログラム2350は、当該WRITEコマンドのために実行した排他ロックを解除し、排他ロック管理テーブル2390を更新する。
 ステップS112において、データ入出力処理プログラム2350は、ホスト計算機1000へ、WRITEコマンド完了応答を送信し、当該フローを終了する。
 ステップS106の判定結果がNoの場合、つまり、WRITEコマンドの対象が単独HAボリュームペアにおけるSVOLである場合、データ入出力処理プログラム2350は、ステップS113へ進む。
 ステップS113において、データ入出力処理プログラム2350は、対応するPVOLがある物理ストレージ装置2000へWRITEコマンドを転送する。データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340から、対応するPVOLを提供する物理ストレージ装置2000及び当該物理ストレージ装置2000におけるSVOLの識別子を取得する。
 ステップS114において、データ入出力処理プログラム2350は、上記PVOLがある物理ストレージ装置2000からのWRITEコマンド完了応答を受信する。ステップS115において、データ入出力処理プログラム2350は、WRITE対象ボリューム、つまり、自装置が保持しているSVOLに対して、ライトデータを書き込む。
 ステップS116において、データ入出力処理プログラム2350は、ホスト計算機1000へWRITEコマンド完了応答を送信する。ステップS117において、データ入出力処理プログラム2350は、上記PVOLがある物理ストレージ装置2000へ、排他ロック解除コマンドを送信する。排他ロック解除コマンドは、例えば、WRITEコマンドの識別子又は仮想ボリュームの指定アドレスを含む。
 ステップS108において、データ入出力処理プログラム2350は、上記PVOLがある物理ストレージ装置2000から排他ロック解除コマンド完了応答を受信し、当該フローを終了する。
 図21は、ステップS107からステップS112までのシーケンスを示す。ステップS107からステップS112は、ホスト計算機1000から単体ボリュームペアのPVOLへのWRITEコマンドのフローである。
 図21において、物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)2900へのWIRITEコマンドをホスト計算機1000から受信する(S101)。物理VOL1(2900)は単体ボリュームペアのPVOLである。物理ストレージ装置1(2000)は、指定領域を排他ロックし(S107)、ライトデータを書き込む(S108)。
 その後、物理ストレージ装置1(2000)は、対応するSVOLである物理VOL2(2900)を提供する物理ストレージ装置2(2000)に、WIRITEコマンドを転送する(S109)。物理ストレージ装置2(2000)は、排他ロックすることなく、転送されたライトデータを物理VOL2(2900)の指定領域に書き込み(S2101)、ライト完了応答を物理ストレージ装置1(2000)に返す(S110)。ライト完了応答を受信した物理ストレージ装置1(2000)は、排他ロックを解除し(S111)、ライト完了応答をホスト計算機1000に返す(S112)。
 図22は、ステップS113からステップS118までのシーケンスを示す。ステップS113からステップS118は、ホスト計算機1000から単体ボリュームペアのSVOLへのWRITEコマンドのフローである。
 図22において、物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)2900へのWIRITEコマンドをホスト計算機1000から受信する(S101)。物理VOL2(2900)は単体ボリュームペアのSVOLである。物理ストレージ装置2(2000)は、対応するPVOL(物理VOL1(2900))を提供する物理ストレージ装置1(2000)にWRITEコマンドを転送する(S113)。
 物理ストレージ装置1(2000)は、物理VOL1(2900)の指定領域を排他ロックし(S2201)、ライトデータを書き込む(S2202)。物理ストレージ装置1(2000)は、ライト完了応答を物理ストレージ装置2(2000)に返す(S114)。
 ライト完了応答を受信した物理ストレージ装置2(2000)は、ライトデータを物理VOL2(2900)に書き込み(S115)、ホスト計算機1000にライト完了応答を返す(S116)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に排他ロック解除コマンドを送信する(S117)。物理ストレージ装置1(2000)は排他ロックを解除し(S2203)、排他ロック解除完了応答を物理ストレージ装置2(2000)に返す(S118)。
 図17は、ステップS103のHAマルチターゲット構成におけるWRITE処理のフローチャート例を示す。S201において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照し、WRITE対象ボリュームが、第1ボリュームペアのPVOLか否かを判定する。優先度欄2347は、ボリュームペアが第1ボリュームペアか第2ボリュームペアかを示す。上述のように、本例において、第1ボリュームペアは移行前ボリュームペアである。
 以下のステップにおいて、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照することで、WRITE対象ボリュームが属するボリュームペア(コピーペア)の優先度、及び、当該ボリュームがPVOLであるかSVOLであるかを判定することができる。
 ステップS201の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS202へ進む。ステップS202は、第1ボリュームペアのPVOLへWRITEコマンドを転送する。ステップS202の詳細は後述する。
 ステップS202が完了した後、データ入出力処理プログラム2350は、ステップS203へ進む。また、ステップS201の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS203へ進む。
 ステップS203において、データ入出力処理プログラム2350は、WRITE対象ボリュームが、第1ボリュームペアのPVOL又は第1ボリュームペアのSVOLであるか否かを判定する。
 ステップS203の判定結果がYesの場合、つまり、WRITE対象ボリュームが第1ボリュームペアに含まれる場合、データ入出力処理プログラム2350は、ステップS204へ進む。ステップS204において、データ入出力処理プログラム2350は、WRITE対象ボリュームにおける排他ロック処理を実行し、ステップS205へ進む。
 ステップS203の判定結果がNoの場合、つまり、WRITE対象ボリュームが新たな移行先ボリュームである場合、データ入出力処理プログラム2350は、ステップS205へ進む。ステップS205において、データ入出力処理プログラム2350は、WRITE対象ボリュームに対して、排他ロックを行うことなく、データを書き込む。
 ステップS206において、データ入出力処理プログラム2350は、WRITE対象ボリュームが、第1ボリュームペアのPVOLであるか否かを判定する。ステップS206の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS207、ステップS208、ステップS209の順に進む。ステップS207及びステップS208の詳細は後述する。
 ステップS206の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS209へ進む。ステップS209において、データ入出力処理プログラム2350は、WRITE対象ボリュームが第1ボリュームペアのPVOL又は第1ボリュームペアのSVOLであるか否か判定する。ステップS209の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップ210へ進む。
 ステップS210において、データ入出力処理プログラム2350は、排他ロックを解除し、ステップS211へ進む。また、ステップS209の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップ211へ進む。
 ステップS211において、データ入出力処理プログラム2350は、ホスト計算機1000へWRITEコマンド完了応答を送信する。ステップS212において、データ入出力処理プログラム2350は、WRITE対象ボリュームが第1ペアPVOLであるか否かを判定する。ステップS212の判定結果がNoの場合、データ入出力処理プログラム2350は、当該フローを終了する。
 ステップS212の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS213において、第1ボリュームペアのSVOLがある物理ストレージ装置2000へ排他ロック解除コマンドを送信する。
 ステップS214で、データ入出力処理プログラム2350は、第1ボリュームペアのSVOLがある物理ストレージ装置2000から、排他ロック解除コマンド完了応答を受信し、当該フローを終了する。
 図18は、図17のフローチャートにおけるステップS202、ステップS207及びステップS208のフローチャートを示す。ステップS202、207、208は、HAマルチターゲット構成における物理ストレージ装置間でのWRITEコマンド転送処理を示す。
 ステップS301において、データ入出力処理プログラム2350は、WRITE対象ボリュームが第1ボリュームペアのPVOLまたは第1ペアのSVOLか否かを判定する。上述のように、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照することで、WRITE対象ボリュームが属するボリュームペア(コピーペア)の優先度、及び、当該ボリュームがPVOLであるかSVOLであるかを判定することができる。
 ステップS301の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS302へ進む。ステップS302において、データ入出力処理プログラム2350は、WRITE対象領域の排他ロック処理を実行し、ステップS303へ進む。また、ステップS301の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS303へ進む。
 ステップS303において、データ入出力処理プログラム2350は、WRITE対象ボリュームに対してデータを書き込み、ステップS304へ進む。ステップS304において、データ入出力処理プログラム2350は、WRITE対象ボリュームが第1ボリュームペアのPVOLであるか否かを判定する。
 ステップS304の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS305、ステップS306、ステップS307の順に進む。
 ステップS305において、データ入出力処理プログラム2350は、第1ボリュームペアのSVOLがある物理ストレージ装置2000へWRITEコマンドを転送する。第1ボリュームペアのSVOLがある物理ストレージ装置2000は、図18のWRITEコマンド転送処理を実行する。
 ステップS306において、データ入出力処理プログラム2350は、第2ボリュームペアのSVOLがある物理ストレージ装置2000へ、WRITEコマンドを転送する。第2ボリュームペアのSVOLがある物理ストレージ装置2000は、図18のWRITEコマンド転送処理を実行する。
 ステップS307において、データ入出力処理プログラム2350は、WRITE対象ボリュームが第1ボリュームペアのPVOLか否かを判定する。ステップS307の判定結果がYesの場合、データ入出力処理プログラム2350は、排他ロック解除処理を実行し、ステップS309へ進む。ステップS307の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS309へ進む。
 ステップS309において、データ入出力処理プログラム2350は、WRITEコマンド転送元物理ストレージ装置2000へWRITEコマンド完了応答を送信し、ステップS313へ進む。
 ステップS313において、データ入出力処理プログラム2350は、WRITE対象ボリュームが第1ボリュームペアのSVOLか否かを判定する。ステップS313の判定結果がYesの場合、データ入出力処理プログラム2350は、WRITEコマンド転送元である、物理VOL1(2900)を提供する物理ストレージ装置1(2000)からの排他ロック解除コマンドを待つ。
 ステップS314において、データ入出力処理プログラム2350は、排他ロック解除コマンドを受信する。ステップS315において、データ入出力処理プログラム2350は、排他ロック処理を実行する。ステップS316において、データ入出力処理プログラム2350は、物理ストレージ装置1(2000)に、排他ロック解除処理完了応答を送信し、当該フローを終了する。
 ステップS313の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS310に進む。ステップS310において、データ入出力処理プログラム2350は、WRITEコマンド転送元物理ストレージ装置2000にあるボリュームが第1ボリュームペアのSVOLであるか否かを判定する。ステップS310の判定結果がYesの場合、データ入出力処理プログラム2350は、当該フローを終了する。
 ステップS310の判定結果がNoの場合、ステップS311において、データ入出力処理プログラム2350は、物理ストレージ装置2(2000)へ、排他ロック解除コマンドを送信する。その後、ステップS312において、データ入出力処理プログラム2350は、物理ストレージ装置2(2000)から、排他ロック解除コマンド完了応答を受信し、当該フローを終了する。
 図25、図26及び図27は、図17及び図18のフローチャートに対応するシーケンスを示す。図25はホスト計算機1000から第1ボリュームペアのPVOLへのWRITEコマンドの処理シーケンスを示す。図26はホスト計算機1000から第1ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。図27はホスト計算機1000から第2ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。
 図25を参照して、第1ボリュームペアのPVOLへのWRITEコマンドの処理を説明する。物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理VOL1(2900)は、第1ボリュームペア及び第2ボリュームペアのPVOLである。物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S204)、ライトデータを書き込む(S205)。
 次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL2(2900)を提供する物理ストレージ装置2(2000)に転送する(S207)。物理VOL2(2900)は、第1ボリュームペアのSVOLである。物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
 次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S208)。物理VOL3(2900)は、第2ボリュームペアのSVOLである。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S303)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
 次に、物理ストレージ装置1(2000)は、排他ロックを解除し(S210)、ホスト計算機1000に、WRITEコマンド完了応答を返す(S211)。次に、物理ストレージ装置1(2000)は、物理ストレージ装置2(2000)に排他ロック解除コマンドを送信し(S213)、物理ストレージ装置2は排他ロックを解除する(S308)。物理ストレージ装置1(2000)は、その完了応答を受信する(S214)。
 ホスト計算機1000へのWRITEコマンド完了応答を返した後に、他の物理ストレージ装置2000へ排他ロック解除コマンドを送信することで、ホスト計算機1000への応答時間を短縮できる。他の物理ストレージ装置2000から排他ロック解除コマンドの完了応答を受信した後に、ホスト計算機1000へのWRITEコマンド完了応答を返してもよい。これは、他のシーケンス図において同様である。
 図26を参照して、第1ボリュームペアのSVOLへのWRITEコマンドの処理を説明する。物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置2(2000)は、WRITEコマンドを物理ストレージ装置1(2000)に転送する(S202)。
 物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理ストレージ装置2(2000)に転送する(S305)。
 物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
 次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S306)。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S303)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
 次に、物理ストレージ装置1(2000)は、排他ロックを解除し(S308)、WRITEコマンド転送元である物理ストレージ装置2(2000)に、WRITEコマンド完了応答を返す(S309)。
 物理ストレージ装置1(2000)からWRITEコマンド完了応答を受信すると、物理ストレージ装置2(2000)は、排他ロックを解除し(S210)、ホスト計算機1000に、WRITEコマンド完了応答を返す(S211)。
 図27を参照して、第2ボリュームペアのSVOLへのWRITEコマンドの処理を説明する。物理ストレージ装置3(2000)は、物理VOL3(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置3(2000)は、WRITEコマンドを物理ストレージ装置1(2000)に転送する(S202)。
 物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理ストレージ装置2(2000)に転送する(S305)。
 物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S302)、ライトデータを書き込む(S303)。その後、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
 次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S306)。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S303)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S309)。
 次に、物理ストレージ装置1(2000)は、排他ロックを解除し(S308)、WRITEコマンド転送元である物理ストレージ装置3(2000)に、WRITEコマンド完了応答を返す(S309)。
 物理ストレージ装置1(2000)からWRITEコマンド完了応答を受信すると、物理ストレージ装置3(2000)は、ホスト計算機1000に、WRITEコマンド完了応答を返す(S211)。
 物理ストレージ装置1(2000)は、WRITEコマンド完了応答を返した後、物理ストレージ装置2(2000)に、排他ロック解除コマンドを送信する(S311)。物理ストレージ装置2(2000)は、排他ロック解除コマンドを受信し(S314)、排他ロック解除処理を実行し(S315)、排他ロック解除コマンドの完了応答を物理ストレージ装置1(2000)に返す(S316)。
 図19は、ホスト計算機1000から物理ストレージ装置2000へREADコマンドが発行されるときの、データ入出力処理プログラム2350の処理のフローチャート例を示す。以下の説明において、物理ボリュームからの読み出しは、記憶デバイス2200又はキャッシュメモリ2400からの読み出しを意味する。
 ステップS401において、データ入出力処理プログラム2350は、ホストからREADコマンドを受信する。ステップS402において、データ入出力処理プログラム2350は、READ対象ボリュームが第2ボリュームペアのSVOLまたは単体ボリュームペアのSVOLか否かを判定する。データ入出力処理プログラム2350は、判定において、ボリュームコピーペア管理テーブル2340を参照する。
 ステップS402の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS403において、READ対象ボリュームからデータを読み出し、ステップS407へ進む。
 ステップS402の判定がNoの場合、データ入出力処理プログラム2350は、ステップS404で排他ロック処理を実行し、ステップS405でREAD対象ボリュームからデータを読み出す。ステップS406において、データ入出力処理プログラム2350は、排他ロック解除処理を実行し、ステップS407へ進む。ステップS407において、データ入出力処理プログラム2350は、ホスト計算機1000へ、読み出したデータを含むREADコマンド完了応答を送信し、当該フローを終了する。
 図23、図24、図28、図29及び図30は、図19のシーケンスを示す。図23は単体ボリュームペアのPVOLへのREADコマンド処理のシーケンスを示す。図24は単体ボリュームペアのSVOLへのREADコマンド処理のシーケンスを示す。図28は第1ボリュームペアのPVOLへのREADコマンド処理のシーケンスを示す。図29は第1ボリュームペアのSVOLへのREADコマンド処理のシーケンスを示す。図30は第2ボリュームペアのSVOLへのREADコマンド処理のシーケンスを示す。
 図23において、物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)へのREADコマンドを受信する(S401)。物理ストレージ装置1(2000)は、指定アドレス領域を排他ロックし(S404)、指定アドレス領域からリードデータを読み出す(S405)。物理ストレージ装置1(2000)は、排他ロックを解除し(S406)、ホスト計算機1000にリードデータを含むRADコマンド完了応答を返す(S407)。
 図24において、物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)へのREADコマンドを受信する(S401)。物理ストレージ装置2(2000)は、排他ロックすることなく、指定アドレス領域からリードデータを読み出す(S403)。物理ストレージ装置2(2000)は、ホスト計算機1000に、リードデータを含むRADコマンド完了応答を返す(S407)。
 図28のシーケンスは図23のシーケンスと同じである。図29のシーケンスは、物理ストレージ装置1(2000)に代えて物理ストレージ装置2(2000)が処理を行う点を除き、図23のシーケンスと同じである。図30のシーケンスは、物理VOL2(2900)及び物理ストレージ装置2(2000)が、物理VOL3(2900)及び物理ストレージ装置3(2000)に変更されている点を除き、図24のシーケンスと同じである。
 本実施例によれば、HAマルチターゲット構成のボリューム移行時に、ホストI/O無停止及び高可用性を維持することができる。
 なお、上記例は、処理効率化のため、最後にライトデータが書き込まれるボリューム(最後ボリューム)に対して排他ロックを行わないが、最後ボリュームへの書き込みにおいても排他ロックを行ってもよい。例えば、排他ロックは、他の物理ストレージ装置2000からのWRITEコマンドを受信した後に行われる。ボリューム移行時のリード処理は、非移行時のHA単体ボリュームペアでのリード処理と同様でもよい。
 上記例は、ボリュームペアの移行を行うが、3以上のボリュームからなるボリュームグループのボリューム移行に対しても、上記説明を適用することができる。上記説明は、3以上の物理ストレージ装置を含むストレージシステムに適用することができる。
 上述のように、ボリューム移行時のライトデータの書き込み順序と非移行時の書き込み順序が一致することで、ストレージシステムの機能を効率的に構成することができる。移行時と非移行時の書き込み順序は異なっていてもよい。例えば上記例において、物理VOL2と物理VOL3の書き込み順序を入れ替えてもよい。これらは、他の実施例において同様である。
 以下で、実施例2について説明する。主に実施例1との相違点を説明する。図31は、本実施例のデータ移行(ボリューム移行)を示す。本実施例は、物理VOL1(2900)を物理VOL3(2900)に移行する。移行前後において、物理VOL2(2900)が共通である。図31は、ボリューム移行における、HAカスケード構成の概要を示す。
 HAカスケード構成は、一つのボリュームを一方のHAボリュームペアのSVOL、かつ、もう一方のHAボリュームペアのPVOLとし、それらの三つのボリュームで二つのHAボリュームペアを構成する。
 物理VOL1(2900)と物理VOL2(2900)は、HAボリュームペア7100を構成している。移行のため、まず、物理VOL2(2900)と物理VOL3(2900)で、HAボリュームペア7200が形成される。HAボリュームペア7200において、物理VOL2はPVOL、物理VOL3はSVOLとする。移行において、PVOLである物理VOL2からSVOLである物理VOL3にデータがコピーされる。
 次に、ホスト計算機1000及び物理ストレージ装置3(2000)において、ホスト計算機1000から物理VOL3(2900)へのパス8300が定義される。物理ストレージ装置3(2000)は、物理VOL3(2900)について、ホスト計算機1000からの要求に対して、物理VOL1(2900)及び物理VOL2(2900)と同様に、仮想VOL11(3900)の情報を返す。
 次に、ホスト計算機1000及び物理ストレージ装置1(2000)において、ホスト計算機1000から物理VOL2へのパス8100が削除される。さらに、物理ストレージ装置1(2000)及び物理ストレージ装置2(2000)は、HAボリュームペア7100を削除する。これにより、物理ストレージ装置2(2000)の物理VOL2(2900)から物理ストレージ装置3(2000)の物理VOL3(2900)への移行が完了する。
 図32は、HAペアの物理ストレージ装置1(ST1)のPVOL(VOL1)を、物理ストレージ装置3(ST3)に移行する手順を示す。移行後の物理ボリュームは、物理VOL3である。本実施例では、システム管理者が当該手順を実行する。なお、一部の符号を省略している。
 ステップB‐0は、初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。物理VOL1、VO2は、仮想VOL11の構成要素であり、ホスト計算機1000は、仮想VOL11のアクセスのために、いずれの物理VOL1、VOLにもアクセスすることができる。
 ステップB‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3を作成する。システム管理者からの指示に従って、物理ストレージ装置2(ST2)及び物理ストレージ装置3は、物理VOL2と物理VOL3のHAボリュームペアを作成する。このとき、物理VOL1、VOL2及びVOL3はHAカスケード構成となる。
 次に、ステップB‐2において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000から物理VOL3へのパスをおいて定義する。物理ストレージ装置3は、ホストグループ管理テーブル2380に、ホストのWWN、ポートID、VOL3のボリュームIDの情報を追加する。
 次に、ステップB‐3において、システム管理者は、ホスト計算機1000から物理VOL1へのパスを、ホスト計算機1000及び物理ストレージ装置1において削除する。物理ストレージ装置1は、ホストグループ管理テーブル2380から、ホストのWWN、ポートID、VOL2のボリュームIDの情報を削除する。
 次に、ステップB‐4において、システム管理者からの指示に従って、物理ストレージ装置1及び物理ストレージ装置2は、物理VOL1と物理VOL2HAペアを削除し、さらに、物理ストレージ装置1が、物理VOL1の仮想IDを削除する。
 図33は、図16おけるステップS105のHAカスケード構成におけるWRITE処理のフローチャート例を示す。まず、ステップS601において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ボリュームペアのPVOLか否かを判定する。
 ステップS601の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS602へ進む。ステップS602において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ボリュームペアのSVOLか否かを判定する。
 ステップS602の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS603、ステップS605の順に進む。ステップS603の詳細は後述する。ステップS602の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS604、ステップS606の順に進む。ステップS604の詳細は後述する。
 ステップS601の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS605へ進む。ステップS605において、データ入出力処理プログラム2350は、排他ロック処理を実行する。
 ステップS606において、データ入出力処理プログラム2350は、WRITE対象ボリュームへライトデータを書き込む。ステップS607において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ボリュームペアのPVOLか否かを判定する。
 ステップS607の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS609、ステップS611の順に進む。ステップS609の詳細は後述する。ステップS607の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS608へ進む。
 ステップS608において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ペアのSVOLか否かを判定する。
 ステップS608の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS610、ステップS611の順に進む。ステップS610の詳細は後述する。ステップS608の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS612へ進む。ステップS611において、データ入出力処理プログラム2350は、排他ロック解除処理を実行する。
 ステップS612において、データ入出力処理プログラム2350は、ホストへWRITEコマンド完了応答を送信する。ステップS613において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ボリュームペアのPVOLであるか否かを判定する。
 ステップS613の判定結果がYesの場合、データ入出力処理プログラム2350は、当該フローを終了する。
 ステップS613の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS614へ進む。ステップS614において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ボリュームペアのSVOLであるか否かを判定する。
 ステップS614の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS615で第1ボリュームペアのPVOLがある物理ストレージ装置2000へ排他ロック解除コマンドを送信する。次にステップS616で、データ入出力処理プログラム2350は、第1ボリュームペアのPVOLがある物理ストレージ装置2000から排他ロック解除コマンド完了応答を受信し、当該フローを終了する。
 ステップS614の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS617で第1ボリュームペアのSVOLがある物理ストレージ装置2000へ排他ロック解除コマンドを送信し、次にステップS618で、第1ボリュームペアのSVOLがある物理ストレージ装置2000から、排他ロック解除コマンド完了応答を受信し、当該フローを終了する。
 図34のフローチャートは、ステップS603、ステップS604、ステップS609及びステップS610のHAカスケード構成における物理ストレージ装置間WRITEコマンド転送処理の例を示す。
 ステップS701において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ペアのPVOLか否かを判定する。ステップS701の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS702へ進む。ステップS701の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS702へ進む。
 ステップS702において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ボリュームペアのSVOLか否かを判定する。ステップS702の判定結果がNoの場合、ステップS706へ進む。ステップS702の判定結果がYesの場合、ステップS703へ進む。
 ステップS703において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITEコマンド転送元が第1ペアのPVOLがある物理ストレージ装置2000か否かを判定する。ステップS703の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS705へ進む。ステップS703の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS704、ステップS705の順に進む。
 ステップS704において、データ入出力処理プログラム2350が第1ボリュームペアのPVOLがある物理ストレージ装置2000へWRITEコマンドを転送し、第1ペアのPVOLがある物理ストレージ装置2000が、図34のWRITEコマンド転送処理を実行する。
 ステップS705において、データ入出力処理プログラム2350は、排他ロック処理を実行する。ステップS706において、データ入出力処理プログラム2350は、WRITE対象ボリュームに対してライトデータを書き込む。
 ステップS707において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ボリュームペアのSVOLであり、かつ、WRITEコマンド転送元が第1ボリュームペアのSVOLがある物理ストレージ装置2000であるか否かを判定する。
 ステップS707の判定結果がYesの場合、ステップS708、ステップS709、ステップS710の順に進む。ステップS708において、データ入出力処理プログラム2350は、第2ボリュームペアのSVOLがある物理ストレージ装置2000へWRITEコマンドを転送し、第2ボリュームペアのSVOLがある物理ストレージ装置2000が、図34のWRITEコマンド転送処理を実行する。
 ステップS709において、データ入出力処理プログラム2350は、排他ロック解除処理を実行し、ステップS710へ進む。ステップS710において、データ入出力処理プログラム2350は、WRITEコマンド転送元物理ストレージ装置2000へ、WRITEコマンド完了応答を送信する。
 ステップ711において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが第1ペアのPVOLか否かを判定する。ステップ711の判定結果がNoの場合、データ入出力処理プログラム2350は当該フローを終了する。ステップ711の判定結果がYesの場合、データ入出力処理プログラム2350は、ステップS713に進む。
 ステップS707の判定結果がNoの場合、データ入出力処理プログラム2350は、ステップS712に進む。ステップS712において、データ入出力処理プログラム2350は、WRITEコマンド転送元物理ストレージ装置2000へ、WRITEコマンド完了応答を送信する。
 ステップS713において、データ入出力処理プログラム2350は、他の物理ストレージ装置2000から、排他ロック解除コマンドを受信し、ステップS714において排他ロック解除処理を実行する。
 ステップ715において、データ入出力処理プログラム2350は、ボリュームコピーペア管理テーブル2340を参照して、WRITE対象ボリュームが、第1ボリュームペアのSVOLかつ第2ボリュームペアのPVOLであるか判定する。ステップS715の判定結果がNoである場合、ステップS718において、データ入出力処理プログラム2350は、排他ロック解除コマンド完了応答を、当該コマンドの送信元に返し、当該フローを終了する。
 ステップS715の判定結果がYesである場合、ステップS716において、データ入出力処理プログラム2350は、第1ボリュームペアのPVOLがある物理ストレージ装置2000に排他ロック解除コマンドを送信する。ステップS717において第1ボリュームペアのPVOLがある物理ストレージ装置2000から排他ロック解除コマンド完了応答を受信すると、データ入出力処理プログラム2350は、ステップS718に進む。
 図35、図36及び図37は、図33及び図34のシーケンスを示す。図35はホスト計算機1000から第1ボリュームペアのPVOLへのWRITEコマンドの処理シーケンスを示す。図36はホスト計算機1000から第1ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。図37はホスト計算機1000から第2ボリュームペアのSVOLへのWRITEコマンドの処理シーケンスを示す。
 図35において、物理ストレージ装置1(2000)は、物理VOL1(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理VOL1(2900)は、第1ボリュームペアのPVOLである。物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S605)、ライトデータを書き込む(S606)。
 次に、物理ストレージ装置1(2000)は、WRITEコマンドを、物理VOL2(2900)を提供する物理ストレージ装置2(2000)に転送する(S609)。物理VOL2(2900)は、第1ボリュームペアのSVOLであり、かつ、第2ボリュームペアのPVOLである。
 物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置2(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S708)。物理VOL3(2900)は、第2ボリュームペアのSVOLでる。
 物理ストレージ装置3(2000)は、排他ロックすることなく、物理VOL3(2900)の指定アドレス領域に、ライトデータを書き込む(S706)。次に、物理ストレージ装置3(2000)は、物理ストレージ装置2(2000)に、WRITEコマンドの完了応答を送信する(S710)。
 物理ストレージ装置3(2000)からWRITEコマンドの完了応答を受信すると、物理ストレージ装置2(2000)は排他ロックを解除し(S709)、WRITEコマンド転送元である物理ストレージ装置1(2000)に、WRITEコマンドの完了応答を送信する(S710)。
 物理ストレージ装置2(2000)からWRITEコマンドの完了応答を受信すると、物理ストレージ装置1(2000)は、排他ロックを解除し(S611)、WRITEコマンドの完了応答をホスト計算機1000に返す(S612)。
 図36において、物理ストレージ装置2(2000)は、物理VOL2(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置2(2000)は、WRITEコマンドを物理ストレージ装置1(2000)に転送する(S603)。
 物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置1(2000)は、WRITEコマンドの完了応答を、物理ストレージ装置2(2000)に送信する(S710)。物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S605)、ライトデータを書き込む(S606)。
 次に、物理ストレージ装置2(2000)は、WRITEコマンドを、物理VOL3(2900)を提供する物理ストレージ装置3(2000)に転送する(S610)。物理ストレージ装置3(2000)は、排他ロックを行うことなく、物理VOL3(2900)にライトデータを書き込む(S706)。その後、物理ストレージ装置3(2000)は、物理ストレージ装置2(2000)に、WRITEコマンドの完了応答を送信する(S710)。
 物理ストレージ装置3(2000)からWRITEコマンドの完了応答を送信すると、物理ストレージ装置2(2000)は、排他ロックを解除し(S611)、WRITEコマンドの完了応答をホスト計算機1000に返す(S612)。
 次に、物理ストレージ装置2(2000)は、排他ロック解除コマンドを物理ストレージ装置1(2000)に送信する(S615)。物理ストレージ装置1(2000)は、排他ロックコマンドを受信し(S713)、排他ロックを解除する(S714)。物理ストレージ装置1(2000)は、物理ストレージ装置2(2000)に、排他ロック解除コマンドの完了応答を返す(S718)。
 図37において、物理ストレージ装置3(2000)は、物理VOL3(仮想VOL11)2900へのWRITEコマンドを受信する(S101)。物理ストレージ装置3(2000)は、WRITEコマンドを物理ストレージ装置2(2000)に転送する(S604)。物理ストレージ装置3(2000)からWRITEコマンドを受信すると、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)にWRITEコマンドを転送する(S704)。
 物理ストレージ装置1(2000)は、物理VOL1(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置1(2000)は、WRITEコマンドの完了応答を、物理ストレージ装置2(2000)に送信する(S710)。
 物理ストレージ装置2(2000)は、物理VOL2(2900)の指定アドレス領域を排他ロックし(S705)、ライトデータを書き込む(S706)。次に、物理ストレージ装置2(2000)は、WRITEコマンドの完了応答を、物理ストレージ装置3(2000)に送信する(S712)。
 WRITEコマンドの完了応答を物理ストレージ装置2(2000)から受信した物理ストレージ装置3(2000)は、物理VOL3(2900)の指定領域にライトデータを書き込み(S606)、ホスト計算機1000にWRITEコマンドの完了応答を返す(S612)。
 次に、物理ストレージ装置3(2000)は、排他ロック解除コマンドを物理ストレージ装置2(2000)に送信する(S617)。物理ストレージ装置2(2000)は排他ロック解除コマンドを受信し(S713)、排他ロックを解除する(S714)。次に、物理ストレージ装置2(2000)は、物理ストレージ装置1(2000)に、排他ロック解除コマンドを送信する(S716)。
 物理ストレージ装置1(2000)は、排他ロック解除コマンドを受信し(S713)、排他ロックを解除する(S714)。物理ストレージ装置1(2000)は、物理ストレージ装置2(2000)に、排他ロック解除コマンドの完了応答を返す(S718)。
 物理ストレージ装置1(2000)から排他ロック解除コマンドの完了応答を受信すると、物理ストレージ装置2(2000)は、物理ストレージ装置3(2000)に、排他ロック解除コマンドの完了応答を返す(S718)。
 本実施例によれば、HAカスケード構成でのボリューム移行時に、ホストI/O無停止及び高可用性を維持することができる。なお、ボリューム移行時のREADコマンド処理は実施例1と同様であり、説明を省略する。
 以下において、実施例3を説明する。本実施例は、HAマルチターゲット構成における、I/Oスイッチングボリュームを使用したボリューム移行を説明する。図38A及び図38Bは、HAペアの物理ストレージ装置2(ST2)のSVOL(物理VOL2)を、物理ストレージ装置3(ST3)に移行する手順を示す。移行後の物理ボリュームは、物理VOL3である。本実施例では、システム管理者が当該手順を実行する。なお、図38A及び38Bにおいて一部の符号を省略している。
 ステップC‐0は、ステップCの初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。物理VOL1、物理VOL2は、仮想VOL11の構成要素であり、ホスト計算機1000は、仮想VOL11のアクセスのために、いずれの物理VOL1、VOLにもアクセスすることができる。
 ステップC‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL2に関連付けられたI/Oスイッチングボリューム(SWVOL)(2900)を作成する。ホスト計算機1000からSWVOLへのI/O要求は、SWVOLに関連付けられた物理ボリュームへ転送される。また、システム管理者からの指示に従って、物理ストレージ装置3は、SWVOLへの仮想IDを付与する。
 SWVOLからSWVOLに関連付けられた物理ボリュームへ転送されたI/O要求の処理と、ホスト計算機から直接当該物理ボリュームへ発行されるI/O要求の処理は、I/O要求がSWVOLを経由する以外、同じである。例えば、ステップC‐3において、ホスト計算機1000からSWVOLを経由し物理VOL2へ転送されるI/O要求の処理、ホスト計算機1000から物理VOL2へ発行されるI/O要求の処理と、I/O要求がSVOL経由する部分を除いて同じである。
 ステップC‐2において、システム管理者からに指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000からSWVOLへのパス定義を定義する。ステップC‐3において、システム管理者からの指示に従って、物理ストレージ装置1及び物理ストレージ装置3は、VOL1とVOL3のHAペア作成を実施する。
 ステップC‐4において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3への仮想IDを付与する。さらに、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000から物理VOL3へのパスを定義し、SWVOLを削除する。
 ステップC‐5において、システム管理者からの指示に従って、物理ストレージ装置2は、物理VOL3に関連付けられたSWVOLを作成し、当該SWVOLへ仮想IDを付する。ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000からSWVOLへのパスを定義し、ホスト計算機1000からVOL2へのパスを削除し、そして、物理VOL2の仮想IDを削除する。
 ステップC‐6において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000からSWVOLへのパスを削除する。ステップC‐7において、システム管理者からの指示に従って、物理ストレージ装置2は、SWVOLを削除し、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除する。
 本実施例によれば、I/Oスイッチングボリュームを使用することによって、ストレージ装置における物理ボリュームの管理と、物理ストレージ装置とホスト計算機との間のパス管理とを独立に行うことができる。上記例のように移行後の新物理ボリュームと移行後に削除される移行前物理ボリュームの双方のI/Oスイッチングボリュームを用意することが好ましいが、一方のみでもよい。
 以下において、実施例4について説明する。本実施例は、HAカスケード構成における、I/Oスイッチングボリュームを使用したボリューム移行を説明する。主に実施例3との相違点を説明する。図39A及び図39Bは、HAペアの物理ストレージ装置1(ST1)のPVOL(VOL1)を、物理ストレージ装置3(ST3)に移行する手順を示す。移行後の物理ボリュームは、物理VOL3である。本実施例では、システム管理者が上記手順を実行する。なお、図39A及び39Bにおいて一部の符号を省略している。
 ステップD‐0は、ステップDの初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。
 ステップD‐1において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL2に関連付けられたSWVOLを作成し、SWVOLへ仮想IDを付与する。
 ステップD‐2において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000からSWVOLへのパスを定義する。ステップD‐3において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3を作成し、物理ストレージ装置2、3は、物理VOL2と物理VOL3のHAペアを作成する。
 ステップD‐4において、システム管理者からの指示に従って、物理ストレージ装置3は、物理VOL3へ仮想IDを付与する。ホスト計算機1000及び物理ストレージ装置3は、ホスト計算機1000からVOL3へのパスを定義する。物理ストレージ装置3は、SWVOLを削除する。
 ステップD‐5において、システム管理者からの指示に従って、物理ストレージ装置1(ST1)は、物理VOL2に関連付けられたSWVOLを作成し、SWVOLへ仮想IDを付与する。ホスト計算機1000及び物理ストレージ装置1は、ホスト計算機1000からSWVOLへのパスを定義し、ホスト計算機1000から物理VOL1へのパスを削除し、物理VOL1の仮想IDを削除する。
 ステップD‐6において、システム管理者からの指示に従って、ホスト計算機1000及び物理ストレージ装置1は、ホスト計算機1000からSWVOLへのパスを削除する。ステップD‐7において、システム管理者からの指示に従って、物理ストレージ装置1はSWVOLを削除し、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除する。
 本実施例によれば、I/Oスイッチングボリュームを使用することによって、ストレージ装置における物理ボリュームの管理と、物理ストレージ装置とホスト計算機との間のパス管理とを独立に行うことができる。上記例のように移行後の新物理ボリュームと移行後に削除される移行前物理ボリュームの双方のI/Oスイッチングボリュームを用意することが好ましいが、一方のみでもよい。
 以下において、実施例5について説明する。図40は、HAペアの物理ストレージ装置2(ST2)のSVOL(VOL2)を、同じ物理ストレージ装置2の別ボリューム(VOL3)と入れ替える手順を示す。本実施例では、システム管理者が当該手順を実行する。なお、図40において一部の符号を省略している。
 ステップE‐0は、ステップEの初期状態を示す。ホスト計算機1000と、物理VOL1、VOL2との間にパスが定義されている。物理VOL1、VOL2は、ボリュームペアを構成している。ステップE‐1において、システム管理者からの指示に従って、物理ストレージ装置2は、物理VOL3を作成し、物理VOL1と物理VOL3のHAペアを作成する。
 ステップE‐2において、システム管理者からの指示に従って、物理ストレージ装置2は、VOL3へ仮想IDを付与する。ホスト計算機1000及び物理ストレージ装置2は、ホスト計算機1000から物理VOL3へのパスを定義し、ホスト計算機1000から物理VOL2へのパスを削除し、物理VOL2の仮想IDを削除する。ステップE‐3において、システム管理者からの指示に従って、物理ストレージ装置1、2は、物理VOL1と物理VOL2のHAペアを削除する。
 本実施例によれば、同一物理ストレージ装置内でActive-Active型HAボリュームペアのボリューム移行を行い、当該移行時にホストI/O無停止及び高可用性を維持することができる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード等の記録媒体に置くことができる。

Claims (9)

  1.  移行前ボリュームグループから移行後ボリュームグループへの移行を行う複数ストレージ装置、を含むストレージシステムであって、
     前記複数ストレージ装置は、前記移行中において、前記移行前ボリュームグループ及び前記移行後ボリュームグループの複数ボリューム内の任意ボリュームへのホストからのライトコマンドを受け付け、
     前記複数ストレージ装置は、前記複数ボリュームのそれぞれに、予め定められた順番で、前記ライトコマンドのライトデータを書き込み、
     前記複数ストレージ装置における第1ストレージ装置は、前記複数ボリュームにおける最後において、最後ボリュームに前記ライトデータを書き込み、
     前記複数ストレージ装置において前記最後ボリュームと異なるボリュームを提供するストレージ装置は、前記異なるボリュームそれぞれにおいて、排他ロックを行ってから前記ライトデータを書き込み、前記最後ボリュームへの前記ライトデータの書き込み完了後に前記排他ロックを解除する、ストレージシステム。
  2.  請求項1に記載のストレージシステムであって、
     前記移行前ボリュームグループは、第1ボリューム及び第2ボリュームからなり、
     前記移行後ボリュームグループは、前記第1ボリューム及び第3ボリュームからなり、
     前記複数ストレージ装置は、前記第1ボリュームのデータを前記第3ボリュームにコピーし、
     前記第2ボリューム又は前記第3ボリュームは、前記最後ボリュームであり、
     前記複数ストレージ装置は、前記第1ボリューム、第2ボリューム及び第3ボリュームにおける最初に、前記第1ボリュームに前記ライトデータを書きこみ、
     前記第2ボリュームを提供するストレージ装置は、前記第1ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信し、
     前記第3ボリュームを提供するストレージ装置は、前記第1ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信する、ストレージシステム。
  3.  請求項2に記載のストレージシステムであって、
     前記第2ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送し、
     前記第3ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送する、ストレージシステム。
  4.  請求項1に記載のストレージシステムであって、
     前記移行前ボリュームグループは、第1ボリューム及び第2ボリュームからなり、
     前記移行後ボリュームグループは、前記第1ボリューム及び第3ボリュームからなり、
     前記複数ストレージ装置は、前記第2ボリュームのデータを前記第3ボリュームにコピーし、
     前記複数ストレージ装置は、前記第1ボリューム、第2ボリューム及び第3ボリュームの順に、前記ライトデータを書きこみ、
     前記第2ボリュームを提供するストレージ装置は、前記第1ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信し、
     前記第3ボリュームを提供するストレージ装置は、前記第2ボリュームを提供するストレージ装置から、前記ライトデータ及び前記ライトデータの書き込みを指示するライトコマンドを受信する、ストレージシステム。
  5.  請求項4に記載のストレージシステムであって、
     前記第2ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送し、
     前記第3ボリュームを提供するストレージ装置は、前記ホストから前記ライトコマンド及びライトデータを受信した場合、当該ライトコマンド及びライトデータを、前記第2ボリュームを提供するストレージ装置に送信し、
     前記第2ボリュームを提供するストレージ装置は、前記第3ボリュームから受信したライトコマンド及びライトデータを、前記第1ボリュームを提供するストレージ装置に転送する、ストレージシステム。
  6.  請求項1に記載のストレージシステムであって、
     前記複数ストレージ装置は、前記異なるボリュームにおける指定ボリュームへのリードコマンドを受信すると、排他ロック後にリードデータを前記指定ボリュームから読み出し、前記リードデータの読み出し後に前記排他ロックを解除する、ストレージシステム。
  7.  請求項1に記載のストレージシステムであって、
     前記複数ストレージ装置は、前記移行後ボリュームグループにおける新ボリュームに対応するI/Oスイッチングボリュームを作成し、
     前記複数ストレージ装置は、前記移行中において、前記I/Oスイッチングボリュームへのライトコマンドを、前記移行前ボリュームグループにおけるボリュームに転送し、
     前記複数ストレージ装置は、前記新ボリュームへの移行前ボリュームグループからのデータコピー後に、前記I/Oスイッチングボリュームを削除し、前記新ボリュームへのパスを定義する、ストレージシステム。
  8.  請求項1に記載のストレージシステムであって、
     前記複数ストレージ装置は、前記移行前ボリュームグループに属し前記移行後ボリュームグループに属さないボリュームに対応するI/Oスイッチングボリュームを作成し、
     前記複数ストレージ装置は、前記移行中において、前記I/Oスイッチングボリュームへのライトコマンドを、前記移行後ボリュームグループにおけるボリュームに転送し、
     前記複数ストレージ装置は、前記移行後に、前記I/Oスイッチングボリュームを削除する、ストレージシステム。
  9.  移行前ボリュームグループから移行後ボリュームグループへの移行を行う複数ストレージ装置、の制御方法であって、
     前記複数ストレージ装置は、前記移行中において、前記移行前ボリュームグループ及び前記移行後ボリュームグループの複数ボリューム内の任意ボリュームへのホストからのライトコマンドを受け付け、
     前記制御方法は、
     前記複数ボリュームのそれぞれに、予め定められた順番で、受信したライトコマンドのライトデータを書き込み、
     前記複数ボリュームにおける最後において、最後ボリュームに前記ライトデータを書き込み、
     前記最後ボリュームと異なるボリュームそれぞれにおいて、排他ロックをしてから前記ライトデータを書き込み、前記最後ボリュームへの前記ライトデータの書き込み完了後に前記排他ロックを解除する、制御方法。
PCT/JP2014/061194 2014-04-21 2014-04-21 ストレージシステム WO2015162674A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2014/061194 WO2015162674A1 (ja) 2014-04-21 2014-04-21 ストレージシステム
US15/121,516 US9875059B2 (en) 2014-04-21 2014-04-21 Storage system
JP2016514568A JP6234557B2 (ja) 2014-04-21 2014-04-21 ストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/061194 WO2015162674A1 (ja) 2014-04-21 2014-04-21 ストレージシステム

Publications (1)

Publication Number Publication Date
WO2015162674A1 true WO2015162674A1 (ja) 2015-10-29

Family

ID=54331869

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/061194 WO2015162674A1 (ja) 2014-04-21 2014-04-21 ストレージシステム

Country Status (3)

Country Link
US (1) US9875059B2 (ja)
JP (1) JP6234557B2 (ja)
WO (1) WO2015162674A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013227A (ja) * 2018-07-13 2020-01-23 株式会社日立製作所 ストレージシステム
JP2020021254A (ja) * 2018-07-31 2020-02-06 株式会社日立製作所 ストレージ装置及びその制御方法
JP2020047215A (ja) * 2018-09-21 2020-03-26 株式会社日立製作所 ストレージシステム及びストレージ制御方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015162634A1 (en) * 2014-04-21 2015-10-29 Hitachi, Ltd. Information storage system
US10241698B2 (en) * 2017-03-24 2019-03-26 International Business Machines Corporation Preservation of a golden copy that stores consistent data during a recovery process in an asynchronous copy environment
US11341103B2 (en) * 2017-08-04 2022-05-24 International Business Machines Corporation Replicating and migrating files to secondary storage sites
CN112988319A (zh) * 2019-12-02 2021-06-18 中兴通讯股份有限公司 Lvm数据处理方法、装置、计算机设备和计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249853A (ja) * 2000-03-03 2001-09-14 Hitachi Ltd データ移行方法
JP2007102455A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ストレージシステム及び構成変更方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4963892B2 (ja) 2006-08-02 2012-06-27 株式会社日立製作所 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
US8341459B2 (en) * 2007-08-01 2012-12-25 Brocade Communications Systems, Inc. Data migration without interrupting host access and with data lock for write access requests such that held write access requests do not expire
US8738872B2 (en) * 2009-04-03 2014-05-27 Peter Chi-Hsiung Liu Methods for migrating data in a server that remains substantially available for use during such migration
US9720991B2 (en) * 2014-03-04 2017-08-01 Microsoft Technology Licensing, Llc Seamless data migration across databases

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001249853A (ja) * 2000-03-03 2001-09-14 Hitachi Ltd データ移行方法
JP2007102455A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ストレージシステム及び構成変更方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020013227A (ja) * 2018-07-13 2020-01-23 株式会社日立製作所 ストレージシステム
JP2020021254A (ja) * 2018-07-31 2020-02-06 株式会社日立製作所 ストレージ装置及びその制御方法
JP2020047215A (ja) * 2018-09-21 2020-03-26 株式会社日立製作所 ストレージシステム及びストレージ制御方法

Also Published As

Publication number Publication date
US9875059B2 (en) 2018-01-23
JP6234557B2 (ja) 2017-11-22
US20160364170A1 (en) 2016-12-15
JPWO2015162674A1 (ja) 2017-04-13

Similar Documents

Publication Publication Date Title
JP6234557B2 (ja) ストレージシステム
US9639277B2 (en) Storage system with virtual volume having data arranged astride storage devices, and volume management method
US20190310925A1 (en) Information processing system and path management method
US9116913B2 (en) File storage system and file cloning method
US9229645B2 (en) Storage management method and storage system in virtual volume having data arranged astride storage devices
US11256582B2 (en) System, and control method and program for input/output requests for storage systems
US10152281B2 (en) Systems, devices, apparatus, and methods for transparently inserting a virtual storage layer in a fibre channel based storage area network while maintaining continuous input/output operations
US9223501B2 (en) Computer system and virtual server migration control method for computer system
JP4720303B2 (ja) ストレージシステムを含む計算機システムの構成管理方法
US9122415B2 (en) Storage system using real data storage area dynamic allocation method
JP2008152663A (ja) ストレージネットワークの性能管理方法、並びに、その方法を用いた計算機システム及び管理計算機
JP7012010B2 (ja) 情報処理システム、及び、情報処理システムの制御方法
US20160364268A1 (en) Computer system, management computer, and management method
JP2015532734A (ja) 物理ストレージシステムを管理する管理システム、物理ストレージシステムのリソース移行先を決定する方法及び記憶媒体
US20210103400A1 (en) Storage system and data migration method
US11216204B2 (en) Degraded redundant metadata, DRuM, technique
US20160019005A1 (en) Storage system
JP6606235B1 (ja) ストレージシステム
JP7337869B2 (ja) 分散ストレージシステム、及び管理方法
US12099726B2 (en) Rebalancing volumes in computer system comprising upper and lower cluster
WO2018016041A1 (ja) ストレージシステム
WO2018011881A1 (ja) ストレージ装置及び計算機システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14890042

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016514568

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15121516

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14890042

Country of ref document: EP

Kind code of ref document: A1