WO2012117515A1 - 計算機システム、管理システム及びデータ管理方法 - Google Patents

計算機システム、管理システム及びデータ管理方法 Download PDF

Info

Publication number
WO2012117515A1
WO2012117515A1 PCT/JP2011/054597 JP2011054597W WO2012117515A1 WO 2012117515 A1 WO2012117515 A1 WO 2012117515A1 JP 2011054597 W JP2011054597 W JP 2011054597W WO 2012117515 A1 WO2012117515 A1 WO 2012117515A1
Authority
WO
WIPO (PCT)
Prior art keywords
logical volume
virtual
copy
virtual logical
data
Prior art date
Application number
PCT/JP2011/054597
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/JP2011/054597 priority Critical patent/WO2012117515A1/ja
Priority to US13/128,161 priority patent/US20120260051A1/en
Publication of WO2012117515A1 publication Critical patent/WO2012117515A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Definitions

  • the present invention relates to a computer system including a storage system having a virtual logical volume, a management system for the storage system, and a data management method.
  • Storage virtualization is a storage technology that has been attracting attention in recent years.
  • Storage virtualization is a technology for virtualizing storage capacity, storage devices, and the like.
  • Patent Document 1 discloses a technology for virtualizing the storage capacity of a storage. According to this technology, it is possible to selectively save data written from a host computer toward a virtual volume in a storage system in storage tiers having different response performance and reliability according to requirements.
  • a technique for moving a data fragment stored in a storage hierarchy to an appropriate storage hierarchy from a data access characteristic from a host computer is disclosed. With this technique, data that does not require performance can be arranged in an inexpensive storage hierarchy, and data that requires performance can be arranged in an expensive and high-performance storage hierarchy.
  • the present invention has been made in view of the above-described problems, and an object of the present invention is to make it possible to use a secondary volume with appropriate performance according to the purpose of use.
  • a computer system includes a storage system and a management system for the storage system.
  • a storage system is composed of a virtual storage area and a pool composed of real storage areas of a plurality of storage media with different characteristics, and a real storage area is allocated to the virtual storage area from the real storage areas constituting the pool.
  • the management system can manage and / or control operations in the storage system.
  • the controller moves data managed in the virtual storage area of the virtual logical volume from the allocated real storage area to another real storage area of the storage medium having different characteristics according to a predetermined condition.
  • the copy process to the second virtual logical volume (secondary volume) is executed for the copy target area that is at least a part of the virtual storage area of the virtual logical volume.
  • the management system stores at least a part of the data copied to the second virtual logical volume by the copy process on the storage medium with better characteristics. Control the controller to move to the area.
  • FIG. 1 is a configuration diagram of a computer system according to the first embodiment.
  • FIG. 2 is a configuration diagram of the management computer in the first embodiment.
  • FIG. 3 is a configuration diagram of the host computer in the first embodiment.
  • FIG. 4 is a configuration diagram of the storage system in the first embodiment.
  • FIG. 5 is a diagram showing an outline of the operation of the storage system when the storage system 300 in the first embodiment provides two logical volumes of 20 GB and 10 GB to the host computer 200.
  • FIG. 6 is a diagram showing an outline of the operation of storage tier control when the copy function is implemented in the storage system 300 in the first embodiment.
  • FIG. 7 is a configuration diagram of the copy information table 113 stored in the management computer 100 according to the first embodiment.
  • FIG. 8 is a configuration diagram of the protection data management table 115 stored in the management computer 100 in the first embodiment.
  • FIG. 9 is a configuration diagram of the host computer management table 111 stored in the management computer 100 in the first embodiment.
  • FIG. 10 is a configuration diagram of the catalog management table 116 stored in the management computer 100 according to the first embodiment.
  • FIG. 11 is a configuration diagram of the storage information table 114 stored in the management computer 100 in the first embodiment.
  • FIG. 12 is a configuration diagram of the hierarchy table 117 stored in the management computer 100 in the first embodiment.
  • FIG. 13 is a configuration diagram of the copy pair management information 1210 stored in the storage system 300 in the first embodiment.
  • FIG. 14 is a configuration diagram of the volume management information 1250 stored in the storage system 300 in the first embodiment.
  • FIG. 15 is a configuration diagram of the virtual logical volume management information 1270 stored in the storage system 300 in the first embodiment.
  • FIG. 16 is a configuration diagram of the storage tier pool management information 1290 stored in the storage system 300 in the first embodiment.
  • FIG. 17 is a configuration diagram of the basic storage information 1260 stored in the storage system 300 in the first embodiment.
  • FIG. 18 is a diagram for explaining the configuration of the IO request 7300.
  • FIG. 19 is an example of a flowchart of the management operation in the environment construction stage by the management computer 100 in the first embodiment.
  • FIG. 20 is an example of a management screen for determining data of a copy target application program provided by the management computer 100 in the first embodiment.
  • FIG. 21 is an example of a management screen for determining the protection requirements provided by the management computer 100 in the first embodiment.
  • FIG. 22 is an example of a flowchart of data access processing in the storage system 300 in the first embodiment.
  • FIG. 23 is an example of a flowchart of page allocation processing from the pool in the storage system 300 in the first embodiment.
  • FIG. 24 is an example of a flowchart of local copy start processing by a clone executed by the storage system 300 in the first embodiment.
  • FIG. 25 is an example of a flowchart of the operation during the temporary suspension of local copying by the clone in the first embodiment.
  • FIG. 26 is an example of a flowchart of an operation of temporary synchronization of a local copy by a clone in the first embodiment.
  • FIG. 27 is an example of a flowchart of the operation of starting local copy by snapshot in the first embodiment.
  • FIG. 28 is an example of a flowchart of the operation during the local suspension of the local copy by the snapshot in the first embodiment.
  • FIG. 29 is an example of a flowchart of an operation of temporary synchronization of local copy by snapshot in the first embodiment.
  • FIG. 30 is an example of a flowchart of the storage hierarchy control process in the first embodiment.
  • FIG. 31 is an example of a flowchart of the management operation at the data replication stage by the management computer 100 in the first embodiment.
  • FIG. 32 is an example of a flowchart of the management operation in the data use stage by the management computer 100 in the first embodiment.
  • FIG. 33 is an example of a flowchart of a quick restore operation common to snapshots and clones executed by the storage system 300 in the first embodiment.
  • FIG. 34 is an example of a flowchart of snapshot and clone restore operations executed by the storage system 300 in the present embodiment in the first embodiment.
  • FIG. 35 is a diagram for explaining the outline of virtual machine deployment by the management computer 100 in the second embodiment.
  • FIG. 36 is an example of a flowchart of a management operation for hot spot load distribution of virtual machine deployment by the management computer 100 in the second embodiment.
  • xxx table various types of information may be described using the expression “xxx table”, but the various types of information may be expressed using a data structure other than a table. In order to show that it does not depend on the data structure, the “xxx table” can be called “xxx information”.
  • the process may be described using “program” as the subject, but the program is executed by a processor (for example, a CPU (Central Processing Unit)) included in the controller, so that a predetermined process is performed. Is performed using a storage resource (for example, a memory) and / or a communication interface device (for example, a communication port) as appropriate, and the subject of the processing may be a processor.
  • the processing described with the program as the subject may be processing performed by a processor or a management system having the processor (for example, a display computer (for example, a client) or a management computer (for example, a server)).
  • the controller may be the processor itself or may include a hardware circuit that performs part or all of the processing performed by the controller.
  • the program may be installed in each controller from a program source.
  • the program source may be, for example, a program distribution server or a storage medium.
  • the management computer has input / output devices.
  • input / output devices include a display, a keyboard, and a pointer device, but other devices may be used.
  • a serial interface or an Ethernet interface (Ethernet is a registered trademark) is used as an input / output device, and a display computer having a display, keyboard, or pointer device is connected to the interface, and display information is displayed. It is also possible to substitute the input and display on the input device by transmitting to the display computer or receiving input information from the display computer to display on the display computer or accepting input.
  • a set of one or more computers that manage the computer system and manage and control the storage system may be referred to as a management system.
  • the management computer displays the display information
  • the management computer is a management system.
  • a combination of a management computer and a display computer is also a management system.
  • a plurality of computers may realize processing equivalent to that of the management computer.
  • the plurality of computers if the display computer performs the display, display (Including computers) is the management system.
  • time is used, but the time may indicate information such as year, date, and date, and may naturally indicate hours, minutes, and seconds (seconds including a decimal point). .
  • FIG. 1 is a configuration diagram of a computer system according to a first embodiment of the present invention.
  • the computer system includes a management computer 100, a host computer 200, and a storage system 300.
  • the management computer 100 and the host computer 200 may each be one or a plurality of computers.
  • the storage system 300 may be one or a plurality of storage systems 300.
  • the management computer 100, the host computer 200, and the storage system 300 are connected to each other via a communication network (for example, SAN (Storage Area Network)) 500.
  • the management computer 100 is connected to the host computer 200 and the storage system 300 via a communication network (for example, a LAN (Local Area Network)) 550.
  • a communication network for example, a LAN (Local Area Network)
  • FIG. 2 is a configuration diagram of the management computer in the first embodiment.
  • the management computer 100 is a computer having a memory 110, a processor 120, and an IO processing unit 130.
  • the memory 110, the processor 120, and the IO processing unit 130 are connected to each other by an internal network (not shown).
  • the processor 120 performs various processes by executing a program stored in the memory 110.
  • the processor 120 controls the copy executed by the storage system 300 by sending an IO request to the storage system 300.
  • the IO request includes a write request, a read request, a copy control request, and the like. The IO request will be described later in detail with reference to FIG.
  • the memory 110 stores a program executed by the processor 120, information required by the processor 120, and the like. Specifically, the memory 110 stores a host configuration management table 111, a storage management program 112, a copy information table 113, a storage information table 114, a protection data management table 115, a catalog management table 116, and a hierarchy table 117. The Further, the memory 110 may store an OS (Operating System) and an application program (AP).
  • OS Operating System
  • AP application program
  • the host configuration management table 111 is information for host computer management that uses data to be copied, which will be described later.
  • the storage management program 112 is a program for managing the storage system 300.
  • the copy information table 113 is information for managing the configuration and status of local copy and remote copy, which are data copy functions of the storage system 300. Therefore, the memory 110 stores the number of copies managed by the management computer 100, that is, the same number of copy information tables 113 as the sum of local copy and remote copy.
  • the copy information table 113 will be described later in detail with reference to FIG. Also, local copy and remote copy will be described later.
  • the storage information table 114 is information related to the storage system 300 managed by the management computer 100.
  • the storage information table 114 will be described later in detail with reference to FIG.
  • the protection data management table 115 is information that holds information related to protection data (data to be copied) to be described later. Note that there are as many protected data management tables 115 as the number of users registered in the management computer 100 as protected data targets. The protection data management table 115 will be described in detail later with reference to FIG.
  • the catalog management table 116 is information that holds information related to the protection time of protection data described later.
  • the catalog management table 116 will be described in detail later with reference to FIG.
  • the tier table 117 is a table that holds in which real volume the specified logical volume is arranged by storage tier control described later.
  • the hierarchy table 117 is characteristic information that can specify the characteristics of a storage medium having a real storage area allocated to the primary volume. The hierarchy table 117 will be described in detail later with reference to FIG.
  • the IO processing unit 130 is an interface connected to the host computer 200 and the storage system 300 via the communication network 500.
  • FIG. 3 is a configuration diagram of the host computer in the first embodiment.
  • the host computer 200 is a computer having a memory 210, a processor 220, and an IO processing unit 230.
  • the memory 210, the processor 220, and the IO processing unit 230 are connected to each other via an internal network (not shown).
  • the processor 220 performs various processes by executing a program stored in the memory 210. For example, the processor 220 accesses the data of the logical volume (real logical volume, virtual logical volume) in the storage system 300 by transmitting an IO request to the storage system 300.
  • the processor 220 accesses the data of the logical volume (real logical volume, virtual logical volume) in the storage system 300 by transmitting an IO request to the storage system 300.
  • the memory 210 stores a program executed by the processor 220, information required by the processor 220, and the like. Specifically, the memory 210 stores an application program (AP) 211, an OS 212, an agent program 213, and an IO static program 214.
  • AP application program
  • the AP 211 executes various processes.
  • the AP 211 provides a database function or a mail server function.
  • the OS 212 controls the entire processing of the host computer 200.
  • the agent program 213 receives an instruction from the management computer 100.
  • the IO quiescing program 214 controls the IO request in cooperation with the OS 212.
  • the IO processing unit 230 is an interface for communicating with the management computer 100 and the storage system 300 via the communication network 500. Specifically, for example, the IO processing unit 230 transmits an IO request to the storage system 300.
  • FIG. 4 is a configuration diagram of the storage system in the first embodiment.
  • the storage system 300 includes a storage control device 1000, a plurality of disk drives 1500, and a management terminal 1600.
  • the management terminal 1600 is directly connected to the storage controller 1000 in the storage system 300, but is connected to the storage system 300 via at least one of the communication networks 500 and 550. Also good.
  • the storage controller 1000 and the plurality of disk drives 1500 are connected to each other via an internal network.
  • the disk drive 1500 is a disk-type storage medium drive, and stores data requested to be written by the host computer 200.
  • the storage system 300 may include a storage device (for example, a flash memory drive) having other types of storage media in addition to the disk drive 1500 or instead of the disk drive 1500.
  • the storage control device 1000 controls the operation of the storage system 300. For example, the storage controller 1000 controls data writing to the disk drive 1500 and data reading from the disk drive 1500.
  • the storage controller 1000 also provides one or more logical volumes to the management computer 100 and the host computer 200.
  • One or more logical volumes are composed of either real volumes or virtual volumes.
  • the real volume is one or more logical storage areas formed based on the storage space of one or more disk drives 1500.
  • the virtual volume is a virtual volume that uses a partial area of the real volume. The real volume and the virtual volume will be described in detail later.
  • the storage control device 1000 includes a cache memory 1100, a shared memory 1200, an input / output control unit 1300, and a disk control unit 1400.
  • the cache memory 1100, shared memory 1200, input / output control unit 1300, and disk control unit 1400 are connected to each other by an internal network (not shown).
  • the cache memory 1100 temporarily stores data written to the disk drive 1500 and data read from the disk drive 1500.
  • the disk control unit 1400 controls data writing to the disk drive 1500 and data reading from the disk drive 1500. Further, the disk control unit 1400 generates a real volume based on the storage space of one or more disk drives 1500.
  • the input / output control unit 1300 includes a processor 1310, an IO transmission / reception unit 1320, and a memory 1330.
  • the processor 1310, the IO transmission / reception unit 1320, and the memory 1330 are connected to each other by an internal network (not shown).
  • the IO transmission / reception unit 1320 is an interface that communicates with other devices (for example, at least one of the management computer 100, the host computer 200, and the other storage system 300) via the communication network 500. Specifically, for example, the IO transmission / reception unit 1320 receives an IO request from the management computer 100 or the host computer 200.
  • the IO transmission / reception unit 1320 transmits data read from the disk drive 1500 to the management computer 100 or the host computer 200.
  • the processor 1310 performs various processes by executing a program stored in the memory 1330 or the shared memory 1200. Specifically, for example, the processor 1310 processes an IO request received by the IO transmission / reception unit 1320.
  • the memory 1330 stores programs executed by the processor 1310, information required by the processor 1310, and the like.
  • the shared memory 1200 stores a program executed by the processor 1310, information required by the processor 1310, and the like. Further, the shared memory 1200 stores programs executed by the disk control unit 1400, information required by the disk control unit 1400, and the like. Specifically, for example, in the shared memory 1200, the copy pair management information 1210, the virtual volume processing program 1220, the copy processing program 1230, the input / output processing program 1240, the volume management information 1250, the virtual logical volume management information 1270, and the storage hierarchy Pool management information 1290 is stored.
  • the copy pair management information 1210 is information for managing a copy pair including a logical volume provided by the storage system 300.
  • the copy pair has a copy configuration composed of two logical volumes to be subjected to local copy and remote copy.
  • the copy pair management information 1210 will be described in detail later with reference to FIG.
  • the virtual volume processing program 1220 performs processing related to the virtual volume.
  • the copy processing program 1230 performs local copy.
  • the input / output processing program 1240 processes the IO request received by the IO transmission / reception unit 1320.
  • the volume management information 1250 is information for managing a logical volume provided by the storage system 300.
  • the volume management information 1250 will be described later in detail with reference to FIG.
  • the virtual logical volume management information 1270 is correspondence information between the virtual storage area of the virtual logical volume and the real volume allocation area (real storage area). The virtual logical volume management information 1270 will be described in detail with reference to FIG.
  • Storage tier pool management information 1290 is information for managing logical volumes that can be allocated to virtual logical volumes. The storage tier pool management information 1290 will be described later in detail with reference to FIG.
  • the management terminal 1600 is a computer including a processor, a memory, and an interface (not shown).
  • the management terminal 1600 transmits information input from a system user (user) to the storage control device 1000 of the storage system 300.
  • FIG. 5 shows the operation of the storage system 300 when the storage system 300 provides two logical volumes of 20 GB and 10 GB to the host computer 200.
  • a logical volume is composed of either a real volume or a virtual volume. In this embodiment, in order to distinguish each, a logical volume composed of real volumes is called a real logical volume, and a logical volume composed of virtual volumes is called a virtual logical volume.
  • Vol2 corresponds to a real logical volume
  • Vol1 corresponds to a virtual logical volume
  • the real volume is one or more logical storage areas formed based on the storage areas of one or more disk drives 1500.
  • the storage system 300 in the present embodiment has a real volume having a plurality of different characteristics.
  • the characteristics are, for example, the type of disk drive, that is, the difference in the number of revolutions of the disk, the interface such as FC, SAS, and SATA, and the method of forming a storage area from the disk drive (such as RAID level).
  • the time required to read / write data and the possibility of recovery from a hardware failure are different.
  • RAID is an abbreviation for Redundant Array of Independent (or Inexpensive) Disks.
  • the RAID level is a classification of reliability and performance of an actual volume. Specifically, in the RAID level, the data written from the host computer 200 is divided / replicated so that the data fragments are distributed to a plurality of disk drives 1500 and held redundantly, or the data is restored. Therefore, the data is classified according to the difference in means such as generating data such as parity necessary for storage and holding the data simultaneously with the data of the host computer 200.
  • a virtual logical volume is a virtual volume that uses a fragment of a storage area in a real volume.
  • the data element D3 is stored in one area of the virtual logical volume (Vol1) in response to a data IO request from the host computer 200.
  • the real volume allocated to that area The data element D3 is stored in the fragment (P3) of the storage area.
  • the “storage area fragment” assigned to the real volume by reading and writing to the virtual logical volume is hereinafter referred to as “page” and the data stored in the page (in other words, the page allocation destination Data stored in the virtual area) is called a “data element”.
  • the page P3 is provided from the real volume (Vol13).
  • a real volume for a virtual logical volume is usually a special group. (Hereinafter referred to as “pool”) and managed.
  • the pool one or more real volumes having different characteristics are registered together with the characteristic information.
  • the storage system 300 in the virtual logical volume, pages are moved between real volumes having different characteristics in the pool based on the real volume characteristic information. In the present embodiment, this is called storage hierarchy control.
  • An example of the operation of storage hierarchy control will be described with reference to FIG. Now, it is assumed that the storage system 300 manages the difference in response time of data read / write by the host computer 200 as characteristic information (for example, high performance or medium performance). If it is determined that the data access frequency from the host computer 200 to the page D2 has increased compared to the past, the storage system 300 moves the page D2 from a low performance to a medium performance real volume. By performing the page migration as described above, the storage system 300 can provide a logical volume with appropriate performance according to the frequency with which the host computer 200 accesses data.
  • FIG. 6 is a diagram showing an outline of the operation of the storage tier control when the copy function is implemented in the storage system 300 in the first embodiment.
  • data replicated by the copy function is used for various purposes.
  • Applications include, for example, backup recovery and secondary use.
  • backup recovery means that data generated by the host computer 200 at a specified time is copied to another logical volume by a copy function in addition to the logical volume used by the host computer 200. This provides for a possible data failure. That is, even when the data becomes unusable due to a malfunction of an application program running on the host computer 200 or an erroneous operation by hand, the data at a certain point protected by the copy function of the storage system 300 is changed to a corrupted data. By replacing with, data access by the host computer 200 can be resumed.
  • secondary use refers to the use of a copy (protected data) of data generated by the host computer 200a from the host computer 200b in which an application program (AP2) different from the application program (AP1) of the host computer 200a operates. To do. This is used when analyzing the processing data of the host computer 200a in order to make use of it for another purpose. Since AP1 and AP2 are different in the secondary usage, the access tendency to the data by the host computer 200a and the host computer 200b is different.
  • the copy function is used for the purpose of secondary use in the storage system 300 having storage hierarchy control.
  • data access with a tendency different from that of the host computers 200a and 200b is generally performed.
  • the storage system 300 is shared by the copy source and copy destination virtual logical volumes by storage hierarchy control. It is desirable to implement page allocation to the real volume of the hierarchy.
  • the storage hierarchy control corresponding to the use of the copy function is performed.
  • the operation will be described in detail.
  • the logical volume that is a prerequisite in this embodiment is a virtual logical volume.
  • the logical volume indicates a virtual logical volume.
  • FIG. 7 is a configuration diagram of the copy information table 113 stored in the management computer 100 in the first embodiment.
  • the copy information table 113 includes copy information 1131, group ID 1132, and copy configuration information (1133 to 1137).
  • the copy information table 113 exists in the management computer 100 by the number of copy processes to be performed.
  • the copy information 1131 includes copy type and copy option information.
  • the copy type indicates whether the copy managed by the copy information table 113 is a local copy or a remote copy.
  • the local copy is a copy performed in the same storage system 300.
  • the copy source logical volume primary volume: PVOL
  • the copy destination logical volume secondary volume: SVOL
  • a remote copy is a copy performed between different storage systems 300.
  • a copy source logical volume and a copy destination logical volume exist in different storage systems 300.
  • the copy option information is information representing options provided for each copy type. For example, the option information indicates whether or not writing to the copy destination logical volume is possible when local copy is suspended.
  • the local copy suspension is a local copy suspension in response to an instruction from the management computer 100.
  • the group ID 1132 is a unique identifier for a group including a plurality of copy pairs (a pair of a copy source logical volume and a copy destination logical volume). By using a group, the management computer 100 can collectively control copy pairs included in the group.
  • the copy configuration information includes a primary storage ID 1133, a primary volume ID 1134, a secondary storage ID 1135, a secondary volume ID 1136, and copy status information 1137.
  • the primary storage ID 1133 is a unique identifier of the storage system (primary storage system) 300 that provides the logical volume (primary volume) that is the copy source.
  • the primary volume ID 1134 is a unique identifier (ID) of the logical volume (primary volume) that is the copy source.
  • the secondary storage ID 1135 is a unique identifier of the storage system (secondary storage system) 300 that provides the logical volume (secondary volume) that is the copy destination. In the case of local copy, the ID is the same as that of the primary storage system.
  • the secondary volume 1136 is a unique identifier of the logical volume (secondary volume) that is the copy destination.
  • Copy status information 1137 indicates the current status of copy processing managed by this copy information table 113. Specifically, for example, the copy status information 1137 indicates whether the status of copy processing managed by the copy information table 113 is no copy, copying, paused, pair status, or abnormal status. Show.
  • FIG. 8 is a configuration diagram of the protection data management table 115 stored in the management computer 100 in the first embodiment.
  • the protected data management table 115 includes a number 1150, an application name 1151, a host ID 1152, a start time 1153, a schedule 1154, a purpose 1155, protected data 1156, a usage period 1157, a generation number 1158, and a current copy information table 1159.
  • the number 1150 is a number for identifying information of protected data stored in the protected data management table 115.
  • the application name 1151 is an application (application program) name on the host computer 200 that uses the data to be copied.
  • the host ID 1152 is an identifier that uniquely identifies the host computer 200 on which the corresponding application operates.
  • the start time 1153 is the time when the copy process starts.
  • the schedule 1154 stores an opportunity to perform a copy process for data protection. For example, a copy processing start time such as a certain time (9:00, 12:00, 16:00, etc.) on weekdays (Monday to Friday) is stored.
  • the purpose 1155 stores information on the purpose of the copy process, such as backup recovery and secondary use.
  • Protected data 1156 is information on the position of data to be copied (copy target area).
  • the location information includes, for example, an ID (WWN (World Wide Name) + LUN (Logical Unit Number) etc.) assigned to the volume by the host computer 200 and the location of the corresponding file on the volume (LBA (Logical Block Address) 1 to LBA3 etc.). Is stored.
  • the usage period 1157 indicates how long the data copied by the corresponding copy process is used. For example, information such as 2 hours immediately after the end of copying is stored.
  • the number of generations 1158 represents the number of copy configurations (number of generations) with different secondary volumes that share a primary volume in the copy configuration.
  • the current copy information table 1159 represents the copy information table 113 currently in use in the copy process.
  • FIG. 9 is a configuration diagram of the host computer management table 111 stored in the management computer 100 in the first embodiment.
  • the host computer table 111 includes a host ID 1111, an application name 1112, a data name 1113, a storage location 1114, a storage ID 1115, and a volume ID 1116.
  • the host ID 1111 is a unique identifier of the host computer 200.
  • the host ID 1111 is a combination of a TCP / IP Host Name and an IP address.
  • the application name 1112 indicates an application name that mainly operates on the host computer 200. For example, information such as DBMS is stored.
  • the data name 1113 indicates the data name for the application described in the application name 1112. For example, as the data name, the name of data used in the application (Table 1 or the like) or simply the file name is stored.
  • the storage location 1114 indicates storage location information in which data indicated by the data name is stored. For example, information such as WWN1, LUN1 to LUN5 is stored.
  • the storage ID 1115 is a unique identifier of the storage system 300 managed by the management computer 100.
  • the volume ID 1116 is a unique identifier of the logical volume assigned by the storage system 300 identified by the storage ID 1115.
  • FIG. 10 is a configuration diagram of the catalog management table 116 stored in the management computer 100 in the first embodiment.
  • the catalog management table 116 includes a protection time 1161, a copy ID 1162, and a protection data management table number 1163.
  • the protection time 1161 indicates the time when the copy process is completed.
  • the copy ID 1162 is a unique identifier of the copy information table 113.
  • the protection data management table number 1163 is a number that uniquely identifies the protection data management table 115.
  • FIG. 11 is a configuration diagram of the storage information table 114 stored in the management computer 100 according to the first embodiment.
  • the storage information table 114 includes a storage ID 1141 and a volume ID 1142.
  • the storage ID 1141 is a unique identifier of the storage system 300 managed by the management computer 100.
  • the volume ID 1142 is a unique identifier of the logical volume assigned by the storage system 300 identified by the storage ID 1141.
  • FIG. 12 is a configuration diagram of the hierarchy table 117 stored in the management computer 100 in the first embodiment.
  • the hierarchy table 117 includes a volume ID 11701 and an address map (11702, 11703).
  • the volume ID 11701 is an identifier of a real volume that is uniquely indicated by the storage system 300.
  • the address map includes a virtual address 11702 and a hierarchical address pointer 11703.
  • the virtual address 11702 is an extent address indicating a virtual area in the virtual volume.
  • the tier address pointer 11703 is a pointer that points to one area of the storage tier address map of a specific tier in the storage tier pool management information 1290. Specifically, the hierarchy number and one address of the storage hierarchy address map provided for each hierarchy number are stored. When no page is allocated to the virtual area, the hierarchical address pointer 12703 corresponding to the virtual address 12702 of the virtual area is information indicating “free”.
  • FIG. 13 is a configuration diagram of the copy pair management information 1210 stored in the storage system 300 in the first embodiment.
  • the copy pair management information 1210 includes a logical volume ID 12101, copy status information 12102, a copy target storage ID 12103, a copy target volume ID 12104, a copy pair ID 12105, a group ID 12106, and a copy type 12107.
  • the logical volume ID 12101 is a unique identifier of a logical volume that is a copy source or a copy destination provided by the storage system 300 that stores the copy pair management information 1210.
  • the copy status information 12102 indicates the current status of copy processing for the logical volume identified by the logical volume ID 12101. Specifically, for example, the copy status information 12102 indicates whether the logical volume identified by the logical volume ID 12101 is a primary volume, a secondary volume, copying, temporarily stopped, or abnormal.
  • the copy target volume ID 12104 is a unique identifier of the logical volume that makes a copy pair with the logical volume identified by the logical volume ID 12101. That is, the copy target volume ID 12104 is a unique identifier of a logical volume that is a copy destination or a copy source of data stored in the logical volume identified by the logical volume ID 12101.
  • the copy target storage ID 12103 is a unique identifier of the storage system 300 that provides a logical volume that makes a copy pair with the logical volume identified by the logical volume ID 12101. That is, the copy target storage ID 12103 is a unique identifier of the storage system 300 that provides the logical volume identified by the copy target volume ID 12104.
  • the copy pair ID 12105 is a unique identifier of a copy pair including the logical volume identified by the logical volume ID 12101 and the logical volume identified by the copy target volume ID 12104.
  • the group ID 12106 is a unique identifier of the copy group to which the copy pair identified by the copy pair ID 12105 belongs.
  • the storage system 300 manages a copy group including one or more copy pairs. For this reason, the management computer 100 can designate the copy group included in the group to suspend, resume, temporarily synchronize, or cancel the operation of local copy or remote copy in a batch by designating the copy group.
  • the copy type 12107 is a type of copy executed for the copy pair identified by the copy pair ID 12105. For example, the copy type 12107 represents either local copy or remote copy.
  • FIG. 14 is a configuration diagram of the volume management information 1250 stored in the storage system 300 in the first embodiment.
  • the volume management information 1250 includes a logical volume ID 12501, a volume status 12502, a capacity 12503, a copy pair ID 12504, a group ID 12505, a real volume ID 12506, and a virtual flag 12507.
  • the logical volume ID 12501 is a unique identifier of a logical volume provided by the storage system 300 that stores the volume management information 1250.
  • the volume status 12502 indicates the current status of the logical volume identified by the logical volume ID 12501.
  • the volume state 12502 represents at least one of a primary volume, a secondary volume, normal, abnormal, or unimplemented. More specifically, for example, when the logical volume identified by the logical volume ID 12501 is a primary volume, the volume status information 12502 represents “primary volume”. When the logical volume identified by the logical volume ID 12501 is a secondary volume, the volume status information 12502 indicates “secondary volume”.
  • the volume status information 12502 indicates “normal”.
  • the volume status information 12502 indicates “abnormal”.
  • the volume status information 12502 indicates “abnormal” when the disk drive 1500 fails or when a copy failure occurs.
  • the volume status information 12502 indicates “unmounted”.
  • the capacity 12503 is the capacity (storage capacity) of the logical volume identified by the logical volume ID 12501.
  • the copy pair ID 12504 is a unique identifier of the copy pair including the logical volume identified by the logical volume ID 12501.
  • the group ID 12505 is a unique identifier of the copy group to which the copy pair identified by the copy pair ID 12505 belongs.
  • the real volume ID 12506 is an identifier indicating a virtual volume or a real volume associated with the logical volume identified by the logical volume ID 12501.
  • the virtual flag 12507 indicates whether the logical volume is configured from a virtual volume (for example, the flag is 1) or not (for example, the flag is 0). When the flag is 1, it means that the logical volume is a virtual logical volume. When the flag is 0, it means that the logical volume is a real logical volume.
  • FIG. 15 is a configuration diagram of the virtual logical volume management information 1270 stored in the storage system 300 in the first embodiment.
  • the virtual logical volume management information 1270 is information related to the virtual logical volume.
  • the number of virtual logical volume management information 1270 is the same as the number of virtual logical volumes held by the storage system 300. That is, the virtual logical volume management information 1270 and the virtual logical volume have a one-to-one correspondence.
  • the virtual logical volume management information 1270 includes a volume ID 12701, a pool ID 12703, and an address map (12704, 12705, 12706).
  • this storage system 300 the storage system 300 that stores the virtual volume information 1270
  • this virtual volume corresponding to this virtual logical volume management information 1270 is referred to as “this virtual volume”.
  • the volume ID 12701 is an identifier of a real volume that is uniquely indicated by the storage system 300.
  • the pool ID 12703 is an identifier that uniquely indicates the storage tier pool management information 1290 managed by the storage system 300.
  • the pool ID 12703 is used to specify a real volume group that provides a page to this virtual logical volume.
  • the address map includes a virtual address 12704, a hierarchical address pointer 12705, and an update flag 12706.
  • the virtual address 12704 is an extent address indicating a unit virtual area in the virtual logical volume. The size of one unit of virtual area is the same as the page size.
  • a virtual address representing an access destination virtual area in the virtual logical volume is also specified.
  • the tier address pointer 12705 is a pointer that points to one area of the storage tier address map of a specific tier in the storage tier pool management information 1290 pointed to by the pool ID 12703.
  • the storage tier pool management information 1290 has several tiers, and each tier has a storage tier address map. Further, the storage hierarchy address map provides a linear storage area, and the hierarchy address pointer 12705 designates a hierarchy number in the pool and one address of the storage hierarchy address map provided for each hierarchy number. . When no page is allocated to the virtual area, the hierarchical address pointer 12705 corresponding to the virtual address 12704 of the virtual area is information indicating “free”. An update flag 12706 is a flag indicating that writing has been performed in the area (page) indicated by the virtual address.
  • FIG. 16 is a configuration diagram of the storage tier pool management information 1290 stored in the storage system 300 in the first embodiment.
  • Storage tier pool management information 1290 is information for managing a pool.
  • the number of storage tier pool management information 1290 is the same as the number of pools in the storage system 300. That is, the storage tier pool management information 1290 and the pool have a one-to-one correspondence.
  • the storage tier pool management information 1290 includes a pool ID 12901 and storage tier address map information (12902 to 12909).
  • this pool the pool corresponding to the storage tier pool management information 1290 is referred to as “this pool”.
  • the pool ID 12901 is an identifier that uniquely indicates this pool.
  • the storage tier address map information is information for managing one or more real volumes assigned to one or more tiers existing in this pool.
  • the storage tier address map information exists for the number of tiers registered in this pool, and the storage area of each tier can be referred to by a linear address.
  • the storage tier address map information includes a tier number 12902, a total real volume number 12903, total capacity information 12904, free total capacity information 12905, address 12906, allocation information 12907, volume ID 12908, and real address 12909.
  • this real volume the real volume corresponding to the storage hierarchy address map information is referred to as “this real volume”.
  • Hierarchy number 12902 is a number representing the hierarchy of the storage hierarchy.
  • the total number of real volumes 12903 indicates the number of real volumes registered in the tier indicated by this tier number.
  • the total capacity information 12904 indicates the total capacity of the real volume registered in the tier indicated by this tier number.
  • the total free capacity 12905 indicates the total capacity of the free area to which no page is allocated in the real volume registered in the tier indicated by this tier number.
  • the volume ID 12902 is a unique identifier of this real volume.
  • An address 12906 represents an address in a linear address space provided by the storage hierarchy address map.
  • the allocation information 12907 indicates whether the area corresponding to the address 12906 has been allocated or not allocated (that is, whether allocation is not possible or allocation is possible) and, if allocated, how many times the area has been referenced after this area allocation. Indicates information (access frequency).
  • the volume ID 12908 is a unique identifier of the real volume.
  • the real address 12909 indicates an address in the real volume indicated by the real volume ID.
  • FIG. 17 is a configuration diagram of the basic storage information 1260 stored in the storage system 300 in the first embodiment.
  • the storage basic information 1260 includes an IP address 12601 and a storage ID 12602 assigned to the storage system 300.
  • the IP address 12601 is an IP address assigned to the storage system 300.
  • the storage ID 12602 is a unique identifier of the storage system pointed to by the IP address 12601.
  • FIG. 18 is a diagram for explaining the configuration of the IO request 7300.
  • the IO request 7300 is issued by the management computer 100 or the host computer 200.
  • the IO request 7300 includes a destination 73001, instruction contents 73002, a serial number 73003, a group ID 73004, and an option 73005.
  • the destination 73001 is information regarding the destination for the IO request 7300.
  • the destination 73001 includes, for example, an identifier of the storage system 300 that is the transmission destination of the IO request 7300, an identifier of a logical volume (for example, a virtual logical volume or a real logical volume) in the storage system 300, and a storage area (
  • the information includes an address (volume address) of a virtual area or a real area.
  • the instruction content 73002 is the content of the processing instructed by this IO request 7300.
  • the instruction content 73002 is a local copy or remote copy control instruction, or a data access instruction.
  • the local copy or remote copy control instructions include, for example, new local copy start, local copy addition, local copy close, remote copy new start, remote copy addition, remote copy close, restore preparation, high speed restore, normal restore (restore preparation) , High-speed restore and normal restore are common to local copy and remote copy), high-level hierarchy movement, low-level hierarchy movement, or status acquisition.
  • the data access instruction includes, for example, data writing or data reference.
  • the serial number 73003 indicates the order in which the IO request 7300 is issued. Therefore, the serial number 73003 is determined by the management computer 100 or the host computer 200 that is the issuing source of the IO request 7300.
  • the group ID 73004 is a unique identifier of the copy group to be processed by the IO request 7300.
  • the option 73005 is copy configuration information, option information for assisting the IO request 7300, data requested to be written by the IO request 7300, and the like.
  • the copy configuration information includes copy type, copy destination storage ID, copy source real logical volume ID or virtual logical volume ID, copy destination storage ID, copy source real logical volume ID or virtual logical volume ID, and the like. .
  • FIG. 22 is an example of a flowchart of data access processing in the storage system 300 in the first embodiment.
  • the I / O control unit 1300 of the storage system 300 receives the IO request 7300 from the host computer 200, it determines whether or not the destination 73001 of the IO request 7300 represents a virtual logical volume (step 5000). Specifically, for example, the processor 1310 of the input / output control unit 1300 (hereinafter referred to as the input / output control unit 1300) refers to the destination 73001 of the IO request 7300 and acquires the volume ID included in the destination 73001. Next, the input / output control unit 1300 acquires information about the logical volume that matches the acquired volume ID from the volume management information 1250.
  • Step 5000 When the virtual flag 12507 of the volume management information 1250 indicates a virtual logical volume (Yes in Step 5000), the input / output control unit 1300 executes Step 5005 and subsequent steps and does not indicate a virtual logical volume (Step 5000). No), step 5095 is executed.
  • the virtual logical volume corresponding to the acquired volume ID is referred to as “this virtual logical volume”.
  • the input / output control unit 1300 refers to the virtual logical volume management information 1270 having the volume ID 12701 matching the acquired volume ID from one or more virtual logical volume management information 1270.
  • the specified virtual logical volume management information 1270 is referred to as “this virtual logical volume management information 1270”.
  • the I / O controller 1300 uses the virtual logical volume management information 1270 to refer to the volume address included in the destination 73001 of the IO request 7300 (hereinafter referred to as “this volume address” in the description of FIGS. 22 and 23). ) Is identified.
  • the input / output control unit 1300 refers to the virtual address entry corresponding to the identified virtual address 12704.
  • the virtual address entry is an entry including a virtual address 12704, a hierarchical address pointer 12705, and an update flag 12706.
  • the input / output control unit 1300 checks whether or not the instruction content 73002 of the IO request 7300 is a data reference (step 5010). If it is not data reference (No in step 5010), the input / output control unit 1300 further determines whether or not the instruction content 73002 of the IO request 7300 is data update (step 5020).
  • step 5020 when the instruction content 73002 of the IO request is not data update (No in step 5020), the input / output control unit 1300 performs processing according to the instruction described in the IO request, that is, copy processing, storage Processing of each storage function such as tier processing (step 5030) is performed.
  • the copy process (step 5030) will be described later.
  • step 5020 when the instruction content 73002 of the IO request is data update (Yes in step 5020), or after the processing of each storage function (step 5030) ends, the I / O controller 1300 displays the virtual address entry.
  • the hierarchical address pointer 12705 is referred to (step 5060).
  • the input / output control unit 1300 performs a process of allocating a page from the pool (step 5070). To do. Details of the page allocation process (step 5070) will be described later.
  • the input / output control unit 1300 refers to the hierarchical address pointer 12705 of this virtual address entry.
  • the input / output control unit 1300 sets the data reference result “0” in the IO request 7300. (That is, a data element representing “0” is read), the data element “0” is returned to the host computer 200 (5050), and the data access process is terminated.
  • step 5070 After the process of allocating pages from the pool (step 5070), or when the hierarchical address pointer 12705 does not represent “free” in the determination of step 5060 (when there is an allocated page) (Yes in step 5060), input / output control
  • the unit 1300 refers to the copy pair management information 1210 and detects that this virtual logical volume is included and the copy status 12102 is temporarily stopped (step 5080).
  • step 5090 If there is copy pair management information 1210 that includes this virtual logical volume and whose copy status 12102 is suspended (Yes in step 5080), various copy processing is suspended (step 5090).
  • the input / output control unit 1300 performs data access processing (step 5095) to the logical volume (virtual logical volume or real logical volume). carry out.
  • the data access processing to the logical volume when the logical volume represented by the destination 73001 of the IO request 7300 is a virtual logical volume, the I / O control unit 1300 accesses the page specified from the hierarchical address pointer 12705 of this virtual address entry. To do.
  • the input / output control unit 1300 accesses the real area specified from the volume address in the destination 73001.
  • the processing performed by the input / output control unit 1300 can be performed by, for example, the processor 1310 that executes the input / output processing program 1240.
  • the processor 1310 can perform processing related to the virtual volume by executing the virtual volume processing program 1220.
  • FIG. 23 is an example of a flowchart of page allocation processing (step 5070) from the pool in the storage system 300 in the first embodiment.
  • the input / output control unit 1300 of the storage system 300 refers to the storage tier pool management information 1290 indicated by the pool ID 12703 in the virtual logical volume management information 1270 of this virtual logical volume.
  • the input / output control unit 1300 selects the hierarchy having the lowest hierarchy number (the highest hierarchy set to have the highest performance and reliability) from one or a plurality of storage hierarchy address map information (step 5100). ).
  • the input / output control unit 1300 determines whether or not any of the allocation information 12907 of the storage hierarchy address map information of this hierarchy number represents “free” (step 5120).
  • the entry of the storage hierarchy address map information composed of the entry (address 12906, assignment information 12907, volume ID 12908, real address 12909) in which any of the assignment information 12907 of the storage hierarchy address map information has “free”.
  • the input / output control unit 1300 refers to the information of this entry, acquires the volume ID 12908 and the real address 12909, and specifies the page to be accessed. Further, the input / output control unit 1300 sets the allocation information 12907 of this entry to “allocated”, and further adds 1 to the value of the access frequency included in this information (step 5150).
  • the input / output control unit 1300 reduces the page capacity from the available total capacity of the available total capacity information 12905 of the storage hierarchy address map information (step 5160).
  • the I / O controller 1300 changes the hierarchical address pointer 12705 of the virtual logical volume management information 1270 to this entry.
  • the tier address pointer 12705 includes a tier number 12902 and an address 12906 of the storage tier pool management information 1290.
  • step 5120 determines whether there is no “empty” in any allocation information 12907 in the storage hierarchy address map information (NO in step 5120).
  • the input / output control unit 1300 uses the hierarchy number of this storage hierarchy address map information.
  • the presence / absence of storage hierarchy address map information one hierarchy lower (current hierarchy number + 1) is checked (step 5130).
  • Step 5130 If there is storage hierarchy address map information that is one layer lower (Yes in step 5130), the input / output control unit 1300 selects storage hierarchy address map information (current hierarchy number + 1) that is one hierarchy lower than the current ( Step 5110), Step 5120 is performed again.
  • the I / O controller 1300 If there is no storage hierarchy address map information one layer lower (No in step 5130), the I / O controller 1300 returns an IO error to the host computer 200 that issued the IO request (step 5140).
  • the input / output control unit 1300 may notify the user not only of the reply to the host computer 200 of the IO error but also the management terminal 1600, mail, or the like.
  • the processing performed by the input / output control unit 1300 can be performed by, for example, the processor 1310 that executes the input / output processing program 1240.
  • the processor 1310 can perform processing related to the virtual volume by executing the virtual volume processing program 1220.
  • Local copy processing is classified into two types: clones and snapshots. With a clone, immediately after replication, the copy source and copy destination logical volumes have the same capacity and the same data.
  • the snapshot copies the existing data to the copy destination logical volume (secondary volume) where the update data received since the copy source started the copy process is stored.
  • the host computer 200 reads / writes data from / to the secondary volume
  • the data on the secondary volume is used while referring to the location where the data is replicated in the secondary volume, while the data is replicated in the secondary volume.
  • the primary volume is referenced.
  • update data from the host computer is further written to the corresponding location of the secondary volume.
  • the local copy operation starts with the start process, and continues until the cancel process is performed.
  • FIG. 24 is an example of a flowchart of a local copy start process by a clone executed by the storage system 300 in the first embodiment.
  • the local copy start process is a process of copying data on the primary volume to be copied at the time when the management computer 100 receives a start instruction to the secondary volume.
  • the copy processing shifts to a “pause state” in which data replication is temporarily stopped.
  • the processor 1310 (hereinafter referred to as the input / output control unit 1300) of the input / output control unit 1300 of the storage system 300 receives an IO request 7300 (however, a clone is designated as an option) instructing the start of local copy, Start the copy process.
  • the input / output control unit 1300 creates a copy pair management information table 1210 (see FIG. 13) based on the copy configuration information included in the IO request 7300 (step 6010). Specifically, the input / output control unit 1300 stores “copying” in the copy status information 12102 of the copy pair management information table 1210. Next, the input / output control unit 1300 stores the copy source logical volume ID indicated in the IO request in the logical volume ID 12101 of the copy pair management information table 1210 as the copy source logical volume.
  • the input / output control unit 1300 stores the copy destination storage ID included in the copy configuration information extracted from the IO request in the copy target storage ID 12103 of the copy pair management information table 1210.
  • the input / output control unit 1300 stores the copy destination logical volume ID included in the copy configuration information extracted from the IO request in the copy target volume ID 12104 of the copy pair management information table 1210.
  • the input / output control unit 1300 stores a value that does not overlap with other copy pair IDs in the copy pair ID 12105 of the copy pair management information table 1210.
  • the input / output control unit 1300 stores the copy group ID included in the IO request in the group ID 12106 of the copy pair management information table 1210.
  • the input / output control unit 1300 stores the copy type information included in the extracted copy configuration information in the copy type 12107 of the copy pair management information table 1210.
  • “local copy, clone” is stored in the copy type 12107.
  • the I / O controller 1300 reads data from the logical volume identified by the volume ID 12101 of the copy pair management information table 1210. Further, the input / output control unit 1300 stores the read data in the cache memory 1100 (step 6030).
  • the input / output control unit 1300 reads the data from the cache memory 1100 and writes the data read from the cache memory 1100 to the logical volume identified by the copy target volume ID 12104 of the copy pair management information table 1210 (step 6060). ).
  • the input / output control unit 1300 repeatedly executes step 6030 to step 6060 to store all data of the copy source logical volume in the copy destination logical volume.
  • the input / output control unit 1300 ends the local copy processing by the clone.
  • the input / output control unit 1300 stores “temporary stop state” in the copy state information 12102 of the copy pair management information table 1210.
  • the input / output control unit 1300 continues to execute the pause state process.
  • FIG. 25 is an example of a flowchart of operations during suspension of local copy by clones in the first embodiment.
  • step 5900 of the flowchart of FIG. 22 when a copy process (local copy and clone) is operating in the storage system 300 and the process state is in a suspended state, the input / output control of the storage system 300 is performed.
  • the unit 1300 performs a pause process for each copy function.
  • the input / output control unit 1300 sets the update flag 12706 of the corresponding page in the virtual logical volume management information 1270 of this virtual logical volume as “updated” (step S90a). 5091a).
  • FIG. 26 is an example of a flowchart of a local copy temporary synchronization operation by a clone in the first embodiment.
  • the copy processing status 12102 of the corresponding copy pair management information 1210 is changed to “copying”.
  • the I / O control unit 1300 refers to the address map entry of the virtual logical volume management information 1270 related to the logical volume specified by the logical volume ID 12101 in the copy pair management information 1210 from above, and the update flag 12706 indicates “update”. It is confirmed whether or not “Yes” (step 5033a).
  • the I / O control unit 1300 duplicates the data element of the corresponding page of the virtual logical volume management information 1270 and stores it at the same address of the secondary volume. (Step 5037a).
  • the input / output control unit 1300 confirms all the entries of the virtual logical volume management information 1270. It is confirmed whether or not it is completed (step 5035a).
  • step 5035a If the confirmation of all entries of the virtual logical volume management information 1270 has not been completed (No in step 5035a), the input / output control unit 1300 performs the processing from step 5033a again for the next entry.
  • Step 5035a When the confirmation of all entries of the virtual logical volume management information 1270 is completed (Yes in Step 5035a), the input / output control unit 1300 re-sets the copy status information 12102 of the copy pair management information 1210 to “pause”. Set (step 5037a). Furthermore, the input / output control unit 1300 sets all the update flags 12706 of the virtual logical volume management information 1270 related to the logical volume registered in the logical volume ID 12101 of the copy pair management information 1210 to “no update”, and performs the temporary synchronous copy process Exit.
  • FIG. 27 is an example of a flowchart of the operation of starting local copy by snapshot in the first embodiment.
  • the local copy processing by snapshot performs almost the same procedure as local copy by clone, and the input / output control unit 1300 of the storage system 300 executes. Only different processes will be described below.
  • the input / output control unit 1300 starts the copy process and executes the process of step 6010.
  • the processing in step 6010 is the same as the local copy processing by clone except that the option is not a clone but a snapshot.
  • the input / output control unit 1300 ends the local copy processing by the snapshot.
  • the input / output control unit 1300 stores “temporary stop state” in the copy state information 12102 of the copy pair management information table 1210 (step 6130).
  • FIG. 28 is an example of a flowchart of the operation during the temporary suspension of the local copy by the snapshot in the first embodiment.
  • step 5090 of the flowchart of FIG. 22 the input / output control unit 1300 of the storage system 300 is performing copy processing (local copy and snapshot) on the storage system 300, and the processing state is temporarily set. In the stopped state, the temporary stop process for each copy function is performed.
  • the input / output control unit 1300 sets the update flag 12706 of the corresponding page in the virtual logical volume management information 1270 of this virtual logical volume as “updated” ( Step 5091b).
  • the I / O controller 1300 duplicates the data element pointed to by the corresponding page of the virtual logical volume management information 1270 and stores it at the same address of the secondary volume (step 5093b).
  • FIG. 29 is an example of a flowchart of the operation of temporary synchronization of local copy by snapshot in the first embodiment.
  • the input / output control unit 1300 of the storage system 300 receives a “temporary synchronization” instruction from the management computer 100 (step 5030b)
  • the virtual logical volume management information 1270 related to the logical volume 12101 of the corresponding copy pair management information 1210 is displayed. All the update flags 12706 of all entries in the address map are set to “no update” (step 5031b).
  • the input / output control unit 1300 ends the temporary synchronous copy process.
  • the restore process is a process for overwriting the contents of the secondary volume with the primary volume.
  • FIG. 34 is an example of a flowchart of snapshot and clone restore operations executed by the storage system 300 in the present embodiment in the first embodiment.
  • the input / output control unit 1300 of the storage system 300 receives a “restore” instruction from the management computer 100, the input / output control unit 1300 performs a restore process on the primary volume indicated by the logical volume 12101 of the corresponding copy pair management information 1210.
  • the input / output control unit 1300 changes the copy status information 12102 of the copy pair management information 1210 to “copying”, and changes the data stored in the copy target volume ID 12104 of the copy pair management information 1210 to the primary volume. Overwriting is performed (step 6310). After the end, the input / output control unit 1300 changes the copy status information 12102 to “pause” and ends the process.
  • the quick restore process is a process for switching the access of the host computer 200 from the primary volume to the secondary volume to realize data access to the secondary volume.
  • FIG. 33 is an example of a flowchart of a quick restore operation common to snapshots and clones executed by the storage system 300 in the first embodiment.
  • the input / output control unit 1300 of the storage system 300 receives a “quick restore” instruction from the management computer 100, the input / output control unit 1300 performs a quick restore process related to the secondary volume indicated by the copy target volume ID 12104 of the corresponding copy pair management information 1210.
  • the input / output control unit 1300 changes the copy status information 12102 of the copy pair management information 1210 to “copying”, and replaces the logical volume ID 12101 and the copy target volume ID 12104 of the copy pair management information 1210. (Step 6210).
  • the input / output control unit 1300 changes the copy status information 12102 to “pause” (step 6220), and the logical volume that was a conventional secondary volume can be accessed as a primary volume to the host computer 200. To complete the quick restore process.
  • the storage tier control process is a process of moving between tiers of pages stored in real volumes having different tiers, which is performed periodically or according to a user instruction.
  • FIG. 30 is an example of a flowchart of the storage tier control process in the first embodiment. This flowchart presupposes storage hierarchy control that is performed periodically. The following describes storage tier control in each pool.
  • the input / output control unit 1300 in the storage system 300 refers to the allocation information 12907 of the storage tier pool management information 1290 of the designated pool (step 8000).
  • the input / output control unit 1300 refers sequentially from the upper entry of the storage hierarchy address map information of the lowest hierarchy.
  • the layer currently referred to by the input / output control unit 1300 is referred to as a source layer, and the entry of the storage layer address map information of the source layer of the storage layer pool management information 1290 is referred to as a source entry.
  • the input / output control unit 1300 compares the reference access frequency (reference value) defined for the source tier with the access frequency described in the allocation information 12907 of the corresponding entry (step 8010).
  • a reference access frequency reference access frequency
  • a reference access frequency is defined in advance for each hierarchy by a user or the like. It is determined whether or not to move pages between real volumes of different tiers based on whether or not this reference access frequency is exceeded.
  • the input / output control unit 1300 further exceeds the source hierarchy when there is an upper hierarchy in the source hierarchy (Yes in Step 8090).
  • a hierarchy one level higher is selected (step 8070) and compared with the reference value of the hierarchy (step 8010).
  • the input / output control unit 1300 repeats these steps and identifies a hierarchy that does not exceed the reference value.
  • a hierarchy that does not exceed the reference value is called a target hierarchy, and an entry in the storage hierarchy address map information to be searched in the target hierarchy is called a target entry. If there is no higher hierarchy in the source hierarchy in step 8090 (No in step 8090), the corresponding page is not moved (step 8120), and the process proceeds to step 8030.
  • the input / output control unit 1300 refers to the free space capacity 12905 of the storage hierarchy address map information of the target hierarchy, and sets the target hierarchy. It is checked whether there is a free real volume that can be moved to the page (step 8015).
  • the input / output control unit 1300 determines whether there is an entry with an access frequency lower than the access frequency of the source entry allocation information 12907 (step 8015). 8100).
  • step 8100 If there is no entry having an access frequency lower than the access frequency of the source entry allocation information 12907 in the target hierarchy (No in step 8100), the hierarchy one level lower than the target hierarchy is set as the target hierarchy, and the target hierarchy is empty. It is confirmed whether or not there is (step 8100).
  • Step 8110 If there is an entry with an access frequency lower than the access frequency of the source entry allocation information 12907 in the target hierarchy (Yes in Step 8100), the pages of the source entry and the target entry are switched (Step 8110).
  • the input / output control unit 1300 performs page migration for the real volume in which the target tier has a free space (Ste 8020).
  • Step 8020 After performing Step 8020, Step 8110, or Step 8120, the input / output control unit 1300 confirms whether or not determination has been performed for all source entries in the source hierarchy in the pool (Step 8030), and unexecuted entries. If there is, step 8000 is executed again (No in step 8030).
  • step 8030 if there is no unexecuted entry in the source hierarchy, a hierarchy that is one hierarchy higher than the source hierarchy is set as the source hierarchy (step 8040).
  • the input / output control unit 1300 performs the processing again from Step 8000.
  • the input / output control unit 1300 resets the access frequency of the allocation information 12907 in the storage tier address map information of all tiers in the pool to zero ( Step 8130).
  • the management operation of the management computer 100 has three stages. That is, an environment construction stage, a data replication stage, and a replicated data use stage.
  • the environment construction stage is a management operation stage in which the management computer 100 creates and sets information used in the data replication stage and the replicated data use stage.
  • FIG. 19 is an example of a flowchart of the management operation in the environment construction stage by the management computer 100 in the first embodiment.
  • Management operation in the environment construction stage is realized by the processor 120 of the management computer 100 executing processing based on the storage management program 112.
  • the management computer 100 is simply used as the subject, but all operations are performed by the processor 120 of the management computer 100.
  • the management computer 100 detects the host computer 200 existing on the computer system (step 4010).
  • the information for detection uses, for example, input of an IP address by a user of the management computer 100.
  • an IP address range such as 192.168.1.1 to 192.168.1.50 may be input, or a specific IP address may be input.
  • the management computer 100 creates an information acquisition request for the agent program 213 of the host computer 200 and issues the information acquisition request toward the input IP address.
  • the configuration information of the host computer 200 is returned to the management computer 100 based on the instruction of the agent program 213 on the host computer 200.
  • This configuration information includes information on an application name, a name of data used by the application, a logical volume in which the data is stored, and a storage address of the logical volume (a storage address is, for example, a SCSI LBA).
  • the management computer 100 creates a host configuration management table 111 based on information included in the reply.
  • the management computer 100 detects the storage system 300 existing on the computer system (step 4020). For the detection of the storage system 300, the management computer 100 creates an information acquisition request for the storage system 300 based on the IP address input by the user of the management computer 100, as in step 4010. In the storage system 300, when the processor 1310 of the storage controller 1000 receives this information acquisition request, the volume management information 1250 and the storage basic information 1260 stored in the shared memory 1200 are referred to and the information is collectively returned. . In response to a reply from the storage system 300, the management computer 100 creates the storage information table 114 based on the information included in this reply.
  • the management computer 100 determines data of the application program to be copied. Specifically, the management computer 100 provides a management screen to the user, and accepts and confirms input to the management screen for the copy target application, the host computer 200, and its data.
  • FIG. 20 is an example of a management screen for determining data of a copy target application program provided by the management computer 100 in the first embodiment.
  • the management computer 100 identifies the storage system 300 and logical volume (primary volume) in which this data is stored. Specifically, the management computer 100 refers to the host configuration management table 111 and detects a storage ID 1115 and a volume ID 1116 that match the data name (data name). After the data to be copied is determined, the management computer 100 provides the user with a management screen for inputting the protection requirements, the retention period, the frequency of acquisition of the protection data, the usage, and information on the host computer that uses the protection data. Is obtained from the user.
  • FIG. 21 is an example of a management screen for determining the protection requirements provided by the management computer 100 in the first embodiment.
  • information on how long the storage data is retained in the storage system 300 is acquired from the user input for the retention period, and the copy target data is determined from the input for the protection data acquisition frequency.
  • Information on how often to copy is acquired, information on the selection of secondary use or backup recovery is acquired from the input for the use, and protection data is obtained from the input to the host computer that uses the protected data Is obtained for the host computer 200 that uses the logical volume in which is stored.
  • the management computer 100 determines a copy destination logical volume (secondary volume).
  • secondary volume a logical volume in which copying is not operating is selected from the logical volumes registered in the storage information table 114.
  • the management computer 100 determines whether or not the copy process is operating in the logical volume based on the presence or absence of registration in the primary volume ID 1134 and the secondary volume ID 1136 in the copy information table 113.
  • the secondary volume is selected from the storage system 300 registered in advance, and when the intra-storage device copy is selected, the same storage system 300 as the primary volume is selected. To select a secondary volume.
  • the management computer 100 performs processing for determining secondary volumes for the number of secondary volumes obtained from the calculation results.
  • a copy having the same primary volume and a different secondary volume is referred to as a copy “generation”. For example, if there are secondary volumes 1 and 2 for primary volume 1, the copy consisting of primary volume 1 and secondary volume 1 is called the generation 1 copy, and the copy consisting of primary volume 1 and secondary volume 2 Is called a copy of Generation 2.
  • the management computer 100 creates the copy information table 113 for the number of secondary volumes (that is, for the number of generations).
  • the management computer 100 registers the remote copy in the copy information 1131 of the copy information table 113, In the case of “copy”, the local copy is registered in the copy information 1131 of the copy information table 113.
  • the management computer 100 selects, for example, according to the use input on the management screen of FIG. That is, the management computer 100 selects a clone in the case of secondary use, selects a snapshot in the case of backup recovery, and sets the selected content as an option of the copy function.
  • a method such as setting in advance as an initial value of the storage management program 112 may be used. However, selection of clones and backups in the present embodiment is not limited to this method.
  • the storage location of the copy target data selected in FIG. 20 is set in the primary storage ID 1133 and the primary volume ID of the copy information table 113.
  • the data storage location can be obtained by referring to the host configuration management table 111.
  • the secondary storage ID 1135 and the secondary volume ID 1136 are set with the identifiers of the logical volumes selected as logical volumes for which copying is not in operation.
  • For the group ID 1132 a non-overlapping value is generated for the copy function group ID used in the storage system 300 to be copied.
  • the copy information table 113 is created for the number of generations, but the total number and generation number are assigned to the file name of the copy information table 113 so that the management computer 100 can understand the relationship between the copy information table 113 and the generation. Also good.
  • the management computer 100 creates a protection data management table 115.
  • a serial number from the upper row (initial value is 1) is set.
  • the application name 1151 is set with the application name selected on the management screen of FIG. 20, and the host ID 1152 is set with the identifier of the host computer 200 selected on the management screen of FIG.
  • the start time 1153 the start time input on the management screen of FIG. 21 is set.
  • the schedule 1154 the acquisition frequency of the protection data input on the management screen of FIG. 21 is set.
  • the usage input on the management screen of FIG. 21 is set.
  • the protection data 1156 based on the host computer 200 selected on the management screen of FIG.
  • the management computer 100 generates an IO request 7300 from the corresponding information (copy information 1131, group ID 1132, primary storage ID 1133, primary volume ID 1134, secondary storage ID 1135, secondary volume ID 1136) in the generated copy information table 113.
  • the management computer 100 has the IO request 7300 as the destination, the primary storage 1133 of the copy information table 113 as the destination, the instruction content is “new local copy start”, and the option 73005 is the copy configuration information (primary storage ID 1133, primary volume ID 1134, secondary storage). ID 1135, secondary volume ID 1136, copy information 1131, group ID 1132) and issue them to the storage system 300 (step 4040).
  • the data replication stage is a stage of management operation for acquiring protection data based on each information set in the environment construction.
  • FIG. 31 is an example of a flowchart of the management operation at the data replication stage by the management computer 100 in the first embodiment.
  • the management computer 100 refers to the protection data management table 115 and acquires the start time 1153.
  • the management computer 100 registers in a scheduler such as the management computer 100 so that a series of processes up to steps 4110, 4120, and 4130 are executed at the start time.
  • the management computer 100 starts the series of processes when the designated time comes. That is, the management computer 100 instructs the staticization of the application program 211 of the host computer 200 via the agent program 213 (step 4110).
  • Staticization is a process of shifting the application program 211 or the OS 212 to a special state in some cases, such as stopping writing to and reading from data used by the application program 211 and changing the state of the data to a file open state. This is a process to ensure that it is not unstable and can be used. This is realized by using an operation interface provided by the OS 212 or the application program 211.
  • the management computer 100 acquires protected data by duplicating the data used by the host computer 200 with the copy function of the storage system 300 (step 4120). Specifically, the management computer 100 uses the copy information table 113 pointed to by the current copy information table 1159 of the protected data management table 115 to create an IO request 7300. The instruction content of the IO request 7300 is set as local copy temporary synchronization. Next, the management computer 100 instructs the application 211 of the host computer 200 to release staticization (step 4130). The same interface is used for releasing the quiescence.
  • the management computer 100 registers information related to the protection data acquired by the series of processing of steps 4110, 4120, and 4130 in the catalog management table 116 (step 4140). That is, the current time is registered in the protection time 1161, the current copy information table 1159 of the protection data management table 115 is registered in the copy ID 1162, and the protection data management table number 1163 contains the above-described data in the protection data management table 115. A number 1158 corresponding to the execution of the process is registered. Next, the management computer 100 sets the name of the copy information table 113 scheduled to be used next for the current copy information table 1159 of the protected data management table 115.
  • the name of the copy information table 113 includes the total number of generations and the generation number indicated by the copy information table 113, and the management computer 100 uses this name information.
  • the management computer 100 registers it in its own scheduler so as to start the processing of steps 4110, 4120, and 4130 at the scheduled execution time, and ends the processing.
  • the data use stage is a stage in which the protected data acquired in the data replication stage is used.
  • FIG. 32 is an example of a flowchart of the management operation in the data use stage by the management computer 100 in the first embodiment.
  • the management computer 100 confirms the catalog information table 116 and confirms that the protection data is acquired in the storage system 300.
  • the protection data management table number 1163 of the catalog information table 116 is referred to, and the corresponding entry (line information from the number 1150 to the current copy information table 1159) of the protection data management table 115 is specified.
  • the management computer 100 refers to the purpose 1155 of the identified entry (specific entry) and identifies whether the purpose of the protected data is backup recovery or secondary use (step 4500). If the purpose is secondary usage (No in step 4500), the management computer 100 refers to the usage period 1157 of this specific entry and determines whether secondary usage will start in a short time (step 4510). If the secondary usage is not used in a short time (No in step 4510), the management computer 100 suspends the processing until it approaches the start time.
  • the management computer 100 When secondary usage is started in a short time (Yes in step 4510), the management computer 100 refers to the copy information table 113 pointed to by the copy ID 1162 of the catalog information table 116 and refers to the secondary volume ID 1136 for protection. Identify the secondary volume in which data is stored. Next, the management computer 100 issues an IO request 7300 in which the instruction content 73002 is moved to a higher tier to the storage system 300 in order to move the specified secondary volume data to a higher tier real volume (step 4530).
  • the I / O control unit 1300 of the storage system 300 When the I / O control unit 1300 of the storage system 300 receives this IO request 7300, the I / O control unit 1300 refers to the virtual logical volume management information 1270 in which the secondary volume information indicated by the IO request 7300 is stored. The access frequency of the allocation information of the allocated pages in the volume is set to the maximum value, and the hierarchical control process is started.
  • the management computer 100 refers to the copy information 1131 in the copy information table 113 to determine whether or not the copy is a snapshot (step 4550).
  • the management computer 100 issues an IO request 7300 (instruction content 73002 is status acquisition) to the storage system 300, and the address of the logical volume of the data held in the secondary volume To get.
  • the management computer 100 compares the address information of the protection data 1156 stored in the protection data management table 115, and specifies the protection data that does not exist in the secondary volume.
  • the management computer 100 instructs the storage system 300 to send an IO request 7300 with the instruction content 73002 to the higher tier migration so that the protected data that does not exist in the secondary volume is moved to the upper tier of the primary volume (step 4560). ).
  • the management computer 100 issues an IO request 7300 to the storage system 300, and acquires information on the primary volume hierarchy arrangement from the storage system 300.
  • the storage system 300 returns the hierarchy number stored in the hierarchy address pointer 12705 of the virtual logical volume management information 1270 of the primary volume together with the virtual address 12704 to the management computer 100.
  • the management computer 100 holds the information returned from the storage system 300 in the tier table 117 (step 4570).
  • the management computer 100 waits for a restoration instruction (instruction for restoring the primary volume (primary VOL)) issued by the user (step 4580).
  • the management computer 100 determines whether or not the recovery instruction is a quick restore (step 4590). If the restore instruction is quick restore (Yes in step 4590), the management computer 100 uses the information in the hierarchy table 117 as an instruction for restoring the primary volume to the hierarchy corresponding to the information in the hierarchy table 117 held in step 4570.
  • the IO request 7300 is issued to the storage system 300 (step 4610).
  • the storage system 300 When the storage system 300 receives the IO request 7300, it replaces the address map of the virtual logical volume management information 1270 of the virtual logical volume that is the primary volume (the volume that was the secondary volume before the quick restore), and adjusts accordingly.
  • Implement storage hierarchy control The address map for the primary volume is performed when the IO request 7300 is received, after the quick restore has been completed in the storage system 300, and after the primary volume and the secondary volume before restoration are switched. Because.
  • the management computer 100 uses the hierarchy as an instruction to restore the primary volume to the hierarchy corresponding to the information in the hierarchy table 117 held in step 4570.
  • An IO request 7300 is issued to the storage system 300 using the information in the table 117 (step 4600).
  • the storage system 300 When the storage system 300 receives the I / O request 7300, it replaces the address map of the virtual logical volume management information 1270 of the virtual logical volume that is the primary volume (the primary volume before restoration), and performs storage tier control in accordance therewith. carry out.
  • the management computer 100 can instruct the storage system 300 to move data to an appropriate tier according to the purpose of the protection data, and use the protection data for each use. It is possible to use the host computer 200 with appropriate performance and reliability according to the above.
  • step 4530 all the allocated pages in the secondary volume have been subjected to the tier control process.
  • the tier control process may be performed on a part of the allocated pages.
  • the logical volume is configured to correspond to the information in the hierarchy table 117, but at least a part of the logical volume is restored to the configuration corresponding to the information in the hierarchy table 117. Compared with the case where it does not, the performance and reliability suitable for a use can be provided.
  • a system image of a host computer 200 (hereinafter referred to as a virtual server) provided with a virtualization mechanism (hypervisor) that provides a virtual computer (virtual machine) is transferred by the copy function of the storage system 300.
  • a virtualization mechanism hypervisor
  • hypervisor hypervisor
  • a virtual machine is constructed in a short time by duplicating and using the protected data after duplication. The process of building a virtual machine in this way is called virtual machine deployment.
  • FIG. 35 is a diagram for explaining the outline of virtual machine deployment by the management computer 100 in the second embodiment.
  • the virtual machine VM operating on the virtual server 10000 is operating with reference to the secondary volume SVOL in the storage system 300.
  • the secondary volume SVOL stores a replica of the model system image of the virtual machine VM stored in the primary volume PVOL.
  • FIG. 36 is an example of a flowchart of a management operation for hot spot load distribution of virtual machine deployment by the management computer 100 in the second embodiment.
  • the management computer 100 confirms that the copy process operating in the storage system 300 is local copy and snapshot, and that the copy status is temporarily stopped, and then monitors the primary volume SVOL to be copied.
  • the monitoring confirms the load information of the primary volume PVOL directly to the storage system 300 by the IO request 7300 (step 4700).
  • the management computer 100 checks whether or not the load information of the primary volume PVOL has a higher value than usual (step 4710).
  • the management computer 100 identifies the high load area of the primary volume PVOL, and the data stored in the area is protected data.
  • the protection data 1156 in the management table 115 is specified by referring to the data, and the data is overwritten on the primary volume PVOL with the same contents (step 4720).
  • the storage system 300 copies the relevant data of the primary volume PVOL to each secondary volume SVOL.
  • the virtual machine VM may be quiesced during the period of data update to the secondary volume SVOL.
  • step 4720 the hot spot of the primary volume PVOL is overwritten with the same content data.
  • the management computer 100 transfers the hot spot data directly to the virtual machine VM and passes through the virtual machine VM. Then, it may be stored in the secondary volume SVOL accessed by each.
  • the management computer 100 creates a plurality of replicas of the primary volume PVOL in the storage system 300 and distributes them to the plurality of primary volumes PVOL when accessing the hot spot by the virtual machine VM. You may do it.
  • the data of the hot spot in the primary volume PVOL of the storage system 300 can be appropriately replicated to the secondary volume SVOL accessed by each virtual machine VM. It is possible to effectively suppress hot spots of the storage system 300 caused by the virtual machine deployment of the server 10000.
  • a real volume provided by a storage device (disk drive or the like) of the external storage system 300 may be included in the pool.

Abstract

 ストレージシステムのコントローラが、仮想論理ボリュームの仮想記憶領域で管理されるデータを、所定の条件に従って、割り当てられていた実記憶領域から特性の異なる他の記憶媒体の実記憶領域に移動させ、また、第1の仮想論理ボリュームの仮想記憶領域の少なくとも一部であるコピー対象領域についての第2の仮想論理ボリュームへのコピー処理を実行する。管理システムが、第2の仮想論理ボリュームが利用される際に、コピー処理により第2の仮想論理ボリュームに複製されたデータのうちの少なくとも一部のデータを、より特性の良い記憶媒体の実記憶領域に移動させるように、コントローラを制御する。

Description

計算機システム、管理システム及びデータ管理方法
 本発明は、仮想論理ボリュームを備えたストレージシステムを含む計算機システム、そのストレージシステムの管理システム、及び、データ管理方法に関する。
 近年、企業、大学等おけるデータ量は爆発的に増大しており、それを格納するストレージシステムも大規模化している。その一方で、ストレージシステムに許容される投資コストはデータ増大のスピードほど増加するものではない。このため、ストレージシステムの課題は、如何に安価に、如何に性能高く、システムを稼働させるかにかかっている。
 そこで、近年注目されているストレージ技術にストレージ仮想化がある。ストレージ仮想化は、記憶容量、記憶装置等を仮想化する技術である。例えば、特許文献1では、ストレージの記憶容量を仮想化する技術が開示されている。この技術によると、ストレージシステム内の仮想的なボリュームに向けホスト計算機から書き込まれたデータを、要件に応じ、応答性能や信頼性の異なる記憶階層に、選択的に保存することを実現する。さらに、ホスト計算機からのデータアクセス特性等から、ストレージが或る記憶階層に格納されていたデータの断片を適正な記憶階層に移動する技術が開示される。この技術により、性能を必要としないデータは安価な記憶階層に配置し、性能を必要とするデータは高価、高性能な記憶階層にデータを配置することが出来る。
 一方で、従来ホスト計算機が自らのCPUを消費して実施していたバックアップリカバリは、大量のデータをストレージシステムに保管する必要が生じ、多大な時間にわたってCPU負荷を消費せざるを得なかった。そこで、近年ではストレージシステムによるコピー機能を活用し、バックアップリカバリを実現する方法が一般的になりつつある。例えば、特許文献2に開示された技術は、ストレージシステムを使用するホスト計算機がアクセスするボリューム(正ボリューム)上データをストレージシステムのコピー機能により、同一データで異なる時間帯のデータとして、複数のボリューム(副ボリューム)に複製する。
特開2007-066259号公報 特開2003-140981号公報
 ここで、特許文献1のストレージ仮想化技術と特許文献2のコピー技術の組合せを考える。ストレージシステム内でコピー機能により複製された副ボリュームのデータは、正ボリュームのデータが故障する場合等、複製された後即座に使用されるものではない。そのため、副ボリュームのデータアクセスの傾向から、記憶階層間でデータを移動すると、安価で低性能な記憶階層にデータが配置されてしまい、副ボリュームを使用した直後は、期待した性能が得られない。また、近年はバックアップリカバリだけでなく、例えば、ストレージのコピー機能で複製した副ボリュームのデータを、解析業務など別のアプリケーションが動作するホスト計算機が使用する場合もある。この場合は、コピー機能で複製した直後に、副ボリュームがホスト計算機に使用されたとしても、副ボリュームのデータアクセス傾向は正ボリュームを使用したホスト計算機とは異なるものであり、副ボリュームを使用した直後は期待した性能が得られない。
 本発明は、上記課題に鑑みなされたものであり、その目的は、副ボリュームを、その使用目的に応じて適切な性能により利用できるようにすることにある。
 本発明の一観点に係る計算機システムは、ストレージシステムと、そのストレージシステムの管理システムとを含む。ストレージシステムは、特性の異なる複数の記憶媒体の実記憶領域により構成されたプールと、仮想記憶領域で構成され、プールを構成する実記憶領域の中から実記憶領域が仮想記憶領域に対して割り当てられる複数の仮想論理ボリュームと、仮想論理ボリュームを構成する仮想記憶領域に対する実記憶領域の割り当てを制御するコントローラとを含む。管理システムは、ストレージシステムにおける動作を管理及び/又は制御することができる。コントローラは、仮想論理ボリュームの仮想記憶領域で管理されるデータを、所定の条件に従って、割り当てられていた実記憶領域から特性の異なる他の前記記憶媒体の実記憶領域に移動させ、また、第1の仮想論理ボリュームの仮想記憶領域の少なくとも一部であるコピー対象領域についての第2の仮想論理ボリューム(副ボリューム)へのコピー処理を実行する。管理システムは、第2の仮想論理ボリュームが利用される際に、コピー処理により第2の仮想論理ボリュームに複製されたデータのうちの少なくとも一部のデータを、より特性の良い記憶媒体の実記憶領域に移動させるように、コントローラを制御する。
図1は第1の実施例における計算機システムの構成図である。 図2は第1の実施例における管理計算機の構成図である。 図3は第1の実施例におけるホスト計算機の構成図である。 図4は第1の実施例におけるストレージシステムの構成図である。 図5は第1の実施例におけるストレージシステム300がホスト計算機200に20GBと10GBの2論理ボリュームを提供する際の、ストレージシステムの動作概要を示す図である。 図6は第1の実施例におけるストレージシステム300でコピー機能を実施した場合の記憶階層制御の動作概要を示す図である。 図7は第1の実施例における管理計算機100に記憶されるコピー情報テーブル113の構成図である。 図8は第1の実施例における管理計算機100に記憶される保護データ管理テーブル115の構成図である。 図9は第1の実施例における管理計算機100に記憶されるホスト計算機管理テーブル111の構成図である。 図10は第1の実施例における管理計算機100に記憶されるカタログ管理テーブル116の構成図である。 図11は第1の実施例における管理計算機100に記憶されるストレージ情報テーブル114の構成図である。 図12は第1の実施例における管理計算機100に記憶される階層テーブル117の構成図である。 図13は第1の実施例におけるストレージシステム300に記憶されるコピーペア管理情報1210の構成図である。 図14は第1の実施例におけるストレージシステム300に記憶されるボリューム管理情報1250の構成図である。 図15は第1の実施例におけるストレージシステム300に記憶される仮想論理ボリューム管理情報1270の構成図である。 図16は第1の実施例におけるストレージシステム300に記憶される記憶階層プール管理情報1290の構成図である。 図17は第1の実施例におけるストレージシステム300に記憶されるストレージ基本情報1260の構成図である。 図18はIO要求7300の構成を説明する図である。 図19は第1の実施例における管理計算機100による環境構築段階の管理動作のフローチャートの一例である。 図20は第1の実施例における管理計算機100により提供されるコピー対象のアプリケーションプログラムのデータを決定するための管理画面の一例である。 図21は第1の実施例における管理計算機100により提供される保護要件を確定するための管理画面の一例である。 図22は第1の実施例におけるストレージシステム300におけるデータアクセス処理のフローチャートの一例である。 図23は第1の実施例におけるストレージシステム300におけるプールからのページ割り当て処理のフローチャートの一例である。 図24は第1の実施例におけるストレージシステム300によって実行されるクローンによるローカルコピーの開始処理のフローチャートの一例である。 図25は第1の実施例におけるクローンによるローカルコピーの一時停止中の動作のフローチャートの一例である。 図26は第1の実施例におけるクローンによるローカルコピーの一時同期の動作のフローチャートの一例である。 図27は第1の実施例におけるスナップショットによるローカルコピーの開始の動作のフローチャートの一例である。 図28は第1の実施例におけるスナップショットによるローカルコピーの一時停止中の動作のフローチャートの一例である。 図29は第1の実施例におけるスナップショットによるローカルコピーの一時同期の動作のフローチャートの一例である。 図30は第1の実施例における記憶階層制御処理のフローチャートの一例である。 図31は第1の実施例における管理計算機100によるデータ複製段階の管理動作のフローチャートの一例である。 図32は第1の実施例における管理計算機100によるデータ利用段階の管理動作のフローチャートの一例である。 図33は第1の実施例におけるストレージシステム300によって実行されるスナップショットおよびクローン共通のクイックリストアの動作のフローチャートの一例である。 図34は第1の実施例における本実施例におけるストレージシステム300によって実行されるスナップショットおよびクローンのリストアの動作のフローチャートの一例である。 図35は第2の実施例における、管理計算機100による仮想マシンデプロイの概要を説明する図である。 図36は第2の実施例における、管理計算機100による仮想マシンデプロイのホットスポット負荷分散のための管理動作のフローチャートの一例である。
 以下、図面を参照して、本発明の幾つかの実施例を説明する。
 なお、以下の説明では、「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、コントローラに含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェースデバイス(例えば通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサ或いはそのプロセッサを有する管理システム(例えば、表示用計算機(例えばクライアント)又は管理用計算機(例えばサーバ))が行う処理としても良い。また、コントローラは、プロセッサそれ自体であっても良いし、コントローラが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。プログラムは、プログラムソースから各コントローラにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
 なお、管理計算機は入出力デバイスを有する。入出力デバイスの例としてはディスプレイとキーボードとポインタデバイスが考えられるが、これ以外のデバイスであってもよい。また、入出力デバイスの代替としてシリアルインターフェースやイーサーネットインターフェース(イーサーネットは登録商標)を入出力デバイスとし、当該インターフェースにディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入力デバイスでの入力及び表示を代替してもよい。
 以後、計算機システムを管理し、ストレージシステムを管理制御する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理計算機が表示用情報を表示する場合は管理計算機が管理システムである。また、管理計算機と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含め)が管理システムである。
 また、以下の説明では、「時刻」という言葉を用いるが、時刻は年、付、日といった情報も指し示しても良く、当然ながら時、分、秒(含む小数点以下の秒)を指し示しても良い。
 図1は、本発明の第1の実施例に係る計算機システムの構成図である。
 計算機システムは、管理計算機100、ホスト計算機200、及びストレージシステム300を有する。計算機システムにおいて、管理計算機100及びホスト計算機200は、それぞれ一台であっても良く、複数台であっても良い。また、計算機システムにおいて、ストレージシステム300は、一台であっても良く、複数台であっても良い。
 管理計算機100、ホスト計算機200及びストレージシステム300が、通信ネットワーク(例えばSAN(Storage Area Network))500を介して相互に接続される。また、管理計算機100は、ホスト計算機200及びストレージシステム300に、通信ネットワーク(例えばLAN(Local Area Network))550を介して接続される。
 図2は第1の実施例における管理計算機の構成図である。
 管理計算機100は、メモリ110、プロセッサ120及びIO処理部130を有する計算機である。メモリ110、プロセッサ120及びIO処理部130は、内部ネットワーク(図示省略)によって相互に接続される。
 プロセッサ120は、メモリ110に記憶されるプログラムを実行することによって、各種処理を行う。例えば、プロセッサ120は、ストレージシステム300にIO要求を送信することによって、ストレージシステム300によって実行されるコピーを制御する。IO要求は、書込要求、読出要求又はコピー制御要求等を含む。IO要求については、後に図18を参照して詳細に説明する。
 メモリ110には、プロセッサ120によって実行されるプログラム及びプロセッサ120によって必要とされる情報等が記憶される。具体的には、メモリ110には、ホスト構成管理テーブル111、ストレージ管理プログラム112、コピー情報テーブル113、ストレージ情報テーブル114、保護データ管理テーブル115、カタログ管理テーブル116、及び、階層テーブル117が記憶される。更に、メモリ110には、OS(Operating System)及びアプリケーションプログラム(AP)が記憶されても良い。
 ホスト構成管理テーブル111は、後述するコピー対象となるデータを使用するホスト計算機管理用の情報である。ストレージ管理プログラム112は、ストレージシステム300を管理するためのプログラムである。コピー情報テーブル113は、ストレージシステム300のデータコピー機能であるローカルコピー及びリモートコピーの構成及び状態を管理するための情報である。そのため、メモリ110は、管理計算機100によって管理されるコピーの数、すなわち、ローカルコピー・リモートコピーの和と同数のコピー情報テーブル113を記憶する。なお、コピー情報テーブル113については、後に図7を参照して詳細に説明する。また、ローカルコピー及びリモートコピーについても後述する。
 ストレージ情報テーブル114は、管理計算機100によって管理されるストレージシステム300に関する情報である。なお、ストレージ情報テーブル114については、後に図11を参照して詳細に説明する。
 保護データ管理テーブル115は、後述する保護データ(コピー対象のデータ)に関連する情報などを保持する情報である。なお、保護データ管理テーブル115は使用者が管理計算機100に保護データ対象として登録した数だけ存在する。この保護データ管理テーブル115については、後に図8を参照して詳細に説明する。
 カタログ管理テーブル116は、後述する保護データの保護時刻に関連する情報などを保持する情報である。なお、カタログ管理テーブル116については、後に図10を参照して詳細に説明する。
 階層テーブル117は、指定した論理ボリュームが後述する記憶階層制御によってどの実ボリュームに配置されているかを保持するテーブルである。この階層テーブル117は、正ボリュームに割り当てられている実記憶領域を有する記憶媒体の特性を特定することのできる特性情報である。なお、階層テーブル117については、後に図12を参照して詳細に説明する。
 IO処理部130は、通信ネットワーク500を介してホスト計算機200及びストレージシステム300に接続されるインターフェースである。
 図3は第1の実施例におけるホスト計算機の構成図である。
 ホスト計算機200は、メモリ210、プロセッサ220及びIO処理部230を有する計算機である。メモリ210、プロセッサ220及びIO処理部230は、内部ネットワーク(図示省略)によって相互に接続される。
 プロセッサ220は、メモリ210に記憶されるプログラムを実行することによって、各種処理を行う。例えば、プロセッサ220は、ストレージシステム300にIO要求を送信することによって、そのストレージシステム300にある論理ボリューム(実論理ボリューム、仮想論理ボリューム)のデータにアクセスする。
 メモリ210には、プロセッサ220によって実行されるプログラム及びプロセッサ220によって必要とされる情報等が記憶される。具体的には、メモリ210には、アプリケーションプログラム(AP)211、OS212、エージェントプログラム213及びIO静止化プログラム214が記憶される。
 AP211は、各種処理を実行する。例えば、AP211は、データベース機能又はメールサーバ機能を提供する。OS212は、ホスト計算機200の処理の全体を制御する。エージェントプログラム213は、管理計算機100からの指示を受け付ける。IO静止化プログラム214は、OS212と連携し、IO要求を制御する。
 IO処理部230は、通信ネットワーク500を介して管理計算機100及びストレージシステム300と通信するためのインターフェースである。具体的には、例えば、IO処理部230は、ストレージシステム300にIO要求を送信する。
 図4は第1の実施例におけるストレージシステムの構成図である。
 ストレージシステム300は、記憶制御装置1000、複数のディスクドライブ1500、及び管理端末1600を備える。同図においては、管理端末1600は、ストレージシステム300内において記憶制御装置1000に直接的に接続されているが、通信ネットワーク500、550のうちの少なくとも一つを介してストレージシステム300に接続されても良い。記憶制御装置1000と、複数のディスクドライブ1500と、は内部ネットワークにより相互に接続されている。
 ディスクドライブ1500は、ディスク型の記憶メディアのドライブであり、ホスト計算機200から書き込み要求されたデータを記憶する。ストレージシステム300においては、ディスクドライブ1500に加えて、又は、ディスクドライブ1500に代えて、他種の記憶メディアを有する記憶デバイス(例えばフラッシュメモリドライブ)を備えても良い。
 記憶制御装置1000は、ストレージシステム300の動作を制御する。例えば、記憶制御装置1000は、ディスクドライブ1500へのデータの書き込み及びディスクドライブ1500からのデータの読み出しを制御する。また、記憶制御装置1000は、一以上の論理ボリュームを管理計算機100、及び、ホスト計算機200に提供する。一以上の論理ボリュームは、実ボリュームと仮想ボリュームのいずれか一方から構成される。実ボリュームは一以上のディスクドライブ1500の記憶空間を基に形成された論理的な一以上の記憶領域である。仮想ボリュームは当該実ボリュームの一部の領域を利用する仮想的なボリュームである。実ボリューム、及び、仮想ボリュームについては後に詳細に説明する。
 記憶制御装置1000は、キャッシュメモリ1100、共有メモリ1200、入出力制御部1300及びディスク制御部1400を備える。キャッシュメモリ1100、共有メモリ1200、入出力制御部1300及びディスク制御部1400は、内部ネットワーク(図示省略)によって相互に接続される。
 キャッシュメモリ1100は、ディスクドライブ1500へ書き込まれるデータ及びディスクドライブ1500から読み出されるデータを、一時的に記憶する。ディスク制御部1400は、ディスクドライブ1500へのデータの書き込み及びディスクドライブ1500からのデータの読み出しを制御する。また、ディスク制御部1400は、一以上のディスクドライブ1500の記憶空間を基に実ボリュームを生成する。
 入出力制御部1300は、プロセッサ1310、IO送受信部1320及びメモリ1330を備える。プロセッサ1310、IO送受信部1320及びメモリ1330は、内部ネットワーク(図示省略)によって相互に接続される。IO送受信部1320は、通信ネットワーク500を介して他の装置(例えば、管理計算機100、ホスト計算機200及び他のストレージシステム300の少なくとも一つ)と通信するインターフェースである。具体的には、例えば、IO送受信部1320は、管理計算機100又はホスト計算機200からIO要求を受信する。また、IO送受信部1320は、ディスクドライブ1500から読み出されたデータを、管理計算機100又はホスト計算機200に送信する。プロセッサ1310は、メモリ1330又は共有メモリ1200に記憶されるプログラムを実行することによって、各種処理を行う。具体的には、例えば、プロセッサ1310は、IO送受信部1320によって受信されたIO要求を処理する。メモリ1330には、プロセッサ1310によって実行されるプログラム及びプロセッサ1310によって必要とされる情報等が記憶される。
 共有メモリ1200には、プロセッサ1310によって実行されるプログラム及びプロセッサ1310によって必要とされる情報等が記憶される。更に、共有メモリ1200には、ディスク制御部1400によって実行されるプログラム及びディスク制御部1400によって必要とされる情報等が記憶される。具体的には、例えば、共有メモリ1200には、コピーペア管理情報1210、仮想ボリューム処理プログラム1220、コピー処理プログラム1230、入出力処理プログラム1240、ボリューム管理情報1250、仮想論理ボリューム管理情報1270及び記憶階層プール管理情報1290が記憶される。
 コピーペア管理情報1210は、当該ストレージシステム300によって提供される論理ボリュームを含むコピーペアを管理するための情報である。コピーペアは、ローカルコピー、リモートコピーの対象となる二つの論理ボリュームからなるコピー構成である。なお、コピーペア管理情報1210については、後に図13を参照して詳細に説明する。
 仮想ボリューム処理プログラム1220は、仮想ボリュームに関わる処理を実施する。コピー処理プログラム1230は、ローカルコピーを行う。入出力処理プログラム1240は、IO送受信部1320によって受信されたIO要求を処理する。
 ボリューム管理情報1250は、ストレージシステム300によって提供される論理ボリュームを管理するための情報である。なお、ボリューム管理情報1250については、後に、図14を参照して詳細に説明する。
 仮想論理ボリューム管理情報1270は、仮想論理ボリュームの仮想的な記憶領域と実ボリュームの割当領域(実記憶領域)の対応情報である。なお、仮想論理ボリューム管理情報1270については、図15を参照して詳細に説明する。
 記憶階層プール管理情報1290は、仮想論理ボリュームに割り当て可能な論理ボリュームを管理するための情報である。なお、記憶階層プール管理情報1290については、後に図16を参照して詳細に説明する。
 管理端末1600は、プロセッサ、メモリ及びインターフェース(図示省略)を備える計算機である。管理端末1600は、システム使用者(ユーザ)から入力された情報を、ストレージシステム300の記憶制御装置1000に送信する。
 次に、本発明の第1の実施例で行われる処理の概要を説明する。
 はじめに、本実施例で前提となる論理ボリューム、実論理ボリューム、仮想論理ボリュームの関係を説明する。
 図5は、ストレージシステム300がホスト計算機200に20GBと10GBの2つの論理ボリュームを提供する際の、ストレージシステム300の動作を示している。同図では、ホスト計算機200a、200bが存在するが、両ホスト計算機に違いは無く、説明上ホスト計算機の区別が必要な場合のみ、「a」「b」を番号の後ろに付与するものとする。論理ボリュームは実ボリューム、仮想ボリュームのいずれか一方から構成される。本実施例ではそれぞれを区別するため、実ボリュームから構成される論理ボリュームを実論理ボリューム、仮想ボリュームから構成される論理ボリュームを仮想論理ボリュームとよぶことにする。
 図5では、Vol2が実論理ボリュームに該当し、Vol1が仮想論理ボリュームに該当する。実ボリュームは一以上のディスクドライブ1500の記憶領域を基に形成された論理的な一以上の記憶領域である。本実施例におけるストレージシステム300は、複数の異なる特性を備えた実ボリュームを有する。特性とは、例えば、ディスクドライブの種別、すなわち、ディスクの回転数やFC、SAS、SATAなどのインターフェースの違いや、ディスクドライブから記憶領域を形成する方法(RAIDレベルなど)の違いであり、この特性の違いにより、データを読み書きするために必要となる時間や、ハードウェア障害から回復できる可能性が異なる。ここで、RAIDとは、Redundant Array of Independent (or Inexpensive) Disksの略である。また、RAIDレベルとは、実ボリュームの信頼性や性能の分類である。具体的には、RAIDレベルは、ホスト計算機200から書き込まれたデータを分割・複製することでデータの断片を複数のディスクドライブ1500に分散、かつ、重複して保持する、もしくは、データを復元するために必要なパリティなどのデータを生成しホスト計算機200のデータと同時に保持する、などの手段の違いにより分類される。
 仮想論理ボリュームは実ボリュームにおける記憶領域の断片を使用する仮想的なボリュームである。図5では、その一例として、ホスト計算機200からのデータIO要求で仮想論理ボリューム(Vol1)の1領域に、データ要素D3が記憶されるが、実際には、その領域に割り当てられた実ボリュームの記憶領域の断片(P3)にデータ要素D3が記憶される。このように、仮想論理ボリュームへの読み、書きで実ボリュームに割り当てられた「記憶領域の断片」を、以後、「ページ」とよび、ページに記憶されるデータ(言い換えれば、ページの割当て先の仮想領域に記憶されるデータ)を、「データ要素」とよぶ。図5ではページP3は、実ボリューム(Vol13)から提供される。また、通常、ホスト計算機200からアクセスされる実論理ボリューム用の実ボリュームと、仮想論理ボリューム用の実ボリュームとを区別するために、ストレージシステム300では、仮想論理ボリューム用の実ボリュームは特別なグループ(以下、「プール」とよぶ)に登録し、管理される。プールには特性の異なる1又は複数の実ボリュームが特性情報とともに登録される。
 また、ストレージシステム300では仮想論理ボリュームにおいて、実ボリュームの特性情報を基に、プール内で特性の異なる実ボリューム間でページを移動させる。これを本実施例では、記憶階層制御とよぶ。記憶階層制御の動作例を、図5を参照して説明する。今、ストレージシステム300では、ホスト計算機200によるデータ読み書きの応答時間の違いを特性情報(例えば、高性能や、中性能)として管理しているものとする。ここで、ホスト計算機200からページD2へのデータアクセス頻度が過去との比較で高まったと判断する場合、ストレージシステム300は低性能から中性能な実ボリュームにページD2を移動させる。上記のようなページ移動を実施することで、ストレージシステム300は、ホスト計算機200がデータアクセスする頻度に応じ、適切な性能の論理ボリュームを提供することが出来る。
 以上のように記憶階層制御では、プール内の特性の異なる実ボリューム間でページの移動を実施する。なお、本実施例では記憶階層制御でページ移動の鍵となる実ボリュームの特性の違いを「階層」の違いと表記することにする。
 次に、本実施例で対象とするストレージシステム300でコピー機能を実施した場合の記憶階層制御について、図を参照して説明する。
 図6は第1の実施例におけるストレージシステム300でコピー機能を実施した場合の記憶階層制御の動作概要を示す図である。
 一般的にコピー機能により複製されたデータは多様な用途で利用される。用途としては、例えば、バックアップリカバリ、2次利用などがある。ここで、バックアップリカバリとは、指定された時刻にホスト計算機200が生成したデータをホスト計算機200が使用する論理ボリュームに加え、コピー機能で別論理ボリュームにも複製する。これにより、万一のデータ故障(Data corruption)に備えるものである。すなわち、ホスト計算機200上で動作するアプリケーションプログラムの誤動作や人手による誤操作などによりデータが使用不可能になった場合でも、ストレージシステム300のコピー機能により、保護されたある時点のデータを、壊れたデータと置き換えることで、ホスト計算機200によるデータアクセスの再開を可能にする。
 一方、2次利用とは、ホスト計算機200aが生成したデータの複製(保護データ)を、当該ホスト計算機200aのアプリケーションプログラム(AP1)とは異なるアプリケーションプログラム(AP2)が動作するホスト計算機200bから、使用するものである。これは、ホスト計算機200aの処理データを別用途で活かすために解析するような場合に利用される。2次利用ではAP1とAP2が異なっているため、ホスト計算機200aとホスト計算機200bによるデータへのアクセス傾向は異なる特徴がある。
 ここで、記憶階層制御を備えたストレージシステム300において、コピー機能を2次利用の目的で使用することを考える。上述の通り、2次利用の場合には、一般的には、ホスト計算機200aと200bとは異なる傾向のデータアクセスを行う。このため、ストレージシステム300は、記憶階層制御により、コピー元とコピー先の仮想論理ボリューム間で、異なる階層の実ボリュームへのページ配置を実施することが望ましい場合がある。一方で、バックアップリカバリの場合には、同一ホスト計算機200がコピー元、コピー先の仮想論理ボリュームにアクセスするため、ストレージシステム300は、記憶階層制御により、コピー元、コピー先の仮想論理ボリュームで共通階層の実ボリュームへのページ配置を実施することが望ましい。
 そこで、本実施例では、記憶階層制御を備えたストレージシステム300でコピー機能を利用する場合に、当該コピー機能の用途に応じた記憶階層制御を実施する。以降、その動作を詳細に説明する。なお、本実施例で前提となる論理ボリュームは仮想論理ボリュームである。実施例中で実論理ボリュームと仮想論理ボリュームの区別をする必要がない場合、論理ボリュームは仮想論理ボリュームを指すものである。
 図7は第1の実施例における管理計算機100に記憶されるコピー情報テーブル113の構成図である。
 コピー情報テーブル113には、コピー情報1131、グループID1132及びコピー構成情報(1133~1137)が含まれる。コピー情報テーブル113は、実施されるコピー処理の数分、管理計算機100に存在する。
 コピー情報1131は、コピー種別及びコピーオプション情報を含む。コピー種別は、このコピー情報テーブル113によって管理されるコピーがローカルコピー又はリモートコピーのいずれであるかを示す。ローカルコピーとは、同一のストレージシステム300内で行われるコピーであり、この場合、コピー元の論理ボリューム(正ボリューム:PVOL)とコピー先の論理ボリューム(副ボリューム:SVOL)とが同一のストレージシステム300に存在する。リモートコピーとは、異なるストレージシステム300間で行われるコピーであり、この場合、コピー元の論理ボリュームとコピー先の論理ボリュームとが別々のストレージシステム300に存在する。コピーオプション情報は、コピー種別毎に備わるオプションを表す情報である。例えば、オプション情報は、ローカルコピーの一時停止時にコピー先の論理ボリュームへの書き込みが可能か否かを表す。ローカルコピーの一時停止とは、管理計算機100からの指示によるローカルコピーの一時停止である。
 グループID1132は、複数のコピーペア(コピー元の論理ボリュームとコピー先の論理ボリュームのペア)を含むグループについての一意な識別子である。グループを用いることで、管理計算機100は当該グループに含まれるコピーペアをまとめて制御することができる。
 コピー構成情報は、正ストレージID1133、正ボリュームID1134、副ストレージID1135及び副ボリュームID1136、コピー状態情報1137を含む。
 正ストレージID1133は、コピー元となった論理ボリューム(正ボリューム)を提供するストレージシステム(正ストレージシステム)300の一意な識別子である。正ボリュームID1134は、コピー元となった論理ボリューム(正ボリューム)の一意な識別子(ID)である。
 副ストレージID1135は、コピー先となった論理ボリューム(副ボリューム)を提供するストレージシステム(副ストレージシステム)300の一意な識別子である。なお、ローカルコピーの場合には、正ストレージシステムと同一のIDになる。副ボリューム1136は、コピー先となった論理ボリューム(副ボリューム)の一意な識別子である。
 コピー状態情報1137は、このコピー情報テーブル113によって管理されるコピー処理の現在の状態を示す。具体的には、例えば、コピー状態情報1137は、このコピー情報テーブル113によって管理されるコピー処理の状態が、コピー無し、コピー中、一時停止中、ペア状態、又は異常状態のいずれであるかを示す。
 図8は第1の実施例における管理計算機100に記憶される保護データ管理テーブル115の構成図である。
 保護データ管理テーブル115は、番号1150、アプリケーション名1151、ホストID1152、開始時刻1153、スケジュール1154、目的1155、保護データ1156、使用期間1157、世代数1158、現コピー情報テーブル1159を含む。
 番号1150は、保護データ管理テーブル115に複数格納される保護データの情報を識別するための番号である。アプリケーション名1151は、コピー処理対象のデータを使用するホスト計算機200上のアプリケーション(アプリケーションプログラム)名称である。ホストID1152は、対応するアプリケーションが動作するホスト計算機200を一意に識別する識別子である。開始時刻1153は、コピー処理を開始する時刻である。スケジュール1154は、データ保護のためのコピー処理を実施する契機が格納される。例えば、平日(月曜から金曜)の或る時刻(9時、12時、16時等)といったコピー処理開始時刻が格納される。目的1155には、コピー処理の目的、例えば、バックアップリカバリ、二次利用といった情報が格納される。
 保護データ1156は、コピー処理対象のデータの位置の情報(コピー対象領域)である。位置情報としては、例えば、ホスト計算機200がボリュームに割り当てるID(WWN(World Wide Name)+LUN(Logical Unit Number)等)とボリューム上の該当ファイルの位置(LBA(Logical Block Address)1からLBA3等)が格納される。使用期間1157は、対応するコピー処理で複製されたデータがどの程度の期間使用されるかを示す。例えば、コピー終了直後2時間といった情報が格納される。世代数1158は、コピー構成で正ボリュームを共通とする、副ボリュームが異なるコピー構成の数(世代の数)を表す。現コピー情報テーブル1159は、コピー処理において現在使用中のコピー情報テーブル113を表す。
 図9は第1の実施例における管理計算機100に記憶されるホスト計算機管理テーブル111の構成図である。
 ホスト計算機テーブル111は、ホストID1111、アプリケーション名1112、データ名1113、格納場所1114、ストレージID1115、及びボリュームID1116を含む。
 ホストID1111は、ホスト計算機200の一意な識別子である。例えば、ホストID1111は、TCP/IPのHost NameとIPアドレスとの組み合わせである。アプリケーション名1112は、ホスト計算機200で主に動作するアプリケーション名を指す。例えば、DBMSなどの情報が格納される。
 データ名1113は、アプリケーション名1112で記されたアプリケーションのためのデータ名称を指す。例えば、データ名称として、アプリケーションで使用されるデータの名称(Table1など)や単にファイル名が格納される。格納場所1114は、データ名が指すデータが格納されるストレージの場所情報を指す。例えば、WWN1、LUN1からLUN5などの情報が格納される。ストレージID1115は、管理計算機100によって管理されるストレージシステム300の一意な識別子である。ボリュームID1116は、ストレージID1115によって識別されるストレージシステム300が付与した論理ボリュームの一意な識別子である。
 図10は第1の実施例における管理計算機100に記憶されるカタログ管理テーブル116の構成図である。
 カタログ管理テーブル116は、保護時刻1161、コピーID1162、保護データ管理テーブル番号1163を含む。
 保護時刻1161は、コピー処理が完了した時刻を指す。コピーID1162は、コピー情報テーブル113の一意の識別子である。保護データ管理テーブル番号1163は、保護データ管理テーブル115を一意に識別する番号である。
 図11は第1の実施例における管理計算機100に記憶されるストレージ情報テーブル114の構成図である。
 ストレージ情報テーブル114は、ストレージID1141、及び、ボリュームID1142を含む。ストレージID1141は、管理計算機100によって管理されるストレージシステム300の一意な識別子である。ボリュームID1142は、ストレージID1141によって識別されるストレージシステム300が付与した論理ボリュームの一意な識別子である。
 図12は第1の実施例における管理計算機100に記憶される階層テーブル117の構成図である。
 階層テーブル117は、ボリュームID11701及びアドレスマップ(11702、11703)を含む。ボリュームID11701は、このストレージシステム300によって一意に示す実ボリュームの識別子である。アドレスマップは、仮想アドレス11702、階層アドレスポインタ11703で構成される。仮想アドレス11702は、仮想ボリュームにおける仮想領域を指すエクステントアドレスである。階層アドレスポインタ11703は、記憶階層プール管理情報1290の特定階層の記憶階層アドレスマップの一領域を指すポインタである。具体的には、階層番号と、階層番号毎に提供される記憶階層アドレスマップの1アドレスが格納される。なお、仮想領域にページが割り当てられていない場合には、その仮想領域の仮想アドレス12702に対応した階層アドレスポインタ12703は、「空き」を示す情報となる。
 図13は第1の実施例におけるストレージシステム300に記憶されるコピーペア管理情報1210の構成図である。
 コピーペア管理情報1210は、論理ボリュームID12101、コピー状態情報12102、コピー対象ストレージID12103、コピー対象ボリュームID12104、コピーペアID12105、グループID12106及びコピー種別12107を含む。
 論理ボリュームID12101は、コピーペア管理情報1210を記憶するストレージシステム300によって提供されるコピー元又はコピー先となる論理ボリュームの一意な識別子である。コピー状態情報12102は、論理ボリュームID12101によって識別される論理ボリュームに対するコピー処理の現在の状態を示す。具体的には、例えば、コピー状態情報12102は、論理ボリュームID12101によって識別される論理ボリュームが、正ボリューム、副ボリューム、コピー中、一時停止中又は異常のいずれであるかを示す。
 コピー対象ボリュームID12104は、論理ボリュームID12101によって識別される論理ボリュームとコピーペアになる論理ボリュームの一意な識別子である。つまり、コピー対象ボリュームID12104は、論理ボリュームID12101によって識別される論理ボリュームに記憶されるデータのコピー先又はコピー元となる論理ボリュームの一意な識別子である。コピー対象ストレージID12103は、論理ボリュームID12101によって識別される論理ボリュームとコピーペアになる論理ボリュームを提供するストレージシステム300の一意な識別子である。つまり、コピー対象ストレージID12103は、コピー対象ボリュームID12104によって識別される論理ボリュームを提供するストレージシステム300の一意な識別子である。
 コピーペアID12105は、論理ボリュームID12101によって識別される論理ボリューム及びコピー対象ボリュームID12104によって識別される論理ボリュームを含むコピーペアの一意な識別子である。グループID12106は、コピーペアID12105によって識別されるコピーペアが属するコピーグループの一意な識別子である。ストレージシステム300は、一つ以上のコピーペアを含むコピーグループを管理する。そのため、管理計算機100は、コピーグループを指定することにより、グループに含まれるコピーペアに対して、ローカルコピーもしくはリモートコピーの運用の一時停止、再開、一時同期、又は解除を一括して指示できる。コピー種別12107は、コピーペアID12105によって識別されるコピーペアに実行されるコピーの種類である。例えば、コピー種別12107は、ローカルコピー、リモートコピーのいずれかを表す。
 図14は第1の実施例におけるストレージシステム300に記憶されるボリューム管理情報1250の構成図である。
 ボリューム管理情報1250は、論理ボリュームID12501、ボリューム状態12502、容量12503、コピーペアID12504、グループID12505、実ボリュームID12506、及び仮想フラグ12507を含む。
 論理ボリュームID12501は、ボリューム管理情報1250を記憶するストレージシステム300によって提供される論理ボリュームの一意な識別子である。ボリューム状態12502は、論理ボリュームID12501によって識別される論理ボリュームの現在の状態を示す。例えば、ボリューム状態12502は、正ボリューム、副ボリューム、正常、異常又は未実装のうち少なくとも一つを表す。より具体的には、例えば、論理ボリュームID12501によって識別される論理ボリュームが正ボリュームの場合、ボリューム状態情報12502は、「正ボリューム」を表す。また、論理ボリュームID12501によって識別される論理ボリュームが副ボリュームの場合、ボリューム状態情報12502は、「副ボリューム」を表す。また、論理ボリュームID12501によって識別される論理ボリュームにホスト計算機200が正常にアクセスできる場合、ボリューム状態情報12502は、「正常」を表す。また、論理ボリュームID12501によって識別される論理ボリュームにホスト計算機200が正常にアクセスできない場合、ボリューム状態情報12502は、「異常」を表す。例えば、ディスクドライブ1500の故障時、コピーの障害時には、ボリューム状態情報12502は、「異常」を表す。また、論理ボリュームID12501によって識別される論理ボリュームにデータが格納されていない場合、ボリューム状態情報12502は、「未実装」を表す。
 容量12503は、論理ボリュームID12501によって識別される論理ボリュームの容量(記憶容量)である。コピーペアID12504は、論理ボリュームID12501によって識別される論理ボリュームを含むコピーペアの一意な識別子である。グループID12505は、コピーペアID12505によって識別されるコピーペアが属するコピーグループの一意な識別子である。実ボリュームID12506は、論理ボリュームID12501によって識別される論理ボリュームに対応付いた仮想ボリュームもしくは実ボリュームを指す識別子である。仮想フラグ12507は、論理ボリュームが仮想ボリュームから構成される(例えば、フラグが1)か、又は、否か(例えば、フラグが0)を示す。フラグが1の場合、論理ボリュームが仮想論理ボリュームであることを意味する。また、フラグが0の場合、論理ボリュームが実論理ボリュームであることを意味する。
 図15は第1の実施例におけるストレージシステム300に記憶される仮想論理ボリューム管理情報1270の構成図である。
 仮想論理ボリューム管理情報1270は、仮想論理ボリュームに関する情報である。仮想論理ボリューム管理情報1270の数は、ストレージシステム300が保持する仮想論理ボリュームの個数と同数である。つまり、仮想論理ボリューム管理情報1270と仮想論理ボリュームは1対1で対応する。仮想論理ボリューム管理情報1270は、ボリュームID12701、プールID12703及びアドレスマップ(12704、12705、12706)を含む。以下、この仮想ボリューム情報1270を記憶するストレージシステム300を「このストレージシステム300」と呼び、この仮想論理ボリューム管理情報1270に対応する仮想論理ボリュームを「この仮想ボリューム」とよぶ。
 ボリュームID12701は、このストレージシステム300によって一意に示す実ボリュームの識別子である。プールID12703は、このストレージシステム300によって管理される記憶階層プール管理情報1290を一意に示す識別子である。プールID12703は、この仮想論理ボリュームにページを提供する実ボリューム群を特定するために使用される。
 アドレスマップは、仮想アドレス12704、階層アドレスポインタ12705、及び、更新フラグ12706で構成される。仮想アドレス12704は、仮想論理ボリュームにおける一単位の仮想領域を指すエクステントアドレスである。一単位の仮想領域のサイズはページのサイズと同一である。ホスト計算機200からのIO要求において仮想論理ボリュームが指定される場合、仮想論理ボリュームにおけるアクセス先の仮想領域を表す仮想アドレスも指定される。階層アドレスポインタ12705は、プールID12703が指す記憶階層プール管理情報1290の特定階層の記憶階層アドレスマップの一領域を指すポインタである。つまり、記憶階層プール管理情報1290にはいくつかの階層があり、各階層には記憶階層アドレスマップがある。さらに、記憶階層アドレスマップは、線形的な記憶領域を提供しており、階層アドレスポインタ12705により、そのプール内の階層番号と当該階層番号毎に提供される記憶階層アドレスマップの1アドレスを指定する。なお、仮想領域にページが割り当てられていない場合、その仮想領域の仮想アドレス12704に対応した階層アドレスポインタ12705は、「空き」を示す情報となる。更新フラグ12706はこの仮想アドレスが指す領域(ページ)に書き込みがあったことを示すフラグである。
 図16は第1の実施例におけるストレージシステム300に記憶される記憶階層プール管理情報1290の構成図である。
 記憶階層プール管理情報1290は、プールを管理するための情報である。記憶階層プール管理情報1290の数は、このストレージシステム300内におけるプールの数と同数である。つまり、記憶階層プール管理情報1290とプールとは1対1で対応する。記憶階層プール管理情報1290は、プールID12901、記憶階層アドレスマップ情報(12902~12909)を含む。以下、この記憶階層プール管理情報1290に対応するプールを「このプール」とよぶ。プールID12901は、このプールを一意に示す識別子である。記憶階層アドレスマップ情報は、このプールに1又は複数存在する階層に割り当てられた1又は複数の実ボリュームを管理するための情報である。記憶階層アドレスマップ情報は、このプールに登録される階層の個数分存在し、各階層の記憶領域を線形的なアドレスで参照可能にする。記憶階層アドレスマップ情報は、階層番号12902、総実ボリューム数12903、総容量情報12904、空き総容量情報12905、アドレス12906、割当情報12907、ボリュームID12908、及び、実アドレス12909を含む。以下、この記憶階層アドレスマップ情報に対応する実ボリュームを「この実ボリューム」とよぶ。
 階層番号12902は、記憶階層の階層を表す番号である。総実ボリューム数12903は、この階層番号が指す階層に登録される実ボリュームの個数を指す。総容量情報12904は、この階層番号が指す階層に登録される実ボリュームの総容量を指す。空き総容量12905は、この階層番号が指す階層に登録される実ボリュームでページが割り当てられていない空き領域の総容量を指す。ボリュームID12902は、この実ボリュームの一意な識別子である。アドレス12906は、記憶階層アドレスマップが提供する線形的なアドレス空間のアドレスを表す。割当情報12907は、アドレス12906に対応する領域が割当て済みか、又は未割当てか(つまり、割当不可能か割当可能か)、及び、割当済みの場合は、この領域割当後に、何回参照されたかの情報(アクセス頻度)を表す。ボリュームID12908は、実ボリュームの一意な識別子である。実アドレス12909は、実ボリュームIDが指す実ボリュームにおけるアドレスを指す。
 図17は第1の実施例におけるストレージシステム300に記憶されるストレージ基本情報1260の構成図である。
 ストレージ基本情報1260は、ストレージシステム300に付与されたIPアドレス12601、ストレージID12602を含む。IPアドレス12601は、ストレージシステム300に付与されたIPアドレスである。ストレージID12602は、IPアドレス12601が指すストレージシステムの一意な識別子である。
 図18はIO要求7300の構成を説明する図である。
 IO要求7300は、管理計算機100、又はホスト計算機200によって発行される。IO要求7300は、宛先73001、指示内容73002、通し番号73003、グループID73004、及びオプション73005を含む。
 宛先73001は、このIO要求7300についての宛先に関する情報である。宛先73001は、例えば、このIO要求7300の送信先となるストレージシステム300の識別子と、そのストレージシステム300における論理ボリューム(例えば仮想論理ボリューム或いは実論理ボリューム)の識別子と、その論理ボリュームにおける記憶領域(例えば、仮想領域、或いは実領域)のアドレス(ボリュームアドレス)とを含んだ情報である。
 指示内容73002は、このIO要求7300によって指示される処理の内容である。例えば、指示内容73002は、ローカルコピー又はリモートコピーの制御指示か、或いは、データアクセスの指示等である。ローカルコピー又はリモートコピーの制御指示としては、例えば、ローカルコピー新規開始、ローカルコピー追加、ローカルコピークローズ、リモートコピー新規開始、リモートコピー追加、リモートコピークローズ、リストア準備、高速リストア、通常リストア(リストア準備、高速リストア、通常リストアは、ローカルコピーとリモートコピー共通)、高位階層移動、低位階層移動、又は状態取得などがある。また、データアクセスの指示としては、例えば、データ書き込み又はデータ参照がある。
 通し番号73003は、このIO要求7300が発行された順番を示す。そのため、通し番号73003は、このIO要求7300の発行元である管理計算機100又はホスト計算機200によって決められる。グループID73004は、このIO要求7300による処理の対象となるコピーグループの一意な識別子である。オプション73005は、コピー構成情報、このIO要求7300を補助するオプション情報及びこのIO要求7300によって書き込みが要求されるデータ等である。なお、コピー構成情報は、コピー種別、コピー先のストレージID、コピー元の実論理ボリュームIDもしくは仮想論理ボリュームID、コピー先のストレージID及びコピー元の実論理ボリュームIDもしくは仮想論理ボリュームID等を含む。
 次に、ストレージシステム300の動作を説明する。
 図22は第1の実施例におけるストレージシステム300におけるデータアクセス処理のフローチャートの一例である。
 ストレージシステム300の入出力制御部1300は、ホスト計算機200からIO要求7300を受信すると、そのIO要求7300の宛先73001が仮想論理ボリュームを表しているか否かを判定する(ステップ5000)。具体的には、例えば、入出力制御部1300のプロセッサ1310(以下、入出力制御部1300)は、IO要求7300の宛先73001を参照し、宛先73001に含まれているボリュームIDを取得する。次に、入出力制御部1300は、取得したボリュームIDに合致する論理ボリュームに関する情報を、ボリューム管理情報1250から取得する。そのボリューム管理情報1250の仮想フラグ12507が仮想論理ボリュームを表している場合(ステップ5000でYes)、入出力制御部1300は、ステップ5005以降を実行し、仮想論理ボリュームを表していない場合(ステップ5000でNo)、ステップ5095を実行する。以下、図22及び図23の説明において、上記取得したボリュームIDに対応する仮想論理ボリュームを「この仮想論理ボリューム」とよぶ。
 ステップ5005において、入出力制御部1300は、1又は複数の仮想論理ボリューム管理情報1270から、上記取得したボリュームIDに合致するボリュームID12701を有した仮想論理ボリューム管理情報1270を参照する。以下、図22及び図23の説明において、この特定された仮想論理ボリューム管理情報1270を「この仮想論理ボリューム管理情報1270」とよぶ。
 次に、入出力制御部1300は、この仮想論理ボリューム管理情報1270から、IO要求7300の宛先73001に含まれているボリュームアドレス(以下、図22及び図23の説明において「このボリュームアドレス」と言う)に合致する仮想アドレス12704を特定する。入出力制御部1300は、特定した仮想アドレス12704に対応した仮想アドレスエントリを参照する。ここで、仮想アドレスエントリとは、仮想アドレス12704及び階層アドレスポインタ12705及び、更新フラグ12706からなるエントリである。
 入出力制御部1300は、IO要求7300の指示内容73002が、データ参照か否かを調べる(ステップ5010)。データ参照ではない場合(ステップ5010でNo)、入出力制御部1300は、さらに、IO要求7300の指示内容73002がデータ更新であるか否か判定する(ステップ5020)。
 ステップ5020の判定の結果、IO要求の指示内容73002がデータ更新でない場合(ステップ5020でNo)、入出力制御部1300は、IO要求に記載される指示に従った処理、すなわち、コピー処理、記憶階層処理などの各ストレージ機能の処理(ステップ5030)を実施する。なお、コピー処理(ステップ5030)については後述する。
 ステップ5020の判定の結果、IO要求の指示内容73002がデータ更新の場合(ステップ5020でYes)、もしくは、各ストレージ機能の処理(ステップ5030)終了後、入出力制御部1300は、この仮想アドレスエントリにおける階層アドレスポインタ12705を参照する(ステップ5060)。参照の結果、階層アドレスポインタ12705が「空き」(割当ページがないこと)を表している場合(ステップ5060でNo)、入出力制御部1300は、プールからページを割り当てる処理(ステップ5070)を実施する。ページを割り当てる処理(ステップ5070)の詳細については後述する。
 ここで、ステップ5010の判定で、IO要求7300における指示内容73002がデータ参照である場合(ステップ5010でYes)、入出力制御部1300は、この仮想アドレスエントリの階層アドレスポインタ12705を参照する。参照の結果、階層アドレスポインタ12705が「空き」(割当ページがないこと)を表している場合(ステップ5040でNo)、入出力制御部1300は、IO要求7300でデータ参照の結果を“0”として(つまり、“0”を表すデータ要素が読み出されたとして)、ホスト計算機200にデータ要素“0”を返信し(5050)、データアクセス処理を終了する。
 プールからページを割り当てる処理(ステップ5070)の後、もしくは、ステップ5060の判定で階層アドレスポインタ12705が「空き」を表していない場合(割当ページがある場合)(ステップ5060でYes)、入出力制御部1300は、コピーペア管理情報1210を参照し、この仮想論理ボリュームが含まれ、そのコピー状態12102が一時停止であるものを検出する(ステップ5080)。
 この仮想論理ボリュームが含まれ、そのコピー状態12102が一時停止であるコピーペア管理情報1210が存在する場合(ステップ5080でYes)、各種コピー処理の一時停止動作を実施する(ステップ5090)。
 ステップ5080の判定で、条件が合わない場合(ステップ5080でNo)、ステップ5040の判定で、階層アドレスポインタ12705が「空き」を表していない場合(ステップ5040でYes)、もしくは、そのボリューム管理情報1250の仮想フラグ12507が仮想論理ボリュームを表していない場合(ステップ5000でNo)、入出力制御部1300は、その論理ボリューム(仮想論理ボリューム又は実論理ボリューム)へのデータアクセス処理(ステップ5095)を実施する。論理ボリュームへのデータアクセス処理で、IO要求7300の宛先73001が表す論理ボリュームが仮想論理ボリュームである場合、入出力制御部1300は、この仮想アドレスエントリの階層アドレスポインタ12705から特定されるページにアクセスする。また、IO要求7300の宛先73001が表す論理ボリュームが実論理ボリュームである場合、入出力制御部1300は、宛先73001におけるボリュームアドレスから特定される実領域にアクセスする。
 以上が、データアクセス処理の流れの一例である。なお、図22の説明において、入出力制御部1300が行う処理を、例えば、入出力処理プログラム1240を実行するプロセッサ1310が行うことができる。そのプロセッサ1310は、仮想ボリュームに関わる処理については、仮想ボリューム処理プログラム1220を実行することで行うことができる。
 図23は第1の実施例におけるストレージシステム300におけるプールからのページ割り当て処理(ステップ5070)のフローチャートの一例である。
 ストレージシステム300の入出力制御部1300は、この仮想論理ボリュームの仮想論理ボリューム管理情報1270におけるプールID12703が指す記憶階層プール管理情報1290を参照する。次に入出力制御部1300は、1又は複数の記憶階層アドレスマップ情報のうち、階層番号が最も小さい階層(性能や信頼性が最も高いと設定される最上位の階層)を選択する(ステップ5100)。
 次に、入出力制御部1300は、この階層番号の記憶階層アドレスマップ情報のいずれかの割当情報12907に「空き」を表しているものがあるか否かを判定する(ステップ5120)。
 ここで、ステップ5120の結果、記憶階層アドレスマップ情報のいずれかの割当情報12907に「空き」のあるエントリ(アドレス12906、割当情報12907、ボリュームID12908、実アドレス12909からなる記憶階層アドレスマップ情報の行)が見つかれば(ステップ5120でYes)、入出力制御部1300は、このエントリの情報を参照し、ボリュームID12908と実アドレス12909を取得し、アクセス対象のページを特定する。さらに、入出力制御部1300は、このエントリの割当情報12907を“割当あり”にし、さらにこの情報に含まれるアクセス頻度の値に1を加算する(ステップ5150)。
 次に、入出力制御部1300は、この記憶階層アドレスマップ情報の空き総容量情報12905の空き総容量からページ容量分削減する(ステップ5160)。
 次に、入出力制御部1300は、仮想論理ボリューム管理情報1270の階層アドレスポインタ12705をこのエントリに変更する。階層アドレスポインタ12705は、記憶階層プール管理情報1290の階層番号12902及びアドレス12906から構成される。
 一方、ステップ5120の判定の結果、記憶階層アドレスマップ情報のいずれもの割当情報12907に「空き」が無い場合(ステップ5120でNO)、入出力制御部1300はこの記憶階層アドレスマップ情報の階層番号よりも1階層下位(現在の階層番号+1)の記憶階層アドレスマップ情報の有無を確認する(ステップ5130)。
 1階層下位の記憶階層アドレスマップ情報が存在する場合(ステップ5130でYes)、入出力制御部1300は、現在よりも1階層下位の記憶階層アドレスマップ情報(現在の階層番号+1)を選定し(ステップ5110)、再度ステップ5120を実施する。
 1階層下位の記憶階層アドレスマップ情報が存在しない場合(ステップ5130でNo)、入出力制御部1300は、IOエラーをIO要求発行元のホスト計算機200に返信する(ステップ5140)。入出力制御部1300は、ここで、IOエラーのホスト計算機200への返信だけでなく、管理端末1600や、メール等で使用者に通知しても良い。
 以上が、ページ割当て処理の流れの一例である。なお、図23の説明において、入出力制御部1300が行う処理を、例えば、入出力処理プログラム1240を実行するプロセッサ1310が行うことができる。そのプロセッサ1310は、仮想ボリュームに関わる処理については、仮想ボリューム処理プログラム1220を実行することで行うことができる。
 次に、ストレージシステム300によって実行されるコピー処理の動作を説明する。
 ここで、本実施例で使用するローカルコピー処理の概要を説明する。ローカルコピー処理は、クローンとスナップショットとの2種類に分類される。クローンとは、複製直後、コピー元、コピー先の論理ボリュームは同一容量、同一データになる。
 一方、スナップショットは、コピー元がコピー処理を開始してから受信した更新データが格納される場所に、存在しているデータをコピー先の論理ボリューム(副ボリューム)に複製する。ホスト計算機200が副ボリュームに対して読み書きする場合には、副ボリュームにデータが複製されている場所に対してデータ参照するときには、この副ボリューム上のデータを使用する一方、副ボリュームに複製されていないデータを参照する(読み込む)ときには、正ボリュームを参照する。また、ホスト計算機200が副ボリュームに複製されていないデータに書き込む場合は、さらに、副ボリュームの該当する場所にホスト計算機からの更新データを書き込む。なお、ローカルコピーの動作は開始処理でコピー処理を開始し、解除処理が実施されるまで処理が継続される。
(クローンによるローカルコピーの開始処理の動作)
 次に、ストレージシステム300によって実行されるクローンによるローカルコピーの開始処理を説明する。
 図24は第1の実施例におけるストレージシステム300によって実行されるクローンによるローカルコピーの開始処理のフローチャートの一例である。
 ローカルコピーの開始処理とは、管理計算機100により開始指示を受けた時点のコピー対象の正ボリューム上のデータを副ボリュームに複製する処理である。副ボリュームへの複製が完了すると、コピー処理はデータの複製を一旦停止する「一時停止状態」に移行する。
 はじめに、ストレージシステム300の入出力制御部1300のプロセッサ1310(以下、入出力制御部1300)は、ローカルコピーの開始を指示するIO要求7300(ただし、オプションにクローンが指定される)を受信すると、コピー処理を開始する。
 次に、入出力制御部1300は、IO要求7300に含まれるコピー構成情報に基づいて、コピーペア管理情報テーブル1210(図13参照)を作成する(ステップ6010)。具体的には、入出力制御部1300は、「コピー中」を、コピーペア管理情報テーブル1210のコピー状態情報12102に格納する。次に、入出力制御部1300は、IO要求に示されたコピー元の論理ボリュームIDをコピー元の論理ボリュームとして、コピーペア管理情報テーブル1210の論理ボリュームID12101に格納する。
 次に、入出力制御部1300は、IO要求から抽出したコピー構成情報に含まれるコピー先のストレージIDを、コピーペア管理情報テーブル1210のコピー対象ストレージID12103に格納する。次に、入出力制御部1300は、IO要求から抽出したコピー構成情報に含まれるコピー先の論理ボリュームIDを、コピーペア管理情報テーブル1210のコピー対象ボリュームID12104に格納する。
 次に、入出力制御部1300は、コピーペア管理情報テーブル1210のコピーペアID12105に他のコピーペアIDと重複しない値を格納する。次に、入出力制御部1300は、IO要求に含まれるコピーグループIDを、コピーペア管理情報テーブル1210のグループID12106に格納する。次に、入出力制御部1300は、抽出したコピー構成情報に含まれるコピー種別情報を、コピーペア管理情報テーブル1210のコピー種別12107に格納する。ここでは、「ローカルコピー、クローン」がコピー種別12107に格納される。
 次に、入出力制御部1300は、コピーペア管理情報テーブル1210のボリュームID12101によって識別される論理ボリュームからデータを読み出す。さらに、入出力制御部1300は、読み出したデータを、キャッシュメモリ1100に格納する(ステップ6030)。
 次に、入出力制御部1300は、キャッシュメモリ1100からデータを読み出し、さらにコピーペア管理情報テーブル1210のコピー対象ボリュームID12104によって識別される論理ボリュームに、キャッシュメモリ1100から読み出したデータを書き込む(ステップ6060)。
 入出力制御部1300は、ステップ6030からステップ6060を繰り返して実行することによって、コピー元の論理ボリュームのすべてのデータをコピー先の論理ボリュームへ格納する。
 そして、入出力制御部1300は、クローンによるローカルコピー処理を終了する。入出力制御部1300は、ローカルコピーを終了すると、コピーペア管理情報テーブル1210のコピー状態情報12102に「一時停止状態」を格納する。入出力制御部1300は一時停止状態処理を継続実施する。
(クローンによるローカルコピーの一時停止状態処理の動作)
 次に、ストレージシステム300によって実行されるクローンによるローカルコピーの一時停止処理の動作を説明する。これは図22のフローチャートにおけるステップ5090に該当する。
 図25は第1の実施例におけるクローンによるローカルコピーの一時停止中の動作のフローチャートの一例である。
 ここで、図22のフローチャートのステップ5900においては、ストレージシステム300にコピー処理(ローカルコピーかつクローン)が動作しており、さらに、その処理状態が一時停止状態の場合、ストレージシステム300の入出力制御部1300は、コピー機能別の一時停止処理を実施する。
 クローンによるローカルコピーの一時停止処理の場合(処理5090a)、入出力制御部1300は、この仮想論理ボリュームの仮想論理ボリューム管理情報1270における該当ページの更新フラグ12706を「更新あり」として設定する(ステップ5091a)。
(クローンによるローカルコピーの一時同期処理の動作)
 次に、ストレージシステム300によって実行されるクローンによるローカルコピーの一時同期処理の動作を説明する。ストレージシステム300上でコピー処理が動作しており、その処理状態が「一時停止」の場合に、動作する。また、この動作は図22のフローにおけるステップ5030に該当し、管理計算機100により「一時同期」指示をストレージシステム300が受信したときに開始する。
 図26は第1の実施例におけるクローンによるローカルコピーの一時同期の動作のフローチャートの一例である。
 はじめに、ストレージシステム300の入出力制御部1300は、管理計算機100より「一時同期」指示を受信する(ステップ5030a)と、該当するコピーペア管理情報1210のコピー処理状態12102を「コピー中」に変更する(ステップ5031a)。次に、入出力制御部1300は、このコピーペア管理情報1210に論理ボリュームID12101に指定された論理ボリュームに関する仮想論理ボリューム管理情報1270のアドレスマップのエントリを上位から参照し、更新フラグ12706が「更新あり」であるか否かを確認する(ステップ5033a)。
 該当エントリの更新フラグ12706が「更新あり」の場合(ステップ5033aでYes)、入出力制御部1300は、仮想論理ボリューム管理情報1270の該当ページのデータ要素を複製し、副ボリュームの同一アドレスに格納する(ステップ5037a)。
 該当エントリの更新フラグ12706が「更新あり」ではない場合(ステップ5033aでNo)、もしくは、ステップ5037aを完了した場合、入出力制御部1300は、この仮想論理ボリューム管理情報1270の全エントリの確認が完了したか否かを確認する(ステップ5035a)。
 この仮想論理ボリューム管理情報1270の全エントリの確認が終了していない場合(ステップ5035aでNo)、入出力制御部1300は、次のエントリに関してステップ5033aからの処理を再度実施する。
 この仮想論理ボリューム管理情報1270の全エントリの確認が終了した場合(ステップ5035aでYes)の場合、入出力制御部1300は、このコピーペア管理情報1210のコピー状態情報12102を「一時停止」に再設定する(ステップ5037a)。さらに、入出力制御部1300は、コピーペア管理情報1210の論理ボリュームID12101に登録された論理ボリュームに関する仮想論理ボリューム管理情報1270の更新フラグ12706をすべて「更新なし」に設定し、一時同期のコピー処理を終了する。
(スナップショットによるローカルコピー処理の動作)
 次に、ストレージシステム300によって実行されるスナップショットによるローカルコピー処理を説明する。
 図27は第1の実施例におけるスナップショットによるローカルコピーの開始の動作のフローチャートの一例である。
 スナップショットによるローカルコピー処理もクローンによるローカルコピーとほぼ同じ手続きをストレージシステム300の入出力制御部1300は実施する。以下、異なる処理のみ説明する。
 入出力制御部1300は、ローカルコピーの開始を指示するIO要求7300(ただし、オプションにスナップショットが指定される)を受信すると、コピー処理を開始し、ステップ6010の処理を実行する。このステップ6010の処理は、クローンによるローカルコピー処理とオプションがクローンではなくスナップショットであること以外、同様である。
 そして、入出力制御部1300は、スナップショットによるローカルコピー処理を終了する。入出力制御部1300は、ローカルコピーを終了すると、コピーペア管理情報テーブル1210のコピー状態情報12102に「一時停止状態」を格納する(ステップ6130)。
(スナップショットによるローカルコピーの一時停止状態処理の動作)
 次に、ストレージシステム300によって実行されるスナップショットによるローカルコピーの一時停止処理の動作を説明する。これは図22のフローチャートにおけるステップ5090に該当する。
 図28は第1の実施例におけるスナップショットによるローカルコピーの一時停止中の動作のフローチャートの一例である。
 ここで、図22のフローチャートのステップ5090において、ストレージシステム300の入出力制御部1300は、当該ストレージシステム300にコピー処理(ローカルコピーかつスナップショット)が動作しており、さらに、その処理状態が一時停止状態の場合、コピー機能別の一時停止処理を実施する。
 スナップショットによるローカルコピーの一時停止処理の場合(処理5090b)、入出力制御部1300は、この仮想論理ボリュームの仮想論理ボリューム管理情報1270における該当ページの更新フラグ12706を「更新あり」として設定する(ステップ5091b)。
 さらに、入出力制御部1300は、仮想論理ボリューム管理情報1270の該当ページが指すデータ要素を複製し、副ボリュームの同一アドレスに格納する(ステップ5093b)。
(スナップショットによるローカルコピーの一時同期処理の動作)
 次に、ストレージシステム300によって実行されるスナップショットによるローカルコピーの一時同期処理の動作を説明する。ストレージシステム300上でコピー処理が動作しており、その処理状態が「一時停止」の場合に、動作する。また、この動作は図22のフローチャートにおけるステップ5030に該当し、管理計算機100により「一時同期」指示をストレージシステム300が受信したときに開始する。
 図29は第1の実施例におけるスナップショットによるローカルコピーの一時同期の動作のフローチャートの一例である。
 はじめに、ストレージシステム300の入出力制御部1300は、管理計算機100より「一時同期」指示を受信する(ステップ5030b)と、該当するコピーペア管理情報1210の論理ボリューム12101に関する仮想論理ボリューム管理情報1270のアドレスマップの全エントリの更新フラグ12706のすべてを「更新なし」にする(ステップ5031b)。次に、入出力制御部1300は、一時同期のコピー処理を終了する。
(スナップショット、クローンによるリストア処理の動作)
 次に、ストレージシステム300によって実行されるスナップショットおよびクローンによるリストア処理の動作を説明する。リストア処理とは、副ボリュームの内容を正ボリュームに上書きする処理である。
 図34は第1の実施例における本実施例におけるストレージシステム300によって実行されるスナップショットおよびクローンのリストアの動作のフローチャートの一例である。
 はじめに、ストレージシステム300の入出力制御部1300は、管理計算機100から「リストア」指示を受信すると、該当するコピーペア管理情報1210の論理ボリューム12101が指す正ボリュームに関するリストア処理を実施する。
 次に、入出力制御部1300は、コピーペア管理情報1210のコピー状態情報12102を「コピー中」に変更し、コピーペア管理情報1210のコピー対象ボリュームID12104に格納されているデータを、正ボリュームに上書きする(ステップ6310)。上記終了後、入出力制御部1300は、そのコピー状態情報12102を「一時停止」に変更し、処理を終了する。
(スナップショット、クローンによるクイックリストア処理の動作)
 次に、ストレージシステム300によって実行されるスナップショットおよびクローンによるクイックリストア処理の動作を説明する。クイックリストア処理とは、ホスト計算機200のアクセスを正ボリュームから副ボリュームに切り替えて、副ボリュームへのデータアクセスを実現する処理である。
 図33は第1の実施例におけるストレージシステム300によって実行されるスナップショットおよびクローン共通のクイックリストアの動作のフローチャートの一例である。
 はじめに、ストレージシステム300の入出力制御部1300は、管理計算機100から「クイックリストア」指示を受信すると、該当するコピーペア管理情報1210のコピー対象ボリュームID12104が指す副ボリュームに関するクイックリストア処理を実施する。
 入出力制御部1300は、コピーペア管理情報1210のコピー状態情報12102を「コピー中」に変更し、コピーペア管理情報1210の論理ボリュームID12101とコピー対象ボリュームID12104とを入れ替える。(ステップ6210)。
 次に、入出力制御部1300は、上記終了後、そのコピー状態情報12102を「一時停止」に変更し(ステップ6220)、従来副ボリュームであった論理ボリュームをホスト計算機200に正ボリュームとしてアクセス可能にし、クイックリストア処理を終了する。
 次に、本発明の第1の実施例におけるストレージシステム300によって実行される記憶階層制御処理の動作を説明する。記憶階層制御処理は、定期的もしくは使用者の指示により実施する、階層の異なる実ボリュームに格納されたページの階層間の移動処理である。
 図30は第1の実施例における記憶階層制御処理のフローチャートの一例である。本フローチャートは、定期的に実施する記憶階層制御を前提とする。以下は、各プールにおける記憶階層制御を説明する。
 はじめに、ストレージシステム300における入出力制御部1300は、指定されたプールの記憶階層プール管理情報1290の割当情報12907を参照する(ステップ8000)。ここで、入出力制御部1300は、最下位階層の記憶階層アドレスマップ情報の上位エントリから順に参照する。以下、説明のため、入出力制御部1300が現時点参照している階層をソース階層、記憶階層プール管理情報1290のソース階層の記憶階層アドレスマップ情報のエントリをソースエントリとよぶことにする。
 次に、入出力制御部1300は、ソース階層に対して規定されている基準アクセス頻度(基準値)と、該当エントリの割当情報12907に記載されているアクセス頻度を比較する(ステップ8010)。ここで、記憶階層制御では、各階層には基準となるアクセス頻度(基準アクセス頻度)があらかじめ、使用者等により規定されている。この基準アクセス頻度を超えるか否かで、階層の異なる実ボリューム間でページ移動をするか否かを判断する。
 ソースエントリの割当情報12907のアクセス頻度が基準値を上回る場合(ステップ8010でYes)、入出力制御部1300は、さらに、ソース階層に上位階層がある場合(ステップ8090でYes)、ソース階層よりも1階層上位の階層を選定し(ステップ8070)、当該階層の基準値と比較する(ステップ8010)。入出力制御部1300は、これらステップを繰り返し、基準値を超えない階層を特定する。ここで、基準値を超えない階層をターゲット階層、また、ターゲット階層における捜索対象の記憶階層アドレスマップ情報内のエントリをターゲットエントリとよぶことにする。なお、ステップ8090でソース階層に上位階層がない場合(ステップ8090でNo)には、対応するページの移動をせずに(ステップ8120)、ステップ8030に進む。
 次に、基準値を超えない階層(ターゲット階層)を特定すると(ステップ8010でNo)、入出力制御部1300は、ターゲット階層の記憶階層アドレスマップ情報の空き総容量12905を参照し、ターゲット階層にページ移動が可能な空きのある実ボリュームが存在するか否かを確認する(ステップ8015)。
 ターゲット階層に空きが無い場合(ステップ8015でNo)、入出力制御部1300は、ターゲット階層にソースエントリの割当情報12907のアクセス頻度よりも低いアクセス頻度のエントリがあるか否かを判定する(ステップ8100)。
 ここで、ターゲット階層にソースエントリの割当情報12907のアクセス頻度よりも低いアクセス頻度のエントリが無い場合(ステップ8100でNo)、ターゲット階層よりも1階層下位の階層をターゲット階層にし、ターゲット階層に空きがあるか否かを確認する(ステップ8100)。
 ターゲット階層にソースエントリの割当情報12907のアクセス頻度よりも低いアクセス頻度のエントリがある場合(ステップ8100でYes)、ソースエントリと、ターゲットエントリとのページを入れ替える(ステップ8110)。
 一方、ターゲット階層にページ移動が可能な空きのある実ボリュームが存在する場合(ステップ8015でYes)、入出力制御部1300は、ターゲット階層の空きが存在する実ボリュームに対しページ移動を実施する(ステップ8020)。
 ステップ8020、ステップ8110、もしくは、ステップ8120を実施した後、入出力制御部1300は、プール内のソース階層の全ソースエントリについて判定を実施したか否かを確認し(ステップ8030)、未実施エントリがある場合、ステップ8000から再度実施する(ステップ8030でNo)。
 ステップ8030で、ソース階層に未実施エントリが無い場合、ソース階層よりも1階層高い階層をソース階層と設定する(ステップ8040)。ここで、ソース階層よりも1階層高い階層が存在する場合(ステップ8050でNo)、入出力制御部1300は、ステップ8000から再度処理を実施する。
 ソース階層よりも1階層高い階層が存在しない場合(ステップ8050でYes)、入出力制御部1300は、プール内の全階層の記憶階層アドレスマップ情報における割当情報12907のアクセス頻度を0にリセットする(ステップ8130)。
 次に、管理計算機100における計算機システムの管理動作について説明する。管理計算機100の管理動作には3つの段階がある。すなわち、環境構築段階、データ複製段階、複製データ利用段階である。
(1)環境構築段階
 はじめに、本実施例における管理計算機100による環境構築段階の管理動作について説明する。環境構築段階とは、管理計算機100が、データ複製段階、複製データ利用段階で使用する情報を作成及び、設定する管理動作の段階である。
 図19は第1の実施例における管理計算機100による環境構築段階の管理動作のフローチャートの一例である。
 環境構築段階の管理動作は、管理計算機100のプロセッサ120がストレージ管理プログラム112に基づいて処理実行することで実現される。以下、フローチャートでは、単に管理計算機100を主語にして説明を行うが、すべての動作は管理計算機100のプロセッサ120が実施するものである。
 はじめに、管理計算機100は、計算機システム上に存在するホスト計算機200を検出する(ステップ4010)。検出のための情報は、例えば、管理計算機100の使用者によるIPアドレスの入力を使用する。アドレスの入力は、例えば、192.168.1.1から192.168.1.50といったIPアドレスの範囲入力でも良いし、特定のIPアドレスの入力でも良い。管理計算機100は、ホスト計算機200のエージェントプログラム213用の情報取得要求を作成し、入力されたIPアドレスに向けて情報取得要求を発行する。ホスト計算機200が情報取得要求を受信した場合、このホスト計算機200上のエージェントプログラム213の指示に基づき、このホスト計算機200の構成情報を管理計算機100に返信する。この構成情報は、アプリケーション名、アプリケーションが使用するデータの名称とそのデータが格納される論理ボリューム及び論理ボリュームの格納アドレス(格納アドレスとは、例えばSCSIのLBAなどである)の情報を含む。管理計算機100はホスト計算機200から返信があるものに対し、この返信に含まれる情報を基にして、ホスト構成管理テーブル111を作成する。
 次に、管理計算機100は、計算機システム上に存在するストレージシステム300を検出する(ステップ4020)。ストレージシステム300の検出は、ステップ4010と同様に、管理計算機100の使用者により入力されたIPアドレスを基に、管理計算機100は、ストレージシステム300向けの情報取得要求を作成する。ストレージシステム300では、記憶制御装置1000のプロセッサ1310がこの情報取得要求を受信すると、共有メモリ1200に格納されるボリューム管理情報1250と、ストレージ基本情報1260とを参照し、それら情報をまとめて返信する。管理計算機100は、ストレージシステム300から返信があるものに対し、この返信に含まれる情報を基にして、ストレージ情報テーブル114を作成する。
 次に、管理計算機100は、コピー対象のアプリケーションプログラムのデータを決定する。具体的には、管理計算機100は、管理画面を使用者に提供し、コピー対象のアプリケーション、ホスト計算機200、及びそのデータについて管理画面に対する入力を受け付けて確定する。
 図20は第1の実施例における管理計算機100により提供されるコピー対象のアプリケーションプログラムのデータを決定するための管理画面の一例である。
 同図に示す管理画面においては、Mailプログラムが動作するホスト計算機200が2つ存在し、その内の一つのホスト計算機(Host1)が使用するデータであるMailBox B、MailBox Cがコピー対象のデータとして選択されていることを示している。管理計算機100は、コピー対象のデータが確定すると、このデータが格納されるストレージシステム300と論理ボリューム(正ボリューム)を特定する。具体的には、管理計算機100がホスト構成管理テーブル111を参照し、データの名称(データ名)と合致するストレージID1115とボリュームID1116とを検出することにより実現する。コピー対象のデータが確定した後、管理計算機100は、保護要件を入力するための管理画面を使用者に提供し、保持期間、保護データの取得頻度、用途、及び、保護データ使用ホスト計算機の情報を使用者から取得する。
 図21は第1の実施例における管理計算機100により提供される保護要件を確定するための管理画面の一例である。
 同図に示す管理画面において、保持期間に対する使用者の入力から、保護データをどの程度の期間ストレージシステム300で保持するかの情報が取得され、保護データの取得頻度に対する入力から、コピー対象データをどの程度の頻度でコピーするかの情報が取得され、用途に対する入力から、コピーの用途として2次利用もしくはバックアップリカバリかの選択についての情報が取得され、保護データ使用ホスト計算機に対する入力から、保護データが格納された論理ボリュームを使用するホスト計算機200の情報が取得される。
 次に、管理計算機100は、コピー先の論理ボリューム(副ボリューム)を決定する。副ボリュームは、ストレージ情報テーブル114に登録されている論理ボリュームの内で、コピーが稼働していない論理ボリュームを選択する。論理ボリュームにおけるコピー処理の稼働有無は、コピー情報テーブル113の正ボリュームID1134、副ボリュームID1136への登録有無を基に管理計算機100が判定する。ただし、図20においてストレージ装置間コピーが選択されている場合は、あらかじめ登録されたストレージシステム300から副ボリュームを選択し、ストレージ装置内コピーが選択されている場合は、正ボリュームと同じストレージシステム300から副ボリュームを選択する。
 ここで、1の正ボリュームに対する副ボリュームの数は、複数になる場合がある。副ボリュームの数を決定するには、図21の管理画面を介して使用者から取得した保護データの取得頻度と保持期間により、例えば、次の計算式を用いる。副ボリュームの数=保持期間÷保護データの取得頻度(ただし、計算結果は、小数点第1位を繰り上げて整数とする)。ただし、副ボリューム数を計算する計算式は、この計算式に限定されない。副ボリュームが複数の場合には、管理計算機100は、計算結果から得られた副ボリュームの個数分、副ボリュームを決定するための処理を実施する。ここで、正ボリュームが同一で、副ボリュームが異なるコピーをコピーの「世代」とよぶことにする。例えば、正ボリューム1に対して、副ボリューム1、2がある場合、正ボリューム1と副ボリューム1から構成されるコピーを世代1のコピーとよび、正ボリューム1と副ボリューム2から構成されるコピーを世代2のコピーとよぶ。
 次に、管理計算機100は、副ボリュームの数分(すなわち、その世代数分)コピー情報テーブル113を作成する。管理計算機100は、図20qの管理画面で、データ選択後にクリックされたボタンが「ストレージ装置間コピー」の場合は、コピー情報テーブル113のコピー情報1131に、リモートコピーを登録し、「ストレージ装置内コピー」の場合は、コピー情報テーブル113のコピー情報1131にローカルコピーを登録する。また、ローカルコピーの場合は、クローンとスナップショットとがあるが、管理計算機100は、例えば、図21の管理画面に入力された用途により選択する。すなわち、管理計算機100は、2次利用の場合はクローンを選択し、バックアップリカバリの場合はスナップショットを選択し、選択した内容をコピー機能のオプションとして設定する。なお、ストレージ管理プログラム112の初期値としてあらかじめ設定する等の方法でも良い。ただし、本実施例のクローン、バックアップの選択は、この方法に限定されるものではない。
 コピー情報テーブル113の正ストレージID1133、正ボリュームIDには、図20で選択されたコピー対象データの格納場所が設定される。データの格納場所は、ホスト構成管理テーブル111を参照することで、得られる。また、副ストレージID1135、副ボリュームID1136には、コピーが稼動していない論理ボリュームとして選択された論理ボリュームの識別子が設定される。グループID1132には、コピー対象となるストレージシステム300で使用されるコピー機能のグループIDで、重複しない値を生成する。コピー情報テーブル113は、世代数分作成するが、管理計算機100からコピー情報テーブル113と世代との関係が分かるようコピー情報テーブル113のファイル名などに、世代総数と世代番号を付与するようにしても良い。
 次に、管理計算機100は、保護データ管理テーブル115を作成する。番号1150には、上位の行からの通し番号(初期値は1)が設定される。アプリ名1151には、図20の管理画面で選択されたアプリケーション名を、ホストID1152には、図20の管理画面で選択されたホスト計算機200の識別子が設定される。開始時刻1153には、図21の管理画面で入力された開始時刻が設定される。スケジュール1154には、図21の管理画面で入力された保護データの取得頻度が設定される。目的1155には、図21の管理画面で入力された用途が設定される。保護データ1156には、図20の管理画面で選択されたホスト計算機200及びそのデータを基に、ホスト構成管理テーブル111で合致する情報(格納場所1114及びボリュームID1116)が取得され、その情報がまとめて設定される。使用期間1157には、図21の管理画面で入力された使用期間が設定される。世代数1158には、算出した世代数の値が設定される。
 次に、管理計算機100は、生成したコピー情報テーブル113の該当する情報(コピー情報1131、グループID1132、正ストレージID1133、正ボリュームID1134、副ストレージID1135、副ボリュームID1136)から、IO要求7300を生成する。管理計算機100はIO要求7300を、当該コピー情報テーブル113の正ストレージ1133を宛先として、指示内容は「ローカルコピー新規開始」として、オプション73005はコピー構成情報(正ストレージID1133、正ボリュームID1134、副ストレージID1135、副ボリュームID1136、コピー情報1131、グループID1132)として作成し、ストレージシステム300に発行する(ステップ4040)。
(2)データ複製段階
 次に、本実施例における管理計算機100によるデータ複製段階の管理動作について説明する。データ複製段階とは、環境構築で設定した各情報を基に保護データを取得する管理動作の段階である。
 図31は第1の実施例における管理計算機100によるデータ複製段階の管理動作のフローチャートの一例である。
 はじめに、管理計算機100は、保護データ管理テーブル115を参照し、開始時刻1153を取得する。管理計算機100は、ステップ4110、4120、4130までの一連の処理を開始時刻に実行されるように、管理計算機100などのスケジューラに登録する。管理計算機100のスケジューラに一連の処理を登録することで、指定時刻になると、管理計算機100は、上記一連の処理を開始する。すなわち、管理計算機100は、ホスト計算機200のアプリケーションプログラム211に対する静止化を、エージェントプログラム213経由で指示する(ステップ4110)。静止化とは、アプリケーションプログラム211や、場合によってOS212を特別な状態に移行する処理であり、アプリケーションプログラム211が使用するデータへの書き込み、読み込みを停止し、当該データの状態をファイルオープン中などの不安定な状態ではなく、確実に利用可能な状態にする処理である。これは、OS212やアプリケーションプログラム211が提供する操作インターフェースを利用することによって実現される。
 次に、管理計算機100は、ホスト計算機200が使用するデータをストレージシステム300のコピー機能で複製することで、保護データを取得する(ステップ4120)。具体的に、管理計算機100は、保護データ管理テーブル115の現コピー情報テーブル1159が指すコピー情報テーブル113を使用し、IO要求7300を作成する。IO要求7300は、指示内容がローカルコピー一時同期として設定される。次に、管理計算機100は、ホスト計算機200のアプリケーション211の静止化解除を指示する(ステップ4130)。静止化解除も静止化同様のインターフェースを使用する。
 次に、管理計算機100は、ステップ4110、4120、4130の一連の処理により取得した保護データに関する情報をカタログ管理テーブル116に登録する(ステップ4140)。すなわち、保護時刻1161には現時点の時刻が登録され、コピーID1162には保護データ管理テーブル115の現コピー情報テーブル1159が登録され、保護データ管理テーブル番号1163には、保護データ管理テーブル115で上記の処理の実施に対応する番号1158が登録される。次に、管理計算機100は、保護データ管理テーブル115の現コピー情報テーブル1159を次に使用する予定のコピー情報テーブル113の名前を設定する。コピー情報テーブル113の名前は、上述したように、世代総数と、当該コピー情報テーブル113が指す世代番号が含まれ、管理計算機100は、この名前情報を使用する。次に、管理計算機100は、ステップ4110、4120、4130の処理を実施予定の時刻に開始するように、自身のスケジューラに登録し、処理を終了する。
(3)複製データ利用段階
 次に、本実施例における管理計算機100によるデータ利用段階の管理動作について説明する。データ利用段階とは、データ複製段階で取得した保護データ用いる段階である。
 図32は第1の実施例における管理計算機100によるデータ利用段階の管理動作のフローチャートの一例である。
 はじめに、管理計算機100は、カタログ情報テーブル116を確認し、保護データがストレージシステム300内に取得されている事を確認する。保護データが取得されている場合、カタログ情報テーブル116の保護データ管理テーブル番号1163を参照し、対応する保護データ管理テーブル115のエントリ(番号1150から現コピー情報テーブル1159までの行情報)を特定する。次に、管理計算機100は、この特定したエントリ(特定エントリ)の目的1155を参照し、保護データの目的がバックアップリカバリか、2次利用かを特定する(ステップ4500)。目的が2次利用の場合(ステップ4500でNo)、管理計算機100は、この特定エントリの使用期間1157を参照し、短時間に2次利用が開始するか否かを判定する(ステップ4510)。短時間に2次利用が利用されない場合(ステップ4510でNo)、管理計算機100は、開始時刻に近くなるまで処理を保留する。
 短時間に2次利用が開始される場合(ステップ4510でYes)、管理計算機100は、カタログ情報テーブル116のコピーID1162が指すコピー情報テーブル113を参照し、副ボリュームID1136を参照することにより、保護データが格納されている副ボリュームを特定する。次に、管理計算機100は特定した副ボリュームのデータを高い階層の実ボリュームに移動するべく、ストレージシステム300に、指示内容73002を高位階層移動としたIO要求7300を出す(ステップ4530)。
 ストレージシステム300の入出力制御部1300では、このIO要求7300を受け取ると、IO要求7300が示す副ボリュームの情報が格納される仮想論理ボリューム管理情報1270を参照し、記憶階層プール管理情報1290の副ボリュームにおける割当済みページの割当情報のアクセス頻度を最大値に設定し、階層制御処理を開始する。
 さらに、管理計算機100は、コピー情報テーブル113のコピー情報1131を参照し、コピーがスナップショットか否かを判定する(ステップ4550)。このコピーがスナップショットの場合(ステップ4550でYes)、管理計算機100はストレージシステム300にIO要求7300(指示内容73002は状態取得)を発行し、副ボリュームに保持されているデータの論理ボリュームのアドレスを取得する。次に、管理計算機100は保護データ管理テーブル115に格納されている保護データ1156のアドレス情報と比較し、保護データで副ボリュームに存在しないデータを特定する。そこで、管理計算機100は、保護データで副ボリュームに存在しないデータが正ボリュームの上位階層に移動するよう、ストレージシステム300に、指示内容73002を高位階層移動としたIO要求7300を指示する(ステップ4560)。
 スナップショットを利用する場合には、副ボリュームへのアクセスでも、正ボリュームにアクセスを必要とするために正ボリュームに対しても負荷が発生することとなる。しかしながら、上記したように、副ボリュームに格納されていない正ボリュームの該当データの格納領域を積極的に高位階層に移動するように指示を出すことで、結果として、そのデータを高位階層に移動させることができ、正ボリュームの負荷を抑制することが可能となる。
 一方、保護データの目的がバックアップリカバリの場合(ステップ4500でYes)、管理計算機100はIO要求7300をストレージシステム300に発行し、ストレージシステム300から正ボリュームの階層配置の情報を取得する。ストレージシステム300は、正ボリュームの仮想論理ボリューム管理情報1270の階層アドレスポインタ12705に格納されている階層番号を仮想アドレス12704と合わせて管理計算機100に返信する。管理計算機100は、ストレージシステム300から返信された情報を階層テーブル117に保持する(ステップ4570)。
 次に、管理計算機100は、使用者によるリストア指示(正ボリューム(正VOL)の回復指示)が出されるのを待つ(ステップ4580)。
 使用者によりリストア指示が管理計算機100に出されると、管理計算機100は、そのリカバリ指示がクイックリストアか否かを判定する(ステップ4590)。リストア指示がクイックリストアの場合(ステップ4590でYes)、管理計算機100は、ステップ4570で保持した階層テーブル117の情報に対応する階層に正ボリュームを復元させるための指示として、階層テーブル117の情報を用いてIO要求7300をストレージシステム300に発行する(ステップ4610)。
 ストレージシステム300では、当該IO要求7300を受け取ると、正ボリューム(クイックリストア前は副ボリュームであったボリューム)である仮想論理ボリュームの仮想論理ボリューム管理情報1270のアドレスマップの置き換えを実施し、それに合わせた記憶階層制御を実施する。正ボリュームに対するアドレスマップを行うのは、IO要求7300を受け取った時点では、ストレージシステム300では、クイックリストアの実施が完了しており、リストア前の正ボリュームと、副ボリュームとが入れ替わった後であるためである。
 一方、リストア指示がクイックリストアではないリストアの場合(ステップ4590のNo)、管理計算機100は、ステップ4570で保持した階層テーブル117の情報に対応する階層に正ボリュームを復元させるための指示として、階層テーブル117の情報を用いてIO要求7300をストレージシステム300に発行する(ステップ4600)。
 ストレージシステム300では、当該IO要求7300を受け取ると、正ボリューム(リストア前も正ボリューム)である仮想論理ボリュームの仮想論理ボリューム管理情報1270のアドレスマップの置き換えを実施し、それに合わせた記憶階層制御を実施する。
 以上のように、第1の実施例によれば、管理計算機100は、保護データの目的に応じ、ストレージシステム300に適切な階層へのデータ移動を指示することができ、保護データをそれぞれの用途に応じた適切な性能や信頼性でホスト計算機200から使用することが可能となる。
 なお、ステップ4530では、副ボリュームにおける割り当て済みページの全てについて階層制御処理の対象としていたが、割り当て済みページの一部のページを対象に階層制御処理を行うようにしても良く、このようにしても、全く階層制御を行わない場合に比較して、用途により適した性能や信頼性を提供することができる。また、ステップ4610では、論理ボリュームを階層テーブル117の情報に対応する構成とするようにしていたが、少なくとも一部を階層テーブル117の情報に対応する構成とするようにしても、全く階層を復元しない場合に比して、用途により適した性能や信頼性を提供することができる。
 以下、本発明の第2の実施例について、第1の実施例との相違点を主に説明する(第1の実施例との共通点については、説明を省略或いは簡略する)。
 第2の実施例では、仮想的な計算機(仮想マシン)を提供する仮想化機構(ハイパーバイザ)を備えたホスト計算機200(以下、仮想サーバとよぶ)のシステムイメージをストレージシステム300のコピー機能により複製し、複製後の保護データを利用することで、短時間に仮想マシンを構築する例である。このように仮想マシンを構築する処理を仮想マシンデプロイとよぶことにする。
 図35は第2の実施例における、管理計算機100による仮想マシンデプロイの概要を説明する図である。
 仮想サーバ10000で動作する仮想マシンVMは、ストレージシステム300における副ボリュームSVOLを参照し、動作している。副ボリュームSVOLには、正ボリュームPVOLに格納されている仮想マシンVMのひな形のシステムイメージの複製が格納されている。一般に、仮想マシンVMのデプロイは短時間に出来る限り多くの仮想マシンVMを展開することが望まれる。そのため、ストレージシステム300で使用される論理ボリュームのコピーとしては、全てのデータを複製する必要が無いスナップショットによるローカルコピーが使用される。
 ここで、スナップショットによるローカルコピーは、正ボリュームPVOLもしくは、副ボリュームSVOLにデータ更新が無い場合、副ボリュームSVOLには、実際にデータは格納されていない。このため、仮想マシンVMがデータアクセスすると、すなわち、副ボリュームSVOLへのデータアクセスを行うと、実際には、正ボリュームPVOLにアクセスされることとなり、正ボリュームPVOLに負担がかかる場合がある。ここで、正ボリュームPVOLにおいて、副ボリュームSVOLへのデータアクセスによる負荷が集中する領域をホットスポットとよぶことにする。
 そこで、第1の実施例のバックアップリカバリの用途と同様に、正ボリュームと同じ階層の実ボリュームに副ボリュームのデータを配置するだけでなく、ホットスポットを出来る限り抑える処理が必要になる。
 そこで、第2の実施例では仮想マシンデプロイにおける正ボリュームPVOLのホットスポットの分散方法を開示する。
 図36は第2の実施例における、管理計算機100による仮想マシンデプロイのホットスポット負荷分散のための管理動作のフローチャートの一例である。
 はじめに、管理計算機100は、ストレージシステム300で稼働するコピー処理がローカルコピーかつスナップショットであり、またコピー状態は一時停止であることを確認し、次に、コピー対象の正ボリュームSVOLを監視する。監視はIO要求7300によりストレージシステム300に対し、直接正ボリュームPVOLの負荷情報を確認する(ステップ4700)。
 次に、管理計算機100は、正ボリュームPVOLの負荷情報に、通常より高い値があるか否かを確認する(ステップ4710)。ここで、正ボリュームPVOLが通常より高い値を示す場合(ステップ4710でYes)、管理計算機100は、正ボリュームPVOLの高負荷領域の領域を特定し、当該領域に格納されているデータを保護データ管理テーブル115の保護データ1156を参照することで特定し、当該データを同一内容で正ボリュームPVOLに上書きする(ステップ4720)。このように上書きをすると、ストレージシステム300は、正ボリュームPVOLの当該データを各副ボリュームSVOLにコピーする。これにより、仮想マシンVMによる、以後の副ボリュームSVOLへのデータアクセスは、副ボリュームSVOLに格納されているデータが使用されることになり、正ボリュームPVOLのIO負荷が軽減される。ここで、ストレージシステム300のコピー機能による副ボリュームSVOLへのデータ更新中の不整合を抑止するため、副ボリュームSVOLへのデータ更新の期間、仮想マシンVMを静止化するようにしても良い。
 また、ステップ4720では、正ボリュームPVOLのホットスポットを同一内容のデータで上書きする方法をとったが、例えば、管理計算機100が仮想マシンVMに直接ホットスポットのデータを転送し、仮想マシンVMを経由してそれぞれがアクセスしている副ボリュームSVOLに格納させるようにしても良い。
 また、ステップ4720において、例えば、管理計算機100が、ストレージシステム300に、正ボリュームPVOLの複製を複数作成し、仮想マシンVMによるホットスポットへのアクセス時に、複数の正ボリュームPVOLに分散してアクセスさせるようにしても良い。
 以上のように、第2の実施例によれば、ストレージシステム300の正ボリュームPVOLにあるホットスポットのデータを、それぞれの仮想マシンVMがアクセスする副ボリュームSVOLに適切に複製することができ、仮想サーバ10000の仮想マシンデプロイで生じるストレージシステム300のホットスポットを効果的に抑制することができる。
 以上、本発明の実施例を説明したが、本発明は、この実施例に限定されるものでなく、その趣旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
 例えば、プール内に、外部のストレージシステム300の記憶デバイス(ディスクドライブ等)が提供する実ボリュームが含まれていても良い。
100 管理計算機、200 ホスト計算機、300 ストレージシステム。

Claims (15)

  1.  特性の異なる複数の記憶媒体の実記憶領域により構成されたプールと、仮想記憶領域で構成され、前記仮想記憶領域に対して前記プールを構成する前記実記憶領域の中から実記憶領域が割り当てられる複数の仮想論理ボリュームと、前記仮想論理ボリュームを構成する前記仮想記憶領域に対する前記実記憶領域の割り当てを制御するコントローラとを含むストレージシステムと、
     前記ストレージシステムに接続された管理システムと、
    を有する計算機システムであって、
     前記コントローラは、
     前記仮想論理ボリュームの前記仮想記憶領域で管理されるデータを、所定の条件に従って、割り当てられていた実記憶領域から特性の異なる他の前記記憶媒体の実記憶領域に移動させ、
     また、第1の仮想論理ボリュームの仮想記憶領域の少なくとも一部であるコピー対象領域についての第2の仮想論理ボリュームへのコピー処理を実行し、
     前記管理システムは、
     前記第2の仮想論理ボリュームが利用される際に、前記コピー処理により前記第2の仮想論理ボリュームに複製されたデータのうちの少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    計算機システム。
  2.  前記管理システムは、
     前記第2の仮想論理ボリュームが、前記第1の仮想論理ボリュームの前記コピー対象領域を利用していた第1のアプリケーションとは異なる第2のアプリケーションにより利用される際に、前記コピー処理により前記第2の仮想論理ボリュームに複製されたデータのうちの少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    請求項1に記載の計算機システム。
  3.  前記管理システムは、
     前記コピー処理が、前記第1の仮想論理ボリュームの前記コピー対象領域のうちの更新対象となる領域に格納されていた更新前データを前記第2の仮想論理ボリュームに複製するスナップショットか否かを判断し、
     前記スナップショットの場合には、前記第1の仮想論理ボリュームの前記コピー対象領域のうち、前記第2の仮想論理ボリュームに複製されていない領域の少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    請求項2に記載の計算機システム。
  4.  前記管理システムは、
     前記第2のアプリケーションにより前記第2の仮想論理ボリュームが使用される時刻情報を記憶するメモリを有し、
     前記時刻情報に基づいて、使用される時刻に近づいた際に、前記第2の仮想論理ボリュームの少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    請求項3に記載の計算機システム。
  5.  前記管理システムは、
     前記第2の仮想論理ボリュームが、前記第1の仮想論理ボリュームの前記コピー対象領域を利用していた前記第1のアプリケーションにより利用される際に、前記第2の仮想論理ボリュームに複製されたデータの少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    請求項4に記載の計算機システム。
  6.  前記管理システムは、
     前記コピー処理を実行する際における前記第1の仮想論理ボリュームの前記コピー対象領域に対して割り当てられている実記憶領域を有する前記記録媒体の特性を特定可能な特性情報を記憶し、
     前記特性情報に基づいて、前記第2の仮想論理ボリュームに複製されたデータの少なくとも一部のデータを、前記コピー処理を実行する際に前記第1の仮想論理ボリュームの前記コピー対象領域の複製元のデータに割り当てられていた実記憶領域と同一の特性を有する記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    請求項5に記載の計算機システム。
  7.  前記コントローラは、
     前記第2の仮想論理ボリュームに複製されたデータに基づいて、前記第1の仮想論理ボリュームの前記コピー対象領域を復元し、
     前記管理システムは、
     前記第1の仮想論理ボリュームの前記コピー対象領域の少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    請求項6に記載の計算機システム。
  8.  前記第1の仮想論理ボリュームに、仮想マシンに利用されるシステムイメージを格納しており、
     前記コントローラは、
     前記コピー処理として、前記第1の仮想論理ボリュームの前記コピー対象領域のうちの更新対象となる領域に格納されていた更新前データを、複数の前記第2の仮想論理ボリュームに複製するスナップショットを実行し、
     前記管理システムは、
     前記第1の仮想論理ボリュームの前記コピー対象領域のうちでアクセス頻度が高い領域のデータを、前記第1の仮想論理ボリュームの同じ領域に書込ませるように前記コントローラを制御することにより、前記複数の前記第2の仮想論理ボリュームに、前記アクセス頻度が高い領域のデータが書き込まれるようにする
    請求項7に記載の計算システム。
  9.  前記第1の仮想論理ボリュームに、仮想マシンに利用されるシステムイメージを格納しており、
     前記コントローラは、
     前記コピー処理として、前記第1の仮想論理ボリュームの前記コピー対象領域のうちの更新対象となる領域に格納されていた更新前データを、複数の前記第2の仮想論理ボリュームに複製するスナップショットを実行し、
     前記管理システムは、
     前記第1の仮想論理ボリュームの前記コピー対象領域のうちでアクセス頻度が高い領域のデータを、前記仮想マシンに渡し、前記仮想マシンにより、アクセス頻度が高い領域のデータを前記第2の仮想論理ボリュームに書き込ませる
    請求項7に記載の計算システム。
  10.  前記管理システムは、
     前記第2の仮想ボリュームが、前記第1の仮想論理ボリュームを利用していたアプリケーションにより利用される際に、前記第2の仮想論理ボリュームの少なくとも一部のデータを、より特性の良い記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    請求項1に記載の計算機システム。
  11.  前記管理システムは、
     前記コピー処理を実行する際における前記第1の仮想論理ボリュームにおける前記仮想記憶領域に割り当てられている実記憶領域の特性を記憶し、
     前記第2の仮想論理ボリュームの複製されたデータの少なくとも一部のデータを、前記コピー処理を実行する際における当該データのコピー元となった前記第1の仮想論理ボリュームの仮想記憶領域に割り当てられていた実記憶領域と同一の特性を有する実記憶領域に移動させるように、前記コントローラを制御する
    請求項10に記載の計算機システム。
  12.  前記第1の仮想論理ボリュームに、仮想マシンに利用されるシステムイメージを格納しており、
     前記コントローラは、
     前記コピー処理として、前記第1の仮想論理ボリュームの前記コピー対象領域のうちの更新対象となる領域に格納されていた更新前データを、複数の前記第2の仮想論理ボリュームに複製するスナップショットを実行し、
     前記管理システムは、
     前記第1の仮想論理ボリュームの前記コピー対象領域のうちでアクセス頻度が高い領域のデータを、前記第1の仮想論理ボリュームの同じ領域に書込ませるように前記コントローラを制御することにより、前記複数の前記第2の仮想論理ボリュームに、前記アクセス頻度が高い領域のデータが書き込まれるようにする
    請求項1に記載の計算システム。
  13.  前記第1の仮想論理ボリュームに、仮想マシンに利用されるシステムイメージを格納しており、
     前記コントローラは、
     前記コピー処理として、前記第1の仮想論理ボリュームの前記コピー対象領域のうちの更新対象となる領域に格納されていた更新前データを、複数の前記第2の仮想論理ボリュームに複製するスナップショットを実行し、
     前記管理システムは、
     前記第1の仮想論理ボリュームの前記コピー対象領域のうちでアクセス頻度が高い領域のデータを、前記仮想マシンに渡し、前記仮想マシンにより、アクセス頻度が高い領域のデータを前記第2の仮想論理ボリュームに書き込ませる
    請求項1に記載の計算システム。
  14.  特性の異なる複数の記憶媒体の実記憶領域により構成されたプールと、仮想記憶領域で構成され、前記仮想記憶領域に対して前記プールを構成する前記実記憶領域の中から実記憶領域が割り当てられる複数の仮想論理ボリュームと、前記仮想論理ボリュームを構成する前記仮想記憶領域に対する前記実記憶領域の割り当てを制御するコントローラとを含むストレージシステムに接続される管理システムであって、
     前記コントローラは、
     前記仮想論理ボリュームの前記仮想記憶領域で管理されるデータを、所定の条件に従って、割り当てられていた実記憶領域から特性の異なる他の前記記憶媒体の実記憶領域に移動させ、
     また、第1の仮想論理ボリュームの仮想記憶領域の少なくとも一部であるコピー対象領域についての第2の仮想論理ボリュームへのコピー処理を実行し、
     前記管理システムは、
     前記第2の仮想論理ボリュームが利用される際に、前記コピー処理により前記第2の仮想論理ボリュームに複製されたデータのうちの少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記コントローラを制御する
    管理システム。
  15.  特性の異なる複数の記憶媒体の実記憶領域により構成されたプールと、仮想記憶領域で構成され、前記仮想記憶領域に対して前記プールを構成する前記実記憶領域の中から実記憶領域が割り当てられる複数の仮想論理ボリュームと、前記仮想論理ボリュームを構成する前記仮想記憶領域に対する前記実記憶領域の割り当てを制御するコントローラとを含むストレージシステムと、
     前記ストレージシステムに接続された管理システムと、
    を有する計算機システムにおけるデータを管理するデータ管理方法であって、
     前記ストレージシステムでは、
     前記仮想論理ボリュームの前記仮想記憶領域で管理されるデータを、所定の条件に従って、割り当てられていた実記憶領域から特性の異なる他の前記記憶媒体の実記憶領域に移動させ、
     また、第1の仮想論理ボリュームの仮想記憶領域の少なくとも一部であるコピー対象領域についての第2の仮想論理ボリュームへのコピー処理を実行し、
     前記計算機システムでは、
     前記第2の仮想論理ボリュームが利用される際に、前記コピー処理により前記第2の仮想論理ボリュームに複製されたデータのうちの少なくとも一部のデータを、より特性の良い前記記憶媒体の実記憶領域に移動させるように、前記ストレージシステムを制御する
    データ管理方法。
PCT/JP2011/054597 2011-03-01 2011-03-01 計算機システム、管理システム及びデータ管理方法 WO2012117515A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2011/054597 WO2012117515A1 (ja) 2011-03-01 2011-03-01 計算機システム、管理システム及びデータ管理方法
US13/128,161 US20120260051A1 (en) 2011-03-01 2011-03-01 Computer system, management system and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/054597 WO2012117515A1 (ja) 2011-03-01 2011-03-01 計算機システム、管理システム及びデータ管理方法

Publications (1)

Publication Number Publication Date
WO2012117515A1 true WO2012117515A1 (ja) 2012-09-07

Family

ID=46757477

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/054597 WO2012117515A1 (ja) 2011-03-01 2011-03-01 計算機システム、管理システム及びデータ管理方法

Country Status (2)

Country Link
US (1) US20120260051A1 (ja)
WO (1) WO2012117515A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5853819B2 (ja) * 2012-03-29 2016-02-09 富士通株式会社 制御プログラム、制御方法、記憶制御装置および情報処理システム
WO2013190649A1 (ja) * 2012-06-20 2013-12-27 富士通株式会社 仮想ディスクのマイグレーションに関する情報処理方法及び装置
US9952936B2 (en) * 2012-12-05 2018-04-24 Hitachi, Ltd. Storage system and method of controlling storage system
GB2509057A (en) * 2012-12-18 2014-06-25 Ibm Predictive point-in-time copy for storage systems
US10007602B2 (en) * 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US9612769B1 (en) * 2014-06-30 2017-04-04 EMC IP Holding Company LLC Method and apparatus for automated multi site protection and recovery for cloud storage
US9575858B2 (en) * 2014-10-02 2017-02-21 Vmware, Inc. Dynamic protection of storage resources for disaster recovery
US10108352B2 (en) 2015-03-03 2018-10-23 International Business Machines Corporation Incremental replication of a source data set
US10031668B2 (en) 2016-02-29 2018-07-24 Red Hat Israel, Ltd. Determining status of a host operation without accessing the host in a shared storage environment
CN106658753B (zh) * 2016-09-14 2020-01-17 Oppo广东移动通信有限公司 一种数据迁移方法及终端设备
US11016699B2 (en) * 2019-07-19 2021-05-25 EMC IP Holding Company LLC Host device with controlled cloning of input-output operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法
JP2010108341A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd 階層型ストレージシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188592A1 (en) * 2001-06-11 2002-12-12 Storage Technology Corporation Outboard data storage management system and method
JP4176341B2 (ja) * 2001-10-23 2008-11-05 株式会社日立製作所 記憶制御装置
US20040210677A1 (en) * 2002-06-28 2004-10-21 Vinodh Ravindran Apparatus and method for mirroring in a storage processing device
US7376765B2 (en) * 2002-06-28 2008-05-20 Brocade Communications Systems, Inc. Apparatus and method for storage processing with split data and control paths
US20060013222A1 (en) * 2002-06-28 2006-01-19 Brocade Communications Systems, Inc. Apparatus and method for internet protocol data processing in a storage processing device
US20040143639A1 (en) * 2002-06-28 2004-07-22 Venkat Rangan Apparatus and method for data replication in a storage processing device
US7752361B2 (en) * 2002-06-28 2010-07-06 Brocade Communications Systems, Inc. Apparatus and method for data migration in a storage processing device
US20040141498A1 (en) * 2002-06-28 2004-07-22 Venkat Rangan Apparatus and method for data snapshot processing in a storage processing device
US20040143642A1 (en) * 2002-06-28 2004-07-22 Beckmann Curt E. Apparatus and method for fibre channel data processing in a storage process device
US8200871B2 (en) * 2002-06-28 2012-06-12 Brocade Communications Systems, Inc. Systems and methods for scalable distributed storage processing
US7353305B2 (en) * 2002-06-28 2008-04-01 Brocade Communications Systems, Inc. Apparatus and method for data virtualization in a storage processing device
US7237045B2 (en) * 2002-06-28 2007-06-26 Brocade Communications Systems, Inc. Apparatus and method for storage processing through scalable port processors
JPWO2004109517A1 (ja) * 2003-06-09 2006-07-20 富士通株式会社 ストレージ管理プログラムおよびファイル処理プログラム
US8346997B2 (en) * 2008-12-11 2013-01-01 International Business Machines Corporation Use of peripheral component interconnect input/output virtualization devices to create redundant configurations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009093316A (ja) * 2007-10-05 2009-04-30 Hitachi Ltd ストレージシステム及び仮想化方法
JP2010108341A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd 階層型ストレージシステム

Also Published As

Publication number Publication date
US20120260051A1 (en) 2012-10-11

Similar Documents

Publication Publication Date Title
WO2012117515A1 (ja) 計算機システム、管理システム及びデータ管理方法
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
JP5068081B2 (ja) 管理装置および管理方法
JP4688617B2 (ja) 記憶制御システム及び方法
US7269701B2 (en) Self-configuration of source-to-target mapping
US8510526B2 (en) Storage apparatus and snapshot control method of the same
JP5227887B2 (ja) バックアップ管理方法
US8402236B2 (en) Computer system managing volume allocation and volume allocation management method
US8448167B2 (en) Storage system, and remote copy control method therefor
US8219770B2 (en) Storage system and data management method
EP2387751B1 (en) Apparatus and method for data backup
JP5172574B2 (ja) アプリケーションデータのバックアップ構成構築に用いる管理計算機
US8396835B2 (en) Computer system and its data control method
US7146474B2 (en) System, method and computer program product to automatically select target volumes for a fast copy to optimize performance and availability
JP2008065525A (ja) 計算機システム、データ管理方法及び管理計算機
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2007279845A (ja) ストレージシステム
JP2007226347A (ja) 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
US10747624B2 (en) Storage system and control method of storage system using asynchronous remote copying to backup volume at specific time points
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
US9075755B1 (en) Optimizing data less writes for restore operations
JPWO2015162684A1 (ja) ストレージシステムのデータ移行方法
US9063892B1 (en) Managing restore operations using data less writes
JP6557785B2 (ja) 計算機システム及びストレージ装置の制御方法
WO2014091600A1 (ja) ストレージ装置及びストレージ装置移行方法

Legal Events

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

Ref document number: 13128161

Country of ref document: US

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

Ref document number: 11859998

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: 11859998

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP