WO2013168276A1 - ストレージシステム及びストレージシステム制御方法 - Google Patents

ストレージシステム及びストレージシステム制御方法 Download PDF

Info

Publication number
WO2013168276A1
WO2013168276A1 PCT/JP2012/062057 JP2012062057W WO2013168276A1 WO 2013168276 A1 WO2013168276 A1 WO 2013168276A1 JP 2012062057 W JP2012062057 W JP 2012062057W WO 2013168276 A1 WO2013168276 A1 WO 2013168276A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
volume
area
data
size
Prior art date
Application number
PCT/JP2012/062057
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/JP2012/062057 priority Critical patent/WO2013168276A1/ja
Priority to US13/522,556 priority patent/US8527723B1/en
Publication of WO2013168276A1 publication Critical patent/WO2013168276A1/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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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
    • G06F11/2074Asynchronous techniques
    • 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
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/065Replication mechanisms
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Definitions

  • the present invention relates to a technique for synchronizing a plurality of logical volumes in a storage system.
  • a copy function for synchronizing data of a certain logical volume with another logical volume is known.
  • the user can create a backup of data used in business by using the copy function.
  • Patent Document 1 There is known a technique capable of enlarging or reducing the size of a copy source volume, the size of a copy destination volume, and the size of a differential bitmap in a copy pair composed of two logical volumes (for example, Patent Document 1). ).
  • the size of the copy destination volume can be expanded at any time while maintaining the synchronization of the copy pair before expansion.
  • FIG. 1 shows a computer system.
  • FIG. 2 shows the configuration of the storage apparatus 10.
  • FIG. 3 shows the configuration of the server 20.
  • FIG. 4 shows the configuration of the management server 30.
  • FIG. 5 is a schematic diagram showing the configuration of a logical volume.
  • FIG. 6 shows the volume management information T10.
  • FIG. 7 shows the pair management information T11.
  • FIG. 8 shows the relationship between the difference management information T12 and the difference bitmap T14.
  • FIG. 9 shows the virtual volume management information T13.
  • FIG. 10 shows server correspondence management information T30.
  • FIG. 11 is a schematic diagram illustrating an existing area update process according to the first embodiment.
  • FIG. 12 is a schematic diagram illustrating an enlarged region update process according to the first embodiment.
  • FIG. 13 is a schematic diagram illustrating difference update processing according to the first embodiment.
  • FIG. 11 is a schematic diagram illustrating an existing area update process according to the first embodiment.
  • FIG. 12 is a schematic diagram illustrating an enlarged region update process according to
  • FIG. 14 is a flowchart showing primary volume expansion processing.
  • FIG. 15 is a flowchart showing the secondary volume expansion process.
  • FIG. 16 is a flowchart illustrating virtual volume expansion processing according to the first embodiment.
  • FIG. 17 is a flowchart showing the difference bitmap enlargement process.
  • FIG. 18 is a flowchart illustrating the update process according to the first embodiment.
  • FIG. 19 is a flowchart illustrating the expanded pair resynchronization process according to the first embodiment.
  • FIG. 20 is a sequence diagram illustrating the size enlargement process.
  • FIG. 21 is a schematic diagram illustrating an existing area update process according to the second embodiment.
  • FIG. 22 is a schematic diagram illustrating an enlarged region update process according to the second embodiment.
  • FIG. 23 is a schematic diagram illustrating difference update processing according to the second embodiment.
  • FIG. 24 is a flowchart illustrating the update process according to the second embodiment.
  • FIG. 25 is a flowchart illustrating an expanded pair resynchronization process according to the second embodiment.
  • FIG. 26 is a schematic diagram illustrating an existing area update process according to the third embodiment.
  • FIG. 27 is a schematic diagram illustrating an enlarged region update process according to the third embodiment.
  • FIG. 28 is a schematic diagram illustrating difference update processing according to the third embodiment.
  • FIG. 29 is a schematic diagram illustrating an existing area update process according to the fourth embodiment.
  • FIG. 30 is a schematic diagram illustrating an enlarged region update process according to the fourth embodiment.
  • FIG. 31 is a schematic diagram illustrating difference update processing according to the fourth embodiment.
  • a technology for synchronizing the data in the copy destination storage device with the data in the copy source storage device will be described.
  • intra-box copying that transfers copy source data to a copy destination in the same box
  • inter-box copying replication
  • synchronous copying and asynchronous copying are known as inter-box copying.
  • synchronous copy data is written to the copy source, and the data is transferred to the copy destination and written.
  • asynchronous copy after the timing of writing data to the copy source, the data is transferred to the copy destination and written.
  • FIG. 1 shows a computer system.
  • the computer system includes, for example, a storage system 40, a plurality of servers 20A and 20B, and at least one management server 30.
  • the storage system 40 includes a plurality of storage devices 10A, 10B, and 10C.
  • the management server 30 is connected to the storage apparatuses 10A, 10B, and 10C and the servers 20A and 20B via the management communication network CN1.
  • Each server 20A, 20B and each storage device 10A, 10B, 10C are connected via a data input / output communication network CN2.
  • the storage apparatus 10A, the storage apparatus 10B, and the storage apparatus 10C are connected via a remote copy communication network CN3.
  • the communication network CN1 is configured as, for example, a LAN (Local Area Network).
  • the communication networks CN2 and CN3 may be, for example, IP-SAN (Internet Protocol-Storage Area Network) or FC-SAN (Fibre Channel-Storage Area Network).
  • IP-SAN Internet Protocol-Storage Area Network
  • FC-SAN Fibre Channel-Storage Area Network
  • CN1, CN2, and CN3 may be a single communication network.
  • CN2 and CN3 may be one communication network
  • CN1 may be another communication network.
  • data input / output is expressed as I / O (Input / Output).
  • the storage apparatuses 10A, 10B, and 10C store data used by the servers 20A and 20B.
  • the storage apparatus 10A includes a controller 11A and a storage device 16A.
  • the storage apparatus 10B includes a controller 11B and a storage device 16B.
  • the storage apparatus 10C includes a controller 11C and a storage device 16C.
  • a primary volume (PVOL: Primary Volume) 13 a secondary volume (SVOL: Secondary Volume) 13D
  • JNLVOL Journal Volume) 15A, which are logical volumes
  • a secondary volume 14B which is a logical volume, and a journal volume 15B are created.
  • a secondary volume 14C which is a logical volume, and a journal volume 15C are created from the storage device 16C.
  • a logical volume may be called a volume.
  • the primary volume 13 and the secondary volume 14B can constitute a copy pair.
  • the primary volume 13 and the secondary volume 14C can constitute a copy pair.
  • the primary volume 13 and secondary volume 14D can constitute a copy pair.
  • the copy pair of the primary volume 13 and the secondary volume 14D performs intra-box copying.
  • the copy pair of the primary volume 13 and the secondary volume 14B and the copy pair of the primary volume 13 and the secondary volume 14B each perform inter-chassis copy.
  • the controller 11 can define these copy pairs.
  • the storage device 10C When the storage system 40 performs synchronous copying, the storage device 10C may not be included. When the storage system 40 performs synchronous copy, the storage apparatuses 10A and 10B may not have the journal volumes 15A and 15B. When the storage system 40 performs asynchronous copying, the storage device 10B may not be included. When the storage system 40 performs inter-chassis copying, the storage apparatus 10A may not have the secondary volume 14D.
  • the servers 20A and 20B execute various business processes such as customer management, image distribution, and e-mail management.
  • the servers 20A and 20B access the logical volumes of the storage apparatuses 10A, 10B, and 10C and read / write data for business processing.
  • the servers 20A and 20B may be host computers such as server computers, mainframe computers, personal computers, engineering workstations, and portable information terminals, for example.
  • the management server 30 is a computer for managing the computer system.
  • the management server 30 manages each configuration and state of the computer system.
  • the management server 30 gives a command for pair operation to the storage apparatuses 10A, 10B, and 10C.
  • the management server 30 may be various computers in the same manner as the servers 20A and 20B.
  • the management server 30 may include a plurality of computers.
  • the management terminal for a user (system administrator etc.) to operate may be provided, and the management terminal and the management server 30 may be connected.
  • a user can give an instruction to the management server 30 or display information acquired from the management server 30 using the management terminal.
  • the management terminal may be a personal computer or a portable information terminal (including a mobile phone).
  • each of the storage devices 10A, 10B, and 10C is referred to as a storage device 10 unless otherwise distinguished.
  • each of the controllers 11A, 11B, and 11C is referred to as a controller 11 unless otherwise distinguished.
  • each of the storage devices 16A, 16B, and 16C is referred to as a storage device 16 unless otherwise distinguished.
  • each of the servers 20A and 20B is called a server 20 unless otherwise distinguished.
  • each of the secondary volumes 14B, 14C, and 14D is referred to as a secondary volume 14 unless otherwise distinguished.
  • each of the journal volumes 15A, 15B, and 15C is called a journal volume 15 unless otherwise distinguished.
  • FIG. 2 shows the configuration of the storage apparatus 10.
  • the storage apparatus 10 includes a controller 11 and a storage device 16.
  • the controller 11 controls the operation of the storage apparatus 10.
  • the controller 11 includes, for example, a microprocessor 110 such as a CPU (central processing unit), a shared memory 111, an I / O interface 112, a management interface 113, a disk interface 114, a switch circuit 115, and a cache memory 116.
  • a microprocessor 110 such as a CPU (central processing unit), a shared memory 111, an I / O interface 112, a management interface 113, a disk interface 114, a switch circuit 115, and a cache memory 116.
  • I / F the interface is abbreviated as “I / F”.
  • the microprocessor 110, the shared memory 111, the disk interface 114, and the cache memory 116 are connected by an internal bus.
  • the I / O interface 112 and the management interface 113 are connected to the internal bus via the switch circuit 115.
  • the storage device 16 has a plurality of physical storage devices 121.
  • the physical storage device 121 for example, various devices capable of reading and writing data such as a hard disk device, a semiconductor memory device, an optical disk device, and a magneto-optical disk device can be used.
  • the physical storage areas of the plurality of physical storage devices 121 can be collected as a pool 122 for thin provisioning technology.
  • One or a plurality of logical volumes can be created using the storage area of the pool 122.
  • the physical storage area may be grouped as a RAID (RedundantundArrays of Inexpensive Disks) group.
  • the cache memory 116 includes one or a plurality of storage media such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory device, and a hard disk drive.
  • the cache memory 116 stores data received from the server 20 or another storage device 10 before writing it to the storage device 16. Further, the cache memory 116 stores the data read from the storage device 16 before transmitting it to the server 20 or another storage apparatus 10.
  • the volume management information T10 is information for managing the logical volume provided by the storage apparatus 10.
  • the pair management information T20 is information for managing copy pairs.
  • the difference management information T12 is information for managing difference data generated between two logical volumes that form a copy pair.
  • the difference bitmap T14 divides the address space of the logical volume into unit management areas of a predetermined size, and sets a flag indicating whether or not there is a difference for each unit management area.
  • the unit management area is, for example, a track.
  • the predetermined size is, for example, 256 kbytes.
  • the virtual volume management information T13 is information for managing a virtual volume created by the thin provisioning technology.
  • the volume management process P12 manages logical volumes.
  • the size expansion process P10 expands the size of the logical volume.
  • the pair status is a status where the storage contents of the primary volume 13 and the secondary volume 14 are synchronized. Data written to the primary volume 13 is also written to the secondary volume 14.
  • the suspended state is a state in which the primary volume 13 and the secondary volume 14 are separated and each volume manages data independently. In the suspended state, the data stored in the primary volume 13 and the data stored in the secondary volume 14 are not synchronized.
  • the server 20 writes data to the suspended primary volume 13
  • difference data is generated between the primary volume 13 and the secondary volume 14.
  • the difference data is managed by the difference bitmap T14.
  • the restore state is a state in which data stored in the primary volume 13 is matched with data stored in the secondary volume 14 by transferring data from the secondary volume 14 to the primary volume 13.
  • the state shifts to the pair state, and the data stored in the primary volume 13 and the data stored in the secondary volume 14 match.
  • the microprocessor 21 reads and executes various computer programs stored in the memory 22.
  • the memory 22 is composed of one or a plurality of storage media such as a RAM, a ROM, a flash memory device, and a hard disk drive.
  • the I / O interface 23 transmits / receives data to / from the server 20 or the storage device 10 via the communication networks CN2 and CN3.
  • the management interface 24 communicates with the management server 30 via the communication network CN1.
  • the memory 22 stores a volume size re-recognition process P20, a management program P21, and an application program P22, which are computer programs for re-recognizing the volume size, in addition to an operating system (none of which is shown). Yes.
  • the volume size re-recognition process P20 operates in response to an instruction from the management server 30, stops the application program P22, and acquires the size of the logical volume used by the application program P22 from the storage apparatus 10.
  • the volume size re-recognition process P20 restarts the application program P22 after acquiring the volume size (after re-recognizing the volume size).
  • the management program P21 is a program for managing files such as an OS (operating system) and a file system.
  • the microprocessor 31 reads and executes the computer program stored in the memory 32.
  • the memory 32 is composed of one or a plurality of storage media such as a RAM, a ROM, a flash memory device, and a hard disk drive.
  • the management interface 34 communicates with the server 20 via the communication network CN1.
  • FIG. 5 is a schematic diagram showing the configuration of a logical volume.
  • the logical volume 123 provided to the server 20 either the real volume 126 or the virtual volume 124 can be used.
  • the real volume 126 is associated with the storage area of the physical storage device 121.
  • the real volume 126 may be associated with one physical storage device 121, or may be associated with a plurality of physical storage devices 121 constituting a RAID group or the like.
  • the virtual volume 124 is created by thin provisioning technology.
  • the virtual volume is also called a thin provisioning volume.
  • the logical volume is indicated as LU
  • the virtual volume 124 is indicated as VVOL
  • the real volume 126 is indicated as RVOL.
  • the storage apparatus 10 of this embodiment uses a virtual volume 124 as the primary volume 13 and the secondary volume 14 and uses a real volume 126 as the journal volume 15.
  • a virtual volume 124 may be used as the journal volume 15.
  • the volume management process P12 selects a real page 125R for storing the data from the pool 122 and associates it with the virtual volume 124.
  • a storage area of another size in the virtual volume 124 may be used.
  • a storage area of another size in the pool 122 may be used.
  • the volume management process P12 performs the real volumes 126 (2), 126 (3), A real page 125R1-125R3 is selected from 126 (4).
  • the volume management process P12 assigns the real pages 125R1-125R3 to the virtual pages 125V1-125V3, respectively.
  • the data D1-D3 are stored in the actual pages 125R1-125R3, respectively.
  • management information in the storage apparatus 10 will be described.
  • FIG. 6 shows the volume management information T10.
  • the volume management information T10 has an entry for each logical volume. Each entry responds to, for example, the volume number column C100, the size column C101, the type column C102, the status column C103, the attribute column C104, the size change result column C105, the changed size column C106, and the host computer. And a size column C107.
  • Other items may be managed by the volume management information T10.
  • a logical volume corresponding to a certain entry is called a target logical volume.
  • the volume number column C100 indicates identification information for the storage apparatus 10 to uniquely identify the target logical volume. In the figure, the number is indicated by “#”.
  • the identification information is not limited to a number, and other information such as an identification code may be used.
  • the size column C101 indicates the size (volume size) of the target logical volume.
  • the type column C102 indicates the type of the target logical volume. Examples of the value in the type column C102 include “normal” and “pool”. “Normal” indicates that the target logical volume is the virtual volume 124. “Pool” indicates that the target logical volume is a volume registered as the pool 122.
  • the attribute column C104 stores a value indicating whether or not the target logical volume is used. For example, when the target logical volume is allocated to the server 20 or when the target logical volume is used to increase the size of another logical volume, “assignment” is set in the attribute column C104. . When the target logical volume is not assigned to the server 20 or another logical volume, “unassigned” is set in the attribute column C104.
  • the size change result column C105 manages a value indicating whether the change of the volume size of the target logical volume has succeeded or failed. Changing the volume size includes increasing the volume size and reducing the volume size.
  • “success” is set in the size change result column C105. If the volume size change has failed, “failure” is set in the size change result column C105.
  • “ ⁇ ” is set in the size change result column C105.
  • the post-change size column C106 manages the volume size after the size change.
  • the value in the size column C101 matches the value in the changed size column C106.
  • the size column C107 that responds to the host computer manages the volume size of the response to the size inquiry from the server 20.
  • FIG. 7 shows pair management information T11.
  • the pair management information T11 is information for managing a copy pair, and has an entry for each copy pair.
  • Each entry includes, for example, a pair number column C110, a primary volume number column C111, a secondary volume number column C112, a pair status column C113, and an expanded pair status column C114.
  • Other information may be managed by the pair management information T11.
  • a copy pair corresponding to a certain entry is called a target copy pair.
  • the pair number column C110 indicates information for uniquely identifying the target copy pair.
  • the primary volume number column C111 manages information for identifying the primary volume 13 that is the copy source volume.
  • the secondary volume number column C112 manages information for identifying the secondary volume 14 that is the copy destination volume.
  • FIG. 8 shows the relationship between the difference management information T12 and the difference bitmap T14.
  • the difference management information T12 is information for managing the difference bitmap T14.
  • the difference bitmap T14 includes a difference bitmap T14P that indicates an updated portion of an existing area, and a difference bitmap T14Q that indicates an updated portion of an enlarged area.
  • the difference management information T12 has an entry for each copy pair. Each entry includes, for example, a pair number column C120, a size column C121, an address column C122, an enlarged size column C123, and an enlarged address column C124. Other information may be managed by the difference management information T12.
  • a copy pair corresponding to a certain entry is referred to as a target copy pair
  • a logical volume in the own housing of the target copy pair is referred to as a target logical volume.
  • the pair number column C120 indicates information for uniquely identifying the target copy pair.
  • the size column C121 indicates the size of the existing area of the target logical volume.
  • the address column C122 indicates a pointer indicating the address of the differential bitmap T14P of the existing area of the target logical volume.
  • the enlarged size column C123 indicates the size of the target logical volume after the change, that is, the total size of the existing area and the enlarged area.
  • the expansion address column C124 indicates a pointer indicating the address of the differential bitmap T14Q of the expansion area of the target logical volume.
  • the difference bitmap T14 manages the presence / absence of update for each track in the target logical volume. Each track number is associated with a logical address (LBA: Logical Block Addressing) of the target logical volume.
  • LBA Logical Block Addressing
  • the difference bitmap T14 has a head track number column C125, a terminal track number column C126, a next address column C127, and an update presence / absence bit column C128.
  • the first track number column C125 indicates the number of the first track of the target logical volume.
  • the end track number column C126 indicates the end track number of the target logical volume.
  • the next address column C127 indicates the address of the next difference bitmap when the next difference bitmap is continuous with the difference bitmap. For example, when the difference bitmap T14P and the difference bitmap T14Q are merged by increasing the size of the secondary volume 14, the next address column C127 of the difference bitmap T14P indicates the address of the difference bitmap T14Q.
  • the update presence / absence bit column C128 includes an update presence / absence bit for each track. The update presence / absence bit of a certain track indicates whether or not the track has been updated.
  • the next address column C127 in the differential bitmap T14P of the existing area of the target logical volume indicates the address of the differential bitmap T14Q of the expanded area of the target logical volume.
  • FIG. 9 shows the virtual volume management information T13.
  • the virtual volume management information T13 has an entry for each virtual page 125V.
  • Each entry has, for example, a virtual page number column C130, a pool number column C131, an in-pool page number column C132, and a discard flag column C133.
  • a virtual page 125V corresponding to a certain entry is referred to as a target virtual page.
  • the virtual page number column C130 shows information for identifying the target virtual page.
  • the pool number column C131 manages information for identifying one or more pools 122 that can be used by the target virtual page.
  • the pool number column C131 in this example shows only one pool 122, but a plurality of pools 122 may be shown. At least one, usually a plurality of real volumes 126 are registered in the pool 122.
  • the in-pool page number column C132 shows information for identifying the real page 125 allocated to the target virtual page.
  • the volume management process P12 can know whether or not a certain virtual page 125V in the virtual volume 124 can be discarded, for example, from the usage status information D20 from the management program P21 of the server 20.
  • the usage status information D20 includes, for example, the usage status of pages by the management program P21 (for example, identification information for specifying pages not being used).
  • the storage device 10 may be configured to detect whether or not the real page 125R can be discarded.
  • the storage apparatus 10 may analyze the data of the real page 125R assigned to the virtual page and determine whether or not the real page 125R is used.
  • the controller detects that the data stored in the real page is a specific pattern, the controller can determine that the real page can be discarded.
  • the specific pattern is a case where all the data stored in the actual page is zero data.
  • FIG. 10 shows server correspondence management information T30.
  • the server correspondence management information T30 has an entry for each server 20.
  • Each entry has, for example, a server ID column C300, a storage device ID column C301, and a volume number column C302.
  • the server 20 corresponding to a certain entry is called a target server.
  • the server ID column C300 shows information for identifying the target server.
  • the storage device ID column C301 indicates information for identifying the storage device 10 assigned to the target server.
  • the volume number column C302 shows information for identifying the logical volume assigned to the target server.
  • the storage system 40 performs a size expansion process for expanding the size of the logical volume constituting the copy pair.
  • the storage system 40 performs synchronous copy from the primary volume 13 to the secondary volume 14.
  • This synchronous copy uses the storage device 10A provided at the main site (primary site) as the copy source and the storage device 10B provided at the remote site (sub site) B as the copy destination.
  • the site is, for example, a data center.
  • the storage system 40 increases the size of the logical volume that constitutes the copy pair, the size of the primary volume 13 is increased during the pair status of the copy pair. As a result, the copy pair status of the existing pair is maintained in the pair status, and the copy pair status of the extended pair is in the suspended status.
  • some specific examples of operations after the primary volume 13 is enlarged in the synchronous copy will be described.
  • FIG. 11 is a schematic diagram illustrating an existing area update process according to the first embodiment.
  • the controller 11A is in a state where the expanded area QA is added to the primary volume 13 having the existing area PA.
  • the controller 11A in the storage device 10A at the main site receives a write request from the server 20A, it writes the data DX into the cache memory 116A (S511).
  • the write request designates the existing area PA in the primary volume 13 as the write destination of the data DX.
  • the controller 11A transmits the data DX from the cache memory 116A to the storage device 10B at the remote site B (S512). As a result, the controller 11B in the storage apparatus 10B writes the received data DX into the cache memory 116B. Next, when the transmission is completed, the controller 11A transmits a response indicating the completion of writing to the server 20A (S513).
  • the controller 11A destages the data DX from the cache memory 116A to the existing area PA in the primary volume 13 asynchronously with the transmission of the data DX (S514). As a result, the controller 11A writes the data DX to the real volume 126A in the pool 122A associated with the primary volume 13.
  • the controller 11B destages the data DX from the cache memory 116B to the existing area PB in the secondary volume 14B asynchronously with the transmission of the data DX (S515). As a result, the data DX is written to the real volume 126B in the pool 122B associated with the secondary volume 14B.
  • the server 20 does not need to stop the operation when the size of the primary volume 13 is enlarged.
  • the use of the real volume 126B can be suppressed.
  • FIG. 12 is a schematic diagram illustrating an enlarged area update process according to the first embodiment.
  • the controller 11A when receiving a write request from the server 20A, the controller 11A writes the data DY to the cache memory 116A (S521).
  • the write request designates the enlarged area QA in the primary volume 13 as the write destination of the data DY.
  • the controller 11A destages the data DY from the cache memory 116A to the expansion area QA in the primary volume 13 asynchronously with the recording of the differential bitmap T14Q (S524). As a result, the data DY is written to the real volume 126A in the pool 122A associated with the primary volume 13.
  • the server 20 does not need to stop the operation when the size of the primary volume 13 is enlarged.
  • the use of the real volume 126B can be suppressed. Further, the difference between the expanded pairs can be managed.
  • FIG. 13 is a schematic diagram illustrating a difference update process in the first embodiment.
  • the controller 11B expands the secondary volume 14B in response to an instruction from the management server 30 (S531).
  • the controller 11B adds the enlarged area QB to the secondary volume 14B.
  • the controller 11B transmits a notification indicating that the secondary volume 14B has been expanded to the controller 11A (S532).
  • the controller 11A transmits the data DY in the cache memory 116A to the storage device 10B (S534). As a result, the controller 11B writes the data to the cache memory 116B.
  • the expansion pair of the expansion area QA of the primary volume 13 and the expansion area QB of the secondary volume 14B is resynchronized (resynced) and changed from the suspended state to the pair state.
  • the secondary volume 14B can be expanded at an arbitrary timing after the expansion of the primary volume 13, and the copy pair of the expanded primary volume 13 and the expanded secondary volume 14B can be resynchronized. Further, the resynchronization time can be suppressed by transferring only the update data of the enlarged area QA from the primary volume 13 to the secondary volume 14B after the secondary volume 14B is enlarged.
  • the storage device 10A at the main site performs primary volume expansion processing for expanding the primary volume 13 of the copy pair, and the storage device 10B at the remote site B expands the secondary volume 14 of the copy pair. Process.
  • FIG. 14 is a flowchart showing the primary volume expansion process.
  • the primary volume expansion process is executed by the size expansion process P10 of the controller 11A of the storage device 10A at the main site.
  • the controller 11A receives an instruction to increase the size of the primary volume 13 from the management server 30 (S10).
  • the size enlargement instruction designates the primary volume 13 and designates the size after enlargement of the primary volume 13.
  • the controller 11A determines whether or not the primary volume 13 belongs to a copy pair (S11). For example, when the primary volume 13 is registered in the pair management information T11, the controller 11A determines that the primary volume 13 belongs to a copy pair.
  • the controller 11A determines whether or not the virtual volume expansion processing has been completed for all the primary volumes 13 designated by the size expansion instruction (S14).
  • the controller 11A shifts the processing to S13 and performs the processing of the next primary volume 13.
  • the storage apparatus 10A having the primary volume 13 can perform the primary volume expansion process without synchronizing with the secondary volume expansion process. That is, the management server 30 can transmit the size expansion instruction for the primary volume 13 without synchronizing with the size expansion instruction for the secondary volume 14.
  • FIG. 15 is a flowchart showing the secondary volume expansion process.
  • the secondary volume expansion process is executed by the size expansion process P10 of the controller 11B. This secondary volume expansion process corresponds to the above-described difference update process.
  • the controller 11B determines whether or not the size of the secondary volume 14 needs to be increased (S20).
  • the received instruction is a size expansion instruction for instructing an increase in the size of the secondary volume 14 or a secondary volume usage instruction for using data in the secondary volume 14
  • the controller 11B determines the size of the secondary volume 14. It is determined that enlargement is necessary.
  • the size expansion instruction specifies the secondary volume 14 and specifies the size after expansion of the secondary volume 14. For example, the secondary volume use instruction instructs to back up the data in the secondary volume 14 to another storage device such as a tape device. If the received instruction is a size expansion instruction or a secondary volume use instruction, and the expansion area of the primary volume 13 is updated, the controller 11B determines that the size of the secondary volume 14 needs to be expanded. You may do it.
  • the controller 11B ends this flow.
  • the controller 11B determines whether the secondary volume 14 belongs to a copy pair (S21). For example, when the secondary volume 14 is registered in the pair management information T11, the controller 11B determines that the secondary volume 14 belongs to a copy pair.
  • the controller 11B shifts the process to S22.
  • the controller 11B sets the secondary volume 14 as a target volume, and performs a virtual volume expansion process described later (S22).
  • the controller 11B designates the copy pair to which the target volume belongs as the target copy pair, and instructs the copy source controller 11A to perform an expanded pair resynchronization process (S23).
  • the controller 11B determines whether or not the virtual volume expansion processing has been completed for all the secondary volumes 14 designated by the size expansion instruction (S24).
  • the storage apparatus 10B having the secondary volume 14 can perform the secondary volume expansion process without synchronizing with the primary volume expansion process. That is, the management server 30 can transmit the size expansion instruction for the secondary volume 14 without synchronizing with the size expansion instruction for the primary volume 13.
  • FIG. 16 is a flowchart showing the virtual volume expansion process in the first embodiment.
  • the controller 11 searches for the target volume from the pair management information T11 (S300).
  • the controller 11 determines whether or not the size of the target volume has been expanded (S301). For example, when the size change result column C105 of the target volume in the volume management information T10 indicates “success”, or when the size column C101 is equal to the post-change size column C106, the controller 11 increases the size of the target volume. It is determined that it has been completed.
  • the controller 11 determines whether or not the target volume is registered in the pair management information T11 (S302). For example, when registered in the primary volume number column C111 or the secondary volume number column C112 of the pair management information T11, the controller 11 determines that the target volume is registered in the pair management information T11. When it is determined that the target volume is not registered in the pair management information T11 (S302: NO), the controller 11 shifts the process to S305.
  • the controller 11 sets a copy pair corresponding to the target volume as a target copy pair based on the pair management information T11, which will be described later. Difference bitmap enlargement processing is performed (S304).
  • the controller 11 sets the post-change size column C106 of the target volume in the volume management information T10 (S305).
  • the controller 11 writes the enlarged size designated by the size enlargement instruction into the changed size column C106.
  • the controller 11 secures a free area necessary for expanding the virtual volume management information T13 from the shared memory 111 (S306).
  • the controller 11 uses the reserved free space to expand the virtual volume management information T13 (S307), and ends this flow. As a result, a new virtual page corresponding to the expansion area of the target volume is registered in the virtual volume management information T13.
  • the difference bitmap T14 and the virtual volume management information T13 can be expanded.
  • the controller 11 does not need to determine whether or not the size of the target volume can be increased.
  • the controller 11 may restrict the increase in the size of the target volume based on the remaining capacity of the pool 122 and the like. For example, the controller 11 may set a threshold based on the remaining capacity of the pool 122, and may not expand the target volume when the increase in the size of the target volume exceeds the threshold.
  • FIG. 17 is a flowchart showing the differential bitmap enlargement process.
  • the controller 11 determines whether or not the difference bitmap T14 can be enlarged (S400). For example, if the increase in the size of the differential bitmap T14 due to the expansion of the target volume is smaller than the free size of the shared memory 111, the controller 11 determines that the differential bitmap T14 can be expanded.
  • the controller 11 ends this flow. At this time, the controller 11 may interrupt the size expansion process and transmit an error response to the server 20 that transmitted the size expansion instruction.
  • the controller 11 sets the enlarged size column C123 of the target copy pair in the difference management information T12 (S402).
  • the controller 11 writes the enlarged size designated by the size enlargement instruction in the enlargement size column C123.
  • the controller 11 secures a free area for the differential bitmap T14Q corresponding to the enlarged area from the shared memory 111 (S403).
  • the controller 11 sets the expanded address column C124 of the target copy pair in the difference management information T12 (S404).
  • the controller 11 writes a pointer indicating the address of the reserved area in the expanded address column C124.
  • the controller 11 initializes the difference bitmap T14Q (S405).
  • the above is the differential bitmap enlargement process. According to this process, separately from the existing pair, it is possible to manage the difference bitmap for the expanded pair and the copy pair status. Thereby, the existing extended pair can be resynchronized at an arbitrary timing while maintaining the pair state of the existing pair.
  • FIG. 18 is a flowchart showing the update process in the first embodiment.
  • the write request designates a logical address in the primary volume 13 and accompanies the write data.
  • the controller 11A writes the received write data to the cache memory 116A (S50).
  • the controller 11A determines whether or not the write request is an update of the enlarged area of the primary volume 13 (S51). For example, if the address specified by the write request is within the expansion area, the controller 11A determines that the write request is an update of the expansion area.
  • the controller 11A recognizes the primary volume 13 corresponding to the address designated by the write request, and recognizes the target copy pair to which the primary volume 13 belongs based on the pair management information T11.
  • the controller 11A acquires the address range of the expanded area based on the first track number column C125 and the end track number column C126 of the difference bitmap T14Q indicated in the expanded address column C124 of the target copy pair in the difference management information T12. Then, it is determined whether or not the address designated by the write request is within the enlarged area.
  • the controller 11A transmits data from the cache memory 116A to the copy destination storage apparatus 10B (S55). Thereby, the controller 11B in the storage apparatus 10B updates the secondary volume 14 with the write data.
  • the controller 11B receives the write data, writes it to the cache memory 116B, and writes the write data from the cache memory 116B to the existing area in the secondary volume 14.
  • the controller 11A updates the existing area in the primary volume 13 with the write data (S56), and ends this flow.
  • the controller 11A writes the write data from the cache memory 116A to the address designated by the write request.
  • the above S55 to S56 correspond to the above-described existing area update process.
  • the controller 11A determines whether the expansion pair of the target copy pair is in the suspended state (S52). For example, when the expanded pair status column C114 of the target copy pair in the pair management information T11 indicates the suspended state (PSUS), the controller 11A determines that the expanded pair of the target copy pair is in the suspended state.
  • the controller 11A shifts the process to S54.
  • the case where the expansion pair is not in the suspended state is, for example, the case where the expansion pair is in the copy state or the pair state.
  • the controller 11A updates the differential bitmap T14Q of the expansion area of the primary volume 13 (S53). For example, the controller 11A changes the update presence / absence bit of the track designated in the write request in the difference bitmap T14Q to 1.
  • the controller 11A updates the enlarged area in the primary volume 13 with the write data (S54), and ends this flow.
  • the controller 11A writes the write data from the cache memory 116A to the address designated by the write request.
  • the above S53 to S54 correspond to the above-described enlarged region update process.
  • the normal pair status update process is performed when the target of the write request is an existing area, and the primary volume 13 is updated when the target of the write request is the second state. Pair status can be maintained.
  • FIG. 19 is a flowchart showing an expanded pair resynchronization process in the first embodiment. This process is executed when the copy source controller 11A receives an instruction from the copy destination controller 11B.
  • the copy pair designated by the controller 11B is referred to as a target copy pair.
  • controller 11A when the controller 11A receives an instruction for expansion pair resynchronization processing from the secondary volume expansion processing (S60), it determines whether the size of the primary volume 13 is equal to the size of the secondary volume 14 (S61).
  • the controller 11A ends this flow.
  • the controller 11A determines whether or not the expanded pair status of the target copy pair is the suspended status (PSUS) ( S62).
  • the controller 11A refers to the expanded pair status column C114 of the target copy pair in the pair management information T11.
  • the controller 11A changes the value of the size column C121 of the target copy pair in the difference management information T12 to the value of the expanded size column C123 ( S63).
  • the controller 11A writes the value of the expanded address column C124 of the target copy pair to the next address column C127 in the differential bitmap T14P of the existing pair, thereby causing the differential bitmap T14Q of the expanded pair to be the differential bit of the existing pair. Merge to the map T14P (S64).
  • the controller 11A clears the expanded address column C124 of the target copy pair in the difference management information T12 (S65).
  • the controller 11A reads update data from the enlarged area to the cache memory 116A based on the difference bitmap T14Q (S66).
  • the controller 11A transmits the read update data to the copy destination storage apparatus 10B (S67), and ends this flow.
  • the controller 11B in the storage apparatus 10B receives the update data, writes it to the cache memory 116B, and writes it from the cache memory 116B to the expansion area of the secondary volume 14.
  • the above is the extended pair resynchronization process. According to this process, after resynchronizing the expansion pair, the difference bitmap of the existing pair and the difference bitmap of the expansion pair in the target copy pair are managed as one difference bitmap, and the target copy pair is put into a pair state. be able to. Further, since only the update data of the enlarged area is written to the secondary volume 14, the resynchronization time can be suppressed.
  • the pair management information T11 manages the state of the existing area in the pair status column C113 during the period until the primary volume expansion process.
  • the pair management information T11 manages the state of the existing area by the pair status column C113 and manages the state of the expansion area by the expansion pair status column C114.
  • the pair management information T11 manages the state of the area including the existing area and the expanded area using the pair status column C113, and does not use the expanded pair status column C114.
  • the second size enlargement process uses a region that is a combination of the existing area and the enlarged area in the first size enlargement process as a new existing area. Manage and create new expansion areas.
  • the pair management information T11 manages the state of the new expanded area by using the expanded pair status column C114. Thereby, after the size of the logical volume constituting the copy pair is expanded, the size of the logical volume can be further expanded.
  • FIG. 20 is a sequence diagram showing the size enlargement process.
  • the primary volume 13 or the secondary volume 14 that is expanded by the size expansion process is referred to as a target volume.
  • the copy source storage device 10 or the copy destination storage device 10 having the target volume is referred to as a target storage device.
  • the management server 30 transmits an instruction for volume expansion processing to the target storage device (S200).
  • the volume expansion process is the above-described primary volume expansion process or secondary volume expansion process.
  • the instruction specifies the target volume.
  • the target storage apparatus performs volume expansion processing according to the instruction (S201).
  • the management server 30 When the management server 30 confirms the completion of the volume expansion processing of the target storage device, the management server 30 refers to the server correspondence management information T30 and searches for the server 20A that uses the target volume whose volume size has been expanded (S202). . The management server 30 instructs the server 20A that uses the target volume to re-recognize the volume size (S203).
  • the server 20A When the server 20A receives the re-recognition instruction from the management server 30, the server 20A stops the application program P22 (S204) and issues a command for inquiring the volume size to the target storage device (S205).
  • the target storage device returns the size of the target volume used by the server 20A.
  • the server 20A acquires the volume size from the target storage device, the server 20A resumes the operation of the application program P22 (S206).
  • the management server 30 refers to the server correspondence management information T30 again and searches for another server 20B that uses the target volume whose volume size has been increased (S207).
  • the management server 30 instructs the server 20B that uses the target volume to re-recognize the volume size (S208).
  • the storage apparatus 10 returns the size of the target volume used by the server 20B.
  • the server 20B acquires the volume size from the storage apparatus 10, the server 20B restarts the operation of the application program P22 (S211).
  • the server 20 using the target volume can recognize the size of the target volume in synchronization with the increase in the volume size of the target volume.
  • the configuration of the computer system is the same as that of the first embodiment.
  • the storage system 40 performs asynchronous copy from the primary volume 13 to the secondary volume 14C.
  • the storage device 10A provided at the main site is the copy source
  • the storage device 10C provided at the remote site C is the copy destination.
  • the size of the primary volume 13 is first increased. Thereby, this copy pair state is maintained in the pair state. That is, when the size of the primary volume 13 is expanded, the existing pair is maintained in the pair state, and the expanded pair is in the pair state.
  • FIG. 21 is a schematic diagram illustrating an existing area update process according to the second embodiment.
  • the controller 11A is in a state where the expanded area QA is added to the primary volume 13 having the existing area PA.
  • the controller 11A in the storage device 10A at the main site receives a write request from the server 20A, it writes the data DX into the cache memory 116A (S611).
  • the write request designates the existing area PA in the primary volume 13 as the write destination of the data DX.
  • the controller 11A creates journal data JX from the data DX in the cache memory 116A and writes it to the cache memory 116A (S612).
  • the journal data indicates a history of updates due to write requests.
  • the controller 11A transmits a response indicating write completion to the server 20A (S613).
  • the controller 11A destages the data DX from the cache memory 116A to the existing area PA in the primary volume 13 asynchronously with the creation of the journal data JX (S614). As a result, the controller 11A writes the data DX to the real volume 126A in the pool 122A associated with the primary volume 13.
  • the controller 11A destages the journal data JX from the cache memory 116A to the journal volume 15A asynchronously with the destaging of the data DX (S615). As a result, the journal data JX is written to the journal volume 15A.
  • the controller 11C destages the journal data JX from the cache memory 116C to the journal volume 15C (S622). As a result, the controller 11C writes the journal data JX to the journal volume 15C.
  • the controller 11C destages the data DX from the cache memory 116C to the existing area PC in the secondary volume 14C (S624). As a result, the controller 11C writes the normalized data DX to the real volume 126C in the pool 122C associated with the secondary volume 14C.
  • FIG. 22 is a schematic diagram illustrating an enlarged region update process according to the second embodiment.
  • the controller 11A when receiving a write request from the server 20A, the controller 11A writes the data DY to the cache memory 116A (S631).
  • the write request designates the enlarged area QA in the primary volume 13 as the write destination of the data DY.
  • controller 11A creates journal data JY from the data DY in the cache memory 116A and writes it to the cache memory 116A (S632).
  • controller 11A transmits a response indicating write completion to the server 20A (S633).
  • the controller 11A destages the data DY from the cache memory 116A to the expansion area QA in the primary volume 13 asynchronously with the creation of the journal data JY (S634). As a result, the controller 11A writes the data DY to the real volume 126A in the pool 122A associated with the primary volume 13.
  • the controller 11A destages the journal data JY from the cache memory 116A to the journal volume 15A asynchronously with the destage of the data DY (S635). As a result, the journal data JY is written to the journal volume 15A.
  • the controller 11C in the storage device 10C reads the journal data JY from the storage device 10A asynchronously with the destage of the journal data JY, and the controller 11A reads the journal data JY from the cache memory 116A. (S636). Thereby, the controller 11C in the storage apparatus 10C writes the received journal data JY to the cache memory 116C.
  • the controller 11C destages the journal data JY from the cache memory 116C to the journal volume 15C (S642). As a result, the controller 11C writes the journal data JY to the journal volume 15C.
  • the controller 11C determines whether or not the existing area is updated with the journal data JY, and when it is determined that the existing area is not updated, the data DY is not normalized.
  • FIG. 23 is a schematic diagram illustrating a difference update process in the second embodiment.
  • the controller 11C expands the secondary volume 14C in response to an instruction from the management server 30 (S651).
  • the controller 11B adds the enlarged area QC to the secondary volume 14C.
  • the controller 11C restores the journal data JY from the journal volume 15C to the cache memory 116C (S652). As a result, the controller 11C writes the journal data JY to the cache memory 116C.
  • the controller 11C normalizes the data DY based on the restored journal data JX (S653). As a result, the controller 11C creates data DY from the journal data JY and writes it to the cache memory 116C.
  • the controller 11C destages the data DY from the cache memory 116C to the expanded area QC in the secondary volume 14C (S654). As a result, the controller 11C writes the normalized data DY to the real volume 126C in the pool 122C associated with the secondary volume 14C.
  • the secondary volume 14C can be expanded at an arbitrary timing after the expansion of the primary volume 13, and the data of the expanded secondary volume 14C can be made to follow the expanded primary volume 13. Further, by normalizing only the data in the enlarged area QA after the secondary volume 14C is enlarged, the load on the controller 11C can be suppressed.
  • the primary volume expansion process and the secondary volume expansion process are the same as in the first embodiment. According to this process, the secondary volume expansion process can be performed without synchronizing with the primary volume expansion process. That is, the management server 30 can transmit the size expansion instruction for the secondary volume 14 without synchronizing with the size expansion instruction for the primary volume 13.
  • the virtual volume expansion process of this embodiment is the same as that of the first embodiment.
  • FIG. 24 is a flowchart illustrating the update process according to the second embodiment.
  • the controller 11A writes the received write data to the cache memory 116A (S150).
  • the controller 11A determines whether or not the write request is an update of the enlarged area of the primary volume 13 (S151).
  • the controller 11A creates journal data from the write data and writes it to the cache memory 116 (S155), and copies the journal data from the cache memory 116.
  • the data is transmitted to the previous storage device 10C (S156).
  • the controller 11C in the storage apparatus 10C receives the journal data and writes it to the cache memory 116C, and writes the journal data from the cache memory 116A to the journal volume 15C.
  • the controller 11C normalizes the update data based on the journal data, thereby creating the update data and writing it to the cache memory 116C, and transferring the created update data from the cache memory 116C to the existing area in the secondary volume 14. Write.
  • the controller 11A updates the existing area in the primary volume 13 with the write data (S157).
  • the controller 11A writes the write data from the cache memory 116A to the address designated by the write request.
  • the controller 11A updates the journal volume 15A with the journal data (S158), and ends this flow.
  • the controller 11A writes the journal data from the cache memory 116A to the journal volume 15A.
  • the above S155 to S158 correspond to the above-described existing area update processing.
  • the controller 11A determines whether the expansion pair of the target copy pair is in the suspended state (S152). For example, when the expanded pair status column C114 of the target copy pair in the pair management information T11 indicates the suspended state (PSUS), the controller 11A determines that the expanded pair of the target copy pair is in the suspended state.
  • the controller 11A shifts the process to S155.
  • the case where the expansion pair is not in the suspended state is, for example, the case where the expansion pair is in the copy state or the pair state.
  • the controller 11A updates the differential bitmap T14Q of the expansion area of the primary volume 13 (S153). For example, the controller 11A changes the update presence / absence bit of the track designated in the write request in the difference bitmap T14Q to 1.
  • the controller 11A updates the enlarged area in the primary volume 13 with the write data (S154), and ends this flow.
  • the controller 11A writes the write data from the cache memory 116A to the address designated by the write request.
  • the above S152 to S154 correspond to the above-described enlarged area update processing.
  • the above is the update process. According to this processing, even when the size of the logical volume is expanded, the pair state of the copy pair can be maintained.
  • FIG. 25 is a flowchart illustrating an expanded pair resynchronization process according to the second embodiment. This process is executed by the copy destination controller 11C according to an instruction from the secondary volume expansion process.
  • the secondary volume expansion process using the expansion pair resynchronization process corresponds to the above-described difference update process.
  • the copy pair designated by the secondary volume expansion process is called a target copy pair.
  • the controller 11C ends this flow.
  • the controller 11C When it is determined that the size of the primary volume 13 is equal to the size of the secondary volume 14 (S161: YES), the controller 11C reads journal data from the journal volume 15C to the cache memory 116C (S162). Next, the controller 11C normalizes the update data based on the read journal data, thereby creating update data and writing it to the cache memory 116C (S163). Next, the controller 11C writes the created update data from the cache memory 116C to the expansion area in the secondary volume 14 (S164), and ends this flow.
  • the data of the secondary volume 14 can be made to follow the data of the primary volume 13 after the size of the secondary volume 14 is enlarged while maintaining the target copy pair in the pair state. Further, since only the update data of the enlarged area is written to the secondary volume 14, the resynchronization time can be suppressed.
  • the configuration of the computer system is the same as that of the first embodiment.
  • the storage apparatus 10A having the primary volume 13 is installed at the main site. Further, the storage apparatus 10B having the secondary volume 14B is installed at the remote site B. The storage apparatus 10C having the secondary volume 14C is installed at the remote site C. The distance between the main site and the remote site B is shorter than the distance between the main site and the remote site C. Further, the primary volume 13 and the secondary volume 14B constitute a copy pair B. Further, the primary volume 13 and the secondary volume 14C constitute a copy pair C.
  • FIG. 26 is a schematic diagram illustrating an existing area update process according to the third embodiment.
  • the controller 11A at the main site receives a write request from the server 20A, it writes the data DX into the cache memory 116A (S711).
  • the write request designates the existing area PA in the primary volume 13 as the write destination of the data DX.
  • the controller 11A transmits the data DX from the cache memory 116A to the storage device 10B at the remote site B (S712).
  • the controller 11A creates journal data JX from the data DX in the cache memory 116A and writes it to the cache memory 116A (S713).
  • the controller 11A transmits a response indicating the completion of writing to the server 20A (S714).
  • the controller 11A destages the data DX from the cache memory 116A to the existing area PA in the primary volume 13 asynchronously with the transmission of the data DX (S716). Further, the controller 11A destages the journal data JX from the cache memory 116A to the journal volume 15A asynchronously with the destaging of the data DX (S717).
  • the controller 11C in the storage apparatus 10C reads the journal data JX from the storage apparatus 10A asynchronously with the destage of the journal data JX, and the controller 11A reads the journal data JX from the cache memory 116A to the remote site C. To the storage device 10C (S718).
  • controller 11B destages the data DX from the cache memory 116B to the existing area PB in the secondary volume 14 (S722).
  • the controller 11C destages the journal data JX from the cache memory 116C to the journal volume 15C (S723). Furthermore, the controller 11C normalizes the data DX based on the journal data JX asynchronously with the destage of the journal data JX (S724). Next, the controller 11C destages the data DX from the cache memory 116C to the existing area PC in the secondary volume 14 (S725).
  • the above is the existing area update process.
  • write data to the existing area is transferred from the main site to the remote site B by synchronous copy
  • journal data to the existing area is transferred from the main site to the remote site C by asynchronous copy.
  • FIG. 27 is a schematic diagram illustrating an enlarged area update process according to the third embodiment.
  • the controller 11A when receiving a write request from the server 20A, the controller 11A writes the data DY to the cache memory 116A (S731).
  • the write request designates the enlarged area QA in the primary volume 13 as the write destination of the data DY.
  • controller 11A creates journal data JY from the data DY in the cache memory 116A and writes it to the cache memory 116A (S732).
  • controller 11A transmits a response indicating the completion of writing to the server 20A (S733).
  • controller 11A destages the data DY from the cache memory 116A to the expansion area QA in the primary volume 13 asynchronously with the transmission of the journal data JY (S734). Further, the controller 11A destages the journal data JY from the cache memory 116A to the journal volume 15A asynchronously with the destage of the data DY (S735).
  • the controller 11B in the storage apparatus 10B reads the journal data JY from the storage apparatus 10A asynchronously with the destage of the journal data JY, and the controller 11A reads the journal data JY from the cache memory 116A. It is transmitted to 10B (S736). Further, the controller 11C in the storage device 10C reads the journal data JY from the storage device 10A asynchronously with the destage of the journal data JY, and the controller 11A reads the journal data JY from the cache memory 116A. (S737).
  • controller 11B destages the journal data JY from the cache memory 116B to the journal volume 15B (S742).
  • controller 11C destages the journal data JY from the cache memory 116C to the journal volume 15C (S743).
  • journal data to the enlarged area is transferred from the main site to the remote site B by asynchronous copy
  • journal data to the enlarged area is transferred from the main site to the remote site C by asynchronous copy.
  • FIG. 28 is a schematic diagram illustrating a difference update process according to the third embodiment.
  • the controller 11B expands the secondary volume 14B in response to an instruction from the management server 30 (S751).
  • the controller 11B restores the journal data JY from the journal volume 15B to the cache memory 116B (S752).
  • the controller 11B normalizes the data DY based on the restored journal data JX (S753).
  • the controller 11B destages the data DY from the cache memory 116B to the expansion area QB in the secondary volume 14B (S754).
  • the controller 11C also performs S761-S764, which is the same as S751-S754 described above, asynchronously with the controller 11B.
  • Either expansion of the size of the secondary volumes 14B, 14C may be performed first.
  • the size of the secondary volume 14B and the size of the secondary volume 14C can be increased at an arbitrary timing after the size of the primary volume 13 is increased. Further, even when the sizes of the secondary volumes 14B and 14C are expanded, the copy pair of the main site and the remote site B is maintained in the pair state, and the copy pair of the main site and the remote site C is maintained in the pair state.
  • the remote site B becomes the main site
  • the secondary volume 14B becomes the new primary volume 13
  • the secondary volume 14C becomes the new secondary volume 14 to form a copy pair.
  • the copy pair B performs a synchronous copy for the update of the existing area and performs an asynchronous copy for the update of the enlarged area.
  • the copy pair C performs asynchronous copy for any update of the existing area and the enlarged area.
  • the remote site B which is closer to the main site than the remote site C, performs a synchronous copy of the existing area, thereby increasing the probability that the remote site B stores the latest data, and in the case where a failure occurs in the main site. The probability of data lost can be reduced.
  • a storage system 40 having a three-site serial (cascade) configuration having a copy pair of the main site and the remote site B and a copy pair of the remote site B and the remote site C will be described.
  • the configuration of the computer system is the same as that of the third embodiment.
  • the primary volume 13 and the secondary volume 14B constitute a copy pair B. Further, the primary volume 13 and the secondary volume 14C constitute a copy pair C.
  • FIG. 29 is a schematic diagram illustrating an existing area update process according to the fourth embodiment.
  • the controller 11A at the main site receives a write request from the server 20A, it writes the data DX into the cache memory 116A (S811).
  • the write request designates the existing area PA in the primary volume 13 as the write destination of the data DX.
  • the controller 11A transmits the data DX from the cache memory 116A to the storage device 10B at the remote site B (S812).
  • the controller 11A transmits a response indicating the completion of writing to the server 20A (S813).
  • the controller 11A destages the data DX from the cache memory 116A to the existing area PA in the primary volume 13 asynchronously with the transmission of the data DX (S814).
  • the controller 11B receives the data DX, stores it in the cache memory 116B, creates journal data JX from the data DX in the cache memory 116B, and writes it in the cache memory 116B (S821).
  • the controller 11C in the storage apparatus 10C reads the journal data JX from the storage apparatus 10B asynchronously with the creation of the journal data JX, and the controller 11B reads the journal data JX from the cache memory 116B to the storage apparatus 10C. (S822).
  • the controller 11B destages the data DX from the cache memory 116B to the existing area PB in the secondary volume 14 asynchronously with the transmission of the journal data JX (S823). Further, the controller 11B destages the journal data JX from the cache memory 116B to the journal volume 15B asynchronously with the transmission of the journal data JX (S824).
  • the controller 11C receives the journal data JX, stores it in the cache memory 116C, and destages the journal data JX from the cache memory 116C to the journal volume 15C (S825). Further, the controller 11C normalizes the data DX based on the journal data JX asynchronously with the destage of the journal data JX (S826). Next, the controller 11C destages the data DX from the cache memory 116C to the existing area PC in the secondary volume 14C (S827).
  • FIG. 30 is a schematic diagram illustrating an enlarged area update process according to the fourth embodiment.
  • the controller 11A when receiving a write request from the server 20A, the controller 11A writes the data DY to the cache memory 116A (S831).
  • the write request designates the enlarged area QA in the primary volume 13 as the write destination of the data DY.
  • controller 11A creates journal data JY from the data DY in the cache memory 116A and writes it to the cache memory 116A (S832).
  • controller 11A transmits a response indicating write completion to the server 20A (S833).
  • the controller 11B in the storage apparatus 10B reads the journal data JY from the storage apparatus 10A asynchronously with the creation of the journal data JY, and the controller 11A reads the journal data JY from the cache memory 116A to the storage apparatus 10B. (S834).
  • the controller 11A destages the data DY from the cache memory 116A to the expansion area QA in the primary volume 13 asynchronously with the transmission of the journal data JY (S835). Further, the controller 11A destages the journal data JY from the cache memory 116A to the journal volume 15A asynchronously with the destage of the data DY (S836).
  • the controller 11B receives the journal data JY and writes it to the cache memory 116B.
  • the controller 11C in the storage device 10C reads the journal data JY from the storage device 10B asynchronously with the writing of the journal data JY, and the controller 11B transmits the journal data JY from the cache memory 116B to the storage device 10C. (S841).
  • controller 11B destages the journal data JY from the cache memory 116B to the journal volume 15B asynchronously with the transmission of the journal data JY (S842).
  • controller 11C receives the journal data JY, writes it to the cache memory 116C, and destages the journal data JY from the cache memory 116C to the journal volume 15C (S843).
  • journal data is transferred from the main site to the remote site B by asynchronous copy, and the journal data is transferred from the remote site B to the remote site C.
  • FIG. 31 is a schematic diagram illustrating a difference update process according to the fourth embodiment.
  • S851 to S854 by the controller 11B in the present embodiment are the same as S751 to S754 by the controller 11B in the difference update processing of the third embodiment.
  • S861-S864 by the controller 11C in the present embodiment is the same as S761-S764 by the controller 11B in the difference update processing of the third embodiment.
  • the size of the secondary volume 14B and the size of the secondary volume 14C can be increased at an arbitrary timing after the size of the primary volume 13 is increased. Further, even when the sizes of the secondary volumes 14B and 14C are expanded, the copy pair of the main site and the remote site B is maintained in the pair state, and the copy pair of the main site and the remote site C is maintained in the pair state.
  • Either expansion of the size of the secondary volumes 14B, 14C may be performed first.
  • the remote site B becomes the main site
  • the secondary volume 14B becomes the new primary volume 13
  • the secondary volume 14C becomes the new secondary volume 14 to form a copy pair.
  • the copy pair B performs a synchronous copy for the update of the existing area and performs an asynchronous copy for the update of the enlarged area.
  • the copy pair C performs asynchronous copy for any update of the existing area and the enlarged area.
  • the remote site B which is closer to the main site than the remote site C, performs a synchronous copy of the existing area, thereby increasing the probability that the remote site B stores the latest data, and in the case where a failure occurs in the main site. The probability of data lost can be reduced.
  • the storage system 40 of each of the above embodiments may reduce the size of the expanded logical volume.
  • the expanded logical volume may be deleted and recovered to the pool 122, or unnecessary pages of the expanded logical volume may be discarded and recovered to the pool 122.
  • the storage system 40 can perform inter-chassis copying without depending on the processing and load of the host computer such as the server 20 that makes an IO request to the storage apparatus 10.
  • processing order may be exchanged in the flow described above.
  • S53 and S54, S55 and S56, S152 to S155, and S156 to S159 can be exchanged.
  • a first storage device A first controller that creates a first logical volume using the first storage device; A second storage device; A second controller connected to the first controller via a network and creating a second logical volume using the second storage device; The first controller has a second existing area that is a storage area before the size of the second logical volume is expanded from a first existing area that is a storage area before the size of the first logical volume is increased.
  • the first controller keeps the existing pair in a synchronized state in which the second existing region is synchronized with the first existing region,
  • the first controller expands the size of the first logical volume by adding a first expansion area using the first storage device to the first logical volume during the synchronization state,
  • the second controller expands the size of the second logical volume by adding a second expanded area using the second storage device to the second logical volume after the size of the first logical volume is expanded, Writing data written to the first enlarged area to the second enlarged area; Storage system.
  • the first controller creates a first logical volume using the first storage device
  • a second controller connected to the first controller via a network creates a second logical volume using a second storage device;
  • the first controller has a second existing area that is a storage area before the size of the second logical volume is expanded from a first existing area that is a storage area before the size of the first logical volume is increased.
  • the first controller keeps the existing pair in a synchronized state in which the second existing region is synchronized with the first existing region,
  • the first controller expands the size of the first logical volume by adding a first expansion area using the first storage device to the first logical volume during the synchronization state,
  • the second controller expands the size of the second logical volume by adding a second expanded area using the second storage device to the second logical volume after the size of the first logical volume is expanded, Writing data written to the first enlarged area to the second enlarged area; Storage system control method.
  • the first storage device corresponds to, for example, the storage device 16 in the storage device 10A at the main site.
  • the first logical volume corresponds to the primary volume 13, for example.
  • the first controller corresponds to the controller 11A in the storage device 10A at the main site.
  • the second storage device corresponds to the storage device 16 in the storage apparatuses 10B and 10C at the remote sites B and C, for example.
  • the second logical volume corresponds to the secondary volumes 14B and 14C, for example.
  • the second controller corresponds to the controllers 11B and 11C in the storage apparatuses 10B and 10C at the remote sites B and C.
  • the first existing area corresponds to, for example, the existing area PA.
  • the second existing area corresponds to, for example, the existing areas PB and PC.
  • the first enlarged area corresponds to the enlarged area QA, for example.
  • the second enlarged area corresponds to the enlarged areas QB and QC, for example.

Abstract

コピー元ボリュームのサイズを拡大した後、拡大前のコピーペアの同期を維持しつつ、任意のタイミングでコピー先ボリュームのサイズを拡大する。第1コントローラは、第1論理ボリュームのサイズが拡大される前の記憶領域である第1既存領域から、第2論理ボリュームのサイズが拡大される前の記憶領域である第2既存領域へのコピーを示す既存ペアを定義し、既存ペアを、第2既存領域を第1既存領域に同期させる状態である同期状態に保ち、同期状態中に、第1記憶デバイスを用いる第1拡大領域を第1論理ボリュームへ追加することにより第1論理ボリュームのサイズを拡大し、第2コントローラは、第1論理ボリュームのサイズの拡大後に、第2記憶デバイスを用いる第2拡大領域を第2論理ボリュームへ追加し、第1拡大領域へ書き込まれたデータを第2拡大領域へ書き込む。

Description

ストレージシステム及びストレージシステム制御方法
 本発明は、ストレージシステムにおける複数の論理ボリュームを同期させる技術に関する。
 ストレージシステムにおいて、或る論理ボリュームのデータを他の論理ボリュームに同期させるコピー機能が知られている。ユーザは、コピー機能を用いることにより、業務で使用するデータのバックアップの作成等を行うことができる。
 二つの論理ボリュームにより構成されるコピーペアにおいて、コピー元ボリュームのサイズと、コピー先ボリュームのサイズ及び差分ビットマップのサイズを拡大または縮小させることのできる技術が知られている(例えば、特許文献1)。
特開2009-93315号公報
 このような技術により、コピーペアにおける各論理ボリュームのサイズを変更する場合、コピー元ボリューム及びコピー先ボリュームのサイズをほぼ同時に変更する必要がある。
 上記課題を解決するため、本発明の一態様であるストレージシステムは、第1記憶デバイスと、第1記憶デバイスを用いて第1論理ボリュームを作成する第1コントローラと、第2記憶デバイスと、ネットワークを介して第1コントローラに接続され、第2記憶デバイスを用いて第2論理ボリュームを作成する第2コントローラとを備える。第1コントローラは、第1論理ボリュームのサイズが拡大される前の記憶領域である第1既存領域から、第2論理ボリュームのサイズが拡大される前の記憶領域である第2既存領域へのコピーを示す既存ペアを定義する。第1コントローラは、既存ペアを、第2既存領域を第1既存領域に同期させる状態である同期状態に保つ。第1コントローラは、同期状態中に、第1記憶デバイスを用いる第1拡大領域を第1論理ボリュームへ追加することにより第1論理ボリュームのサイズを拡大する。第2コントローラは、第1論理ボリュームのサイズの拡大後に、第2記憶デバイスを用いる第2拡大領域を第2論理ボリュームへ追加することにより第2論理ボリュームのサイズを拡大し、第1拡大領域へ書き込まれたデータを第2拡大領域へ書き込む。
 コピー元ボリュームのサイズを拡大した後、拡大前のコピーペアの同期を維持しつつ、任意のタイミングでコピー先ボリュームのサイズを拡大することができる。
図1は、コンピュータシステムを示す。 図2は、ストレージ装置10の構成を示す。 図3は、サーバ20の構成を示す。 図4は、管理サーバ30の構成を示す。 図5は、論理ボリュームの構成を示す模式図である。 図6は、ボリューム管理情報T10を示す。 図7は、ペア管理情報T11を示す。 図8は、差分管理情報T12と差分ビットマップT14の関係を示す。 図9は、仮想ボリューム管理情報T13を示す。 図10は、サーバ対応関係管理情報T30を示す。 図11は、実施例1における既存領域更新処理を示す模式図である。 図12は、実施例1における拡大領域更新処理を示す模式図である。 図13は、実施例1における差分更新処理を示す模式図である。 図14は、正ボリューム拡大処理を示すフローチャートである。 図15は、副ボリューム拡大処理を示すフローチャートである。 図16は、実施例1における仮想ボリューム拡大処理を示すフローチャートである。 図17は、差分ビットマップ拡大処理を示すフローチャートである。 図18は、実施例1における更新処理を示すフローチャートである。 図19は、実施例1における拡大ペア再同期処理を示すフローチャートである。 図20は、サイズ拡大処理を示すシーケンス図である。 図21は、実施例2における既存領域更新処理を示す模式図である。 図22は、実施例2における拡大領域更新処理を示す模式図である。 図23は、実施例2における差分更新処理を示す模式図である。 図24は、実施例2における更新処理を示すフローチャートである。 図25は、実施例2における拡大ペア再同期処理を示すフローチャートである。 図26は、実施例3における既存領域更新処理を示す模式図である。 図27は、実施例3における拡大領域更新処理を示す模式図である。 図28は、実施例3における差分更新処理を示す模式図である。 図29は、実施例4における既存領域更新処理を示す模式図である。 図30は、実施例4における拡大領域更新処理を示す模式図である。 図31は、実施例4における差分更新処理を示す模式図である。
 以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、
 コピー先のストレージ装置内のデータをコピー元のストレージ装置内のデータに同期させる技術について説明する。このような技術として、コピー元のデータを同一筐体内のコピー先へ転送する筐体内コピーと、コピー元のデータを別の筐体内のコピー先へ転送する筐体間コピー(レプリケーション)とが知られている。また、筐体間コピーとして、同期コピーと非同期コピーが知られている。同期コピーは、データをコピー元へ書き込むと共に、そのデータをコピー先へ転送して書き込む。非同期コピーは、データをコピー元へ書き込むタイミングの後に、そのデータをコピー先へ転送して書き込む。
 本実施例では、同期コピーを用いるストレージシステムについて説明する。
 ――――コンピュータシステムの構成――――
 以下、コンピュータシステムの構成について説明する。
 図1は、コンピュータシステムを示す。このコンピュータシステムは、例えば、ストレージシステム40と、複数のサーバ20A,20Bと、少なくとも一つの管理サーバ30とを有する。ストレージシステム40は、複数のストレージ装置10A,10B,10Cを有する。
 管理サーバ30は、各ストレージ装置10A,10B,10C及び各サーバ20A,20Bと、管理用の通信ネットワークCN1を介して接続される。各サーバ20A,20Bと各ストレージ装置10A,10B,10Cとは、データ入出力用の通信ネットワークCN2を介して、接続される。さらに、ストレージ装置10Aとストレージ装置10Bとストレージ装置10Cとは、リモートコピー用の通信ネットワークCN3を介して接続される。
 通信ネットワークCN1は、例えば、LAN(Local Area Network)のように構成される。通信ネットワークCN2,CN3は、例えば、IP-SAN(Internet Protocol-Storage Area Network)またはFC-SAN(Fibre Channel-Storage Area Network)であっても良い。なお、CN1,CN2,CN3が一つの通信ネットワークであっても良い。または、CN2とCN3とが一つの通信ネットワークであり、CN1が別の通信ネットワークであっても良い。以下の説明において、データ入出力をI/O(Input/Output)と表現する。
 ストレージ装置10A,10B,10Cは、各サーバ20A,20Bにより使用されるデータを記憶する。ストレージ装置10Aは、コントローラ11Aと、記憶デバイス16Aとを有する。ストレージ装置10Bは、コントローラ11Bと、記憶デバイス16Bとを有する。ストレージ装置10Cは、コントローラ11Cと、記憶デバイス16Cとを有する。記憶デバイス16Aから、論理ボリュームである正ボリューム(PVOL:Primary Volume)13と、副ボリューム(SVOL:Secondar Volume)13Dと、ジャーナルボリューム(JNLVOL:Journal Volume)15Aとが作成される。記憶デバイス16Bから、論理ボリュームである副ボリューム14Bと、ジャーナルボリューム15Bとが作成される。記憶デバイス16Cから、論理ボリュームである副ボリューム14Cと、ジャーナルボリューム15Cとが作成される。以下の説明では、論理ボリュームをボリュームと呼ぶことがある。
 正ボリューム13及び副ボリューム14Bは、コピーペアを構成することができる。正ボリューム13及び副ボリューム14Cは、コピーペアを構成することができる。正ボリューム13及び副ボリューム14Dは、コピーペアを構成することができる。正ボリューム13及び副ボリューム14Dのコピーペアは、筐体内コピーを行う。正ボリューム13及び副ボリューム14Bのコピーペア、正ボリューム13及び副ボリューム14Bのコピーペアの夫々は、筐体間コピーを行う。コントローラ11は、これらのコピーペアを定義することができる。
 ストレージシステム40が同期コピーを行う場合、ストレージ装置10Cを有していなくても良い。ストレージシステム40が同期コピーを行う場合、ストレージ装置10A,10Bは、ジャーナルボリューム15A,15Bを有していなくても良い。ストレージシステム40が非同期コピーを行う場合、ストレージ装置10Bを有していなくても良い。ストレージシステム40が筐体間コピーを行う場合、ストレージ装置10Aは、副ボリューム14Dを有していなくても良い。
 サーバ20A,20Bは、例えば、顧客管理、画像配信、電子メール管理等の各種業務処理を実行する。サーバ20A,20Bは、業務処理のために、ストレージ装置10A,10B,10Cの論理ボリュームにアクセスして、データを読み書きする。サーバ20A,20Bは、例えば、サーバコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、エンジニアリングワークステーション、携帯情報端末等のホスト計算機であっても良い。
 管理サーバ30は、コンピュータシステムを管理するためのコンピュータである。管理サーバ30は、コンピュータシステムの各構成及び状態等を管理する。管理サーバ30は、ストレージ装置10A,10B,10Cにペア操作のためのコマンドを与える。
 管理サーバ30は、サーバ20A,20Bと同様に、種々のコンピュータであっても良い。管理サーバ30は、複数のコンピュータを含んでいてもよい。例えば、ユーザ(システム管理者等)が操作するための管理端末を設け、管理端末と管理サーバ30とを接続する構成でもよい。ユーザは、管理端末を用いて、管理サーバ30に指示を与えたり、管理サーバ30から取得した情報を表示させたりできる。管理端末は、パーソナルコンピュータ、または、携帯情報端末(携帯電話を含む)であっても良い。
 以下の説明において、特に区別しない場合、ストレージ装置10A,10B,10Cの夫々を、ストレージ装置10と呼ぶ。同様に、特に区別しない場合、コントローラ11A,11B,11Cの夫々を、コントローラ11と呼ぶ。同様に、特に区別しない場合、記憶デバイス16A,16B,16Cの夫々を、記憶デバイス16と呼ぶ。同様に、特に区別しない場合、サーバ20A,20Bの夫々をサーバ20と呼ぶ。同様に、特に区別しない場合、副ボリューム14B,14C,14Dの夫々を、副ボリューム14と呼ぶ。同様に、特に区別しない場合、ジャーナルボリューム15A,15B,15Cの夫々を、ジャーナルボリューム15と呼ぶ。
 図2は、ストレージ装置10の構成を示す。ストレージ装置10は、コントローラ11と、記憶デバイス16とを有する。コントローラ11は、ストレージ装置10の動作を制御する。コントローラ11は、例えば、CPU(central processing unit)等のマイクロプロセッサ110と、共用メモリ111と、I/Oインターフェース112と、管理インターフェース113と、ディスクインターフェース114と、スイッチ回路115と、キャッシュメモリ116とを有する。図面では、インターフェースを「I/F」と略記する。
 マイクロプロセッサ110と、共用メモリ111と、ディスクインターフェース114と、キャッシュメモリ116とは、内部バスにより接続されている。I/Oインターフェース112と、管理インターフェース113は、スイッチ回路115を介して内部バスに接続されている。
 I/Oインターフェース112は、通信ネットワークCN2,CN3を介して、サーバ20または他のストレージ装置10と通信する。管理インターフェース113は、通信ネットワークCN1を介して、管理サーバ30と通信する。ディスクインターフェース114は、記憶デバイス16と通信する。
 記憶デバイス16は、複数の物理記憶デバイス121を有する。物理記憶デバイス121としては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
 ハードディスクデバイスを用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Compute System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。また、半導体メモリデバイスを用いる場合、例えば、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistiv Random Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(登録商標)(Resistance RAM)等を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる物理記憶デバイス121を混在させる構成でもよい。
 複数の物理記憶デバイス121が有する物理的記憶領域は、シンプロビジョニング技術のためのプール122としてまとめられることができる。プール122の記憶領域を用いて、一つまたは複数の論理ボリュームを作成できる。また、物理記憶領域は、RAID(Redundant Arrays of Inexpensive Disks)グループとしてまとめられても良い。
 キャッシュメモリ116は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリデバイス、ハードディスクドライブのような一つまたは複数の記憶媒体から構成される。キャッシュメモリ116は、サーバ20や他のストレージ装置10から受信されたデータを記憶デバイス16へ書き込む前に格納する。また、キャッシュメモリ116は、記憶デバイス16から読み出されたデータを、サーバ20や他のストレージ装置10へ送信する前に格納する。
 共用メモリ111は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリデバイス、ハードディスクドライブのような一つまたは複数の記憶媒体から構成される。共用メモリ111は、コンピュータプログラムであるサイズ拡大処理P10と、ペア操作処理P11と、ボリューム管理処理P12とを格納する。共用メモリ111は更に、管理情報であるボリューム管理情報T10と、ペア管理情報T11と、差分管理情報T12と、仮想ボリューム管理情報T13とを格納する。マイクロプロセッサ110は、共用メモリ111に記憶されたコンピュータプログラムを読み込んで実行することにより、後述の機能を実現する。マイクロプロセッサ110は、各種コンピュータプログラムを実行する場合、共用メモリ111に記憶された各種管理情報を適宜参照することができる。
 ボリューム管理情報T10は、ストレージ装置10により提供される論理ボリュームを管理するための情報である。ペア管理情報T20は、コピーペアを管理するための情報である。差分管理情報T12は、コピーペアを形成する二つの論理ボリュームの間に生じる差分データを管理するための情報である。差分ビットマップT14は、論理ボリュームのアドレス空間を所定サイズの単位管理領域に区切り、単位管理領域毎に、差異が生じているか否かを示すフラグをセットする。単位管理領域は例えば、トラックである。所定サイズは例えば、256kバイトである。仮想ボリューム管理情報T13は、シンプロビジョニング技術により作成される仮想ボリュームを管理するための情報である。
 ボリューム管理処理P12は、論理ボリュームを管理する。
 サイズ拡大処理P10は、論理ボリュームのサイズを拡大する。
 ペア操作処理P11は、コピー元の論理ボリュームである正ボリューム13とコピー先の論理ボリュームである副ボリューム14とから成るコピーペアの状態を操作する。コピーペアの状態としては、例えば、ペア状態、サスペンド状態、コピー状態がある。ペア状態は、同期状態とも呼ばれる。
 ペア状態とは、正ボリューム13と副ボリューム14の記憶内容が同期している状態である。正ボリューム13に書き込まれたデータは、副ボリューム14にも書き込まれる。
 サスペンド状態とは、正ボリューム13と副ボリューム14とが分離されており、各ボリュームがそれぞれ独立してデータを管理する状態である。サスペンド状態では、正ボリューム13に記憶されたデータと副ボリューム14に記憶されたデータとは同期していない。サスペンド状態の正ボリューム13にサーバ20がデータを書き込むと、正ボリューム13と副ボリューム14との間に差分データが生じる。その差分データは、差分ビットマップT14により管理される。
 リシンク状態は、正ボリューム13と副ボリューム14との間の差分データを、副ボリューム14へ書き込む状態である。リシンクが完了するとペア状態に移行し、正ボリューム13に記憶されたデータと副ボリューム14に記憶されたデータとが一致する。
 リストア状態は、副ボリューム14から正ボリューム13にデータを転送することにより、正ボリューム13に記憶されるデータを副ボリューム14に記憶されるデータに一致させる状態である。リストアが完了するとペア状態に移行し、正ボリューム13に記憶されたデータと副ボリューム14に記憶されたデータとは、一致する。
 図3は、サーバ20の構成を示す。サーバ20は、例えば、CPU(Central Processing Unit)21等のマイクロプロセッサと、メモリ22と、I/Oインターフェース23と、管理インターフェース24とを有しており、それら21-24は内部バスにより相互に接続されている。
 マイクロプロセッサ21は、メモリ22に記憶された各種コンピュータプログラムを読み込んで実行する。メモリ22は、例えば、RAM、ROM、フラッシュメモリデバイス、ハードディスクドライブのような一つまたは複数の記憶媒体から構成される。I/Oインターフェース23は、通信ネットワークCN2,CN3を介して、サーバ20またはストレージ装置10と、データを送受信する。管理インターフェース24は、通信ネットワークCN1を介して、管理サーバ30と通信する。
 メモリ22には、オペレーティングシステム(いずれも図示せず)のほかに、ボリュームサイズを再認識するためのコンピュータプログラムであるボリュームサイズ再認識処理P20と管理プログラムP21と、アプリケーションプログラムP22とが記憶されている。ボリュームサイズ再認識処理P20は、管理サーバ30からの指示により作動し、アプリケーションプログラムP22を停止させて、ストレージ装置10からアプリケーションプログラムP22が使用する論理ボリュームのサイズを取得する。ボリュームサイズ再認識処理P20は、ボリュームサイズを取得した後(ボリュームサイズを再認識した後)、アプリケーションプログラムP22を再開させる。管理プログラムP21は、OS(operating system)やファイルシステム等、ファイルを管理するプログラムである。
 図4は、管理サーバ30の構成を示す。管理サーバ30は、例えば、マイクロプロセッサ31と、メモリ32と、I/Oインターフェース33とを含む。
 マイクロプロセッサ31は、メモリ32に記憶されたコンピュータプログラムを読み込んで実行する。メモリ32は、例えば、RAM、ROM、フラッシュメモリデバイス、ハードディスクドライブのような一つまたは複数の記憶媒体から構成される。管理インターフェース34は、通信ネットワークCN1を介して、サーバ20と通信する。
 メモリ32には、オペレーティングシステム及びアプリケーションプログラム(いずれも図示せず)のほかに、サーバ20を検索するためコンピュータプログラムであるサーバ検索処理P30と、サーバ20と論理ボリュームの対応関係を管理するためのサーバ対応関係管理情報T30とが記憶されている。
 図5は、論理ボリュームの構成を示す模式図である。サーバ20へ提供される論理ボリューム123として、実ボリューム126と、仮想ボリューム124との何れかを用いることができる。実ボリューム126は、物理記憶デバイス121の記憶領域に対応付けられている。実ボリューム126は、一つの物理記憶デバイス121に対応付けられていても良いし、RAIDグループ等を構成する複数の物理記憶デバイス121に対応付けられていても良い。仮想ボリューム124は、シンプロビジョニング技術により作成される。仮想ボリュームは、シンプロビジョニングボリュームとも呼ばれる。図中では、論理ボリュームをLU、仮想ボリューム124をVVOL、実ボリューム126をRVOLと示す。本実施例のストレージ装置10は、正ボリューム13、副ボリューム14として、仮想ボリューム124を用い、ジャーナルボリューム15として実ボリューム126を用いる。なお、ジャーナルボリューム15として仮想ボリューム124を用いても良い。
 サーバ20が仮想ボリューム124内の仮想ページ125Vへデータを書き込む場合、ボリューム管理処理P12は、そのデータを格納するための実ページ125Rをプール122から選択し、仮想ボリューム124に対応付ける。仮想ページ125Vの代わりに、仮想ボリューム124内の他のサイズの記憶領域が用いられても良い。実ページ125Rの代わりに、プール122内の他のサイズの記憶領域が用いられても良い。
 例えば、サーバ20が仮想ボリューム124内の仮想ページ125V1-125V3にデータD1-D3を夫々書き込む場合、ボリューム管理処理P12は、プール122に登録されている実ボリューム126(2),126(3),126(4)から実ページ125R1-125R3を選択する。次にボリューム管理処理P12は、実ページ125R1-125R3を仮想ページ125V1-125V3に夫々割り当てる。これにより、データD1-D3は、実ページ125R1-125R3に夫々記憶される。
 このようにシンプロビジョニング技術を用いることにより、サーバ20Bが使用する際に実ページ125Rを仮想ボリューム124に割り当てるため、プール122内の実ページ125Rを有効に利用することができる。
 ――――ストレージ装置10における管理情報――――
 以下、ストレージ装置10における管理情報について説明する。
 図6は、ボリューム管理情報T10を示す。ボリューム管理情報T10は、論理ボリューム毎のエントリを有する。各エントリは例えば、ボリューム番号欄C100と、サイズ欄C101と、タイプ欄C102と、ステータス欄C103と、属性欄C104と、サイズ変更結果欄C105と、変更後サイズ欄C106と、ホスト計算機に応答するサイズ欄C107とを有する。それら以外の項目がボリューム管理情報T10により管理されてもよい。ここでは、或るエントリに対応する論理ボリュームを対象論理ボリュームと呼ぶ。
 ボリューム番号欄C100は、ストレージ装置10が対象論理ボリュームを一意に識別するための識別情報を示す。図中では、番号を「#」で示す。なお、識別情報として、番号に限らず、識別コード等の他の情報を用いてもよい。
 サイズ欄C101は、対象論理ボリュームのサイズ(ボリュームサイズ)を示す。
 タイプ欄C102は、対象論理ボリュームのタイプを示す。タイプ欄C102の値として例えば、「通常」、「プール」がある。「通常」とは、対象論理ボリュームが仮想ボリューム124であることを示す。「プール」とは、対象論理ボリュームがプール122として登録されたボリュームであることを示す。
 属性欄C104は、対象論理ボリュームが使用されているか否かを示す値を記憶する。例えば、対象論理ボリュームがサーバ20に割り当てられている場合、または、対象論理ボリュームが他の論理ボリュームのサイズを拡大するために使用されている場合、属性欄C104には「割当て」が設定される。対象論理ボリュームがサーバ20または他の論理ボリュームに割り当てられていない場合、属性欄C104には「未割当て」が設定される。
 サイズ変更結果欄C105は、対象論理ボリュームのボリュームサイズの変更が成功したか失敗したかを示す値を管理する。ボリュームサイズの変更には、ボリュームサイズの拡大と、ボリュームサイズの縮小とが含まれる。ボリュームサイズの変更に成功した場合、サイズ変更結果欄C105には「成功」と設定される。ボリュームサイズの変更に失敗した場合、サイズ変更結果欄C105には「失敗」と設定される。ボリュームサイズが変更されていない場合、サイズ変更結果欄C105には「-」と設定される。
 変更後サイズ欄C106は、サイズ変更後のボリュームサイズを管理する。ボリュームサイズの変更が行われない場合、または、ボリュームサイズの変更に失敗した場合、サイズ欄C101の値と変更後サイズ欄C106の値とは一致する。
 ホスト計算機に応答するサイズ欄C107は、サーバ20からのサイズ問い合わせに対する応答のボリュームサイズを管理する。
 図7は、ペア管理情報T11を示す。ペア管理情報T11は、コピーペアを管理するための情報であり、コピーペア毎のエントリを有する。各エントリは例えば、ペア番号欄C110と、正ボリューム番号欄C111と、副ボリューム番号欄C112と、ペア状態欄C113と、拡大ペア状態欄C114とを含む。それら以外の情報がペア管理情報T11により管理されてもよい。ここでは、或るエントリに対応するコピーペアを対象コピーペアと呼ぶ。
 ペア番号欄C110は、対象コピーペアを一意に識別するための情報を示す。正ボリューム番号欄C111は、コピー元ボリュームである正ボリューム13を識別するための情報を管理する。副ボリューム番号欄C112は、コピー先ボリュームである副ボリューム14を識別するための情報を管理する。
 ペア状態欄C113は、対象コピーペアの状態を示す。コピーペアが取り得る状態には、例えば、ペア状態(PAIR)、サスペンド状態(PSUS)、リシンク中のコピー状態(COPY)がある。対象コピーペアを構成する論理ボリュームが拡大される場合、正ボリューム13及び副ボリューム14の夫々において、拡大前の領域を既存領域と呼び、拡大により追加される領域を拡大領域と呼ぶ。コピーペアのうち、正ボリューム13内の既存領域と副ボリューム14内の既存領域の組を既存ペアと呼び、正ボリューム13内の拡大領域と副ボリューム14内の拡大領域の組を拡大ペアと呼ぶ。ペア状態欄C113は、既存ペアの状態を示す。コントローラ11は、コピーペアの定義時に既存ペアを定義し、正ボリューム13のサイズの拡大時に拡大ペアを定義する。
 拡大ペア状態欄C114は、拡大ペアの状態を示す。拡大ペアが取り得る状態には、既存ペアと同様、ペア状態、サスペンド状態、コピー状態がある。
 図8は、差分管理情報T12と差分ビットマップT14の関係を示す。差分管理情報T12は、差分ビットマップT14を管理するための情報である。差分ビットマップT14は、既存領域の更新部分を示す差分ビットマップT14Pと、拡大領域の更新部分を示す差分ビットマップT14Qとを有する。差分管理情報T12は、コピーペア毎のエントリを有する。各エントリは例えば、ペア番号欄C120と、サイズ欄C121と、アドレス欄C122と、拡大サイズ欄C123と、拡大アドレス欄C124とを含む。それら以外の情報が差分管理情報T12により管理されてもよい。ここでは、或るエントリに対応するコピーペアを対象コピーペアと呼び、対象コピーペアのうち自筐体内の論理ボリュームを対象論理ボリュームと呼ぶ。
 ペア番号欄C120は、対象コピーペアを一意に識別するための情報を示す。
 サイズ欄C121は、対象論理ボリュームの既存領域のサイズを示す。アドレス欄C122は、対象論理ボリュームの既存領域の差分ビットマップT14Pのアドレスを指すポインタを示す。
 拡大サイズ欄C123は、変更後の対象論理ボリュームのサイズ、即ち既存領域と拡大領域の合計サイズを示す。拡大アドレス欄C124は、対象論理ボリュームの拡大領域の差分ビットマップT14Qのアドレスを指すポインタを示す。
 差分ビットマップT14は、対象論理ボリューム内のトラック単位で更新の有無を管理する。各トラック番号は、対象論理ボリュームの論理アドレス(LBA:Logical Block Addressing)に対応付けられている。差分ビットマップT14は、先頭トラック番号欄C125と、終端トラック番号欄C126と、次のアドレス欄C127と、更新有無ビット欄C128とを有する。
 先頭トラック番号欄C125は、対象論理ボリュームの先頭トラックの番号を示す。終端トラック番号欄C126は、対象論理ボリュームの終端トラックの番号を示す。次のアドレス欄C127は、当該差分ビットマップに次の差分ビットマップが連続している場合、次の差分ビットマップのアドレスを指す。例えば、副ボリューム14のサイズが拡大されることより、差分ビットマップT14Pと差分ビットマップT14Qがマージされた場合、差分ビットマップT14Pの次のアドレス欄C127は、差分ビットマップT14Qのアドレスを指す。更新有無ビット欄C128は、トラック毎の更新有無ビットを有する。或るトラックの更新有無ビットは、そのトラックが更新されたか否かを示す。
 対象論理ボリュームの既存領域の差分ビットマップT14Pにおける次のアドレス欄C127は、対象論理ボリュームの拡大領域の差分ビットマップT14Qのアドレスを指す。
 図9は、仮想ボリューム管理情報T13を示す。仮想ボリューム管理情報T13は、仮想ページ125V毎のエントリを有する。各エントリは例えば、仮想ページ番号欄C130と、プール番号欄C131と、プール内ページ番号欄C132と、破棄フラグ欄C133とを有する。ここでは、或るエントリに対応する仮想ページ125Vを対象仮想ページと呼ぶ。
 仮想ページ番号欄C130は、対象仮想ページを識別するための情報を示す。プール番号欄C131は、対象仮想ページが用いることができる一つ以上のプール122を識別するための情報を管理する。この例におけるプール番号欄C131は、一つのプール122のみを示しているが、複数のプール122を示しても良い。プール122には、少なくとも一つ、通常は複数の実ボリューム126が登録される。
 プール内ページ番号欄C132は、対象仮想ページに割り当てられている実ページ125を識別するための情報を示す。
 破棄フラグ欄C133は、例えば、デフラグ処理の結果として未使用ページとなった場合のように、そのページが破棄可能であるか否かを示す破棄フラグを管理する。破棄フラグ欄C133に「可」と示されているページは、破棄できる。破棄フラグ欄C133に「否」と示されているページは、破棄できない。
 ボリューム管理処理P12は、仮想ボリューム124内の或る仮想ページ125Vが破棄可能であるか否かについて、例えば、サーバ20の管理プログラムP21からの使用状況情報D20により知ることができる。使用状況情報D20は、例えば、管理プログラムP21によるページの使用状況(例えば、使用していないページを特定する識別情報)を含んで構成される。
 実ページ125Rが破棄可能であるか否かを、ストレージ装置10が検出する構成でもよい。ストレージ装置10が、仮想ページに割り当てられている実ページ125Rのデータを解析し、その実ページ125Rが使用されているか否かを判断する構成でもよい。コントローラは、実ページに格納されたデータが特定のパターンであることを検出した場合に、その実ページを破棄可能であると判断することができる。例えば、特定のパターンとは、実ページに格納されたデータがすべてゼロデータの場合である。
 図10は、サーバ対応関係管理情報T30を示す。サーバ対応関係管理情報T30は、サーバ20毎のエントリを有する。各エントリは、例えば、サーバID欄C300と、ストレージ装置ID欄C301と、ボリューム番号欄C302とを有する。ここでは、或るエントリに対応するサーバ20を対象サーバと呼ぶ。
 サーバID欄C300は、対象サーバを識別するための情報を示す。ストレージ装置ID欄C301は、対象サーバに割り当てられているストレージ装置10を識別するための情報を示す。ボリューム番号欄C302は、対象サーバに割り当てられている論理ボリュームを識別するための情報を示す。
 ――――ストレージシステム40の動作の具体例――――
 ストレージシステム40は、コピーペアを構成する論理ボリュームのサイズを拡大するサイズ拡大処理を行う。
 以下、サイズ拡大処理における幾つかの動作の具体例について説明する。
 本実施例において、ストレージシステム40は、正ボリューム13から副ボリューム14へ同期コピーを行う。この同期コピーは、メインサイト(正サイト)に設けられているストレージ装置10Aをコピー元とし、リモートサイト(副サイト)Bに設けられているストレージ装置10Bをコピー先とする。サイトは例えば、データセンタである。
 ストレージシステム40がコピーペアを構成する論理ボリュームのサイズを拡大する場合、そのコピーペアのペア状態中に、正ボリューム13のサイズを拡大する。これにより、既存ペアのコピーペア状態はペア状態に維持され、拡大ペアのコピーペア状態はサスペンド状態になる。ここでは、同期コピーにおいて、正ボリューム13が拡大された後の動作の幾つかの具体例について説明する。
 ここでは、既存領域が更新される場合の更新処理である既存領域更新処理について説明する。
 図11は、実施例1における既存領域更新処理を示す模式図である。ここでは、コントローラ11Aが、既存領域PAを有する正ボリューム13に拡大領域QAを追加した状態である。この状態で、メインサイトのストレージ装置10A内のコントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDXを書き込む(S511)。ここで、ライト要求は、データDXの書き込み先として、正ボリューム13内の既存領域PAを指定する。
 次にコントローラ11Aは、キャッシュメモリ116AからリモートサイトBのストレージ装置10BへデータDXを送信する(S512)。これにより、ストレージ装置10B内のコントローラ11Bは、受信されたデータDXをキャッシュメモリ116Bへ書き込む。次にコントローラ11Aは、この送信を完了すると、ライト完了を示す応答をサーバ20Aへ送信する(S513)。
 その後、コントローラ11Aは、データDXの送信とは非同期で、キャッシュメモリ116Aから正ボリューム13内の既存領域PAへデータDXのデステージを行う(S514)。これにより、コントローラ11Aは、データDXを、正ボリューム13に対応付けられたプール122A内の実ボリューム126Aへ書き込む。
 更に、コントローラ11Bは、データDXの送信とは非同期で、キャッシュメモリ116Bから副ボリューム14B内の既存領域PBへデータDXのデステージを行う(S515)。これにより、データDXは、副ボリューム14Bに対応付けられたプール122B内の実ボリューム126Bへ書き込まれる。
 以上が既存領域更新処理である。この処理によれば、副ボリューム14Bを拡大することなく、既存ペアのペア状態を維持することができる。従って、サーバ20は、正ボリューム13のサイズの拡大時に動作を停止する必要がない。また、実ボリューム126Bの使用を抑制することができる。
 ここでは、拡大領域が更新される場合の更新処理である拡大領域更新処理について説明する。
 図12は、実施例1における拡大領域更新処理を示す模式図である。まず、コントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDYを書き込む(S521)。ここで、ライト要求は、データDYの書き込み先として、正ボリューム13内の拡大領域QAを指定する。
 コントローラ11Aは、正ボリューム13を管理する差分ビットマップT14を有する。この時の差分ビットマップT14は、既存領域PAに対応する差分ビットマップT14Pと、拡大領域QAに対応する差分ビットマップT14Qとを有する。コントローラ11Aは、差分ビットマップT14QにおいてデータDYの書き込み先を記録する(S522)。次にコントローラ11Aは、ライト完了を示す応答をサーバ20Aへ送信する(S523)。
 その後、コントローラ11Aは、差分ビットマップT14Qの記録と非同期で、キャッシュメモリ116Aから正ボリューム13内の拡大領域QAへデータDYのデステージを行う(S524)。これにより、データDYは、正ボリューム13に対応付けられたプール122A内の実ボリューム126Aへ書き込まれる。
 以上が拡大領域更新処理である。この処理によれば、副ボリューム14Bを拡大することなく、既存ペアのペア状態を維持することができる。従って、サーバ20は、正ボリューム13のサイズの拡大時に動作を停止する必要がない。また、実ボリューム126Bの使用を抑制することができる。また、拡大ペアの差分を管理することができる。
 ここでは、正ボリューム13の拡大の後に、副ボリューム14Bが拡大される場合の処理である差分更新処理について説明する。
 図13は、実施例1における差分更新処理を示す模式図である。まず、コントローラ11Bは、管理サーバ30からの指示に応じて副ボリューム14Bを拡大する(S531)。ここでコントローラ11Bは、副ボリューム14Bに拡大領域QBを追加する。次にコントローラ11Bは、副ボリューム14Bが拡大されたことを示す通知をコントローラ11Aへ送信する(S532)。
 次にコントローラ11Aは、この通知を受信すると、コントローラ11A内の拡大領域QAの差分ビットマップT14Qに基づいて、正ボリューム13からキャッシュメモリ116AへデータDYのステージングを行う(S533)。これにより、コントローラ11Aは、拡大領域QAのうち、データDYを格納する領域だけを選択し、データDYをキャッシュメモリ116Aへ読み出す。
 次にコントローラ11Aは、キャッシュメモリ116A内のデータDYをストレージ装置10Bへ送信する(S534)。これにより、コントローラ11Bは、データをキャッシュメモリ116Bへ書き込む。送信が完了すると、正ボリューム13の拡大領域QAと副ボリューム14Bの拡大領域QBとの拡大ペアは、再同期(リシンク)され、サスペンド状態からペア状態に変更される。
 その後、コントローラ11Bは、データDYの送信と非同期で、キャッシュメモリ116Bから副ボリューム14B内の拡大領域QBへデータDYのデステージを行う(S535)。これにより、コントローラ11Bは、データDYを、副ボリューム14Bに対応付けられたプール122B内の実ボリューム126Bへ書き込む。
 以上が差分更新処理である。この処理によれば、正ボリューム13の拡大後の任意のタイミングで副ボリューム14Bを拡大し、拡大された正ボリューム13と拡大された副ボリューム14Bとのコピーペアを再同期させることができる。また、副ボリューム14Bの拡大後に拡大領域QAの更新データだけを正ボリューム13から副ボリューム14Bへ転送することにより、再同期時間を抑えることができる。
 ――――サイズ拡大処理――――
 以下、サイズ拡大処理について説明する。
 サイズ拡大処理において、メインサイトのストレージ装置10Aは、コピーペアの正ボリューム13を拡大する正ボリューム拡大処理を行い、リモートサイトBのストレージ装置10Bは、そのコピーペアの副ボリューム14を拡大する副ボリューム拡大処理を行う。
 ここでは、正ボリューム拡大処理について説明する。
 図14は、正ボリューム拡大処理を示すフローチャートである。正ボリューム拡大処理は、メインサイトのストレージ装置10Aのコントローラ11Aのサイズ拡大処理P10により実行される。
 まずコントローラ11Aは、管理サーバ30から正ボリューム13のサイズ拡大指示を受領する(S10)。サイズ拡大指示は、正ボリューム13を指定し、正ボリューム13の拡大後のサイズを指定する。次にコントローラ11Aは、正ボリューム13がコピーペアに属しているか否かを判定する(S11)。例えば、正ボリューム13がペア管理情報T11に登録されている場合、コントローラ11Aは、正ボリューム13がコピーペアに属していると判定する。
 正ボリューム13がコピーペアに属していないと判定された場合(S11:NO)、コントローラ11Aは、このフローを終了する。
 正ボリューム13がコピーペアに属していると判定された場合(S11:YES)、コントローラ11Aは、正ボリューム13を対象ボリュームとし、後述の仮想ボリューム拡大処理を行う(S13)。次にコントローラ11Aは、サイズ拡大指示により指定された全ての正ボリューム13について仮想ボリューム拡大処理が完了したか否かを判定する(S14)。
 全ての正ボリューム13について仮想ボリューム拡大処理が完了していない場合(S14:NO)、コントローラ11Aは、処理をS13へ移行させ、次の正ボリューム13の処理を行う。
 全ての正ボリューム13について仮想ボリューム拡大処理が完了した場合(S14:YES)、コントローラ11Aは、このフローを終了する。
 以上が正ボリューム拡大処理である。この処理によれば、正ボリューム13を有するストレージ装置10Aは、副ボリューム拡大処理と同期することなく、正ボリューム拡大処理を行うことができる。即ち、管理サーバ30は、副ボリューム14のサイズ拡大指示と同期することなく、正ボリューム13のサイズ拡大指示を送信することができる。
 ここでは、副ボリューム拡大処理について説明する。
 図15は、副ボリューム拡大処理を示すフローチャートである。副ボリューム拡大処理は、コントローラ11Bのサイズ拡大処理P10により実行される。この副ボリューム拡大処理は、前述の差分更新処理に相当する。
 まずコントローラ11Bは、管理サーバ30から副ボリューム14に関する指示を受領すると(S19)、副ボリューム14のサイズの拡大が必要であるか否かを判定する(S20)。ここで、受領された指示が、副ボリューム14のサイズの拡大を指示するサイズ拡大指示や、副ボリューム14のデータを利用する副ボリューム利用指示である場合、コントローラ11Bは、副ボリューム14のサイズの拡大が必要であると判定する。サイズ拡大指示は、副ボリューム14を指定し、副ボリューム14の拡大後のサイズを指定する。副ボリューム利用指示は例えば、副ボリューム14のデータをテープデバイス等の他の記憶デバイスへバックアップすることを指示する。また、受領された指示が、サイズ拡大指示や副ボリューム利用指示であり、且つ正ボリューム13の拡大領域に更新があった場合、コントローラ11Bは、副ボリューム14のサイズの拡大が必要であると判定しても良い。
 副ボリューム14のサイズの拡大が必要でないと判定された場合(S20:NO)、コントローラ11Bは、このフローを終了する。
 副ボリューム14のサイズの拡大が必要であると判定された場合(S20:YES)、コントローラ11Bは、副ボリューム14がコピーペアに属しているか否かを判定する(S21)。例えば、副ボリューム14がペア管理情報T11に登録されている場合、コントローラ11Bは、副ボリューム14がコピーペアに属していると判定する。
 副ボリューム14がコピーペアに属していないと判定された場合(S21:NO)、コントローラ11Bは、このフローを終了する。
 副ボリューム14がコピーペアに属していると判定された場合(S21:YES)、コントローラ11Bは、処理をS22へ移行させる。S22において、コントローラ11Bは、副ボリューム14を対象ボリュームとし、後述の仮想ボリューム拡大処理を行う(S22)。次にコントローラ11Bは、対象ボリュームが属するコピーペアを対象コピーペアとし、コピー元のコントローラ11Aへ後述の拡大ペア再同期処理を指示する(S23)。次にコントローラ11Bは、サイズ拡大指示により指定された全ての副ボリューム14について仮想ボリューム拡大処理が完了したか否かを判定する(S24)。
 全ての副ボリューム14について仮想ボリューム拡大処理が完了していないと判定された場合(S24:NO)、コントローラ11Bは、処理をS22へ移行させ、次の副ボリューム14の処理を行う。
 全ての副ボリューム14について仮想ボリューム拡大処理が完了したと判定された場合(S24:YES)、コントローラ11Bは、このフローを終了する。
 以上が副ボリューム拡大処理である。この処理によれば、副ボリューム14を有するストレージ装置10Bは、正ボリューム拡大処理と同期することなく、副ボリューム拡大処理を行うことができる。即ち、管理サーバ30は、正ボリューム13のサイズ拡大指示と同期することなく、副ボリューム14のサイズ拡大指示を送信することができる。
 ここでは、前述のS13、S22の夫々における仮想ボリューム拡大処理について説明する。
 図16は、実施例1における仮想ボリューム拡大処理を示すフローチャートである。まずコントローラ11は、ペア管理情報T11から対象ボリュームを検索する(S300)。次にコントローラ11は、対象ボリュームのサイズが拡大済みであるか否かを判定する(S301)。例えば、ボリューム管理情報T10内の対象ボリュームのサイズ変更結果欄C105が「成功」を示している場合、又はサイズ欄C101が変更後サイズ欄C106に等しい場合、コントローラ11は、対象ボリュームのサイズが拡大済みであると判定する。
 対象ボリュームのサイズが拡大済みであると判定された場合(S301:YES)、コントローラ11は、このフローを終了する。
 対象ボリュームのサイズが拡大済みでないと判定された場合(S301:NO)、コントローラ11は、対象ボリュームがペア管理情報T11に登録されているか否かを判定する(S302)。例えば、ペア管理情報T11の正ボリューム番号欄C111又は副ボリューム番号欄C112に登録されている場合、コントローラ11は、対象ボリュームがペア管理情報T11に登録されていると判定する。対象ボリュームがペア管理情報T11に登録されていないと判定された場合(S302:NO)、コントローラ11は、処理をS305へ移行させる。
 対象ボリュームがペア管理情報T11に登録されていると判定された場合(S302:YES)、コントローラ11は、ペア管理情報T11に基づいて、対象ボリュームに対応するコピーペアを対象コピーペアとし、後述の差分ビットマップ拡大処理を行う(S304)。
 次にコントローラ11は、ボリューム管理情報T10内の対象ボリュームの変更後サイズ欄C106を設定する(S305)。ここで、コントローラ11は、サイズ拡大指示により指定された拡大後のサイズを、その変更後サイズ欄C106へ書き込む。次にコントローラ11は、仮想ボリューム管理情報T13の拡大に必要な空き領域を、共用メモリ111から確保する(S306)。次にコントローラ11は、確保された空き領域を用いて、仮想ボリューム管理情報T13を拡大し(S307)、このフローを終了する。これにより、仮想ボリューム管理情報T13内に、対象ボリュームの拡大領域に対応する新たな仮想ページが登録される。
 以上が仮想ボリューム拡大処理である。この処理によれば、差分ビットマップT14と仮想ボリューム管理情報T13を拡大することができる。また、シンプロビジョニング技術を用いることにより、この処理の時点では、対象ボリュームの拡大領域に実ページが割り当てられないため、プール122内の実ページを有効に利用することができる。また、シンプロビジョニング技術を用いることにより、コントローラ11は、対象ボリュームのサイズを拡大することが可能か否かを判定する必要がない。なお、コントローラ11は、プール122の残容量等に基づいて、対象ボリュームのサイズの拡大を制限しても良い。例えば、コントローラ11は、プール122の残容量に基づく閾値を設定し、対象ボリュームのサイズの増分が閾値を超える場合に対象ボリュームの拡大を行わないとしても良い。
 ここでは、前述のS302における差分ビットマップ拡大処理について説明する。
 図17は、差分ビットマップ拡大処理を示すフローチャートである。まずコントローラ11は、差分ビットマップT14の拡大が可能か否かを判定する(S400)。例えば、対象ボリュームの拡大による差分ビットマップT14のサイズの増分が、共用メモリ111の空きサイズより小さい場合、コントローラ11は、差分ビットマップT14の拡大が可能であると判定する。
 差分ビットマップT14の拡大が不可能であると判定された場合(S400:NO)、コントローラ11は、このフローを終了する。この時、コントローラ11は、サイズ拡大処理を中断し、サイズ拡大指示を送信したサーバ20へエラー応答を送信しても良い。
 差分ビットマップT14の拡大が可能であると判定された場合(S400:YES)、コントローラ11は、差分ビットマップT14が拡大済みであるか否かを判定する(S401)。例えば、差分管理情報T12内の対象コピーペアの拡大アドレス欄C124にポインタが存在する場合、コントローラ11は、差分ビットマップT14が拡大済みであると判定する。
 差分ビットマップT14が拡大済みであると判定された場合(S401:YES)、コントローラ11は、このフローを終了する。
 差分ビットマップT14が拡大済みでないと判定された場合(S401:NO)、コントローラ11は、差分管理情報T12内の対象コピーペアの拡大サイズ欄C123を設定する(S402)。ここで、コントローラ11は、この拡大サイズ欄C123へ、サイズ拡大指示により指定された拡大後のサイズを書き込む。次にコントローラ11は、共用メモリ111から、拡大領域に対応する差分ビットマップT14Qのための空き領域を確保する(S403)。次にコントローラ11は、差分管理情報T12内の対象コピーペアの拡大アドレス欄C124を設定する(S404)。ここで、コントローラ11は、この拡大アドレス欄C124へ、確保された領域のアドレスを指すポインタを書き込む。次にコントローラ11は、差分ビットマップT14Qを初期化する(S405)。例えば、コントローラ11は、差分ビットマップT14Q内の全ての更新有無ビットへ0を書き込む。これにより、差分ビットマップT14Qは、拡大領域内に更新されたデータ(差分)がないことを示す。次にコントローラ11は、ペア管理情報T11内の対象コピーペアの拡大ペア状態欄C114を設定し(S406)、このフローを終了する。ここで、コントローラ11は、この拡大ペア状態欄C114
へ、サスペンド状態(PSUS)であることを書き込む。
 以上が差分ビットマップ拡大処理である。この処理によれば、既存ペアとは別に、拡大ペアのための差分ビットマップ及びコピーペア状態を管理することができる。これにより、既存ペアのペア状態を維持しつつ、任意のタイミングで既存拡大ペアを再同期させることができる。
 ここでは、メインサイトのストレージ装置10Aがサーバ20から正ボリューム13へのライト要求を受信した場合の更新処理について説明する。
 図18は、実施例1における更新処理を示すフローチャートである。ライト要求は、正ボリューム13内の論理アドレスを指定し、ライトデータを伴う。コントローラ11Aは、受信されたライトデータをキャッシュメモリ116Aへ書き込む(S50)。次にコントローラ11Aは、ライト要求が正ボリューム13の拡大領域の更新であるか否かを判定する(S51)。例えば、ライト要求により指定されたアドレスが拡大領域内である場合、コントローラ11Aは、ライト要求が拡大領域の更新であると判定する。ここで、コントローラ11Aは、ライト要求により指定されたアドレスに対応する正ボリューム13を認識し、ペア管理情報T11に基づいて正ボリューム13が属するコピーペアである対象コピーペアを認識する。更にコントローラ11Aは、差分管理情報T12内の対象コピーペアの拡大アドレス欄C124に示されている差分ビットマップT14Qの先頭トラック番号欄C125及び終端トラック番号欄C126に基づいて拡大領域のアドレス範囲を取得し、ライト要求により指定されたアドレスが拡大領域内であるか否かを判定する。
 ライト要求が既存領域の更新であると判定された場合(S51:NO)、コントローラ11Aは、キャッシュメモリ116Aからコピー先のストレージ装置10Bへデータを送信する(S55)。これにより、ストレージ装置10B内のコントローラ11Bは、ライトデータにより副ボリューム14を更新する。ここでコントローラ11Bは、ライトデータを受信してキャッシュメモリ116Bへ書き込み、ライトデータをキャッシュメモリ116Bから副ボリューム14内の既存領域へ書き込む。
 次にコントローラ11Aは、ライトデータにより正ボリューム13内の既存領域を更新し(S56)、このフローを終了する。ここでコントローラ11Aは、ライトデータをキャッシュメモリ116Aからライト要求により指定されたアドレスへ書き込む。以上のS55-S56は前述の既存領域更新処理に相当する。
 ライト要求が拡大領域の更新であると判定された場合(S51:YES)、コントローラ11Aは、対象コピーペアの拡大ペアがサスペンド状態であるか否かを判定する(S52)。例えば、ペア管理情報T11内の対象コピーペアの拡大ペア状態欄C114がサスペンド状態(PSUS)を示している場合、コントローラ11Aは、対象コピーペアの拡大ペアがサスペンド状態であると判定する。
 拡大ペアがサスペンド状態でないと判定された場合(S52:NO)、コントローラ11Aは、処理をS54へ移行させる。拡大ペアがサスペンド状態でない場合は例えば、拡大ペアがコピー状態又はペア状態である場合である。
 拡大ペアがサスペンド状態であると判定された場合(S52:YES)、コントローラ11Aは、正ボリューム13の拡大領域の差分ビットマップT14Qを更新する(S53)。例えば、コントローラ11Aは、差分ビットマップT14Qのうちライト要求に指定されたトラックの更新有無ビットを、1に変更する。次にコントローラ11Aは、ライトデータにより正ボリューム13内の拡大領域を更新し(S54)、このフローを終了する。ここでコントローラ11Aは、ライトデータをキャッシュメモリ116Aからライト要求により指定されたアドレスへ書き込む。以上のS53-S54は前述の拡大領域更新処理に相当する。
 以上が更新処理である。この処理によれば、ライト要求の対象が既存領域である場合に通常のペア状態更新処理を行い、ライト要求の対象が第2状態である場合に正ボリューム13を更新することにより、既存ペアのペア状態を維持することができる。
 ここでは、前述のS23における拡大ペア再同期処理について説明する。
 図19は、実施例1における拡大ペア再同期処理を示すフローチャートである。この処理は、コピー元のコントローラ11Aがコピー先のコントローラ11Bからの指示を受けることにより実行される。ここでは、コントローラ11Bにより指定されたコピーペアを対象コピーペアと呼ぶ。
 まずコントローラ11Aは、副ボリューム拡大処理から拡大ペア再同期処理の指示を受けると(S60)、正ボリューム13のサイズが副ボリューム14のサイズと等しいか否かを判定する(S61)。
 正ボリューム13のサイズが副ボリューム14のサイズと等しくないと判定された場合(S61:NO)、コントローラ11Aは、このフローを終了する。
 正ボリューム13のサイズが副ボリューム14のサイズと等しいと判定された場合(S61:YES)、コントローラ11Aは、対象コピーペアの拡大ペア状態がサスペンド状態(PSUS)であるか否かを判定する(S62)。ここでコントローラ11Aは、ペア管理情報T11内の対象コピーペアの拡大ペア状態欄C114を参照する。
 拡大ペア状態がサスペンド状態でないと判定された場合(S62:NO)、コントローラ11Aは、このフローを終了する。
 拡大ペア状態がサスペンド状態であると判定された場合(S62:YES)、コントローラ11Aは、差分管理情報T12内の対象コピーペアのサイズ欄C121の値を、拡大サイズ欄C123の値へ変更する(S63)。次にコントローラ11Aは、対象コピーペアの拡大アドレス欄C124の値を、既存ペアの差分ビットマップT14Pにおける、次のアドレス欄C127へ書き込むことにより、拡大ペアの差分ビットマップT14Qを既存ペアの差分ビットマップT14Pへマージする(S64)。次にコントローラ11Aは、差分管理情報T12内の対象コピーペアの拡大アドレス欄C124をクリアする(S65)。次にコントローラ11Aは、差分ビットマップT14Qに基づいて拡大領域からキャッシュメモリ116Aへ更新データを読み出す(S66)。次にコントローラ11Aは、読み出された更新データをコピー先のストレージ装置10Bへ送信し(S67)、このフローを終了する。これにより、ストレージ装置10B内のコントローラ11Bは、更新データを受信してキャッシュメモリ116Bへ書き込み、キャッシュメモリ116Bから副ボリューム14の拡大領域へ書き込む。
 以上が拡大ペア再同期処理である。この処理によれば、拡大ペアを再同期した後に、対象コピーペアにおける既存ペアの差分ビットマップと拡大ペアの差分ビットマップとを一つの差分ビットマップとして管理し、対象コピーペアをペア状態にすることができる。また、拡大領域の更新データだけを副ボリューム14へ書き込むため、再同期時間を抑えることができる。
 ペア管理情報T11は、正ボリューム拡大処理までの期間において、ペア状態欄C113により既存領域の状態を管理する。次にペア管理情報T11は、正ボリューム拡大処理から副ボリューム拡大処理までの期間において、ペア状態欄C113により既存領域の状態を管理し、拡大ペア状態欄C114により拡大領域の状態を管理する。次にペア管理情報T11は、副ボリューム拡大処理の後の期間において、ペア状態欄C113により既存領域と拡大領域を合わせた領域の状態を管理し、拡大ペア状態欄C114を使用しない。
 なお、第1のサイズ拡大処理の後に第2のサイズ拡大処理を行う場合、第2のサイズ拡大処理は、第1のサイズ拡大処理における既存領域と拡大領域を合わせた領域を新たな既存領域として管理し、新たな拡大領域を作成する。この場合、ペア管理情報T11は、拡大ペア状態欄C114により新たな拡大領域の状態を管理する。これにより、コピーペアを構成する論理ボリュームのサイズを拡大した後に、その論理ボリュームのサイズを更に拡大することができる。
 ここでは、管理サーバ30によるサイズ拡大処理について説明する。
 図20は、サイズ拡大処理を示すシーケンス図である。ここでは、また、サイズ拡大処理により拡大される正ボリューム13又は副ボリューム14を、対象ボリュームと呼ぶ。また、便宜上、対象ボリュームを有するコピー元のストレージ装置10又はコピー先のストレージ装置10を、対象ストレージ装置と呼ぶ。
 管理サーバ30は、対象ストレージ装置に、ボリューム拡大処理の指示を送信する(S200)。ボリューム拡大処理は、前述の正ボリューム拡大処理又は副ボリューム拡大処理である。その指示は、対象ボリュームを指定する。対象ストレージ装置は、その指示に従って、ボリューム拡大処理を行う(S201)。
 管理サーバ30は、対象ストレージ装置のボリューム拡大処理の完了を確認すると、サーバ対応関係管理情報T30を参照して、ボリュームサイズの拡大された対象ボリュームを使用しているサーバ20Aを検索する(S202)。管理サーバ30は、対象ボリュームを使用するサーバ20Aに、ボリュームサイズの再認識を指示する(S203)。
 サーバ20Aは、管理サーバ30からの再認識指示を受領すると、アプリケーションプログラムP22を停止させて(S204)、対象ストレージ装置にボリュームサイズを問い合わせるコマンドを発行する(S205)。
 対象ストレージ装置は、サーバ20Aにより使用されている対象ボリュームのサイズを返信する。サーバ20Aは、対象ストレージ装置からボリュームサイズを取得すると、アプリケーションプログラムP22の作動を再開させる(S206)。
 管理サーバ30は、再びサーバ対応関係管理情報T30を参照し、ボリュームサイズの拡大された対象ボリュームを使用している他のサーバ20Bを検索する(S207)。管理サーバ30は、対象ボリュームを使用するサーバ20Bに、ボリュームサイズの再認識を指示する(S208)。
 サーバ20Bは、再認識指示を受領すると、アプリケーションプログラムP22を停止させて(S209)、対象ストレージ装置にボリュームサイズを問い合わせるコマンドを発行する(S210)。
 ストレージ装置10は、サーバ20Bにより使用されている対象ボリュームのサイズを返信する。サーバ20Bは、ストレージ装置10からボリュームサイズを取得すると、アプリケーションプログラムP22の作動を再開させる(S211)。
 以上がサイズ拡大処理である。この処理によれば、対象ボリュームを使用しているサーバ20は、対象ボリュームのボリュームサイズの拡大に同期して、対象ボリュームのサイズを認識することができる。
 本実施例では、非同期コピーを用いるストレージシステム40について説明する。
 コンピュータシステムの構成は、実施例1と同様である。
 ――――ストレージシステム40の動作の具体例――――
 本実施例において、ストレージシステム40は、正ボリューム13から副ボリューム14Cへ非同期コピーを行う。この非同期コピーは、メインサイトに設けられているストレージ装置10Aをコピー元とし、リモートサイトCに設けられているストレージ装置10Cをコピー先とする。
 ストレージシステム40がコピーペアを構成する論理ボリュームのサイズを拡大する場合、まず正ボリューム13のサイズを拡大する。これにより、このコピーペア状態は、ペア状態に維持される。即ち、正ボリューム13のサイズの拡大時、既存ペアはペア状態に維持され、拡大ペアはペア状態になる。
 以下、正ボリューム13が拡大された後の動作の幾つかの具体例について説明する。
 ここでは、既存領域が更新される場合の更新処理である既存領域更新処理について説明する。
 図21は、実施例2における既存領域更新処理を示す模式図である。ここでは、コントローラ11Aが、既存領域PAを有する正ボリューム13に拡大領域QAを追加した状態である。この状態で、メインサイトのストレージ装置10A内のコントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDXを書き込む(S611)。ここで、ライト要求は、データDXの書き込み先として、正ボリューム13内の既存領域PAを指定する。
 次にコントローラ11Aは、キャッシュメモリ116A内のデータDXからジャーナルデータJXを作成してキャッシュメモリ116Aへ書き込む(S612)。ジャーナルデータは、ライト要求による更新の履歴を示す。次にコントローラ11Aは、ライト完了を示す応答をサーバ20Aへ送信する(S613)。
 その後、コントローラ11Aは、ジャーナルデータJXの作成と非同期で、キャッシュメモリ116Aから正ボリューム13内の既存領域PAへデータDXのデステージを行う(S614)。これにより、コントローラ11Aは、データDXを、正ボリューム13に対応付けられたプール122A内の実ボリューム126Aへ書き込む。
 更に、コントローラ11Aは、データDXのデステージとは非同期で、キャッシュメモリ116Aからジャーナルボリューム15AへジャーナルデータJXのデステージを行う(S615)。これにより、ジャーナルデータJXは、ジャーナルボリューム15Aへ書き込まれる。
 更に、ストレージ装置10C内のコントローラ11Cは、ジャーナルデータJXのデステージとは非同期で、ストレージ装置10Aに対しジャーナルデータJXの読み出しを行い、コントローラ11Aは、ジャーナルデータJXをキャッシュメモリ116AからリモートサイトCのストレージ装置10Cへ送信する(S616)。これにより、ストレージ装置10C内のコントローラ11Cは、受信されたジャーナルデータJXをキャッシュメモリ116Cへ書き込む。
 次に、コントローラ11Cは、キャッシュメモリ116Cからジャーナルボリューム15CへジャーナルデータJXのデステージを行う(S622)。これにより、コントローラ11Cは、ジャーナルデータJXをジャーナルボリューム15Cへ書き込む。
 更に、コントローラ11Cは、ジャーナルデータJXにより既存領域が更新されるか否かの判定を行い、既存領域が更新されると判定された場合、ジャーナルデータJXのデステージとは非同期で、ジャーナルデータJXに基づいてデータDXの正規化を行う(S623)。これにより、コントローラ11Cは、ジャーナルデータJXからデータDXを作成し、キャッシュメモリ116Cへ書き込む。
 次にコントローラ11Cは、キャッシュメモリ116Cから副ボリューム14C内の既存領域PCへデータDXのデステージを行う(S624)。これにより、コントローラ11Cは、正規化されたデータDXを、副ボリューム14Cに対応付けられたプール122C内の実ボリューム126Cへ書き込む。
 以上が既存領域更新処理である。この処理によれば、副ボリューム14Cを拡大することなく、コピーペアのペア状態を維持することができる。従って、サーバ20は、動作を停止する必要がない。また、実ボリューム126Cの使用を抑制することができる。
 ここでは、拡大領域が更新される場合の更新処理である拡大領域更新処理について説明する。
 図22は、実施例2における拡大領域更新処理を示す模式図である。まず、コントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDYを書き込む(S631)。ここで、ライト要求は、データDYの書き込み先として、正ボリューム13内の拡大領域QAを指定する。
 次にコントローラ11Aは、キャッシュメモリ116A内のデータDYからジャーナルデータJYを作成してキャッシュメモリ116Aへ書き込む(S632)。次にコントローラ11Aは、ライト完了を示す応答をサーバ20Aへ送信する(S633)。
 その後、コントローラ11Aは、ジャーナルデータJYの作成と非同期で、キャッシュメモリ116Aから正ボリューム13内の拡大領域QAへデータDYのデステージを行う(S634)。これにより、コントローラ11Aは、データDYを、正ボリューム13に対応付けられたプール122A内の実ボリューム126Aへ書き込む。
 更に、コントローラ11Aは、データDYのデステージとは非同期で、キャッシュメモリ116Aからジャーナルボリューム15AへジャーナルデータJYのデステージを行う(S635)。これにより、ジャーナルデータJYは、ジャーナルボリューム15Aへ書き込まれる。
 更に、ストレージ装置10C内のコントローラ11Cは、ジャーナルデータJYのデステージとは非同期で、ストレージ装置10Aに対しジャーナルデータJYの読み出しを行い、コントローラ11Aは、ジャーナルデータJYをキャッシュメモリ116Aからストレージ装置10Cへ送信する(S636)。これにより、ストレージ装置10C内のコントローラ11Cは、受信されたジャーナルデータJYをキャッシュメモリ116Cへ書き込む。
 その後、コントローラ11Cは、キャッシュメモリ116Cからジャーナルボリューム15CへジャーナルデータJYのデステージを行う(S642)。これにより、コントローラ11Cは、ジャーナルデータJYをジャーナルボリューム15Cへ書き込む。ここでコントローラ11Cは、ジャーナルデータJYにより既存領域が更新されるか否かの判定を行い、既存領域が更新されないと判定された場合、データDYの正規化を行わない。
 以上が拡大領域更新処理である。この処理によれば、副ボリューム14Cを拡大することなく、コピーペアのペア状態を維持することができる。従って、サーバ20は、正ボリューム13のサイズの拡大時に動作を停止する必要がない。また、実ボリューム126Cの使用を抑制することができる。また、拡大領域の更新時にその更新を示すジャーナルデータをメインサイトからリモートサイトCへ転送することにより、メインサイトに障害が発生した場合に、リモートサイトCがデータを復旧させることができる。
 ここでは、正ボリューム13の拡大の後に、副ボリューム14Cが拡大される場合の処理である差分更新処理について説明する。
 図23は、実施例2における差分更新処理を示す模式図である。まず、コントローラ11Cは、管理サーバ30からの指示に応じて副ボリューム14Cを拡大する(S651)。ここでコントローラ11Bは、副ボリューム14Cに拡大領域QCを追加する。
 次に、コントローラ11Cは、ジャーナルボリューム15Cからキャッシュメモリ116CへジャーナルデータJYのリストアを行う(S652)。これにより、コントローラ11Cは、ジャーナルデータJYをキャッシュメモリ116Cへ書き込む。
 次にコントローラ11Cは、リストアされたジャーナルデータJXに基づいてデータDYの正規化を行う(S653)。これにより、コントローラ11Cは、ジャーナルデータJYからデータDYを作成し、キャッシュメモリ116Cへ書き込む。
 次にコントローラ11Cは、キャッシュメモリ116Cから副ボリューム14C内の拡大領域QCへデータDYのデステージを行う(S654)。これにより、コントローラ11Cは、正規化されたデータDYを、副ボリューム14Cに対応付けられたプール122C内の実ボリューム126Cへ書き込む。
 以上が差分更新処理である。この処理によれば、正ボリューム13の拡大後の任意のタイミングで副ボリューム14Cを拡大し、拡大された副ボリューム14Cのデータを拡大された正ボリューム13に追従させることができる。また、副ボリューム14Cの拡大後に拡大領域QAのデータだけを正規化することにより、コントローラ11Cの負荷を抑えることができる。
 ――――サイズ拡大処理――――
 以下、サイズ拡大処理について説明する。
 正ボリューム拡大処理及び副ボリューム拡大処理は、実施例1と同様である。この処理によれば、正ボリューム拡大処理と同期することなく、副ボリューム拡大処理を行うことができる。即ち、管理サーバ30は、正ボリューム13のサイズ拡大指示と同期することなく、副ボリューム14のサイズ拡大指示を送信することができる。
 ここでは、前述のS13、S22の夫々における仮想ボリューム拡大処理について説明する。
 本実施例の仮想ボリューム拡大処理は、実施例1と同様である。
 この仮想ボリューム拡大処理によれば、シンプロビジョニング技術による仮想ボリュームを用いることにより、この処理の時点では、対象ボリュームの拡大領域に実ページが割り当てられないため、プール122内の実ページを有効に利用することができる。また、差分ビットマップによる差分管理を必要としない。
 ここでは、メインサイトのストレージ装置10Aがサーバ20から正ボリューム13へのライト要求を受信した場合の更新処理について説明する。
 図24は、実施例2における更新処理を示すフローチャートである。コントローラ11Aは、受信されたライトデータをキャッシュメモリ116Aへ書き込む(S150)。次にコントローラ11Aは、ライト要求が正ボリューム13の拡大領域の更新であるか否かを判定する(S151)。
 ライト要求が既存領域の更新であると判定された場合(S151:NO)、コントローラ11Aは、ライトデータからジャーナルデータを作成してキャッシュメモリ116へ書き込み(S155)、ジャーナルデータをキャッシュメモリ116からコピー先のストレージ装置10Cへ送信する(S156)。これにより、ストレージ装置10C内のコントローラ11Cは、ジャーナルデータを受信してキャッシュメモリ116Cへ書き込み、ジャーナルデータをキャッシュメモリ116Aからジャーナルボリューム15Cへ書き込む。更にコントローラ11Cは、ジャーナルデータに基づいて更新データの正規化を行うことにより、更新データを作成してキャッシュメモリ116Cへ書き込み、作成された更新データをキャッシュメモリ116Cから副ボリューム14内の既存領域へ書き込む。
 次にコントローラ11Aは、ライトデータにより正ボリューム13内の既存領域を更新する(S157)。ここでコントローラ11Aは、ライトデータをキャッシュメモリ116Aからライト要求により指定されたアドレスへ書き込む。
 次にコントローラ11Aは、ジャーナルデータによりジャーナルボリューム15Aを更新し(S158)、このフローを終了する。ここでコントローラ11Aは、ジャーナルデータをキャッシュメモリ116Aからジャーナルボリューム15Aへ書き込む。以上のS155-S158は前述の既存領域更新処理に相当する。
 ライト要求が拡大領域の更新であると判定された場合(S151:YES)、コントローラ11Aは、対象コピーペアの拡大ペアがサスペンド状態であるか否かを判定する(S152)。例えば、ペア管理情報T11内の対象コピーペアの拡大ペア状態欄C114がサスペンド状態(PSUS)を示している場合、コントローラ11Aは、対象コピーペアの拡大ペアがサスペンド状態であると判定する。
 拡大ペアがサスペンド状態でないと判定された場合(S152:NO)、コントローラ11Aは、処理をS155へ移行させる。拡大ペアがサスペンド状態でない場合は例えば、拡大ペアがコピー状態又はペア状態である場合である。
 拡大ペアがサスペンド状態であると判定された場合(S152:YES)、コントローラ11Aは、正ボリューム13の拡大領域の差分ビットマップT14Qを更新する(S153)。例えば、コントローラ11Aは、差分ビットマップT14Qのうちライト要求に指定されたトラックの更新有無ビットを、1に変更する。次にコントローラ11Aは、ライトデータにより正ボリューム13内の拡大領域を更新し(S154)、このフローを終了する。ここでコントローラ11Aは、ライトデータをキャッシュメモリ116Aからライト要求により指定されたアドレスへ書き込む。以上のS152-S154は前述の拡大領域更新処理に相当する。
 以上が更新処理である。この処理によれば、論理ボリュームのサイズの拡大時であっても、コピーペアのペア状態を維持することができる。
 ここでは、前述のS23における拡大ペア再同期処理について説明する。
 図25は、実施例2における拡大ペア再同期処理を示すフローチャートである。この処理は、コピー先のコントローラ11Cにおいて、副ボリューム拡大処理からの指示により実行される。この拡大ペア再同期処理を用いる副ボリューム拡大処理は、前述の差分更新処理に相当する。ここでは、副ボリューム拡大処理により指定されたコピーペアを対象コピーペアと呼ぶ。
 まずコントローラ11Cは、副ボリューム拡大処理から拡大ペア再同期処理の指示を受けると(S160)、正ボリューム13のサイズが副ボリューム14のサイズと等しいか否かを判定する(S161)。
 正ボリューム13のサイズが副ボリューム14のサイズと等しくないと判定された場合(S161:NO)、コントローラ11Cは、このフローを終了する。
 正ボリューム13のサイズが副ボリューム14のサイズと等しいと判定された場合(S161:YES)、コントローラ11Cは、ジャーナルボリューム15Cからキャッシュメモリ116Cへジャーナルデータを読み出す(S162)。次にコントローラ11Cは、読み出されたジャーナルデータに基づいて更新データの正規化を行うことにより、更新データを作成してキャッシュメモリ116Cへ書き込む(S163)。次にコントローラ11Cは、作成された更新データをキャッシュメモリ116Cから副ボリューム14内の拡大領域へ書き込み(S164)、このフローを終了する。
 以上が拡大ペア再同期処理である。この処理によれば、対象コピーペアをペア状態に維持しつつ、副ボリューム14のサイズを拡大した後に、副ボリューム14のデータを正ボリューム13のデータに追従させることができる。また、拡大領域の更新データだけを副ボリューム14へ書き込むため、再同期時間を抑えることができる。
 本実施例では、メインサイト、リモートサイトB、リモートサイトCの夫々にストレージ装置10が設けられ、メインサイト及びリモートサイトBのコピーペアと、メインサイト及びリモートサイトCのコピーペアとを有する3サイト並列(マルチターゲット)構成のストレージシステム40について説明する。
 コンピュータシステムの構成は、実施例1と同様である。
 本実施例において、正ボリューム13を有するストレージ装置10Aは、メインサイトに設置されている。また、副ボリューム14Bを有するストレージ装置10Bは、リモートサイトBに設置されている。また、副ボリューム14Cを有するストレージ装置10Cは、リモートサイトCに設置されている。メインサイトとリモートサイトBの間の距離は、メインサイトとリモートサイトCの間の距離より短い。また、正ボリューム13と副ボリューム14BはコピーペアBを構成している。また、正ボリューム13と副ボリューム14CはコピーペアCを構成している。
 ストレージシステム40がコピーペアを構成する論理ボリュームのサイズを拡大する場合、まず正ボリューム13のサイズを拡大する。これにより、このコピーペア状態は、ペア状態に維持される。
 ――――ストレージシステム40の動作の具体例――――
 以下、正ボリューム13が拡大された後の動作の幾つかの具体例について説明する。
 ここでは、既存領域が更新される場合の更新処理である既存領域更新処理について説明する。
 図26は、実施例3における既存領域更新処理を示す模式図である。まず、メインサイトのコントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDXを書き込む(S711)。ここで、ライト要求は、データDXの書き込み先として、正ボリューム13内の既存領域PAを指定する。
 次にコントローラ11Aは、キャッシュメモリ116AからリモートサイトBのストレージ装置10BへデータDXを送信する(S712)。次にコントローラ11Aは、キャッシュメモリ116A内のデータDXからジャーナルデータJXを作成してキャッシュメモリ116Aへ書き込む(S713)。次にコントローラ11Aは、ライト完了を示す応答をサーバ20Aへ送信する(S714)。
 その後、コントローラ11Aは、データDXの送信とは非同期で、キャッシュメモリ116Aから正ボリューム13内の既存領域PAへデータDXのデステージを行う(S716)。更に、コントローラ11Aは、データDXのデステージとは非同期で、キャッシュメモリ116Aからジャーナルボリューム15AへジャーナルデータJXのデステージを行う(S717)。
 更に、ストレージ装置10C内のコントローラ11Cは、ジャーナルデータJXのデステージとは非同期で、ストレージ装置10Aに対しジャーナルデータJXの読み出しを行い、コントローラ11Aは、ジャーナルデータJXをキャッシュメモリ116AからリモートサイトCのストレージ装置10Cへ送信する(S718)。
 その後、コントローラ11Bは、キャッシュメモリ116Bから副ボリューム14内の既存領域PBへデータDXのデステージを行う(S722)。
 次に、コントローラ11Cは、キャッシュメモリ116Cからジャーナルボリューム15CへジャーナルデータJXのデステージを行う(S723)。更に、コントローラ11Cは、ジャーナルデータJXのデステージとは非同期で、ジャーナルデータJXに基づいてデータDXの正規化を行う(S724)。次にコントローラ11Cは、キャッシュメモリ116Cから副ボリューム14内の既存領域PCへデータDXのデステージを行う(S725)。
 以上が既存領域更新処理である。この処理によれば、同期コピーにより既存領域へのライトデータがメインサイトからリモートサイトBへ転送され、非同期コピーにより既存領域へのジャーナルデータがメインサイトからリモートサイトCへ転送される。これにより、正ボリューム13のサイズの拡大時であっても、メインサイトとリモートサイトBのコピーペアは、ペア状態に維持され、メインサイトとリモートサイトCのコピーペアは、ペア状態に維持される。
 ここでは、拡大領域が更新される場合の更新処理である拡大領域更新処理について説明する。
 図27は、実施例3における拡大領域更新処理を示す模式図である。まず、コントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDYを書き込む(S731)。ここで、ライト要求は、データDYの書き込み先として、正ボリューム13内の拡大領域QAを指定する。
 次にコントローラ11Aは、キャッシュメモリ116A内のデータDYからジャーナルデータJYを作成してキャッシュメモリ116Aへ書き込む(S732)。次にコントローラ11Aは、ライト完了を示す応答をサーバ20Aへ送信する(S733)。
 更に、コントローラ11Aは、ジャーナルデータJYの送信と非同期で、キャッシュメモリ116Aから正ボリューム13内の拡大領域QAへデータDYのデステージを行う(S734)。更に、コントローラ11Aは、データDYのデステージとは非同期で、キャッシュメモリ116Aからジャーナルボリューム15AへジャーナルデータJYのデステージを行う(S735)。
 次に、ストレージ装置10B内のコントローラ11Bは、ジャーナルデータJYのデステージとは非同期で、ストレージ装置10Aに対しジャーナルデータJYの読み出しを行い、コントローラ11Aは、ジャーナルデータJYをキャッシュメモリ116Aからストレージ装置10Bへ送信する(S736)。更に、ストレージ装置10C内のコントローラ11Cは、ジャーナルデータJYのデステージとは非同期で、ストレージ装置10Aに対しジャーナルデータJYの読み出しを行い、コントローラ11Aは、ジャーナルデータJYをキャッシュメモリ116Aからストレージ装置10Cへ送信する(S737)。
 更に、コントローラ11Bは、キャッシュメモリ116Bからジャーナルボリューム15BへジャーナルデータJYのデステージを行う(S742)。同様に、コントローラ11Cは、キャッシュメモリ116Cからジャーナルボリューム15CへジャーナルデータJYのデステージを行う(S743)。
 以上が拡大領域更新処理である。この処理によれば、非同期コピーにより拡大領域へのジャーナルデータがメインサイトからリモートサイトBへ転送され、非同期コピーにより拡大領域へのジャーナルデータがメインサイトからリモートサイトCへ転送される。これにより、正ボリューム13のサイズの拡大時であっても、メインサイトとリモートサイトBのコピーペアは、ペア状態に維持され、メインサイトとリモートサイトCのコピーペアは、ペア状態に維持される。
 ここでは、正ボリューム13の拡大の後に、副ボリューム14が拡大される場合の処理である差分更新処理について説明する。
 図28は、実施例3における差分更新処理を示す模式図である。まずコントローラ11Bは、管理サーバ30からの指示に応じて副ボリューム14Bを拡大する(S751)。次に、コントローラ11Bは、ジャーナルボリューム15Bからキャッシュメモリ116BへジャーナルデータJYのリストアを行う(S752)。次にコントローラ11Bは、リストアされたジャーナルデータJXに基づいてデータDYの正規化を行う(S753)。次にコントローラ11Bは、キャッシュメモリ116Bから副ボリューム14B内の拡大領域QBへデータDYのデステージを行う(S754)。
 コントローラ11Cについても、コントローラ11Bと非同期で、前述のS751-S754と夫々同様のS761-S764を行う。
 副ボリューム14B,14Cのサイズの拡大は、何れが先に行われても良い。
 以上が差分更新処理である。この処理によれば、正ボリューム13のサイズの拡大後の任意のタイミングで、副ボリューム14Bのサイズの拡大、副ボリューム14Cのサイズの拡大を行うことができる。更に、副ボリューム14B,14Cのサイズの拡大時であっても、メインサイトとリモートサイトBのコピーペアは、ペア状態に維持され、メインサイトとリモートサイトCのコピーペアは、ペア状態に維持される。
 メインサイトにおいて被災などによる障害が発生した場合、リモートサイトBがメインサイトとなり、副ボリューム14Bを新たな正ボリューム13とし、副ボリューム14Cを新たな副ボリューム14としてコピーペアを構成する。
 従来の3サイト構成では、3サイトの論理ボリュームのサイズを同時に拡大する必要がある。この時、二つのコピーペアの夫々をサスペンド状態にする必要がある。
 本実施例によれば、コピーペアBは、既存領域の更新に対して同期コピーを行い、拡大領域の更新に対して非同期コピーを行う。また、コピーペアCは、既存領域及び拡大領域の何れの更新に対しても非同期コピーを行う。これにより、コピーペアB及びCを構成する論理ボリュームのサイズの拡大を行う場合であっても、コピーペアB及びCの両方のペア状態を維持することができる。また、正ボリューム13のサイズの拡大後の任意のタイミングで、副ボリューム14B,14Cのサイズの拡大を行うことができる。また、メインサイトに対してリモートサイトCより近距離のリモートサイトBについて、既存領域の同期コピーを行うことにより、リモートサイトBが最新のデータを格納する確率を高め、メインサイトに障害が発生した場合のデータロストの確率を低減することができる。
 本実施例では、メインサイト及びリモートサイトBのコピーペアと、リモートサイトB及びリモートサイトCのコピーペアとを有する3サイト直列(カスケード)構成のストレージシステム40について説明する。
 コンピュータシステムの構成は、実施例3と同様である。
 正ボリューム13と副ボリューム14BはコピーペアBを構成している。また、正ボリューム13と副ボリューム14CはコピーペアCを構成している。
 ――――ストレージシステム40の動作の具体例――――
 以下、正ボリューム13が拡大された後の動作の幾つかの具体例について説明する。
 ここでは、既存領域が更新される場合の更新処理である既存領域更新処理について説明する。
 図29は、実施例4における既存領域更新処理を示す模式図である。まず、メインサイトのコントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDXを書き込む(S811)。ここで、ライト要求は、データDXの書き込み先として、正ボリューム13内の既存領域PAを指定する。
 次にコントローラ11Aは、キャッシュメモリ116AからリモートサイトBのストレージ装置10BへデータDXを送信する(S812)。次にコントローラ11Aは、ライト完了を示す応答をサーバ20Aへ送信する(S813)。
 その後、コントローラ11Aは、データDXの送信とは非同期で、キャッシュメモリ116Aから正ボリューム13内の既存領域PAへデータDXのデステージを行う(S814)。
 コントローラ11Bは、データDXを受信してキャッシュメモリ116Bへ格納し、キャッシュメモリ116B内のデータDXからジャーナルデータJXを作成してキャッシュメモリ116Bへ書き込む(S821)。次に、ストレージ装置10C内のコントローラ11Cは、ジャーナルデータJXの作成とは非同期で、ストレージ装置10Bに対しジャーナルデータJXの読み出しを行い、コントローラ11Bは、ジャーナルデータJXをキャッシュメモリ116Bからストレージ装置10Cへ送信する(S822)。
 その後、コントローラ11Bは、ジャーナルデータJXの送信とは非同期で、キャッシュメモリ116Bから副ボリューム14内の既存領域PBへデータDXのデステージを行う(S823)。更に、コントローラ11Bは、ジャーナルデータJXの送信とは非同期で、キャッシュメモリ116Bからジャーナルボリューム15BへジャーナルデータJXのデステージを行う(S824)。
 コントローラ11Cは、ジャーナルデータJXを受信してキャッシュメモリ116Cへ格納し、キャッシュメモリ116Cからジャーナルボリューム15CへジャーナルデータJXのデステージを行う(S825)。更に、コントローラ11Cは、ジャーナルデータJXのデステージとは非同期で、ジャーナルデータJXに基づいてデータDXの正規化を行う(S826)。次にコントローラ11Cは、キャッシュメモリ116Cから副ボリューム14C内の既存領域PCへデータDXのデステージを行う(S827)。
 以上が既存領域更新処理である。
 ここでは、拡大領域が更新される場合の更新処理である拡大領域更新処理について説明する。
 図30は、実施例4における拡大領域更新処理を示す模式図である。まず、コントローラ11Aは、サーバ20Aからのライト要求を受信すると、キャッシュメモリ116AへデータDYを書き込む(S831)。ここで、ライト要求は、データDYの書き込み先として、正ボリューム13内の拡大領域QAを指定する。
 次にコントローラ11Aは、キャッシュメモリ116A内のデータDYからジャーナルデータJYを作成してキャッシュメモリ116Aへ書き込む(S832)。次にコントローラ11Aは、ライト完了を示す応答をサーバ20Aへ送信する(S833)。
 次に、ストレージ装置10B内のコントローラ11Bは、ジャーナルデータJYの作成とは非同期で、ストレージ装置10Aに対しジャーナルデータJYの読み出しを行い、コントローラ11Aは、ジャーナルデータJYをキャッシュメモリ116Aからストレージ装置10Bへ送信する(S834)。
 その後、コントローラ11Aは、ジャーナルデータJYの送信と非同期で、キャッシュメモリ116Aから正ボリューム13内の拡大領域QAへデータDYのデステージを行う(S835)。更に、コントローラ11Aは、データDYのデステージとは非同期で、キャッシュメモリ116Aからジャーナルボリューム15AへジャーナルデータJYのデステージを行う(S836)。
 更に、コントローラ11Bは、ジャーナルデータJYを受信してキャッシュメモリ116Bへ書き込む。ストレージ装置10C内のコントローラ11Cは、ジャーナルデータJYの書き込みとは非同期で、ストレージ装置10Bに対しジャーナルデータJYの読み出しを行い、コントローラ11Bは、ジャーナルデータJYをキャッシュメモリ116Bからストレージ装置10Cへ送信する(S841)。
 更に、コントローラ11Bは、ジャーナルデータJYの送信とは非同期で、キャッシュメモリ116Bからジャーナルボリューム15BへジャーナルデータJYのデステージを行う(S842)。
 更に、コントローラ11Cは、ジャーナルデータJYを受信してキャッシュメモリ116Cへ書き込み、キャッシュメモリ116Cからジャーナルボリューム15CへジャーナルデータJYのデステージを行う(S843)。
 以上が拡大領域更新処理である。
 既存領域更新処理及び拡大領域更新処理によれば、非同期コピーによりジャーナルデータがメインサイトからリモートサイトBへ転送され、そのジャーナルデータがリモートサイトBからリモートサイトCへ転送される。これにより、正ボリューム13のサイズの拡大時であっても、メインサイトとリモートサイトBのコピーペアは、ペア状態に維持され、メインサイトとリモートサイトCのコピーペアは、ペア状態に維持される。
 ここでは、正ボリューム13の拡大の後に、副ボリューム14が拡大される場合の処理である差分更新処理について説明する。
 図31は、実施例4における差分更新処理を示す模式図である。本実施例におけるコントローラ11BによるS851-S854は、実施例3の差分更新処理におけるコントローラ11BによるS751-S754と、同様である。更に、本実施例におけるコントローラ11CによるS861-S864は、実施例3の差分更新処理におけるコントローラ11BによるS761-S764と、同様である。
 以上が差分更新処理である。この処理によれば、正ボリューム13のサイズの拡大後の任意のタイミングで、副ボリューム14Bのサイズの拡大、副ボリューム14Cのサイズの拡大を行うことができる。更に、副ボリューム14B,14Cのサイズの拡大時であっても、メインサイトとリモートサイトBのコピーペアは、ペア状態に維持され、メインサイトとリモートサイトCのコピーペアは、ペア状態に維持される。
 副ボリューム14B,14Cのサイズの拡大は、何れが先に行われても良い。
 メインサイトにおいて被災などによる障害が発生した場合、リモートサイトBがメインサイトとなり、副ボリューム14Bを新たな正ボリューム13とし、副ボリューム14Cを新たな副ボリューム14としてコピーペアを構成する。
 本実施例によれば、コピーペアBは、既存領域の更新に対して同期コピーを行い、拡大領域の更新に対して非同期コピーを行う。また、コピーペアCは、既存領域及び拡大領域の何れの更新に対しても非同期コピーを行う。これにより、コピーペアB及びCを構成する論理ボリュームのサイズの拡大を行う場合であっても、コピーペアB及びCの両方のペア状態を維持することができる。また、正ボリューム13のサイズの拡大後の任意のタイミングで、副ボリューム14B,14Cのサイズの拡大を行うことができる。また、メインサイトに対してリモートサイトCより近距離のリモートサイトBについて、既存領域の同期コピーを行うことにより、リモートサイトBが最新のデータを格納する確率を高め、メインサイトに障害が発生した場合のデータロストの確率を低減することができる。
 以上の各実施例のストレージシステム40は、拡大された論理ボリュームのサイズを縮小しても良い。この場合、拡大された論理ボリュームを削除して、プール122へ回収しても良いし、拡大された論理ボリュームの不要なページを破棄してプール122へ回収しても良い。
 以上の各実施例のストレージシステム40は、ストレージ装置10へIO要求を行うサーバ20等のホスト計算機の処理や負荷に依存せずに、筐体間コピーを行うことができる。
 なお、以上に説明されたフローにおいて処理の順序が交換されても良い。例えば、S53及びS54、S55及びS56、S152-S155、S156-S159は夫々交換できる。
 以上の実施例で説明された技術は、次のように表現することができる。
 (表現1)
 第1記憶デバイスと、
 前記第1記憶デバイスを用いて第1論理ボリュームを作成する第1コントローラと、
 第2記憶デバイスと、
 ネットワークを介して前記第1コントローラに接続され、前記第2記憶デバイスを用いて第2論理ボリュームを作成する第2コントローラと
 を備え、
 前記第1コントローラは、前記第1論理ボリュームのサイズが拡大される前の記憶領域である第1既存領域から、前記第2論理ボリュームのサイズが拡大される前の記憶領域である第2既存領域へのコピーを示す既存ペアを定義し、
 前記第1コントローラは、前記既存ペアを、前記第2既存領域を前記第1既存領域に同期させる状態である同期状態に保ち、
 前記第1コントローラは、前記同期状態中に、前記第1記憶デバイスを用いる第1拡大領域を前記第1論理ボリュームへ追加することにより前記第1論理ボリュームのサイズを拡大し、
 前記第2コントローラは、前記第1論理ボリュームのサイズの拡大後に、前記第2記憶デバイスを用いる第2拡大領域を前記第2論理ボリュームへ追加することにより前記第2論理ボリュームのサイズを拡大し、前記第1拡大領域へ書き込まれたデータを前記第2拡大領域へ書き込む、
 ストレージシステム。
 (表現2)
 第1コントローラは、第1記憶デバイスを用いて第1論理ボリュームを作成し、
 ネットワークを介して前記第1コントローラに接続された第2コントローラが、第2記憶デバイスを用いて第2論理ボリュームを作成し、
 前記第1コントローラは、前記第1論理ボリュームのサイズが拡大される前の記憶領域である第1既存領域から、前記第2論理ボリュームのサイズが拡大される前の記憶領域である第2既存領域へのコピーを示す既存ペアを定義し、
 前記第1コントローラは、前記既存ペアを、前記第2既存領域を前記第1既存領域に同期させる状態である同期状態に保ち、
 前記第1コントローラは、前記同期状態中に、前記第1記憶デバイスを用いる第1拡大領域を前記第1論理ボリュームへ追加することにより前記第1論理ボリュームのサイズを拡大し、
 前記第2コントローラは、前記第1論理ボリュームのサイズの拡大後に、前記第2記憶デバイスを用いる第2拡大領域を前記第2論理ボリュームへ追加することにより前記第2論理ボリュームのサイズを拡大し、前記第1拡大領域へ書き込まれたデータを前記第2拡大領域へ書き込む、
 ストレージシステム制御方法。
 これらの表現における用語について説明する。第1記憶デバイスは例えば、メインサイトのストレージ装置10Aにおける記憶デバイス16に対応する。第1論理ボリュームは例えば、正ボリューム13に対応する。第1コントローラは例えば、メインサイトのストレージ装置10Aにおけるコントローラ11Aに対応する。第2記憶デバイスは例えば、リモートサイトB,Cのストレージ装置10B,10Cにおける記憶デバイス16に対応する。第2論理ボリュームは例えば、副ボリューム14B,14Cに対応する。第2コントローラは例えば、リモートサイトB,Cのストレージ装置10B,10Cにおけるコントローラ11B,11Cに対応する。第1既存領域は例えば、既存領域PAに対応する。第2既存領域は例えば、既存領域PB,PCに対応する。第1拡大領域は例えば、拡大領域QAに対応する。第2拡大領域は例えば、拡大領域QB,QCに対応する。
 10,10A,10B,10C…ストレージ装置、 11,11A,11B,11C…コントローラ、 13…正ボリューム、 14,14B,14C,14D…副ボリューム、 15,15A,15B,15C…ジャーナルボリューム、 16,16A,16B,16C…記憶デバイス、 20,20A,20B…サーバ、 30…管理サーバ、 40…ストレージシステム

Claims (14)

  1.  第1記憶デバイスと、
     前記第1記憶デバイスを用いて第1論理ボリュームを作成する第1コントローラと、
     第2記憶デバイスと、
     ネットワークを介して前記第1コントローラに接続され、前記第2記憶デバイスを用いて第2論理ボリュームを作成する第2コントローラと
     を備え、
     前記第1コントローラは、前記第1論理ボリュームのサイズが拡大される前の記憶領域である第1既存領域から、前記第2論理ボリュームのサイズが拡大される前の記憶領域である第2既存領域へのコピーを示す既存ペアを定義し、
     前記第1コントローラは、前記既存ペアを、前記第2既存領域を前記第1既存領域に同期させる状態である同期状態に保ち、
     前記第1コントローラは、前記同期状態中に、前記第1記憶デバイスを用いる第1拡大領域を前記第1論理ボリュームへ追加することにより前記第1論理ボリュームのサイズを拡大し、
     前記第2コントローラは、前記第1論理ボリュームのサイズの拡大後に、前記第2記憶デバイスを用いる第2拡大領域を前記第2論理ボリュームへ追加することにより前記第2論理ボリュームのサイズを拡大し、前記第1拡大領域へ書き込まれたデータを前記第2拡大領域へ書き込む、
     ストレージシステム。
  2.  前記第1論理ボリューム及び前記第2論理ボリュームは、シンプロビジョニングボリュームである、
     請求項1に記載のストレージシステム。
  3.  前記第1コントローラは、ホスト計算機から前記第1論理ボリュームへ書き込むための書き込みデータを受信し、前記書き込みデータの書き込み先が前記第1既存領域であるか否かを判定し、前記書き込み先が前記第1既存領域である場合、前記書き込みデータを前記第2コントローラへ送信し、前記書き込みデータを前記第1既存領域へ書き込み、
     前記第2コントローラは、前記第1コントローラから前記書き込みデータを受信し、前記受信された書き込みデータを前記第2論理ボリュームへ書き込む、
     請求項2に記載のストレージシステム。
  4.  前記第1コントローラは、前記書き込み先が前記第1拡大領域である場合、前記第1拡大領域の中の書き込み先を示す書き込み先情報を保存する、
     請求項3に記載のストレージシステム。
  5.  前記第1コントローラは、前記第2論理ボリュームのサイズが拡大された後、前記第1拡大領域から前記書き込み先情報に示されているデータを読み出して前記第2コントローラへ送信し、
     前記第2コントローラは、前記送信されたデータを受信して前記第2拡大領域へ書き込む、
     請求項4に記載のストレージシステム。
  6.  前記第1コントローラは、前記第1論理ボリュームのサイズが拡大された後、前記第1拡大領域から前記第2拡大領域へのコピーを示す拡大ペアを定義し、前記拡大ペアを、前記拡大ペアのうち前記第1拡大領域のみを更新する状態であるサスペンド状態に保ち、
     前記第1コントローラは、前記第2論理ボリュームのサイズが拡大された後、前記拡大ペアを同期状態にすることにより前記第2拡大領域を前記第1拡大領域に同期させる、
     請求項5に記載のストレージシステム。
  7.  前記第1コントローラは、ホスト計算機から前記第1論理ボリュームへ書き込むための書き込みデータを受信し、前記書き込みデータの履歴を示すジャーナルデータを作成し、前記ジャーナルデータを前記第2コントローラへ送信し、
     前記第2コントローラは、前記ジャーナルデータを受信して保存する、
     請求項2に記載のストレージシステム。
  8.  前記第2コントローラは、前記書き込みデータの書き込み先が前記第1既存領域であるか否かを判定し、前記書き込み先が前記第1既存領域である場合、前記ジャーナルデータから前記書き込みデータを作成し、前記作成された書き込みデータを前記第2既存領域へ書き込む、
     請求項7に記載のストレージシステム。
  9.  前記第2コントローラは、前記書き込み先が前記第1拡大領域である場合、前記第2論理ボリュームのサイズが拡大された後、前記ジャーナルデータから前記書き込みデータを作成し、前記作成された書き込みデータを前記第2拡大領域へ書き込む、
     請求項8に記載のストレージシステム。
  10.  第3記憶デバイスと、
     ネットワークを介して前記第1コントローラに接続され、前記第3記憶デバイスを用いて第3論理ボリュームを作成する第3コントローラと
     を更に備え、
     前記第1コントローラは、前記書き込みデータの履歴を示すジャーナルデータを作成し、前記ジャーナルデータを前記第3コントローラへ送信し、
     前記第3コントローラは、前記ジャーナルデータを受信して保存する、
     請求項3に記載のストレージシステム。
  11.  前記第1コントローラは、前記書き込み先が前記第1拡大領域である場合、前記ジャーナルデータを前記第2コントローラへ送信し、
     前記第2コントローラは、前記ジャーナルデータを受信して保存する、
     請求項10に記載のストレージシステム。
  12.  第3記憶デバイスと、
     ネットワークを介して前記第1コントローラに接続され、前記第3記憶デバイスを用いて第3論理ボリュームを作成する第3コントローラと
     を更に備え、
     前記第2コントローラは、前記第1コントローラから前記書き込みデータを受信し、前記書き込みデータの履歴を示すジャーナルデータを作成し、前記ジャーナルデータを前記第3コントローラへ送信し、
     前記第3コントローラは、前記ジャーナルデータを受信して保存する、
     請求項3に記載のストレージシステム。
  13.  前記第1コントローラは、前記書き込み先が前記第1拡大領域である場合、前記ジャーナルデータを作成し、前記ジャーナルデータを前記第2コントローラへ送信し、
     前記第2コントローラは、前記ジャーナルデータを受信して保存する、
     請求項12に記載のストレージシステム。
  14.  第1コントローラは、第1記憶デバイスを用いて第1論理ボリュームを作成し、
     ネットワークを介して前記第1コントローラに接続された第2コントローラが、第2記憶デバイスを用いて第2論理ボリュームを作成し、
     前記第1コントローラは、前記第1論理ボリュームのサイズが拡大される前の記憶領域である第1既存領域から、前記第2論理ボリュームのサイズが拡大される前の記憶領域である第2既存領域へのコピーを示す既存ペアを定義し、
     前記第1コントローラは、前記既存ペアを、前記第2既存領域を前記第1既存領域に同期させる状態である同期状態に保ち、
     前記第1コントローラは、前記同期状態中に、前記第1記憶デバイスを用いる第1拡大領域を前記第1論理ボリュームへ追加することにより前記第1論理ボリュームのサイズを拡大し、
     前記第2コントローラは、前記第1論理ボリュームのサイズの拡大後に、前記第2記憶デバイスを用いる第2拡大領域を前記第2論理ボリュームへ追加することにより前記第2論理ボリュームのサイズを拡大し、前記第1拡大領域へ書き込まれたデータを前記第2拡大領域へ書き込む、
     ストレージシステム制御方法。
PCT/JP2012/062057 2012-05-10 2012-05-10 ストレージシステム及びストレージシステム制御方法 WO2013168276A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2012/062057 WO2013168276A1 (ja) 2012-05-10 2012-05-10 ストレージシステム及びストレージシステム制御方法
US13/522,556 US8527723B1 (en) 2012-05-10 2012-05-10 Storage system and control method for storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/062057 WO2013168276A1 (ja) 2012-05-10 2012-05-10 ストレージシステム及びストレージシステム制御方法

Publications (1)

Publication Number Publication Date
WO2013168276A1 true WO2013168276A1 (ja) 2013-11-14

Family

ID=49034809

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/062057 WO2013168276A1 (ja) 2012-05-10 2012-05-10 ストレージシステム及びストレージシステム制御方法

Country Status (2)

Country Link
US (1) US8527723B1 (ja)
WO (1) WO2013168276A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015522A (zh) * 2020-11-02 2020-12-01 鹏城实验室 系统功能扩展方法、装置及计算机可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394491B2 (en) * 2016-04-14 2019-08-27 International Business Machines Corporation Efficient asynchronous mirror copy of thin-provisioned volumes
US10430121B2 (en) 2016-08-22 2019-10-01 International Business Machines Corporation Efficient asynchronous mirror copy of fully provisioned volumes to thin-provisioned volumes
CN109597564B (zh) * 2017-09-30 2022-01-25 上海川源信息科技有限公司 分布式储存装置
CN109144433A (zh) * 2018-10-09 2019-01-04 郑州云海信息技术有限公司 一种容量扩展方法、系统、装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181288A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd リモートコピーシステム
JP2009093315A (ja) * 2007-10-05 2009-04-30 Nec Corp ストレージシステムの容量拡張制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3753925B2 (ja) * 2000-05-12 2006-03-08 株式会社ルネサステクノロジ 半導体集積回路
US6636462B1 (en) * 2001-05-14 2003-10-21 Alexander V. Drynkin Programmable compact disk duplication system with XYZ transport mechanism
FR2826141B1 (fr) * 2001-06-15 2003-09-19 St Microelectronics Sa Procede et dispositif de gestion de l'espace memoire d'un disque dur, en particulier pour un recepteur de signaux de television numerique par satellite
US6829617B2 (en) * 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
JP2006236420A (ja) * 2005-02-22 2006-09-07 Toshiba Corp 記憶媒体、再生方法及び記録方法
TWI375962B (en) * 2008-06-09 2012-11-01 Phison Electronics Corp Data writing method for flash memory and storage system and controller using the same
US20120131287A1 (en) 2010-11-19 2012-05-24 Tadato Nishina Storage control apparatus and logical volume size setting method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181288A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd リモートコピーシステム
JP2009093315A (ja) * 2007-10-05 2009-04-30 Nec Corp ストレージシステムの容量拡張制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015522A (zh) * 2020-11-02 2020-12-01 鹏城实验室 系统功能扩展方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
US8527723B1 (en) 2013-09-03

Similar Documents

Publication Publication Date Title
JP4551096B2 (ja) ストレージサブシステム
JP4477950B2 (ja) リモートコピーシステム及び記憶装置システム
US10002048B2 (en) Point-in-time snap copy management in a deduplication environment
JP4839091B2 (ja) データベース回復方法及び計算機システム
JP4515132B2 (ja) ストレージシステム、ストレージ装置及びリモートコピー方法
US7739540B2 (en) Information system, data transfer method and data protection method
EP2953026B1 (en) Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system
JP5806776B2 (ja) ストレージシステム
US7761732B2 (en) Data protection in storage systems
US20150012699A1 (en) System and method of versioning cache for a clustering topology
JP4756992B2 (ja) ストレージシステム及び記憶制御方法
EP2063351A2 (en) Methods and apparatus for deduplication in storage system
US20140075240A1 (en) Storage apparatus, computer product, and storage control method
WO2013168276A1 (ja) ストレージシステム及びストレージシステム制御方法
JP2007334709A (ja) ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
CN102750201A (zh) 计算机系统及其备份方法
JP5275692B2 (ja) ストレージシステム群
US7549029B2 (en) Methods for creating hierarchical copies
JP2005309793A (ja) データ処理システム
JP6650483B2 (ja) 記憶装置、データ管理方法、及びデータ管理プログラム
US8583884B2 (en) Computing system and backup method
JP4898609B2 (ja) ストレージ装置、データ回復方法及び計算機システム
JP4518485B2 (ja) データベースの再編成方法、ストレージ装置及びストレージシステム
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
JP6782210B2 (ja) 計算機システム、データ管理方法、及びデータ管理プログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 13522556

Country of ref document: US

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

Ref document number: 12876152

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12876152

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP