WO2015145680A1 - 管理計算機、及び計算機システム - Google Patents

管理計算機、及び計算機システム Download PDF

Info

Publication number
WO2015145680A1
WO2015145680A1 PCT/JP2014/058930 JP2014058930W WO2015145680A1 WO 2015145680 A1 WO2015145680 A1 WO 2015145680A1 JP 2014058930 W JP2014058930 W JP 2014058930W WO 2015145680 A1 WO2015145680 A1 WO 2015145680A1
Authority
WO
WIPO (PCT)
Prior art keywords
volume
creation process
image
storage system
storage
Prior art date
Application number
PCT/JP2014/058930
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 US14/896,226 priority Critical patent/US9671966B2/en
Priority to PCT/JP2014/058930 priority patent/WO2015145680A1/ja
Publication of WO2015145680A1 publication Critical patent/WO2015145680A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Definitions

  • the present invention relates to a technique for managing objects in a storage apparatus.
  • VMs virtual computers
  • a computer system in which a plurality of users can update snapshots by using an updatable snapshot (Writable SnapShot, hereinafter referred to as WSS) in a virtual environment (for example, Patent Documents).
  • WSS Writeable SnapShot
  • the computer system has a NAS OS (Network Attached Storage Operating System) having a WSS function, and the NAS OS provides a plurality of virtual NAS to each domain.
  • a plurality of virtual NAS uses the same original data, and each virtual NAS manages a difference corresponding to each update data, whereby each domain can update a snapshot.
  • object data such as VM is provided to the host computer using the WSS function described above.
  • a plurality of objects are provided by generating a plurality of snapshots based on a golden image that is a template of original data for providing the objects.
  • each difference data is associated with each snapshot.
  • the present invention has been made in view of such a situation, and provides a computer system management technique for determining an object cloning method.
  • a management computer includes a memory, a storage system that provides a first volume that is a logical volume for storing a first image of an object, and a processor connected to the memory. Is provided.
  • the processor grasps the state of the storage system that provides the first volume, which is a logical volume that stores the first image of the object.
  • the processor is processing by the storage system.
  • One creation process is selected from a plurality of creation processes including the first creation process and the second creation process based on the state of the storage system, and an instruction for the selected creation process is transmitted to the storage system.
  • the first creation process creates a second volume as a virtual logical volume that stores the second image of the object, and associates the second volume with the first image and the difference data from the first image, This is a process for providing a second volume.
  • the second creation process is a process by the storage system, which creates a second volume as a logical volume, and provides the second volume by copying the first image to the second volume.
  • FIG. 1 is a configuration diagram of a computer system according to Embodiment 1.
  • FIG. 2 is a logical configuration diagram of a host computer 100.
  • FIG. 2 is a configuration diagram of a storage apparatus 200.
  • FIG. This is information stored in the memory 203 of the storage apparatus 200.
  • This is a logical volume management table 2031.
  • This is the difference management table 2032.
  • This is a pool management table 2033.
  • This is a logical volume management table 4011.
  • FIG. 12 is a flowchart of clone creation method determination processing according to the second embodiment.
  • 10 is a modification of the computer system according to the second embodiment.
  • 10 is a flowchart of a clone creation method determination process according to a modification of the second embodiment. It is a figure which shows the outline
  • FIG. This is a template management table 4016. 3 is an example of a virtual machine creation interface 2300. It is a figure which shows the outline
  • aaa table various types of information may be described using the expression “aaa table”, but the various types of information may be expressed using a data structure other than a table.
  • the “aaa table” can be called “aaa information”.
  • an information element consisting of values of each business in the table is called an entry.
  • the processing is simply described with the management computer, the host computer, or the program as the subject, but these processings are performed by the processor (for example, Central Processing Unit: CPU) indicates that the program is being executed.
  • the processor for example, Central Processing Unit: CPU
  • the processing is simply described with the storage device as the subject, it indicates that the controller included in the storage device is executing the program.
  • the control device and the controller may be the processor itself, or may include a hardware circuit that performs a part or all of the processing performed by the control device or the controller.
  • the program may be installed on each computer or storage system from the program source.
  • the program source may be, for example, a program distribution server or a storage medium.
  • FIG. 1 is a diagram showing an outline of a clone creation method according to Example 1.
  • the computer system includes a host computer 100, a storage device 200, a virtual machine management computer 300, and a management computer 400.
  • the virtual machine management computer 300 may be abbreviated as the VM management computer 300 in some cases.
  • the storage apparatus 200 includes a golden image volume 210, a snapshot volume 211, and a difference pool 213.
  • the golden image volume 210 may be abbreviated as GI volume 210 in some cases.
  • the snapshot volume 211 may be abbreviated as the SS volume 211 in some cases.
  • the SS volume 211 is a virtual volume that stores a snapshot provided to the host computer 100.
  • the snapshot referred to here is image data based on the golden image in the GI volume 210 and the difference data in the difference pool 213, and is an updatable snapshot (WSS).
  • the snapshot of the SS volume 211 provides the host computer 100 with a virtual machine (VM, virtual computer) that is a virtual computer as an object. Instead of the VM, another object such as an application executed on the host computer 100 may be used.
  • VM virtual machine
  • another object such as an application executed on the host computer 100 may be used.
  • the GI volume 210 is a logical volume that stores golden images.
  • the golden image is templated VM data for operating a VM on the host computer 100.
  • a golden image is a program for operating a VM.
  • the difference pool 213 is a logical area in which difference data between the golden image and specific VM data is stored. Specifically, for example, the differential data is written to the differential pool 213 when the VM is written to the SS volume 211.
  • the management computer 400 executes a clone creation method determination process for determining a VM clone creation method.
  • the volume that is the basis of the VM is the SS volume 211 or the Basic volume 212.
  • the clone creation method determination process is executed when the management computer 400 receives a clone creation instruction from the VM management computer 300. It should be noted that the VM management computer 300 responds to the storage apparatus 200 when an instruction to copy the data that is the basis of the VM to another volume is input by the user who manages the VM, or when viewed from the host computer 100 A clone creation instruction is transmitted to the management computer 400 when the performance does not satisfy the predetermined requirements.
  • the predetermined requirement is, for example, when the response of the storage apparatus 200 becomes slower than a certain value.
  • the clone creation method determination process performed by the management computer 400 will be described.
  • the management computer 400 receives a clone creation instruction from the VM management computer 300.
  • the management computer 400 receives the clone creation instruction and determines how to create the clone. This determination may be made based on the configuration information and performance information of the storage apparatus 200.
  • (2) is a determination as to which of the following methods (a) to (d) is used to create a copy of the SS volume 211, for example.
  • FIG. 1 only the following (a) and (b) are shown, but there is a method of changing the GI volume 210 associated with the SS volume 211 as shown in (c) and (d). May be.
  • (A) This is a method in which the storage apparatus 200 creates a copy of the SS volume 211 by copying only the difference data in the difference pool 213 among the data that is the basis of the SS volume 211. In the following description and drawings, this duplication may be referred to as a differential clone.
  • the VM data in the GI volume 210 is copied to the basic volume 212, and the VM data in the basic volume 212 is updated with the difference data in the copy source difference pool 213a.
  • the replication source is a basic volume
  • a full clone of the replication source basic volume may be generated in the replication destination basic volume.
  • C This is because when there are a plurality of GI volumes that store the same GI, the storage apparatus 200 creates a differential clone and uses the same GI for the GI volume 210 that is referenced by the SS volume 211b that is the replication destination. This is a method of switching to another GI volume to be stored.
  • the creation of the differential clone is the same as (a).
  • the management computer 400 transmits a clone creation command to the storage apparatus based on the determination result in (2).
  • a specific cloning command is one of the following.
  • the management computer 400 transmits a command for copying the difference data to the difference pool 213b different from the copy source difference pool 213a to the storage apparatus 200.
  • the management computer 400 transmits a command for creating a full clone of the SS volume 211 or the Basic volume 212 to the storage apparatus 200.
  • the management computer 400 copies the difference data to the difference pool 213b different from the copy source difference pool 213a, and transmits a command for switching the GI volume 210 to be referenced to the storage apparatus 200. To do.
  • the management computer 400 copies the difference data to the difference pool 213b different from the copy source difference pool 213a, and sends a command for switching the reference destination to the new GI volume 210. 200.
  • the storage apparatus 200 creates a replica of the volume that is the basis of the VM. If necessary, the copy source volume (data) may be deleted.
  • an appropriate clone creation method can be selected based on the configuration information and performance information of the storage apparatus 200.
  • the replica of the volume that is the basis of the VM is always a full clone, and it is possible to prevent the storage capacity from being used more than expected. From the administrator who manages this system, it is possible to prevent the storage capacity required for data storage from unintentionally increasing due to cloning, not only reducing the purchase cost of storage capacity but also expanding the system. The accompanying increase in management cost can be prevented.
  • FIG. 2 is a configuration diagram of the computer system according to the first embodiment.
  • the computer system includes a host computer 100, a storage device 200, a VM management computer 300, and a management computer 400.
  • the storage apparatus 200 is connected to the VM management computer 300, the management computer 400, and the host computer 100 via a first communication network 600 such as a LAN (Local Area Network).
  • the storage apparatus 200 is connected to the host computer 100 via a second communication network 500 such as a SAN (Storage Area Network).
  • a first communication network 600 such as a LAN (Local Area Network).
  • the storage apparatus 200 is connected to the host computer 100 via a second communication network 500 such as a SAN (Storage Area Network).
  • SAN Storage Area Network
  • the storage device 200 includes a disk device 202 and a controller 201 connected to the disk device 202.
  • the disk device 202 includes one or more physical storage devices 208.
  • the physical storage device 208 is, for example, SAS (Serial Attached Small Computer System Interface) -HDD (Hard Disk Drive), SATA (Serial Advanced Technology Attachment) -HDD, SSD (Solid State Drive), but is not limited thereto. . Further, a semiconductor storage device may be used instead of the physical storage device 208.
  • a plurality of physical storage devices 208 may constitute a RAID (Redundant Arrays of Inexpensive Disks) group. Based on one physical storage device 208 or a plurality of physical storage devices 208 constituting one RAID group, one or a plurality of logical volumes may be provided to the host computer 100.
  • the one or more physical storage devices 208 may be provided from an external storage device (not shown).
  • the controller 201 includes a management interface (I / F) 206, a communication I / F 205, a device I / F 207, a memory 203, and a processor 204 connected thereto.
  • the management I / F may be referred to as MI / F.
  • the communication I / F may be referred to as CI / F.
  • the device I / F may be referred to as DI / F.
  • the M-I / F 206 is a communication interface connected to the first communication network 600, and is, for example, a NIC (Network Interface Card).
  • the C-I / F 205 is a communication interface device connected to the second communication network 500.
  • the DI / F 207 is a communication interface device for communicating with the disk device 202.
  • the controller 201 accesses the physical storage device 208 via the DI / F 207.
  • the DI / F 207 may be provided for each type of physical storage device.
  • the memory 203 stores various information such as a computer program executed by the processor (CPU) 204.
  • the memory 203 has a cache memory area. In the cache memory area, write data according to a write command from the host computer 100, read data read from an actual data storage area (for example, a page) on a physical storage device based on a read command from the host computer 100, etc. Is temporarily stored.
  • the write data in the cache memory area is stored in the physical storage device assigned to the write destination virtual area indicated by the write command.
  • the read data in the cache memory area is provided to the host computer 100. Information and programs stored in the memory 203 will be described later.
  • the host computer 100 includes a management interface (M-I / F) 104, a communication I / F (C-I / F) 103, a storage resource 101, a processor 102 connected thereto, and an I / O device ( (Not shown).
  • the MI / F 104 is, for example, a NIC
  • the CI / F 103 is, for example, an HBA (Host Bus Adapter).
  • the storage resource 101 is, for example, a memory, and may include an auxiliary storage device such as an HDD (Hard Disk Drive).
  • the storage resource 101 stores, for example, an application program such as a business program or an OS (Operating System), and the processor 102 executes the application program or OS.
  • the I / O device has an input unit that receives input from the user and an output unit that displays various types of information to the user.
  • the input unit for example, a keyboard, a switch, a pointing device, and / or a microphone
  • the output unit is, for example, a display device and / or a speaker.
  • the VM management computer 300 includes an MI / F 303, a storage resource 301, a processor (CPU) 302 connected thereto, and an I / O device (not shown).
  • the MI / F 303 is a NIC, for example.
  • the I / O device is the same as the I / O device constituting the host computer 100.
  • the storage resource 301 is a memory, for example, and may include an auxiliary storage device such as an HDD.
  • the storage resource 301 stores computer programs and various information.
  • the information stored in the storage resource 301 includes, for example, VM configuration information indicating which VM is operating on which host computer 100, VM performance information such as the response time of the storage apparatus viewed from the VM, and the like.
  • the response time is, for example, the time from when the host computer 100 issues a command to the storage apparatus until the host computer 100 receives a response to the command.
  • the storage resource 301 uses the VM management computer 300 to manage VMs as a trigger for VM data movement instructions from the VM management computer 300 and performance information monitoring results such as storage device response times.
  • a clone creation instruction program for instructing clone creation is managed. Such a program is executed by the processor 302.
  • the management computer 400 includes an M-I / F 403, a storage resource 401, a processor (CPU) 402 connected thereto, and an I / O device (not shown).
  • the MI / F 403 is, for example, a NIC.
  • the I / O device is the same as the I / O device constituting the host computer 100.
  • the storage resource 401 is a memory, for example, and may include an auxiliary storage device such as an HDD.
  • the storage resource 401 stores computer programs and various information.
  • the computer program is executed by the processor 402. Information and programs stored in the storage resource 401 will be described later.
  • the communication interface devices such as the above-described MI / F and CI / F may differ depending on, for example, the type of network to which the I / F is connected and the type of apparatus having the I / F. Good.
  • FIG. 3 is a logical configuration diagram of the host computer 100.
  • the host computer 100 has a hypervisor (HV) 110.
  • the HV 110 is a program that generates and executes the VM 111.
  • the HV 110 can generate and control a plurality of VMs 111 at a time.
  • Each of the plurality of VMs 111 can execute an application as if it were a stand-alone physical computer.
  • the line connecting VM and HV is a line that logically indicates that the VM is operating on the HV, and is not a line that indicates a connection on the network.
  • FIG. 4 is a configuration diagram of a volume of the storage apparatus 200.
  • the controller 201 of the storage apparatus 200 generates a GI volume 210, a difference pool 213, and a basic volume 212 based on one or more physical storage devices 208 of the disk apparatus 202. Further, the controller 201 generates an SS volume 211 based on the GI volume 210 and the difference pool 213.
  • the GI volume 210 is a logical volume based on the storage area of the physical storage device 208.
  • the GI volume 210 may be a logical volume based on a RAID group composed of a plurality of physical storage devices 208, and assigns a real storage area of the physical storage device 208 when written from the host computer 100, by Thin Provisioninging. It may be a virtual logical volume.
  • the difference pool 213 is generated based on one or more physical storage devices 208.
  • a difference volume based on a RAID group configured by a plurality of physical storage devices 208 may belong to the difference pool 213.
  • the basic volume 212 is a logical volume provided to the host computer 100 based on the storage area of the physical storage device 208.
  • the Basic volume 212 may be a logical volume based on a RAID group composed of a plurality of physical storage devices 208, and assigns a real storage area of the physical storage device 208 when a write is entered from the host computer 100, by Thin Provisioninging. It may be a virtual logical volume.
  • the SS volume 211 is a virtual logical volume provided to the host computer 100 based on the GI volume 210 and the difference pool 213.
  • the GI volume 210 and / or differential pool 213 that is the basis of the SS volume 211 may be expressed as a GI volume 210 and / or differential pool 213 associated with the SS volume 211.
  • the golden image in the GI volume 210 and / or the difference data in the difference pool 213 that is the basis of the snapshot stored in the SS volume 211 are used as the golden image associated with the snapshot and / or Or it may be expressed as difference data.
  • the SS volume 211 is a virtual logical volume that cannot exist independently of the GI volume 210.
  • the Basic volume 212 is a logical volume that can exist independently of the GI volume 210.
  • the VM provided to the host computer 100 is based on either the SS volume 211 or the Basic volume 212. Therefore, in this embodiment, the GI volume 210 is a logical volume used as a template of VM data for creating the SS volume 211 or the Basic volume 212, and is a logical volume directly provided to the host computer 100. It is described as not present. However, the GI volume may be a volume directly provided to the host computer 100.
  • the lines connecting various logical volumes and the physical storage device 208 and the lines connecting the SS volume 211 and the GI volume 210 are logical connections, not lines representing network connections. .
  • FIG. 5 shows information stored in the memory 203 of the storage apparatus 200.
  • the memory 203 stores a logical volume management table 2031, a difference management table 2032, a pool management table 2033, a clone creation processing program 2034, a write processing program 2035, a read processing program 2036, and a snapshot control program 2037.
  • the clone creation processing program 2034 is a program executed by the CPU 204 when a clone creation command is transmitted from the management computer 400. Details will be described later.
  • the write processing program 2035 is a program executed by the CPU 204 when a data write instruction for the SS volume 211 is transmitted from the host computer 100. Details will be described later.
  • the read processing program 2036 is a program executed by the CPU 204 when a data read instruction for the SS volume 211 is transmitted from the host computer 100.
  • data is read from the storage area associated with the target block of the SS volume 211 designated by the data read instruction and transmitted to the host computer 100.
  • the program 2036 reads the data from the storage area of the GI volume 210 that is associated with the target block and stores the golden image.
  • the program 2036 reads the data from the storage area of the difference pool 213 associated with the target block and storing the difference data.
  • the snapshot control program 2037 is a program executed by the CPU 204 when an SS volume creation instruction is received from the management computer 400. Based on the SS volume creation instruction, the program 2037 creates the SS volume 211 based on the golden image in the GI volume 210. When creating the SS volume 211 in this process, the program 2037 sets the reference destination of the SS volume 211 to the GI volume. Note that, by updating the SS volume 211, the reference pool of the SS volume 211 includes the difference pool 213.
  • FIG. 6 shows the logical volume management table 2031.
  • the logical volume management table 2031 is a table that stores information on the logical volumes that the storage apparatus 200 has.
  • the logical volume includes a virtual logical volume associated with another logical volume.
  • the logical volume management table 2031 has an entry for each logical volume in the storage apparatus 200.
  • the LDEV ID 20311 is an ID for uniquely identifying the logical volume.
  • the Volume Type 20312 stores the type of the logical volume.
  • the GI volume 210 is “GI”
  • the SS volume 211 is “SS”
  • the Basic volume 212 is “Basic”.
  • GI LDEV ID 20313 is the ID of the GI volume 210 associated with the SS volume 211 when the logical volume is the SS volume 211.
  • “ ⁇ ” is set.
  • the SSID 20314 is an ID for uniquely identifying the logical volume from among the SS volumes 211 associated with the same GI volume 210 when the logical volume is an SS volume.
  • two SS volumes “VOL2” and “VOL3” are created based on the VOL volume of “VOL1”, and these two SS volumes “VOL2” and “VOL3” are created.
  • SSIDs “SS1” and “SS2” are given in the order in which they are performed.
  • Pool ID 20315 is an ID for uniquely identifying the difference pool 213 associated with the SS volume when the logical volume is an SS volume.
  • the capacity 20316 is the capacity of the logical volume.
  • FIG. 7 shows the difference management table 2032.
  • the difference management table 2032 is a table for storing information on the GI volume 210 that the storage apparatus 200 has.
  • the GI volume 210 is a volume whose volume type 20312 is indicated by “GI” in the logical volume management table 2031.
  • the difference management table 2032 has an entry for each storage area in the GI volume.
  • the GI LDEV ID 20321 is an ID for uniquely identifying the GI volume 210 to which the storage area belongs.
  • the LDEV area ID 20322 is a block address of the storage area in the GI volume 210.
  • the difference storage area 20323 indicates a position where the difference data in the storage area is stored. This area 20323 is divided into fields for each SSID. In each SSID field, a difference pool ID indicating a difference pool and a block address in the difference pool are registered as a storage location of the difference data.
  • a difference pool ID indicating a difference pool and a block address in the difference pool are registered as a storage location of the difference data.
  • the storage location of the differential data of the SS volume “SS1” corresponding to the storage area of the block address “0” of the GI volume “VOL1” is , “1: 0”. This indicates that the difference data of the SS volume “SS1” is stored in the storage area of the block address “0” of the difference pool “1”. If there is no difference data, “none” is stored.
  • the table 2032 is referred to in the data read processing from the SS volume 211 in the read processing program 2036.
  • FIG. 8 shows a pool management table 2033.
  • the pool management table 2033 is a table that stores information on the difference pool 213 that the storage apparatus 200 has.
  • the pool management table 2033 has an entry for each differential pool 213.
  • Pool ID 20331 is an ID for uniquely identifying the difference pool 213.
  • the Pool capacity 20332 is the total capacity of the difference pool 213.
  • the Pool remaining capacity 20333 is a capacity of an unused area of the difference pool 213.
  • FIG. 9 shows information stored in the storage resource 401 of the management computer 400.
  • the storage resource 401 stores a logical volume management table 4011, a GI management table 4012, an SS management table 4013, a pool management table 4014, and a clone creation method determination program 4015.
  • FIG. 10 shows a logical volume management table 4011.
  • the logical volume management table 4011 is a table that stores information on the logical volume of the storage apparatus 200 that is the management target of the management computer 400.
  • the logical volume management table 4011 has an entry for each logical volume.
  • the LDEV ID 40111 is an ID for uniquely identifying the logical volume.
  • the storage ID 40112 is an ID for uniquely identifying the storage apparatus 200 having the logical volume.
  • Volume Type 20312 is the type of the logical volume.
  • the GI volume 210 is “GI”
  • the SS volume 211 is “SS”
  • the Basic volume 212 is “Basic”.
  • the capacity 20316 is the total capacity of the logical volume.
  • FIG. 11 shows a GI management table 4012.
  • the GI management table 4012 is a table that stores information on golden images of storage devices managed by the management computer 400.
  • the GI management table 4012 has an entry for each golden image.
  • GI ID 40121 is an ID for uniquely identifying the golden image.
  • the storage ID 40122 is an ID for uniquely identifying the storage apparatus 200 having the golden image.
  • the LDEV ID 40123 is an ID that uniquely identifies the GI volume 210 in which the golden image is stored. That is, the golden image is identified by the GI ID 40121 and stored in the logical volume specified by the Storage ID 40122 and the LDEV ID 40123.
  • the response time 40124 is, for example, the time from when the host computer 100 issues a command to the storage apparatus 200 until it accesses the GI volume 210 that stores the golden image and receives a response to the command. .
  • the response time 40124 may be, for example, a static response time (catalog value) of the physical storage device 208 that is the basis of the GI volume 210, or may be an actual measurement value.
  • GI group ID 40125 is an ID of a golden image group (GI group) to which the golden image belongs.
  • GI group golden image group
  • one or more identical golden images belong to one GI group.
  • golden images having the same GI group ID 40125 are the same GI.
  • a golden image is prepared for each OS type.
  • the same GI group ID 40125 is assigned to golden images of the same OS type.
  • a plurality of identical GI volumes 210 may belong to each GI group. Thereby, the GI volume 210 for creating the SS volume 211 can be selected from a plurality of candidates according to the load of the GI volume 210.
  • FIG. 12 shows the SS management table 4013.
  • the SS management table 4013 is a table for storing snapshot information managed by the management computer 400.
  • the snapshot management table 4013 has an entry for each snapshot.
  • the SSID 40131 is an ID for uniquely identifying the snapshot.
  • Storage ID 40132 is the ID of the storage apparatus 200 having the SS volume 211 in which the snapshot is stored.
  • the LDEV ID 40133 is an ID for uniquely identifying the SS volume 211 in which the snapshot is stored. That is, the snapshot identified by the SSID 40131 is stored in the SS volume 211 identified by the storage ID 40132 and the LDEV ID 40133.
  • GI ID 40134 is the ID of the golden image associated with the snapshot.
  • Pool ID 40135 is the ID of the difference pool 213 that stores the difference data associated with the snapshot.
  • the difference amount 40136 is the total amount of difference data associated with the snapshot.
  • the storage apparatus 200 refers to the difference management table 2032, calculates the total capacity of the storage area of the SS volume 210 in which the difference storage area 20323 is not “None”, and receives the calculated value in the management computer 400. You may make it pass.
  • the GI access frequency 40137 is the number of accesses per unit time from the host computer 100 to the GI volume 210 that is the basis of the snapshot.
  • the storage apparatus 200 may count the number of accesses to the GI volume 210 and pass this information to the management computer 400.
  • the pool access frequency 40138 is the number of accesses per unit time from the host computer 100 to the differential pool 213 associated with the SS volume 211 in which the snapshot is stored.
  • the storage apparatus 200 may count the number of accesses to the difference pool 213 and transfer the information to the management computer 400.
  • Assigned host 40139 is the ID of the host computer 100 assigned to the snapshot.
  • VM ID 401391 is the ID of the VM assigned to the snapshot.
  • the request response time 401391 is a response time required for the storage apparatus 200 when the VM assigned to the snapshot accesses the storage apparatus 200.
  • the request response time is specified by the user via the VM management computer 300 or the management computer 400, for example.
  • FIG. 13 shows a pool management table 4014.
  • the pool management table 4014 is a table for managing information on the difference pool 213 included in the storage apparatus 200 managed by the management computer 400.
  • the pool management table 4014 has an entry for each differential pool 213.
  • Pool ID 40141 is an ID for uniquely identifying the difference pool 213.
  • Storage ID 40142 is the ID of the storage apparatus 200 having the difference pool 213.
  • the Pool capacity 40143 is the total capacity of the difference pool 213.
  • the Pool remaining capacity 40144 is the capacity of the unused area of the difference pool 213.
  • the unused area is an area in which difference data is not stored.
  • the response time 40145 is, for example, the time from when the host computer 100 issues a command to the storage apparatus 200 until the difference data in the difference pool 213 is accessed and a response to the command is received.
  • the response time 40145 may be, for example, a static response time (catalog value) of the physical storage device 208 that is the basis of the difference pool 213, or may be an actual measurement value. Further, when the difference pool 213 is generated based on different types of physical storage devices 208, the average response time of these multiple types of physical storage devices 208 may be used.
  • the operation rate 40146 is the operation rate of the difference pool 213.
  • the operation rate is information indicating an access load to the difference pool 213.
  • the operation rate may be a ratio of the current access frequency to the access frequency allowed by the difference pool 213.
  • the operating rate is calculated by the storage apparatus 200 and transferred to the management computer 400.
  • FIG. 14 is a flowchart of the clone creation method determination process.
  • the clone creation method determination process is performed by the CPU 402 of the management computer 400 executing the clone creation method determination program 4015a stored in the storage resource 401.
  • the clone creation method determination program 4015a is executed when the management computer 400 receives a clone creation instruction.
  • the clone creation instruction indicates that the VM management computer 300 has detected that the response time of the storage apparatus 200 has become slower than a certain value, or the VM data is transferred to other logic in the storage apparatus 200. This is transmitted to the management computer 400 when it is determined that it is necessary to move to a volume.
  • the VM management computer 300 transmits a clone creation instruction to the management computer 400 is not limited to this case.
  • the clone creation instruction includes the ID of the clone source volume (replication source volume).
  • the clone creation instruction may include conditions (necessary conditions) necessary for determining a clone creation destination volume (replication destination volume).
  • the necessary condition may be the disk type of the physical storage device 208 that is the basis of the replication destination volume.
  • the clone creation method determination program 4015 receives a clone creation instruction from the VM management computer 300, and confirms whether the replication source volume is the SS volume 211 or the Basic volume 212 (S1401). Specifically, the program 4015 refers to the VolumeType 40113 of the logical volume management table 4011 and determines whether the VolumeType of the replication source volume is “SS” or “Basic”.
  • the program 4015 transmits to the storage apparatus 200 a full clone creation instruction for copying all the data stored in the basic volume to the volume secured as the copy destination volume. (S1402), and the process ends.
  • the program 4015 requests if the differential data stored in the replication source differential pool associated with the SS volume is replicated to another differential pool. It is determined whether the response time can be satisfied (S1403). Specifically, for example, the program 4015 calculates a post-replication response time, which is the response time of the SS volume after replication when the differential data is replicated to the differential pool 213 selected according to the necessary conditions for the clone creation instruction. . Then, the program 4015 determines whether or not the response time after replication is within the request response time 401391 for the replication source volume in the SS management table 4013.
  • the response time after replication includes, for example, the response time 40124 of the GI management table 4012 corresponding to the GI ID 40134 of the SS management table 4013 and the response time 40145 of the pool management table 4014 corresponding to the Pool ID 40135 of the SS management table 4013 for the replication source volume.
  • the values of the GI access frequency 40137 and the pool access frequency 40138 in the SS management table 4013 are calculated by applying the following formulas.
  • the GI response time is the response time of the GI volume associated with the replication source volume
  • the replication destination differential pool response time is the response time of the differential pool associated with the replication destination volume.
  • the program 4015 determines that only the differential data need be duplicated, and that the golden image of the GI volume 210 does not need to be changed to the duplication destination GI volume 210 (S1403). , Yes), a clone creation command is transmitted to the storage apparatus 200 as a clone creation command for copying the difference data to a different difference pool (S1404), and the process is terminated.
  • a new SS volume 211 is created. Therefore, the program 4015 stores the entry of the SS volume 211 as a replication destination in the logical volume management table 4011 and the SS management table 4013.
  • the program 4015 determines that the golden image of the GI volume 210 needs to be changed to the replication destination GI volume 210 as well as the differential data replication ( In S1403, No), the process proceeds to S1405.
  • S1403 is performed for each difference pool that is a candidate for the copy destination of the difference data, and there is a difference pool whose post-replication response time is within the requested response time. If even one is found, the determination in S1403 may be regarded as Yes.
  • the program 4015 refers to performance information (for example, operation rate) indicating the access load of the physical storage device 208 that is the basis of the GI volume 210 in addition to or instead of the above determination. Also good. At this time, if the access load on the physical storage device 208 is high, the program 4015 determines that it is necessary to change the golden image of the GI volume 210 to another GI volume 210 as well as the differential data copy (S1403). No).
  • performance information for example, operation rate
  • the program 4015 determines whether there is a usable GI volume instead of the GI volume 210 associated with the replication source SS volume 211a (S1405). Specifically, for example, the program 4015 acquires the GI ID 40134 of the GI volume 210 associated with the replication source SS volume 211a with reference to the SS management table 4013, and refers to the GI management table 4012 to obtain the GI volume. The GI group ID 40125 to which the 210 belongs is acquired. Then, the program 4015 checks whether there is an entry with the same ID as the acquired GI group ID in the GI management table 4012.
  • the program 4015 may determine the alternative GI volume 210 in consideration of the load status of the physical storage device that is the basis thereof.
  • the program 4015 switches from the GI volume associated with the replication source SS volume 211a to the alternative GI volume as a clone creation command, and switches the GI volume to copy the difference data to a different difference pool.
  • a command is transmitted to the storage apparatus 200 (S1406), and the process is terminated.
  • the program 4015 also adds an entry for the replication destination SS volume 211 to the logical volume management table 4011 and the SS management table 4013. carry out.
  • the program 4015 creates and switches a new alternative GI volume that duplicates the golden image of the GI volume 210 associated with the replication source SS volume 211a as a clone creation command, and switches the difference data to a different difference pool.
  • a GI volume creation command to be copied is transmitted to the storage apparatus 200, and the process is terminated (S1407).
  • the program 4015 adds a new entry to the GI management table 4012 and assigns the same ID as the GI group ID assigned to the duplication source GI volume 210.
  • FIG. 15 is a flowchart of the clone creation process.
  • the clone creation process is performed by the CPU 204 of the storage apparatus 200 executing the clone creation process program 2034 stored in the memory 203.
  • the clone creation processing program 2034 receives a differential clone creation command, a GI volume switching command, a GI volume creation command, and the like from the management computer 400 in S1404, S1406, and S1407 of the clone creation method determination processing (FIG. 14). Executed when a cloning command is received.
  • the clone creation commands in S1404, S1406, and S1407 include the ID of the volume that is the clone creation source (replication source volume) and the ID of the difference pool that is the replication destination of the difference data.
  • the ID of the alternative GI volume 210 may be included in the GI volume switching command in S1406.
  • the clone creation processing program 2304 determines whether or not the received clone creation command is an instruction accompanying switching of a GI volume (S1501).
  • the program 2034 updates the entry corresponding to the GI volume associated with the replication source SS volume 211a in the difference management table 2032 (S1502). Specifically, for example, the program 2034 identifies an entry corresponding to the ID of the GI volume in the difference management table 2032 and adds the SSID of the newly created SS volume to the difference storage area 20323 of the entry. initialize. In the example of FIG. 7, a case is shown in which clone creation is instructed for the SS volume “SS2” associated with the VOL volume “VOL1”.
  • the program 2034 updates the logical volume management table 2031. Specifically, for example, the program 2034 adds an entry for managing information on the new SS volume 211 to the logical volume management table 2031 and associates the entry with the GI volume.
  • FIG. 6 shows a case where an entry of LDEV ID “VOL4” corresponding to the new SS volume is added.
  • SS is stored in Volume Type 20312
  • VOL1 is stored in GI LDEV ID 20313
  • SS2-1 is stored in SSID 20314
  • capacity “30G” of the new SS volume is stored in capacity 20316.
  • the Pool ID 20315 stores the ID “Pool 2” of the copy destination difference pool specified by the clone creation command.
  • the program 2034 updates the entry of the alternative GI volume in the difference management table 2032 (S1508). Specifically, for example, for the update of the difference management table 2032, the program 2034 specifies or adds an entry corresponding to the GI LDEV ID 20321 of the alternative GI volume, and adds a new SS volume to the difference storage area 20323 of the entry. initialize. Further, the program 2034 updates the logical volume management table 2031. Specifically, for example, the program 2034 adds an entry for managing information on the new SS volume and associates it with the alternative GI volume.
  • the program 2034 refers to the difference management table 2032, sets the new SS volume as the target SS volume, and executes S1504 to 1506 for each difference storage area corresponding to the target SS volume.
  • the difference storage area that is the target of S1504 to S1506 is referred to as a target area.
  • the program 2034 determines whether or not the value of the target area is “none” (S1504). That is, it is determined whether the difference data of the target SS volume is stored in the target area of the difference pool.
  • the program 2034 advances the process for the next target area without duplicating the difference data for the target area.
  • the program 2034 reads the difference data from the difference storage area specified by the difference pool and the block address of the target area, and uses the difference data as the copy destination difference pool specified by the clone creation command. (S1505).
  • the copy destination differential pool and the write destination block address are stored in the target area (S1506).
  • the program 2034 ends the process when the processes of S1504 to S1506 are completed for all the target areas.
  • a replica of the volume that is the basis of the VM can be appropriately created by the clone creation method determined by the management computer 400.
  • FIG. 16 is a flowchart showing the flow of the writing process.
  • This processing is performed by the CPU 204 of the storage apparatus 200 executing the write processing program 2035.
  • the write processing program 2035 is activated when the storage apparatus 200 receives a write request for the SS volume 211 from the host computer 100.
  • the program 2035 stores the difference data in the difference pool 213 associated with the write destination SS volume 211 specified in the write request (S1601).
  • the program 2035 stores the ID of the difference pool storing the difference data and the block address of the difference pool in the corresponding difference storage area 20323 of the difference management table 2032 (S1602).
  • the program 2035 determines whether or not the write destination SS volume 211 is being cloned, and whether or not the write has been completed for the area (S1603). For example, in the clone creation process, the logical volume management table 2031 may manage whether the target SS volume 211 is in a replication state, or may manage how far the replication process has been completed ( Not shown). If the determination result in S1603 is No, the program 2035 ends the process.
  • the program 2035 When the determination result in S1603 is Yes, the program 2035 writes the data to the duplication destination difference pool 213 of the difference pool 213 associated with the write destination SS volume (S1604). Then, the program 2035 stores the ID of the difference pool into which the difference data is written and the address in the difference pool in the corresponding difference storage area of the difference management table 2032 (S1605).
  • the storage configuration and performance information It can be judged based on. Thereby, it is possible to prevent the SS volume 211 created using WSS from becoming a full clone against the user's intention and using more storage capacity than expected.
  • the various information and programs that the management computer 400 has may be provided in the storage resource 301 of the VM management computer 300 or in the memory 203 of the storage apparatus 200. In this case, the present embodiment can be applied even in an environment where the management computer 400 is not provided.
  • FIG. 17 is a diagram showing an outline of a clone creation method according to Example 2.
  • the management computer 400 determines a creation method for replicating a volume that is a basis of a VM
  • the clone is copied to a storage device that is different from the storage device having the copy source volume. Including cases.
  • the computer system of this embodiment has a storage system including a plurality of storage devices 200a and 200b. Specifically, the computer system includes an external storage device 200b connected to the storage device 200a, and the storage device 200a is mapped to a logical volume of the external storage device 200b by an external connection function.
  • the external connection function is a function that makes a logical volume created from a physical storage device 208 included in a different storage apparatus appear as if it is a logical volume included in the own storage apparatus.
  • the GI volume 210 included in the copy source storage apparatus 200a is made to appear as if it is a logical volume included in the copy destination storage apparatus 200b.
  • a read request is issued from the copy destination storage apparatus 200b to the copy source storage apparatus 200a to read out necessary data.
  • the storage apparatus having the original GI volume 210 and SS volume 211 may be referred to as a replication source storage apparatus 200a, and the clone creation destination storage apparatus may be referred to as a replication destination storage apparatus 200b.
  • Example 1 (1) is the same as Example 1.
  • (2) includes the following methods in determining how to create the SS volume 211b, which is a copy of the SS volume 211a.
  • the storage system copies the difference data in the copy source difference pool 213a among the logical volumes that are the basis of the SS volume 211a to the copy destination difference pool 213b of the copy destination storage device 200b. Then, the storage system maps the GI volume 210a of the copy source storage apparatus 200a to the virtual logical volume 210c of the copy destination storage apparatus 200b using an external connection function.
  • the storage system copies the difference data in the copy source difference pool 213a among the logical volumes that are the basis of the SS volume 211a to the copy destination difference pool 213b of the copy destination storage apparatus 200b. Then, the storage system creates a GI volume 210b that is a copy of the GI volume 210a of the copy source storage apparatus 200a in the copy destination storage apparatus 200b.
  • the determination of whether to select (e) or (f) may be based on, for example, whether or not access to the GI volume 211a of the replication source storage apparatus 200a is a bottleneck. For example, if the management computer 400 determines that the access to the copy source SS volume 211a is slow as a result of the load being concentrated on the physical storage device 208 that is the basis of the copy source GI volume 211a, the copy destination storage A copy of the GI volume 210a is created in the device 200b. This is because even if the external storage function is used to access the GI volume 210 of the replication source storage apparatus 200a from the replication destination storage apparatus 200b, the bottleneck is not resolved.
  • the above determination is made by selecting (e) the access performance (response time) when selecting and accessing the migration source GI volume 210a using the external connection function, and (f) and selecting the migration destination GI volume 210b. It may be compared with the access performance (response time) when accessed. For example, when (e) is selected, there is a case where there is an overhead in the access performance to the copy source storage apparatus 200a because it is necessary to access via the network. For this reason, if (f) is selected and the request response time cannot be satisfied, a copy of the GI volume 210b may be generated in the copy destination storage apparatus 200b.
  • (3) is the same as that of the first embodiment, and the management computer 400 transmits a clone creation command to the storage apparatus 200 according to the determination result. Further, (4) is the same as in the first embodiment, and the storage apparatus 200 creates a copy according to the instruction content.
  • FIG. 18 is a flowchart of a clone creation method determination process according to the second embodiment.
  • the clone creation method determination process is performed by the CPU 402 of the management computer 400 executing the clone creation method determination program 4015ba stored in the storage resource 401.
  • the clone creation method determination program 4015ba is executed when the management computer 400 receives a clone creation instruction.
  • the storage apparatus 200b is specified as the replication destination storage apparatus.
  • the VM management computer 300 monitors the host computer 100 and transmits a clone creation instruction to the management computer 400 when it detects that the response time of the replication source storage apparatus 200a exceeds a preset threshold. .
  • the clone creation method determination program 4015b receives a clone creation instruction from the VM management computer 300, and confirms whether the volume that is the clone creation source (replication source volume) is the SS volume 211 or the Basic volume 212 ( S1801). Specifically, the program 4015 refers to the VolumeType 40113 of the logical volume management table 4011 and determines whether the VolumeType of the replication source volume is “SS” or “Basic”.
  • the program 4015 transfers the difference data stored in the difference pool associated with the SS volume to the target difference pool of the replication destination storage apparatus 200b. It is determined whether the request response time can be satisfied only by copying (S1802). Specifically, for example, the program 4015 calculates a post-replication response time, which is a response time when differential data is replicated to the replication destination storage apparatus 200b. Then, the program 4015 determines whether or not the response time after replication is within the request response time 401391 for the replication source volume in the SS management table 4013. Note that the post-replication response time is calculated in the same manner as in the first embodiment.
  • the GI response time is the response time of the GI volume of the replication source storage apparatus 200a.
  • the copy destination storage apparatus 200b receives a command from the host computer 100 and then accesses the copy source GI volume 211 of the copy source storage apparatus 200a and sends a response to the command to the host computer 100. Response time required for transmission.
  • the program 4015 transmits an external connection command to the storage devices 200a and / or 200b (S1803), and the process proceeds to S1805.
  • the external connection command is an instruction to associate the replication source GI volume 210a with the logical volume (target GI volume) 210b of the replication destination storage apparatus 200b using the external connection function.
  • the program 4015 transmits a GI volume replication command to the replication destination storage apparatus 200b (S1804), and advances the process to S1805.
  • the GI volume copy command is an instruction to copy the copy source GI volume 210a of the copy source storage apparatus 200a to the copy destination storage apparatus 200b by the remote copy function or the like.
  • the program 4015 issues a GI volume switch command for instructing to copy the difference data of the copy source difference pool 213a to the copy destination difference pool 213b to the storage devices 200a and / or 200b (S1805), and ends the process.
  • the storage apparatuses 200a and 200b receive the clone creation command in S1805, refer to the difference management table 2032 stored in each memory 203, and execute the clone creation process.
  • the GI volume 211 is always switched regardless of the instructions (e) and (f) (Yes in S1501 in FIG. 15), and S1508 is executed.
  • the duplication destination GI volume 210b is managed by the duplication destination storage apparatus 200b, including the case where it is externally connected to the duplication source GI volume 210a. Therefore, in S1508, information on the new SS volume 211b is registered in the difference management table 2032 of the copy destination storage apparatus 200b.
  • the difference data is read from the copy source difference pool 213a and transmitted to the copy destination storage apparatus 200b, and the difference management table 2032b of the copy destination storage apparatus 200b is updated. .
  • clone creation method determination process of the first embodiment may be included in the clone creation method determination process of the present embodiment.
  • FIG. 19 is a modification of the computer system according to the second embodiment.
  • a copy of all SS volumes 211a of the storage apparatus 200a is created in the storage apparatus 200b. This is the case, for example, when the operation of the storage apparatus 200a is (temporarily) stopped due to maintenance of the storage apparatus 200a.
  • the storage system replicates the logical volume of the replication source storage apparatus 200a to the replication destination storage apparatus 200b while maintaining the configuration of the SS volume. Specifically, for example, all the data of the GI volume 210a of the replication source storage apparatus 200a and the differential data of the differential pool 213a are replicated to the replication destination storage apparatus 200b.
  • the storage system creates a Basic volume 212b, which is a full clone of the SS volume 211a of the replication source storage apparatus 200a, in the storage apparatus 200b.
  • the above determination may be made by calculating the total capacity of data that needs to be copied from the storage apparatus 200a to the storage apparatus 200b, and selecting a method with a small total capacity.
  • the replication source storage apparatus 200a has two SS volumes 211a. It is assumed that the two SS volumes 211a are based on a common GI with a capacity of 30 GB stored in the GI volume 210a and difference data with a capacity of 25 GB stored in the difference pool 213a.
  • the total capacity of data copied from the copy source storage apparatus 200a to the copy destination storage apparatus 200b is 80 GB, which is a total of 50 GB of the 30 GB GI of the GI volume 210a and the two differential data.
  • a Basic volume that is a full clone of the two SS volumes 211a is created in the copy destination storage apparatus 200b, for example, when the GI of the GI volume is rewritten to the respective update data, it is stored in the Basic volume.
  • the data to be stored is the same as the capacity of the GI stored in the GI volume. That is, the total capacity of data copied from the copy source storage apparatus 200a to the copy destination storage apparatus 200b is 60 GB, which is the total data capacity of the two SS volumes. In this case, the total capacity of data to be copied to the copy destination storage apparatus 200b is smaller when the full clones of the two SS volumes 211 are created than when the GI and difference data of the GI volume 210 are copied. For this reason, it can be determined that it is desirable to create full clones of two SS volumes.
  • This example makes it possible to determine a clone creation method based on the total capacity of data that needs to be replicated, and to select a method with a small total capacity of data to be replicated.
  • FIG. 20 is a flowchart of a clone creation method determination process according to a modification of the second embodiment.
  • the clone creation method determination process is performed by the CPU 402 of the management computer 400 executing the clone creation method determination program 4015bb stored in the storage resource 401.
  • the clone creation method determination program 4015bb is executed when the management computer 400 receives a clone creation instruction.
  • the clone creation instruction is transmitted to the management computer 400 based on, for example, an instruction to move the SS volume 211a of the replication source storage apparatus 200a to the VM management computer 300 by a user who planned maintenance of the storage apparatus.
  • the program 4015bb calculates the total capacity of data that needs to be copied to the storage device 200b in the above two cases (g) and (h) (S2001). Specifically, the program 4015bb refers to the capacity 40114 of the logical volume management table 4011 and acquires the capacity of the GI volume 210 associated with the migration source SS volume 211a. Furthermore, the difference amount 40136 of the SS management table 4013 is referred to for the difference amount of the SS volume 211.
  • the program 4015 compares (g) the total replication data capacity when replicating while maintaining the snapshot configuration, and (h) the total replication data capacity when creating a full clone of the SS volume 211 from the calculation result of S2001. Then, it is determined whether or not the total copy data capacity in (h) is larger than the total copy data capacity in (g) (S2002).
  • the storage apparatus 200 is instructed to replicate the GI volume 210a and each differential data (S2003), and the process ends.
  • the storage apparatus 200 is instructed to create a Basic volume that is a full clone of the SS volume 211b (S2004), and the process ends.
  • FIG. 21 is a diagram showing an outline of a clone creation method according to Example 3.
  • the clone creation method according to the present embodiment is a case where a VM is newly created from a golden image, and an SS volume 211 associated with the GI volume 210 and the difference pool 213 is created based on a predefined condition, It is determined whether to create a Basic volume 212 that is a full clone of the GI volume 210.
  • the management computer 400 receives a clone creation instruction from the VM management computer 300.
  • a clone creation instruction based on the golden image of each VM is received in order to newly start a business A composed of VMs of a Web server, an application server (App server), and a database server (DB server). To do.
  • App server application server
  • DB server database server
  • the storage apparatus 200 creates the SS volume 211 by WSS.
  • the storage apparatus 200 creates a Basic volume 212 that is a copy of the GI volume in which the golden image is stored.
  • a VM based on a golden image can be created according to a pre-defined condition.
  • FIG. 22 shows a template management table 4016.
  • the template management table 4016 is stored in the storage resource 401 of the management computer 400.
  • a template management table 4016 is a table for managing a clone creation method from a golden image.
  • the clone creation method determination process of this embodiment follows the clone creation method defined in the template management table 4016.
  • the template management table 4016 has an entry for each virtual machine.
  • Template ID 40161 is an ID for uniquely identifying the template to which the virtual machine belongs.
  • One or more golden images belong to one template.
  • a VM is generated from one or more golden images belonging to the template.
  • Template name 40162 is the name of the template. Specifically, for example, the template name may be defined by the user, and may be the name of a VM business generated from the template.
  • GI ID 40163 is an ID that uniquely identifies a golden image corresponding to the virtual machine.
  • the virtual machine 40164 stores the name of the virtual machine. This name is defined by the user.
  • the clone creation method 40165 is a clone creation method of the golden image.
  • the WSS creates a replica from the GI volume that is the basis of the SS volume and the difference pool.
  • a copy of the golden image stored in the GI volume is created in the Basic volume.
  • the golden image of the virtual Web server, the virtual App server, and the virtual DB server belongs to the template with the template ID “1”.
  • a clone is generated from the GI volume based on the SS volume and the difference pool by WSS.
  • a virtual DB server a full clone of the golden image stored in the GI volume is created as a Basic volume. Note that the user may set a policy for the clone creation method of the present embodiment.
  • FIG. 23 shows an example of the virtual machine creation interface 2300.
  • the virtual machine creation interface 2300 is a user interface provided by the VM management computer 300. For example, the user sets a policy for creating a clone from the virtual machine creation interface 2300.
  • the virtual machine creation interface 2300 has a template name designation field 2301 and a virtual machine list 2302.
  • the template name designation field 2301 is a field for designating a template name from a pull-down menu. When a template name is designated in the template name designation field 2301, a virtual machine list 2302 belonging to the template is displayed.
  • the virtual machine list 2302 has a virtual machine creation destination host designation field 23022 for each virtual machine 23021.
  • the virtual machine creation destination host designation column 23022 is a field for designating a host computer that creates a VM from a pull-down menu.
  • the VM management computer 300 provides the virtual machine creation interface 2300, and the management computer 400 has a template management table 4016.
  • the management computer 400 reads the clone creation method described in the template management table 4016.
  • the clone creation method of each virtual machine is determined.
  • the VM management computer 300 may include a template management table 4016. In this case, the VM management computer 300 determines a clone creation method, and sends a clone creation instruction directly to the storage apparatus 200 without going through the management computer 400.
  • the conditions may be changed dynamically. For example, if the difference data amount of an existing VM created from the same template is acquired and the acquired difference data amount is larger than a preset threshold value, (i) may be used. As a result, the clone creation method can be determined according to the operating status and capacity efficiency of the VM.
  • the access performance of the SS volume 211 depends on the access status of other SS volumes 211 sharing the same GI volume 210 and may not meet the expected response time. If you don't have such a worry.
  • the user may define a method for creating a clone of each virtual machine.
  • the clone creation method is not defined by the template management table 4016, but the fault tolerance level and performance level required for each VM are defined in advance, and the table is different from the template management table 4016.
  • a cloning method may be defined for each level.
  • the operating status of the VM may be monitored, and for example, a full clone may be created for a VM whose differential data capacity is higher than a certain threshold.
  • FIG. 24 is a diagram showing an outline of a clone creation method according to Example 4.
  • the computer system of this embodiment does not have the storage apparatus 200, and the host computer 100 has a WSS function.
  • the golden image and the difference data are stored in the storage resource 101 of the host computer 100.
  • the storage resource 101 includes tables stored in the memory 203 of the storage apparatus 200 in other embodiments such as a snapshot control program 2037 and a clone creation processing program 2034 for creating a snapshot from a golden image.
  • a program (see FIG. 5) are stored. In this case, each processing is performed by the CPU of the host computer 100 referring to the information in the storage resource 101 and executing the program in the storage resource 101, but the operation itself is the same as in the other embodiments. is there.
  • the computer system of this embodiment does not have the management computer 400, and the VM management computer 300 has the function of the management computer 400.
  • the storage resource 301 of the VM management computer 300 stores the table and program (see FIG. 9) stored in the storage resource 401 of the management computer 400 in other embodiments.
  • each process is performed by the CPU 302 of the VM management computer 300 referring to the information in the storage resource 301 and executing the program in the storage resource 301, but the operation itself is the same as in the other embodiments. It is.
  • a snapshot or full clone VM is created from the golden image according to the configuration information, performance information, and predefined conditions. can do.
  • the configuration of this embodiment can also be applied to a case where a clone is created from a replication source host computer to a replication destination host computer in order to move a VM.
  • the computer system may include the storage device 200.
  • data storage may be performed by the storage apparatus 200, and the host computer 100 may have a WSS to create a clone in the storage apparatus.
  • the first image corresponds to a golden image and the second image corresponds to a snapshot.
  • the first volume corresponds to the GI volume 210 and the like
  • the second volume as a virtual logical volume corresponds to the SS volume 211b and the like
  • the second volume as the logical volume corresponds to the Basic volume 212 and the like
  • the third volume corresponds to the SS volume 211a and the like.
  • the fourth volume corresponds to the virtual logical volume 210c in the second embodiment.
  • the fifth volume corresponds to the GI volume 210b in the second embodiment.
  • the plurality of replication source volumes correspond to the plurality of SS volumes 211a in the modification of the second embodiment.
  • the plurality of copy destination volumes correspond to the plurality of SS volumes 211b in the modification of the second embodiment.
  • the sixth volume corresponds to the GI volume 210b in the modified example of the second embodiment.
  • the first area corresponds to a difference storage area in the difference pool 213a.
  • the second area corresponds
  • the first to fourth creation processes correspond to the creation processes based on the commands (a) to (d) according to the first embodiment
  • the fifth and sixth creation processes correspond to the second embodiment (e).
  • the seventh and eighth creation processes correspond to the creation processes based on the commands (g) and (h) according to the modification of the second embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 管理計算機は、メモリとプロセッサを備える。プロセッサは、オブジェクトの第一イメージを格納する論理ボリュームである第一ボリュームを提供するストレージシステムの状態を把握する。プロセッサは、オブジェクトの第二イメージを格納する仮想的な論理ボリュームとして第二ボリュームを作成する。そして、プロセッサは、第一イメージと第一イメージからの差分データとに第二ボリュームを関連付けることにより、第二ボリュームを提供する第一作成処理と、論理ボリュームとして第二ボリュームを作成して、第一イメージを第二ボリュームへ複製することにより、第二ボリュームを提供する第二作成処理とを含む複数の作成処理から、状態に基づいて一つの作成処理を選択する。プロセッサは、選択された作成処理の指示を前記ストレージシステムへ送信する。

Description

管理計算機、及び計算機システム
 本発明は、ストレージ装置におけるオブジェクトを管理する技術に関する。
 近年、物理的な計算機の性能向上により、例えば、物理的な計算機の上で複数の仮想的な計算機(Virtual Machine:以下、これをVMという場合がある。)を動作させることが可能となっている。
 また、仮想環境において、更新可能なスナップショット(Writable SnapShot、以下、これをWSSという場合がある)により、複数のユーザがそれぞれにスナップショットを更新できる計算機システムが知られている(例えば、特許文献1)。特許文献1によれば、計算機システムは、WSS機能を備えたNAS OS(Network Attached Storage Operating System)を有し、NAS OSが複数の仮想NASを各ドメインに提供する。そして、複数の仮想NASが同じオリジナルデータを利用し、かつ、各仮想NASが、それぞれ更新データに対応する差分を管理することで、各ドメインがスナップショットを更新できる。
特開2010-102479号公報
 ところで、上述したWSS機能を用いて、ホスト計算機に対しVMなどのオブジェクトのデータを提供するとする。このとき、オブジェクトを提供するための元データのテンプレートであるゴールデンイメージに基づく、複数のスナップショットを生成する事により、複数のオブジェクトが提供されることとなる。また、オブジェクトの更新については、それぞれの差分データを、各スナップショットに対応づける。
 このような状況において、オブジェクトの複製(クローン)を作成する場合、ゴールデンイメージ及び差分データに基づいて新たなオブジェクトを作成しなければならない。このため、WSS機能を使わずに作成されたオブジェクトの複製と同じ容量が必要になってしまい、効率が悪い。
 本発明はこのような状況に鑑みてなされたものであり、オブジェクトのクローン作成方法を判断する計算機システム管理技術を提供するものである。
 上記課題を解決するために、本発明に係る管理計算機は、メモリと、オブジェクトの第一イメージを格納する論理ボリュームである第一ボリュームを提供するストレージシステムと前記メモリとに接続されているプロセッサとを備える。プロセッサは、オブジェクトの第一イメージを格納する論理ボリュームである第一ボリュームを提供するストレージシステムの状態を把握する。プロセッサは、ストレージシステムによる処理である。第一作性処理及び第二作成処理を含む複数の作成処理から、ストレージシステムの状態に基づいて一つの作成処理を選択し、選択された作成処理の指示をストレージシステムへ送信する。第一の作成処理は、オブジェクトの第二イメージを格納する仮想的な論理ボリュームとして第二ボリュームを作成して、第一イメージと第一イメージからの差分データとに第二ボリュームを関連付けることにより、第二ボリュームを提供する処理である。第二作成処理は、ストレージシステムによる処理であって、論理ボリュームとして第二ボリュームを作成して、第一イメージを第二ボリュームへ複製することにより、第二ボリュームを提供する処理である。
 本発明によれば、ストレージの構成、性能に応じた適切な方法でオブジェクトのクローンを作成することができる。
実施例1に係るクローン作成方法の概要を示す図である。 実施例1の計算機システムの構成図である。 ホスト計算機100の論理構成図である。 ストレージ装置200の構成図である。 ストレージ装置200のメモリ203に格納される情報である。 論理ボリューム管理テーブル2031である。 差分管理テーブル2032である。 プール管理テーブル2033である。 管理計算機400の記憶資源401に格納される情報である。 論理ボリューム管理テーブル4011である。 GI管理テーブル4012である。 SS管理テーブル4013である。 プール管理テーブル4014である。 クローン作成方法判断処理のフローチャートである。 クローン作成処理のフローチャートである。 書き込み処理の流れを示すフローチャートである。 実施例2に係るクローン作成方法の概要を示す図である。 実施例2に係るクローン作成方法判断処理のフローチャートである。 実施例2に係る計算機システムの変形例である。 実施例2の変形例に係るクローン作成方法判断処理のフローチャートである。 実施例3に係るクローン作成方法の概要を示す図である。 テンプレート管理テーブル4016である。 仮想マシン作成インタフェース2300の一例である。 実施例4に係るクローン作成方法の概要を示す図である。
 幾つかの実施例について、図面を参照して説明する。なお、以下に説明する実施例は請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 なお、以下の説明では、「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていても良い。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。さらに、テーブル内の各業の値からなる情報要素をエントリと呼ぶ。
 また、各図において共通の要素については、同一の参照番号を付して説明する。また、共通の要素に関し、各要素を識別する場合には、数字の最後に1a、2b等の個別の番号等を付して説明する。ただし、必要に応じて番号等を省略して説明する場合がある。
 また、以下の説明では、単に管理計算機、ホスト計算機又はプログラムを主語として処理を説明する場合があるが、これら処理は、管理計算機又はホスト計算機が備える制御デバイスが有するプロセッサ(例えば、Central Processing Unit:CPU)によって、プログラムが実行されていることを示す。同様に、単にストレージ装置を主語として処理を説明する場合には、ストレージ装置が備えるコントローラがプログラムを実行していることを示す。また、上記制御デバイス及びコントローラのうちの少なくとも1つは、プロセッサそれ自体であっても良いし、制御デバイス又はコントローラが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。
 プログラムは、プログラムソースから各計算機或いはストレージシステムにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
 図1は、実施例1に係るクローン作成方法の概要を示す図である。
 本実施例に係る計算機システムは、ホスト計算機100と、ストレージ装置200と、仮想マシン管理計算機300と、管理計算機400とを有する。以下の説明及び図面では、仮想マシン管理計算機300を、VM管理計算機300と略記する場合がある。
 ストレージ装置200は、ゴールデンイメージボリューム210と、スナップショットボリューム211と、差分プール213とを有する。以下の説明及び図面では、ゴールデンイメージボリューム210を、GIボリューム210と略記する場合がある。また、以下の説明及び図面では、スナップショットボリューム211を、SSボリューム211と略記する場合がある。
 SSボリューム211は、ホスト計算機100に提供されるスナップショットを格納する仮想的なボリュームである。ここにいうスナップショットは、GIボリューム210内のゴールデンイメージ及び差分プール213内の差分データに基づくイメージデータであり、更新可能なスナップショット(WSS)である。SSボリューム211のスナップショットにより、ホスト計算機100に対して、オブジェクトとしての仮想的な計算機である仮想マシン(VM、仮想計算機)が提供される。なお、VMに代えて、ホスト計算機100上で実行されるアプリケーションなど、他のオブジェクトが用いられても良い。
 GIボリューム210は、ゴールデンイメージが格納される論理ボリュームである。なお、ここでいうゴールデンイメージは、ホスト計算機100上でVMを稼働させるためのテンプレート化されたVMデータである。具体的には、例えば、ゴールデンイメージは、VMを稼働させるためのプログラムである。
 差分プール213は、ゴールデンイメージと特定のVMデータとの間の差分データが格納される論理領域である。具体的には、例えば、差分プール213には、SSボリューム211に対してVMから書き込みが行われた場合などに、差分データが書き込まれる。
 ここで、VMの複製を作成する場合を考える。VMのクローンを作成する場合、VMの基となるボリュームの複製、つまりVMの基となるデータが格納されたボリュームの複製が作成される。管理計算機400は、VMのクローン作成方法を決定するクローン作成方法判断処理を実行する。なお、本実施例においては、VMの基となるボリュームは、SSボリューム211またはBasicボリューム212である。
 クローン作成方法判断処理は、管理計算機400が、VM管理計算機300からクローン作成指示を受信したことにより実行される。なお、VM管理計算機300は、VMを管理するユーザにより、VMの基となるデータを他のボリュームに複製する指示が入力された場合、または、ホスト計算機100から見た場合のストレージ装置200の応答性能が所定の要件を満たさなくなった場合などを契機に、管理計算機400に対してクローン作成指示を送信する。なお、所定の要件は、例えば、ストレージ装置200の応答が一定より遅くなった場合などである。以下、管理計算機400が行うクローン作成方法判断処理について説明する。
 (1)管理計算機400は、VM管理計算機300からクローン作成指示を受信する。
 (2)管理計算機400は、クローン作成指示を受信し、どのような方法でクローンを作成するかを判断する。この判断は、ストレージ装置200の構成情報及び性能情報等に基づき行われてよい。
 具体的には、(2)は、例えば、SSボリューム211の複製を、以下の(a)~(d)のいずれの方法で作成するかの判断である。なお、図1においては、以下の(a)及び(b)のみ図示しているが、(c)及び(d)のようにSSボリューム211に関連づいているGIボリューム210を変更する方法があってもよい。
(a)これは、ストレージ装置200が、SSボリューム211の基となるデータのうち、差分プール213内の差分データのみを複製することにより、SSボリューム211の複製を作成する方法である。以下の説明及び図面では、この複製を差分クローンという場合がある。差分クローンの作成においては、差分データのみが、複製元の差分プール213aから複製先の差分プール213bに複製される。そして、複製となる複製先SSボリューム211bが、GIボリューム210及び複製先の差分プール213bを参照する。
(b)これは、ストレージ装置200が、SSボリューム211の基となる論理ボリューム全体の複製を作成する方法である。以下の説明及び図面では、この複製をフルクローンという場合がある。また、以下の説明及び図面では、フルクローンを格納する論理ボリュームをBasicボリューム212という場合がある。フルクローンの作成においては、GIボリューム210内のVMデータがBasicボリューム212に複製されると共に、Basicボリューム212内のVMデータが複製元の差分プール213a内の差分データにより更新される。なお、複製元がBasicボリュームの場合、複製元のBasicボリュームのフルクローンを、複製先のBasicボリュームに生成してもよい。
(c)これは、同じGIを格納するGIボリュームが複数ある場合において、ストレージ装置200が、差分クローンを作成し、かつ、複製先となるSSボリューム211bが参照するGIボリューム210を、同じGIを格納する他のGIボリュームに切替える方法である。なお、差分クローンの作成は(a)と同様である。
(d)これは、ストレージ装置200が、差分クローンを作成し、かつ、複製元のSSボリュームが参照するGIボリュームと同じGIを格納する新たなGIボリュームを作成して、複製先となるSSボリューム211bが参照するGIボリュームを、新たなGIボリュームに切替える方法である。なお、差分クローンの作成は(a)と同様である。
 (3)管理計算機400は、(2)における判断結果に基づき、ストレージ装置に対してクローン作成コマンドを送信する。具体的なクローン作成コマンドは、以下のいずれかである。
(a)の方法による場合は、管理計算機400は、差分データを、複製元の差分プール213aとは異なる差分プール213bに複製するコマンドをストレージ装置200に送信する。
(b)の方法による場合は、管理計算機400は、SSボリューム211又はBasicボリューム212のフルクローンを作成するコマンドをストレージ装置200に送信する。
(c)の方法による場合は、管理計算機400は、差分データを、複製元の差分プール213aとは異なる差分プール213bに複製し、かつ、参照するGIボリューム210を切替えるコマンドをストレージ装置200に送信する。
(d)の方法による場合は、管理計算機400は、差分データを、複製元の差分プール213aとは異なる差分プール213bに複製し、かつ、新たなGIボリューム210へ参照先を切替えるコマンドをストレージ装置200に送信する。
 (4)上記の各コマンド(a)~(d)に基づき、ストレージ装置200は、VMの基となるボリュームの複製を作成する。なお、必要に応じて、複製元のボリューム(データ)を削除するようにしてもよい。
 本施例においては、VMの基となるボリュームの複製を作成しようとする場合に、ストレージ装置200の構成情報、及び、性能情報に基づき、適切なクローン作成の方法を選択することができる。これにより、クローンが作成される際に、VMの基となるボリュームの複製が、常にフルクローンになり、ストレージ容量が想定以上に使われることを防止できる。このシステムを管理する管理者からすると、データの格納に必要とされるストレージ容量が、クローン作成により意図せず増えてしまうことを防止でき、ストレージ容量の購入コストを削減できるだけでなく、システム拡大に伴う管理コスト増大を防止することができる。
 図2は、実施例1の計算機システムの構成図である。
 計算機システムは、ホスト計算機100と、ストレージ装置200と、VM管理計算機300と、管理計算機400とを有する。
 ストレージ装置200は、例えばLAN(Local Area Network)などの第1の通信ネットワーク600を介して、VM管理計算機300、管理計算機400及びホスト計算機100に接続されている。また、ストレージ装置200は、例えばSAN(Storage Area Network)などの第2の通信ネットワーク500を介して、ホスト計算機100に接続されている。なお、第1の通信ネットワーク600、及び第2の通信ネットワーク500は一体に形成されても良い。
 ストレージ装置200は、ディスク装置202と、ディスク装置202に接続されたコントローラ201を有する。
 ディスク装置202は、1以上の物理記憶デバイス208を備える。物理記憶デバイス208は、例えば、SAS(Serial Attached Small Computer System Interface)-HDD(Hard Disk Drive)、SATA(Serial Advanced Technology Attachment)-HDD、SSD(Solid State Drive)であるが、これに限られない。また、物理記憶デバイス208に代えて、半導体記憶デバイスを用いてもよい。また、複数の物理記憶デバイス208により、RAID(Redundant Arrays of Inexpensive Disks)グループが構成されてよい。1つの物理記憶デバイス208又は1つのRAIDグループを構成する複数の物理記憶デバイス208に基づき、1つ又は複数の論理ボリュームがホスト計算機100に提供されてよい。なお、1以上の物理記憶デバイス208は、図示しない外部ストレージ装置から提供されても良い。
 コントローラ201は、管理インタフェース(I/F)206と、通信I/F205と、デバイスI/F207と、メモリ203と、それらに接続されたプロセッサ204とを有する。以下の説明及び図面では、管理I/FをM-I/Fという場合がある。また、以下の説明及び図面では、通信I/FをC-I/Fという場合がある。また、以下の説明及び図面では、デバイスI/FをD-I/Fという場合がある。
 M-I/F206は、第1の通信ネットワーク600に接続される通信インタフェースであり、例えば、NIC(Network Interface Card)である。C-I/F205は、第2の通信ネットワーク500に接続される通信インタフェース装置である。D-I/F207は、ディスク装置202と通信するための通信インタフェース装置である。コントローラ201は、D-I/F207を介して、物理記憶デバイス208に対してアクセスをする。なお、D-I/F207は、物理記憶デバイスの種類毎に設けられても良い。
 メモリ203は、プロセッサ(CPU)204で実行されるコンピュータプログラムなどの種々の情報を格納する。また、メモリ203は、キャッシュメモリ領域を有する。キャッシュメモリ領域には、ホスト計算機100からのライトコマンドに従うライトデータ、及び、ホスト計算機100からのリードコマンドに基づく、物理記憶デバイス上の実データ保存領域(例えばページ)から読み出されたリードデータなどが一時的に格納される。キャッシュメモリ領域内のライトデータは、ライトコマンドが示すライト先の仮想領域に割り当てられた物理記憶デバイスに格納される。キャッシュメモリ領域内のリードデータは、ホスト計算機100に提供される。メモリ203に格納される情報、プログラムについては、後述する。
 ホスト計算機100は、管理インタフェース(M―I/F)104と、通信I/F(C―I/F)103と、記憶資源101と、それらに接続されたプロセッサ102と、I/Oデバイス(図示なし)とを有する。M-I/F104は例えばNICであり、C-I/F103は例えばHBA(Host Bus Adapter)である。記憶資源101は、例えば、メモリであり、HDD(Hard Disk Drive)等の補助記憶装置を含んでも良い。記憶資源101は、例えば、業務プログラムなどのアプリケーションプログラムやOS(Operating System)を記憶し、プロセッサ102が、そのアプリケーションプログラムやOSを実行する。I/Oデバイスは、ユーザからの入力を受け付ける入力部と、各種情報をユーザに対して表示する出力部とを有する。入力部は、(例えば、キーボード、スイッチ、ポインティングデバイス及び/又はマイクロフォン等であり、出力部は、例えば、ディスプレイ装置及び/又はスピーカ等である。
 VM管理計算機300は、M-I/F303と、記憶資源301と、それらに接続されたプロセッサ(CPU)302と、I/Oデバイス(図示しない)とを含んで構成される。M-I/F303は、例えばNICである。I/Oデバイスは、ホスト計算機100を構成するI/Oデバイスと同様である。
 記憶資源301は、例えば、メモリであり、HDD等の補助記憶装置を含んでも良い。記憶資源301は、コンピュータプログラムや種々の情報を格納する。記憶資源301に格納される情報としては、例えば、どのホスト計算機100にどのVMが稼働しているかを示すVMの構成情報、VMから見たストレージ装置の応答時間などVMの性能情報などである。なお、応答時間は、例えば、ホスト計算機100がストレージ装置にコマンドを発行してから、そのコマンドに対する応答をホスト計算機100が受信するまでの時間である。加えて、記憶資源301には、VM管理計算機300を使ってVMを管理するユーザからのVMデータ移動指示や、ストレージ装置の応答時間といった性能情報の監視結果をトリガとして、管理計算機400に対してクローン作成を指示するクローン作成指示プログラムが管理される。このようなプログラムは、プロセッサ302で実行される。
 管理計算機400は、M-I/F403と、記憶資源401と、それらに接続されたプロセッサ(CPU)402と、I/Oデバイス(図示しない)とを含んで構成される。M-I/F403は、例えばNICである。I/Oデバイスは、ホスト計算機100を構成するI/Oデバイスと同様である。
 記憶資源401は、例えば、メモリであり、HDD等の補助記憶装置を含んでも良い。記憶資源401は、コンピュータプログラムや種々の情報を格納する。コンピュータプログラムは、プロセッサ402で実行される。記憶資源401に格納される情報及びプログラムについては、後述する。
 以上が、実施例1に係る計算機システムのハードウェア構成である。なお、前述のM-I/F、C-I/Fなどの通信インタフェースデバイスは、例えば、そのI/Fが接続されるネットワークの種類や、そのI/Fを有する装置の種類によって異なってもよい。
 図3は、ホスト計算機100の論理構成図である。
 ホスト計算機100は、ハイパーバイザ(HV:Hypervisor)110を有する。HV110は、VM111を生成し、実行するプログラムである。HV110は、一度に複数のVM111を生成し、制御することができる。複数のVM111は、それぞれ、あたかもスタンドアローンの物理計算機のようにアプリケーションを実行できる。
 なお、図において、VMとHVとを繋ぐ線は、論理的にHV上でVMが稼働していることを表す線であり、ネットワーク上のつながりを表す線ではない。
 図4は、ストレージ装置200のボリュームの構成図である。
 ストレージ装置200のコントローラ201は、ディスク装置202の1以上の物理記憶デバイス208に基づき、GIボリューム210と、差分プール213と、Basicボリューム212とを生成する。また、コントローラ201は、GIボリューム210及び差分プール213に基づきSSボリューム211を生成する。
 GIボリューム210は、物理記憶デバイス208の記憶領域に基づく論理ボリュームである。GIボリューム210は、複数の物理記憶デバイス208により構成されるRAIDグループに基づく論理ボリュームであってよいし、ホスト計算機100から書き込みが入ったときに物理記憶デバイス208の実記憶領域を割り当てる、ThinProvisioningによる仮想的な論理ボリュームであってもよい。
 差分プール213は、1以上の物理記憶デバイス208に基づき生成される。差分プール213には、複数の物理記憶デバイス208により構成されるRAIDグループに基づく差分ボリュームが属してもよい。
 Basicボリューム212は、物理記憶デバイス208の記憶領域に基づきホスト計算機100に提供される論理ボリュームである。Basicボリューム212は、複数の物理記憶デバイス208により構成されるRAIDグループに基づく論理ボリュームであってよいし、ホスト計算機100から書き込みが入ったときに物理記憶デバイス208の実記憶領域を割り当てる、ThinProvisioningによる仮想的な論理ボリュームであってもよい。
 SSボリューム211は、GIボリューム210と差分プール213とに基づきホスト計算機100に提供される仮想的な論理ボリュームである。以下の説明では、SSボリューム211の基となるGIボリューム210及び/又は差分プール213を、SSボリューム211に関連づけられているGIボリューム210及び/又は差分プール213というように表現する場合がある。また、以下の説明では、SSボリューム211に格納されたスナップショットの基となるGIボリューム210内のゴールデンイメージ及び/又は差分プール213内の差分データを、スナップショットに関連づけられているゴールデンイメージ及び/又は差分データと表現する場合がある。前述の通り、SSボリューム211は、GIボリューム210とは独立には存在しえない仮想的な論理ボリュームである。一方、Basicボリューム212は、GIボリューム210とは別個独立に存在可能な論理ボリュームである。
 なお、本実施例においては、ホスト計算機100に提供されるVMは、SSボリューム211又はBasicボリューム212のいずれかに基づいている。このため、本実施例では、GIボリューム210は、SSボリューム211又はBasicボリューム212を作成するためのVMデータのテンプレートとして使用される論理ボリュームであって、直接ホスト計算機100に提供される論理ボリュームでは無いものとして説明している。しかし、GIボリュームは、直接ホスト計算機100に提供されるボリュームであってもよい。
 なお、本図において、各種論理ボリュームと物理記憶デバイス208とを繋ぐ線、及び、SSボリューム211とGIボリューム210とを繋ぐ線は、論理的な結線であり、ネットワーク上のつながりを表す線ではない。
 図5は、ストレージ装置200のメモリ203に格納される情報である。
 メモリ203には、論理ボリューム管理テーブル2031、差分管理テーブル2032、プール管理テーブル2033、クローン作成処理プログラム2034、書込み処理プログラム2035、読み込み処理プログラム2036、及び、スナップショット制御プログラム2037が格納される。
 クローン作成処理プログラム2034は、管理計算機400からクローン作成コマンドが送信されたときに、CPU204により実行されるプログラムである。詳細は後述する。
 書き込み処理プログラム2035は、ホスト計算機100から、SSボリューム211に対するデータ書き込み指示が送信されたときに、CPU204により実行されるプログラムである。詳細は後述する。
 読み込み処理プログラム2036は、ホスト計算機100から、SSボリューム211に対するデータ読み込み指示が送信されたときに、CPU204により実行されるプログラムである。このプログラム2036により、データ読み込み指示により指定されたSSボリューム211の対象ブロックに関連付けられていた記憶領域からデータが読み出され、ホスト計算機100送信される。具体的には、例えば、対象ブロックのデータが更新されていない場合は、プログラム2036は、対象ブロックに関連づけられている、ゴールデンイメージが格納されているGIボリューム210の記憶領域からデータを読み出す。一方、対象ブロックのデータが更新されている場合は、プログラム2036は、対象ブロックに関連づけられている、差分データが格納されている差分プール213の記憶領域からデータを読み出す。
 スナップショット制御プログラム2037は、管理計算機400からSSボリューム作成指示を受信したときに、CPU204により実行されるプログラムである。SSボリューム作成指示に基づき、プログラム2037は、GIボリューム210内のゴールデンイメージに基づいてSSボリューム211を作成する。この処理におけるSSボリューム211の作成時には、プログラム2037は、SSボリューム211の参照先を、GIボリュームに設定する。なお、SSボリューム211の更新により、SSボリューム211の参照先に、差分プール213が含まれることとなる。
 図6は、論理ボリューム管理テーブル2031である。
 論理ボリューム管理テーブル2031は、ストレージ装置200が有する論理ボリュームの情報を格納するテーブルである。ここでの論理ボリュームは、他の論理ボリュームに関連付けられている仮想的な論理ボリュームを含む。論理ボリューム管理テーブル2031は、ストレージ装置200内の論理ボリューム毎のエントリを有する。
 LDEV ID20311は、当該論理ボリュームを一意に識別するためのIDである。
 Volume Type20312は、当該論理ボリュームの種別が格納される。本実施例では、GIボリューム210を「GI」、SSボリューム211を「SS」、Basicボリューム212を「Basic」とする。
 GI LDEV ID20313は、当該論理ボリュームがSSボリューム211の場合に、そのSSボリューム211に関連づけられているGIボリューム210のIDである。当該論理ボリュームが、GIボリューム210及びBasicボリューム212である場合は、「-」とする。
 SSID20314は、当該論理ボリュームがSSボリュームである場合に、同じGIボリューム210に関連づけられたSSボリューム211の中から当該論理ボリュームを一意に特定するためのIDである。図6の例においては、「VOL1」のGIボリュームに基づき、「VOL2」、「VOL3」の2つのSSボリュームが作成されており、これら2つのSSボリューム「VOL2」、「VOL3」には、作成された順に従って「SS1」「SS2」というSSIDが付与されている。
 Pool ID20315は、当該論理ボリュームがSSボリュームである場合に、当該SSボリュームに関連づけられた差分プール213を一意に特定するためのIDである。
 容量20316は、当該論理ボリュームの容量である。
 図7は、差分管理テーブル2032である。
 差分管理テーブル2032は、ストレージ装置200が有するGIボリューム210の情報を格納するテーブルである。本実施例では、GIボリューム210は、論理ボリューム管理テーブル2031において、VolumeType20312が「GI」で示されているボリュームである。差分管理テーブル2032は、GIボリューム内の記憶領域毎のエントリを有する。
 GI LDEV ID20321は、当該記憶領域が属するGIボリューム210を一意に識別するためのIDである。
 LDEV領域ID20322は、当該GIボリューム210における当該記憶領域のブロックアドレスである。
 差分保存領域20323は、当該記憶領域の差分データを保存する位置を示す。この領域20323は、SSID毎のフィールドに分割されている。各SSIDのフィールドには、差分データの保存位置として、差分プールを示す差分プールID及び当該差分プール内のブロックアドレスが登録される。図示例では、GIボリューム「VOL1」に関連づけられたSSボリューム「SS1」において、GIボリューム「VOL1」のブロックアドレス「0」の記憶領域に対応する、SSボリューム「SS1」の差分データの保存位置は、「1:0」で表されるとする。これは差分プール「1」のブロックアドレス「0」の記憶領域に、SSボリューム「SS1」の差分データが格納されていることを示す。なお、差分データが存在しない場合については、「なし」が格納される。読み込み処理プログラム2036における、SSボリューム211からのデータ読み出し処理において、このテーブル2032が参照される。
 図8は、プール管理テーブル2033である。
 プール管理テーブル2033は、ストレージ装置200が有する差分プール213の情報を格納するテーブルである。プール管理テーブル2033は、差分プール213毎のエントリを有する。
 Pool ID20331は、当該差分プール213を一意に識別するためのIDである。
 Pool容量20332は、当該差分プール213の総容量である。
 Pool残容量20333は、当該差分プール213の未使用領域の容量である。
 図9は、管理計算機400の記憶資源401に格納される情報である。
 記憶資源401には、論理ボリューム管理テーブル4011、GI管理テーブル4012、SS管理テーブル4013、プール管理テーブル4014、及び、クローン作成方法判断プログラム4015が格納される。
 図10は、論理ボリューム管理テーブル4011である。
 論理ボリューム管理テーブル4011は、管理計算機400の管理対象であるストレージ装置200の論理ボリュームの情報を格納するテーブルである。論理ボリューム管理テーブル4011は、論理ボリューム毎のエントリを有する。
 LDEV ID40111は、当該論理ボリュームを一意に識別するためのIDである。
 Storage ID40112は、当該論理ボリュームを有するストレージ装置200を一意に識別するためのIDである。
 Volume Type20312は、当該論理ボリュームの種別である。本実施例では、GIボリューム210を「GI」、SSボリューム211を「SS」、Basicボリューム212を「Basic」としている。
 容量20316は、当該論理ボリュームの総容量である。
 図11は、GI管理テーブル4012である。
 GI管理テーブル4012は、管理計算機400が管理するストレージ装置のゴールデンイメージの情報を格納するテーブルである。GI管理テーブル4012は、ゴールデンイメージ毎のエントリを有する。
 GI ID40121は、当該ゴールデンイメージを一意に識別するためのIDである。
 Storage ID40122は、当該ゴールデンイメージを有するストレージ装置200を一意に識別するためのIDである。
 LDEV ID40123は、当該ゴールデンイメージが格納されるGIボリューム210を一意に識別するIDである。すなわち、ゴールデンイメージは、GI ID40121により識別され、Storage ID40122及びLDEV ID40123によって特定される論理ボリュームに格納されることになる。
 応答時間40124は、例えば、ホスト計算機100が、ストレージ装置200にコマンドを発行してから、当該ゴールデンイメージの格納先のGIボリューム210にアクセスして、そのコマンドに対する応答を受信するまでの時間である。応答時間40124は、例えば、GIボリューム210の基となる物理記憶デバイス208の静的な応答時間(カタログ値)であってもよいし、実測値であってもよい。
 GIグループID40125は、当該ゴールデンイメージが属するゴールデンイメージグループ(GIグループ)のIDである。本実施例においては、1つのGIグループには、同一の1つ以上のゴールデンイメージが属している。従って、同じGIグループID40125をもつゴールデンイメージは、同一のGIである。例えば、OS種別毎にゴールデンイメージを用意したとする。このとき、同じOS種別のゴールデンイメージには、同じGIグループID40125が付与される。なお、例えば、各GIグループには、複数の同一のGIボリューム210を所属させてもよい。これにより、GIボリューム210の負荷に応じて、複数候補の中からSSボリューム211を作成するGIボリューム210を選ぶことができる。
 図12は、SS管理テーブル4013である。
 SS管理テーブル4013は、管理計算機400が管理するスナップショットの情報を格納するテーブルである。スナップショット管理テーブル4013は、スナップショット毎のエントリを有する。
 SSID40131は、当該スナップショットを一意に識別するためのIDである。
 Storage ID40132は、当該スナップショットが格納されるSSボリューム211を有するストレージ装置200のIDである。
 LDEV ID40133は、当該スナップショットが格納されるSSボリューム211を一意に識別するためのIDである。すなわち、SSID40131で識別されるスナップショットは、Storage ID40132及びLDEV ID40133によって特定されるSSボリューム211に格納されていることになる。
 GI ID40134は、当該スナップショットに関連づけられているゴールデンイメージのIDである。
 Pool ID40135は、当該スナップショットに関連づけられている差分データを格納する差分プール213のIDである。
 差分量40136は、当該スナップショットに関連づけられている差分データの総容量である。この情報は、例えば、ストレージ装置200が、差分管理テーブル2032を参照し、差分保存領域20323が「なし」でないSSボリューム210の記憶領域の総容量を算出し、算出した値を管理計算機400に受け渡すようにしてもよい。
 GIアクセス頻度40137は、当該スナップショットの基となるGIボリューム210への、ホスト計算機100からの単位時間あたりのアクセス数である。この情報は、例えば、ストレージ装置200が、GIボリューム210へのアクセス回数をカウントし、管理計算機400に受け渡すようにしてもよい。
 プールアクセス頻度40138は、当該スナップショットが格納されたSSボリューム211に関連づけられた差分プール213への、ホスト計算機100からの単位時間あたりのアクセス回数である。この情報は、例えば、ストレージ装置200が、差分プール213へのアクセス回数をカウントし、管理計算機400に受け渡すようにしてもよい。
 割り当てホスト40139は、当該スナップショットに割り当てられているホスト計算機100のIDである。
 VM ID401391は、当該スナップショットに割り当てられているVMのIDである。
 要求応答時間401391は、当該スナップショットに割り当てられているVMがストレージ装置200にアクセスする際に、ストレージ装置200に求められる応答時間である。要求応答時間は、例えば、VM管理計算機300又は管理計算機400を介して、ユーザにより指定される。
 図13は、プール管理テーブル4014である。
 プール管理テーブル4014は、管理計算機400が管理するストレージ装置200が有する差分プール213の情報を管理するテーブルである。プール管理テーブル4014は、差分プール213毎のエントリを有する。
 Pool ID40141は、当該差分プール213を一意に識別するためのIDである。
 Storage ID40142は、当該差分プール213を有するストレージ装置200のIDである。
 Pool容量40143は、当該差分プール213の総容量である。
 Pool残容量40144は、当該差分プール213の未使用領域の容量である。なお、ここで、未使用領域とは、差分データが格納されていない領域である。
 応答時間40145は、例えば、ホスト計算機100が、ストレージ装置200にコマンドを発行してから、当該差分プール213の差分データにアクセスして、そのコマンドに対する応答を受信するまでの時間である。応答時間40145は、例えば、差分プール213の基となる物理記憶デバイス208の静的な応答時間(カタログ値)であってもよいし、実測値であってもよい。また、差分プール213が、異なる種別の物理記憶デバイス208に基づき生成されている場合は、これら複数種別の物理記憶デバイス208の平均的な応答時間であってもよい。
 稼働率40146は、当該差分プール213の稼働率である。なお、ここで、稼働率とは、差分プール213へのアクセス負荷を示す情報である。具体的には、例えば、稼働率は、差分プール213が許容するアクセス頻度に対する現状のアクセス頻度の割合であってよい。稼働率は、ストレージ装置200により算出され、管理計算機400に受け渡される。
 図14は、クローン作成方法判断処理のフローチャートである。
 クローン作成方法判断処理は、管理計算機400のCPU402が、記憶資源401に格納されたクローン作成方法判断プログラム4015aを実行することにより行われる。また、クローン作成方法判断プログラム4015aは、管理計算機400がクローン作成指示を受信したときに実行される。
 本実施例においては、クローン作成指示は、VM管理計算機300が、ストレージ装置200の応答時間が一定よりも遅くなったことを検知したか、または、VMのデータをストレージ装置200内の他の論理ボリュームに移動する必要があると判断した場合などに、管理計算機400に送信される。しかし、VM管理計算機300が管理計算機400に対しクローン作成指示を送信するのは、この場合に限られない。
 クローン作成指示には、クローン作成元となるボリューム(複製元ボリューム)のIDが含まれる。また、クローン作成指示には、クローン作成先となるボリューム(複製先ボリューム)を決定するのに必要な条件(必要条件)が含まれていても良い。例えば、必要条件は、複製先ボリュームの基となる物理記憶デバイス208のディスク種別であってよい。以下、クローン作成判断処理を説明する。
 クローン作成方法判断プログラム4015は、VM管理計算機300からクローン作成指示を受信し、複製元ボリュームが、SSボリューム211であるか、Basicボリューム212であるかを確認する(S1401)。具体的には、プログラム4015は、論理ボリューム管理テーブル4011のVolumeType40113を参照し、複製元ボリュームのVolumeTypeが「SS」及び「Basic」のいずれであるかを判定する。
 複製元ボリュームがBasicボリューム212の場合(S1401で、Basic)、プログラム4015は当該Basicボリュームに格納されたデータ全てを、複製先ボリュームとして確保したボリュームに複製するフルクローン作成指示をストレージ装置200に送信し(S1402)、処理を終了する。
 一方、複製元ボリュームがSSボリューム211の場合(S1401で、SS)、プログラム4015は、当該SSボリュームに関連づけられた複製元差分プールに格納されている差分データを他の差分プールに複製すれば要求応答時間を満足できるか否かを判定する(S1403)。具体的には、例えば、プログラム4015は、クローン作成指示の必要条件に従って選ばれた差分プール213に差分データを複製した場合の複製後のSSボリュームの応答時間である、複製後応答時間を算出する。そして、プログラム4015は、複製後応答時間が、SS管理テーブル4013の複製元ボリュームに対する要求応答時間401391以内か否かを判定する。
 複製後応答時間は、例えば、複製元ボリュームについて、SS管理テーブル4013のGI ID40134に対応するGI管理テーブル4012の応答時間40124、SS管理テーブル4013のPool ID40135に対応するプール管理テーブル4014の応答時間40145、SS管理テーブル4013のGIアクセス頻度40137、プールアクセス頻度40138の値を以下の式に当てはめて算出される。
 複製後応答時間
=GIアクセス頻度/(GIアクセス頻度+プールアクセス頻度)×GI応答時間
+プールアクセス頻度/(GIアクセス頻度+プールアクセス頻度)×複製先差分プール応答時間
 なお、この式において、GI応答時間は、複製元ボリュームに関連づけられたGIボリュームの応答時間であり、複製先差分プール応答時間は、複製先ボリュームに関連づけられた差分プールの応答時間である。これにより、GIボリュームを変更せずに、差分データを格納する差分プールのみを変更した場合のSSボリュームの応答時間を算出することができる。
 プログラム4015は、この複製後応答時間が要求応答時間以内であれば、差分データの複製のみで足り、GIボリューム210のゴールデンイメージを複製先GIボリューム210に変更する必要はないと判断し(S1403で、Yes)、クローン作成コマンドとして、差分データを異なる差分プールに複製する差分クローン作成コマンドをストレージ装置200に送信し(S1404)、処理を終了する。なお、ストレージ装置200によるクローン作成が完了すると、新しくSSボリューム211が作成されたことになるため、プログラム4015は、論理ボリューム管理テーブル4011、SS管理テーブル4013に、複製先となるSSボリューム211のエントリを追加する。
 一方、プログラム4015は、複製後応答時間が要求応答時間を超えていれば、差分データの複製のみではなく、GIボリューム210のゴールデンイメージを複製先GIボリューム210に変更する必要があると判断し(S1403で、No)、S1405に処理を進める。
 なお、クローン作成コマンドの必要条件に含まれる差分プールが複数ある場合は、差分データの複製先の候補となる差分プール毎にS1403を行い、複製後応答時間が要求応答時間以内となる差分プールが1つでも見つかれば、S1403の判定をYesとみなして良い。
 また、プログラム4015は、S1403の判定において、上記の判断に加えて又は代えて、GIボリューム210の基となる物理記憶デバイス208のアクセス負荷を示す性能情報(例えば、稼働率など)を参照してもよい。このとき、物理記憶デバイス208に対するアクセス負荷が高い場合は、プログラム4015は、差分データの複製のみではなく、GIボリューム210のゴールデンイメージを別のGIボリューム210に変更する必要があると判断する(S1403で、No)。
 プログラム4015は、複製元SSボリューム211aに関連づけられたGIボリューム210の代わりに使用可能なGIボリュームが有るか否かを判定する(S1405)。具体的には、例えば、プログラム4015は、SS管理テーブル4013を参照して複製元SSボリューム211aに関連づけられたGIボリューム210のGI ID40134を取得し、GI管理テーブル4012を参照して、当該GIボリューム210が属するGIグループID40125を取得する。そして、プログラム4015は、GI管理テーブル4012において、取得したGIグループIDと同じIDのエントリが有るか否かを確認する。ここで、取得したGIグループIDと同じIDのエントリがあれば、当該GIボリュームの代わりに使用可能なGIボリューム210(代替GIボリューム)があると判断される。なお、この判断においてプログラム4015は、代替GIボリューム210を、その基となる物理記憶デバイスの負荷状況などを加味して判断してもよい。
 S1405の判定結果がYesの場合、プログラム4015は、クローン作成コマンドとして、複製元SSボリューム211aに関連づけられたGIボリュームから代替GIボリュームに切替え、かつ、差分データを異なる差分プールに複製するGIボリューム切替えコマンドをストレージ装置200に送信し(S1406)、処理を終了する。なお、ストレージ装置200によるクローン作成が完了すると、新しくSSボリューム211が作成されたことになるため、プログラム4015は、論理ボリューム管理テーブル4011、SS管理テーブル4013に、複製先SSボリューム211のエントリ追加も実施する。
 S1405の判定結果がNoの場合には、代替GIボリューム210が存在しないことを意味する。このため、プログラム4015は、クローン作成コマンドとして、複製元SSボリューム211aに関連づけられたGIボリューム210のゴールデンイメージを複製した新たな代替GIボリュームを作成して切り替え、かつ、差分データを異なる差分プールに複製するGIボリューム作成コマンドをストレージ装置200に送信して処理を終了する(S1407)。なお、プログラム4015は、新規にGIボリューム210を作成したときに、GI管理テーブル4012に新規エントリを追加し、複製元GIボリューム210に付与されているGIグループIDと同じIDを付与する。
 上記処理により、VMのクローン作成に伴うボリュームの複製において、適切な方法を判断できる。特に、現時点での応答時間と、クローン作成後の応答時間を比較して適切なクローン作成を判断し、その判断に基づく指示をストレージ装置に送信する事ができる。
 図15は、クローン作成処理のフローチャートである。
 クローン作成処理は、ストレージ装置200のCPU204が、メモリ203に格納されたクローン作成処理プログラム2034を実行することにより行われる。また、クローン作成処理プログラム2034は、クローン作成方法判断処理(図14)のS1404、S1406、及び、S1407において、管理計算機400から、差分クローン作成コマンド、GIボリューム切替えコマンド、及びGIボリューム作成コマンドなどのクローン作成コマンドを受信したときに実行される。
 S1404、S1406、及び、S1407におけるクローン作成コマンドには、クローン作成元となるボリューム(複製元ボリューム)のIDと、差分データの複製先の差分プールのIDが含まれる。加えて、S1406のGIボリューム切替えコマンドには、代替GIボリューム210のIDが含まれてよい。以下、処理を説明する。
 クローン作成処理プログラム2304は、受信したクローン作成コマンドが、GIボリュームの切替えを伴う指示か否かを判定する(S1501)。
 S1501の判定結果がNoの場合、つまりS1404のクローン作成コマンドの場合、プログラム2034は、差分管理テーブル2032の複製元SSボリューム211aに関連づけられたGIボリュームに対応するエントリを更新する(S1502)。具体的には、例えば、プログラム2034は、差分管理テーブル2032において、当該GIボリュームのIDに対応するエントリを特定し、新規に作成するSSボリュームのSSIDを、当該エントリの差分保存領域20323に追加し初期化する。図7の例においては、「VOL1」のGIボリュームに関連づけられた、「SS2」のSSボリュームに対するクローン作成が指示された場合を示す。この場合、GI LDEV ID20321が「VOL1」であるGIボリュームに対応するエントリの差分保存領域20323には、SSID「SS2-1」を新規追加して、そのフィールドを「なし」として初期化している。また、プログラム2034は、論理ボリューム管理テーブル2031を更新する。具体的には、例えば、プログラム2034は、論理ボリューム管理テーブル2031に、新規SSボリューム211の情報を管理するエントリを追加し、そのエントリに当該GIボリュームに関連づける。図6の例においては、新規SSボリュームに対応する、LDEV ID「VOL4」のエントリが追加された場合を示す。この場合、Volume Type20312に「SS」、GI LDEV ID20313に「VOL1」、SSID20314に「SS2-1」、容量20316に、新規SSボリュームの容量「30G」が格納される。また、Pool ID20315には、クローン作成コマンドで指定された複製先差分プールのID「Pool2」が格納される。
 一方、S1501の判定結果がYesの場合、つまりS1406又は1407のクローン作成コマンドの場合、プログラム2034は、差分管理テーブル2032の代替GIボリュームのエントリを更新する(S1508)。具体的には、例えば、プログラム2034は、差分管理テーブル2032の更新について、代替GIボリュームのGI LDEV ID20321に対応するエントリを特定又は追加し、当該エントリの差分保存領域20323に新規SSボリュームを追加し初期化する。また、プログラム2034は、論理ボリューム管理テーブル2031を更新する。具体的には、例えば、プログラム2034は、新規SSボリュームの情報を管理するエントリを追加し、代替GIボリュームに関連づける。
 プログラム2034は、差分管理テーブル2032を参照し、新規SSボリュームを対象SSボリュームとし、対象SSボリュームに対応する各差分保存領域について、S1504~1506を実行する。以下では、S1504~1506の対象となる差分保存領域を対象領域という。
 プログラム2034は、対象領域の値が「なし」か否かを判定する(S1504)。すなわち、対象SSボリュームの差分データが差分プールの対象領域に格納されていないかを判定する。
 S1504の判定結果がYesの場合、プログラム2034は、対象領域について、差分データの複製は行わず次の対象領域について処理を進める。
 S1504の判定結果がNoの場合、プログラム2034は、対象領域の差分プール及びブロックアドレスによって特定される差分記憶領域から差分データを読み出し、当該差分データを、クローン作成コマンドで指定された複製先差分プールに書き込む(S1505)。複製先差分プール及び書込先のブロックアドレスを、対象領域に格納する(S1506)。
 プログラム2034は、全ての対象領域についてS1504~S1506の処理を終えたときに、処理を終了する。
 なお、必要に応じて、差分管理テーブル2032及び論理ボリューム管理テーブル2031における、対象SSボリューム211の情報を削除してもよい。
 上記処理により、管理計算機400が判断したクローン作成方法によって、適切に、VMの基となるボリュームの複製を作成することが出来る。
 図16は、書き込み処理の流れを示すフローチャートである。
 この処理は、ストレージ装置200のCPU204が書き込み処理プログラム2035を実行することによって行われる。書き込み処理プログラム2035は、ストレージ装置200がホスト計算機100からのSSボリューム211に対する書き込み要求を受信したときに、起動される。
 プログラム2035は、書込み要求で指定されている書込先のSSボリューム211に関連づけられた差分プール213に差分データを格納する(S1601)。
 プログラム2035は、差分データを格納した差分プールのIDと差分プールのブロックアドレスを、差分管理テーブル2032の対応する差分保存領域20323に格納する(S1602)。
 プログラム2035は、書込先のSSボリューム211がクローン作成中であって、かつ、複製が完了した領域に対する書込であるか否かを判断する(S1603)。例えば、クローン作成処理において、論理ボリューム管理テーブル2031で、対象SSボリューム211が複製状態か否かを管理してもよいし、また、どこまで複製処理が完了したかを管理しておいてもよい(図示なし)。S1603の判断結果がNoの場合、プログラム2035は、処理を終了する。
 S1603の判断結果がYesの場合、プログラム2035は、書込先のSSボリュームに関連づけられた差分プール213の複製先の差分プール213にデータを書き込む(S1604)。そして、プログラム2035は、差分管理テーブル2032の対応する差分格納領域に差分データを書き込んだ先の差分プールのID及び差分プール内のアドレスを格納する(S1605)。
 以上、実施例1では、VMのクローン作成に伴う、VMの基となるボリュームの複製において、差分データのみを複製するか、SSボリューム211のフルクローンを作成するかを、ストレージの構成及び性能情報に基づき判断することができる。これにより、WSSを活用して作成したSSボリューム211が、ユーザの意図に反してフルクローンになってしまい、想定よりも多くのストレージ容量を使ってしまうことを防止できる。
 なお、本実施例においては、管理計算機400が、持つ各種情報、プログラムは、VM管理計算機300の記憶資源301が備えていてもよいし、ストレージ装置200のメモリ203が備えていてもよい。その場合、管理計算機400がない環境でも、本実施例が適用できる。
 図17は、実施例2に係るクローン作成方法の概要を示す図である。
 以下、本実施例の説明において、実施例1と同様の構成については、同じ参照番号を付して説明するか、または、説明を省略する場合がある。
 本実施例のクローン作成方法判断処理は、管理計算機400が、VMの基となるボリュームの複製の作成方法を決定する場合に、複製元のボリュームを有するストレージ装置とは別のストレージ装置に複製する場合を含む。
 本実施例の計算機システムは、複数のストレージ装置200a、200bを含むストレージシステムを有する。具体的には、計算機システムは、ストレージ装置200aに接続される外部ストレージ装置200bを有し、外部接続機能により、ストレージ装置200aが、外部ストレージ装置200bの論理ボリュームにマッピングされた仮想的な論理ボリュームを有する。
 なお、外部接続機能とは、異なるストレージ装置が有する物理記憶デバイス208から作成された論理ボリュームを、あたかも自ストレージ装置が有する論理ボリュームであるかのように見せかける機能である。本実施例では、複製元ストレージ装置200aが有するGIボリューム210を、複製先ストレージ装置200bが有する論理ボリュームであるかのように見せかける。複製先ストレージ装置200bでGIボリューム210に格納されたデータを読み出す必要が生じると、複製先ストレージ装置200bから複製元ストレージ装置200aに読み出し要求を発行し、必要なデータを読み出す。なお、以下の説明では、便宜的に、元のGIボリューム210及びSSボリューム211を有するストレージ装置を複製元ストレージ装置200aといい、クローン作成先のストレージ装置を複製先ストレージ装置200bということがある。
 以下、管理計算機400が行うクローン作成方法判断処理ついて説明する。
 (1)は、実施例1と同様である。
 (2)は、SSボリューム211aの複製であるSSボリューム211bをどのような方法で作成するかの判断において、以下の方法が含まれる。
(e)ストレージシステムが、SSボリューム211aの基となる論理ボリュームのうち、複製元の差分プール213a内の差分データを、複製先のストレージ装置200bの複製先差分プール213bに複製する。そして、ストレージシステムは、外部接続機能を用いて、複製元ストレージ装置200aが有するGIボリューム210aを、複製先ストレージ装置200bの仮想的な論理ボリューム210cにマッピングする。
(f)ストレージシステムが、SSボリューム211aの基となる論理ボリュームのうち、複製元の差分プール213a内の差分データを、複製先のストレージ装置200bの複製先差分プール213bに複製する。そして、ストレージシステムは、複製元ストレージ装置200aのGIボリューム210aの複製であるGIボリューム210bを複製先ストレージ装置200bに作成する。
 上記(e)及び(f)のどちらを選択するかの判断は、例えば、複製元ストレージ装置200aが有するGIボリューム211aへのアクセスがボトルネックになっているか否かによってもよい。例えば、管理計算機400は、複製元のGIボリューム211aの基となる物理記憶デバイス208に負荷が集中した結果、複製元のSSボリューム211aへのアクセスが遅くなっていると判断した場合、複製先ストレージ装置200bにGIボリューム210aの複製を作成する。これは、外部接続機能を使って、複製先ストレージ装置200bから複製元ストレージ装置200aのGIボリューム210にアクセスできるようにしても、ボトルネックが解消されないためである。
 また、上記の判断は、(e)選択し、外部接続機能を使って移動元GIボリューム210aにアクセスした場合のアクセス性能(応答時間)と、(f)を選択し、移動先GIボリューム210bにアクセスした場合のアクセス性能(応答時間)との比較によってもよい。例えば、(e)を選択した場合は、ネットワークを介してアクセスする必要があるため、複製元ストレージ装置200aに対するアクセス性能にオーバーヘッドがある場合がある。このため、(f)を選択した場合に、要求応答時間が満足できないのであれば、複製先ストレージ装置200bにGIボリューム210bの複製を生成してもよい。
 (3)は、実施例1と同様であり、管理計算機400は、上記判断結果に従ってストレージ装置200にクローン作成コマンドを送信する。また、(4)も、実施例1と同様であり、ストレージ装置200は指示内容にしたがって複製を作成する。
 本実施例においては、SSボリューム211aの複製を、異なるストレージ装置200に作成しようとした場合に、GIボリュームの構成を変更する必要があるか否かを判断することができ、ボトルネックが解消されないような無駄なクローン作成を防止することができる。
 図18は、実施例2に係るクローン作成方法判断処理のフローチャートである。
 クローン作成方法判断処理は、管理計算機400のCPU402が、記憶資源401に格納されたクローン作成方法判断プログラム4015baを実行することにより行われる。また、クローン作成方法判断プログラム4015baは、管理計算機400がクローン作成指示を受信したときに実行される。クローン作成指示には、複製先ストレージ装置として、ストレージ装置200bが指定される。なお、VM管理計算機300は、ホスト計算機100を監視し、複製元ストレージ装置200aの応答時間が、予め設定された閾値を超えたことを検知したときに、クローン作成指示を管理計算機400に送信する。
 クローン作成方法判断プログラム4015bは、VM管理計算機300からクローン作成指示を受信し、クローン作成元となるボリューム(複製元ボリューム)が、SSボリューム211であるか、Basicボリューム212であるかを確認する(S1801)。具体的には、プログラム4015は、論理ボリューム管理テーブル4011のVolumeType40113を参照し、複製元ボリュームのVolumeTypeが「SS」及び「Basic」のいずれであるかを判定する。
 複製元ボリュームがBasicボリューム212の場合(S1801で、Basic)、当該Basicボリュームに格納されたデータ全てを、複製先ボリュームに複製するフルクローン作成指示をストレージ装置200a及び/又は200bに送信し(S1802)、処理を終了する。
 一方、複製元ボリュームがSSボリューム211の場合(S1801で、SS)、プログラム4015は、当該SSボリュームに関連づけられた差分プールに格納されている差分データを、複製先ストレージ装置200bの対象差分プールに複製するだけで、要求応答時間を満足できるか否かを判定する(S1802)。具体的には、例えば、プログラム4015は、複製先ストレージ装置200bに差分データを複製した場合の応答時間である、複製後応答時間を算出する。そして、プログラム4015は、複製後応答時間が、SS管理テーブル4013の複製元ボリュームに対する要求応答時間401391以内か否かを判定する。なお、複製後応答時間の算出は、実施例1と同様である。この場合、GI応答時間は、複製元ストレージ装置200aのGIボリュームの応答時間である。なお、GI応答時間は、複製先ストレージ装置200bが、ホスト計算機100からコマンドを受信してから、複製元ストレージ装置200aの複製元GIボリューム211へアクセスして、そのコマンドに対する応答をホスト計算機100に送信するのに必要な応答時間である。
 S1802の判定結果がYesの場合、プログラム4015は、外部接続コマンドをストレージ装置200a及び/又は200bに送信し(S1803)、S1805に処理を進める。具体的には、例えば、外部接続コマンドは、外部接続機能を用いて、複製先ストレージ装置200bの論理ボリューム(対象GIボリューム)210bに、複製元GIボリューム210aを関連づける指示である。
 S1802の判定結果がNoの場合、プログラム4015は、複製先ストレージ装置200bにGIボリューム複製コマンドを送信し(S1804)、S1805に処理を進める。具体的には、例えば、GIボリューム複製コマンドは、リモートコピー機能等により、複製元ストレージ装置200aの複製元GIボリューム210aを複製先ストレージ装置200bに複製する指示である。
 プログラム4015は、複製元差分プール213aの差分データを複製先差分プール213bへ複製することを指示するGIボリューム切替えコマンドを、ストレージ装置200a及び/又は200bへ発行し(S1805)、処理を終了する。
 この際、ストレージ装置200a及び200bは、S1805によるクローン作成コマンドを受信し、それぞれのメモリ203上に記憶されている差分管理テーブル2032を参照し、クローン作成処理を実行する。なお、本実施例では、(e)及び(f)のどちらの指示であっても、GIボリューム211の切り替えが必ず行われ(図15、S1501でYes)、S1508が実行される。なお、複製先GIボリューム210bは、複製元GIボリューム210aに外部接続される場合も含めて、複製先ストレージ装置200bが管理する。このため、S1508では、複製先ストレージ装置200bの差分管理テーブル2032に新規SSボリューム211bの情報が登録される。そして、複製元ストレージ装置200aの差分管理テーブル2032aに基づいて、複製元差分プール213aから差分データを読み出して複製先ストレージ装置200bに送信され、複製先ストレージ装置200bの差分管理テーブル2032bが更新される。
 上記処理により、VMのクローン作成に伴うストレージ装置200間でのボリュームの複製において、適切な方法を判断できる。特に、現時点での応答時間と、クローン作成後の応答時間を比較して適切なクローン作成を判断し、その判断に基づく指示をストレージ装置に送信する事ができる。
 なお、本実施例のクローン作成方法判断処理に、実施例1のクローン作成方法判断処理を含めてもよい。
 図19は、実施例2に係る計算機システムの変形例である。
 この例においては、ストレージ装置200aが有する全てのSSボリューム211aの複製をストレージ装置200bに作成する。これは、例えば、ストレージ装置200aのメンテナンスなどにより、ストレージ装置200aの稼働を(一時的に)止める場合などある。
 この例においては、管理計算機400が行うクローン作成方法判断処理における、(2)ついて、以下のバリエーションがある。
 (2)は、SSボリューム211の複製をどのような方法で作成するかの判断において、以下の方法が含まれる。
(g)ストレージシステムは、SSボリュームの構成を維持したまま、複製元ストレージ装置200aの論理ボリュームを、複製先ストレージ装置200bに複製する。具体的には、例えば、複製元ストレージ装置200aのGIボリューム210aのデータ及び差分プール213aの差分データを、すべて複製先ストレージ装置200bに複製する。
(h)ストレージシステムは、複製元ストレージ装置200aのSSボリューム211aのフルクローンであるBasicボリューム212bをストレージ装置200bに作成する。
 上記判断は、ストレージ装置200aからストレージ装置200bへの複製が必要なデータの総容量を算出し、総容量が少ない方法を選ぶようにしてもよい。例えば、複製元ストレージ装置200aが、2つのSSボリューム211aを有するとする。2つのSSボリューム211aは、GIボリューム210aに格納された容量が30GBの共通のGIと、差分プール213aに格納された、容量が25GBずつの差分データに基づくとする。このとき、複製元のストレージ装置200aから複製先ストレージ装置200bに複製するデータの総容量は、GIボリューム210aの30GBのGIと2つの差分データの合計50GBの80GBである。一方、2つのSSボリューム211aのフルクローンであるBasicボリュームを複製先ストレージ装置200bに作成した場合、例えば、GIボリュームのGIを、それぞれの更新データに書き換えた場合等には、Basicボリュームに格納されるデータは、GIボリュームに格納されたGIの容量と同じになる。つまり、複製元のストレージ装置200aのから複製先ストレージ装置200bに複製するデータの総容量は、2つのSSボリュームのデータ総容量である60GBとなる。この場合、GIボリューム210のGIと差分データを複製するよりも、2つのSSボリューム211のフルクローンをそれぞれ作成してしまった方が、複製先ストレージ装置200bに複製するデータ総容量が少ない。このため、2つのSSボリュームのフルクローンを作成するのが望ましいと判断することができる。
 本施例により、複製が必要なデータの総容量に基づくクローン作成方法を判断でき、複製するデータの総容量が少ない方法を選択することができる。
 図20は、実施例2の変形例に係るクローン作成方法判断処理のフローチャートである。
 クローン作成方法判断処理は、管理計算機400のCPU402が、記憶資源401に格納されたクローン作成方法判断プログラム4015bbを実行することにより行われる。また、クローン作成方法判断プログラム4015bbは、管理計算機400がクローン作成指示を受信したときに実行される。なお、クローン作成指示は、例えば、ストレージ装置のメンテナンスを計画したユーザによる、VM管理計算機300に対する複製元ストレージ装置200aのSSボリューム211aの移動の指示に基づき、管理計算機400に送信される。
 プログラム4015bbは、ストレージ装置200bへの複製が必要なデータの総容量を、上記(g)、(h)の2つのケースについて算出する(S2001)。具体的には、プログラム4015bbは、論理ボリューム管理テーブル4011の容量40114を参照し、移動元SSボリューム211aに関連づいているGIボリューム210の容量を取得する。さらに、当該SSボリューム211の差分量をSS管理テーブル4013の差分量40136を参照する。
 プログラム4015は、S2001の算出結果から、(g)スナップショット構成を維持したまま複製する場合の複製データ総容量と、(h)SSボリューム211のフルクローン作成する場合の複製データ総容量とを比較し、(h)の複製データ総容量が(g)の複製データ総容量よりも大きいか否かを判断する(S2002)。
 S2002の判断結果がYesの場合、GIボリューム210aの複製と、各差分データの複製とをストレージ装置200に指示し(S2003)、処理を終了する。
 S2002の判断結果がNoの場合、SSボリューム211bのフルクローンであるBasicボリュームの作成を、ストレージ装置200に指示し(S2004)、処理を終了する。
 上記処理においては、上記処理により、複製が必要なデータの総容量に基づき、スナップショット構成を維持した方がよいか、GIボリュームの複製を作成した方がよいかを判断でき、複製するデータの総容量が少ない方法を選択することができる。これにより、ストレージ装置の記憶容量が想定以上に使われることを防止でき、ボトルネックが解消されないような無駄なクローン作成を防止することができる。
 図21は、実施例3に係るクローン作成方法の概要を示す図である。
 本実施例に係るクローン作成方法は、ゴールデンイメージから新規にVMを作成する場合であり、事前定義された条件に基づき、GIボリューム210及び差分プール213に関連づけられたSSボリューム211を作成するか、GIボリューム210のフルクローンであるBasicボリューム212を作成するか、を判断する。
 管理計算機400は、VM管理計算機300からクローン作成指示を受信する。図21の例では、Webサーバ、Applicationサーバ(Appサーバ)、Databaseサーバ(DBサーバ)のVMから構成される業務Aを新規に立ち上げるために、各VMのゴールデンイメージに基づくクローン作成指示を受信する。以下、管理計算機400が行うクローン作成方法判断処理ついて説明する。
 (1)は、実施例1及び2と同様である。
 この例においては、管理計算機400が行うクローン作成方法判断処理における、(2)ついて、以下の方法が含まれる。
(i)ストレージ装置200は、WSSにより、SSボリューム211を作成する。
(j)ストレージ装置200は、ゴールデンイメージが格納されたGIボリュームの複製であるBasicボリューム212を作成する。
 本実施例では、事前定義された条件により、ゴールデンイメージに基づくVMの作成ができる。実施例1、2では、データの格納に必要とされるストレージ容量がクローン作成により意図せず増えてしまうことを防止が実現できたが、本実施例では、新規にVMを作成する際に、ストレージの稼動状態や顧客の要件によって意図せずストレージ容量をつかってしまうことを簡単に防止することができる。
 図22は、テンプレート管理テーブル4016である。
 テンプレート管理テーブル4016は、管理計算機400の記憶資源401に記憶される。テンプレート管理テーブル4016は、ゴールデンイメージからのクローン作成方法を管理するテーブルである。本実施例のクローン作成方法判断処理は、テンプレート管理テーブル4016で定義されたクローン作成方法に従う。
 テンプレート管理テーブル4016は、仮想マシン毎のエントリを有する。
 テンプレートID40161は、仮想マシンが属するテンプレートを一意に識別するためのIDである。1つ以上のゴールデンイメージが1つのテンプレートに属する。テンプレートに属する1つ以上のゴールデンイメージからVMが生成される。
 テンプレート名40162は、当該テンプレートの名称である。具体的には、例えば、テンプレート名は、ユーザによって定義されてよく、当該テンプレートから生成されるVMの業務の名称などであってよい。
 GI ID40163は、当該仮想マシンに対応するゴールデンイメージを一意に特定するIDである。
 仮想マシン40164は、当該仮想マシンの名称が格納される。この名称はユーザによって定義される。
 クローン作成方法40165は、当該ゴールデンイメージのクローン作成方法である。「Snapshot」の場合、WSSにより、SSボリュームの基となるGIボリュームと差分プールとから複製が生成される。「FullClone」の場合、GIボリュームに格納されているゴールデンイメージの複製を、Basicボリュームに作成する。
 図22の例では、テンプレートID「1」のテンプレートには、仮想Webサーバ、仮想Appサーバ、及び、仮想DBサーバのゴールデンイメージが属する。仮想Webサーバと仮想Appサーバを作成する場合は、WSSにより、SSボリュームに基づくGIボリュームと差分プールとからクローンが生成される。一方、仮想DBサーバの作成する場合は、GIボリュームに格納されているゴールデンイメージのフルクローンを、Basicボリュームとして作成する。なお、本実施例のクローン作成方法について、ユーザがポリシを設定してもよい。
 図23は、仮想マシン作成インタフェース2300の一例である。
 仮想マシン作成インタフェース2300は、VM管理計算機300が提供するユーザインターフェースである。例えば、ユーザは、仮想マシン作成インタフェース2300から、クローン作成方法のポリシを設定する。
 仮想マシン作成インタフェース2300は、テンプレート名指定欄2301と、仮想マシン一覧2302とを有する。
 テンプレート名指定欄2301は、プルダウンメニューにより、テンプレート名を指定するフィールドである。テンプレート名指定欄2301でテンプレート名を指定すると、テンプレートに属する仮想マシン一覧2302が表示される。
 仮想マシン一覧2302は、仮想マシン23021毎に、仮想マシン作成先ホスト指定欄23022を有する。仮想マシン作成先ホスト指定欄23022は、プルダウンメニューにより、VMを作成するホスト計算機を指定するフィールドである。
 なお、本実施例では、VM管理計算機300が仮想マシン作成インタフェース2300を提供し、管理計算機400がテンプレート管理テーブル4016を有している。そして、ユーザがVM管理計算機300の仮想マシン作成インタフェース2300から、ポリシを設定し、VM管理計算機300から仮想マシン作成指示を受信すると、管理計算機400は、テンプレート管理テーブル4016に記載されたクローン作成方法に従い、各仮想マシンのクローン作成方法を判断している。しかし、VM管理計算機300が、テンプレート管理テーブル4016を備えてもよい。この場合、VM管理計算機300がクローン作成方法を判断し、管理計算機400を介さず、ストレージ装置200に直接クローン作成指示を送信する。
 なお、条件は動的に変更されてよい。例えば、同じテンプレートから作成された既存のVMの差分データ量を取得し、取得した差分データ量が、予め設定された閾値よりも多ければ、(i)としてもよい。これにより、VMの稼働状況、容量効率に応じて、クローン作成方法を判断できる。
 (i)による場合、GIボリューム210に障害が発生すると、SSボリューム211にアクセスできなくなる。一方(j)による場合、GIボリューム210に障害が発生しても、BasicボリュームはGIボリューム210とは完全に独立であるため、Basicボリュームにアクセスできる。また、(i)による場合、SSボリューム211のアクセス性能は同じGIボリューム210を共有する他のSSボリューム211のアクセス状況に依存し、期待通りの応答時間を満たせない場合もあるが、(j)による場合はそのような心配はない。上述した観点及び各VMの特性を考慮して、ユーザは各仮想マシンのクローン作成方法を定義してもよい。
 なお、テンプレート管理テーブル4016によりクローン作成方法が定義されるのではなく、各VMに求められる耐障害性のレベルや、性能のレベルを予め定義しておき、テンプレート管理テーブル4016とは別のテーブルでレベル毎にクローン作成方法を定義してもよい。
 また、VMの稼働状況を監視し、例えば、差分データの容量がある閾値より高くなったVMについては、フルクローンを作成するようにしてもよい。
 図24は、実施例4に係るクローン作成方法の概要を示す図である。
 本実施例の計算機システムは、ストレージ装置200を有さず、ホスト計算機100がWSS機能を有する。本実施例では、ホスト計算機100の記憶資源101に、ゴールデンイメージ及び差分データが格納される。加えて、記憶資源101には、ゴールデンイメージからスナップショットを作成するためのスナップショット制御プログラム2037、クローン作成処理プログラム2034など、他の実施例において、ストレージ装置200のメモリ203に格納されているテーブル及びプログラム(図5参照)が記憶される。この場合、各処理は、ホスト計算機100のCPUが、記憶資源101内の情報を参照し、記憶資源101内のプログラムを実行することにより行われるが、動作自体は、他の実施例と同じである。
 また、本実施例の計算機システムは、管理計算機400を有さず、管理計算機400の機能をVM管理計算機300が有する。本実施例では、VM管理計算機300の記憶資源301に、他の実施例において、管理計算機400の記憶資源401に格納されているテーブル及びプログラム(図9参照)が記憶される。この場合、各処理は、VM管理計算機300のCPU302が、記憶資源301内の情報を参照し、記憶資源301内のプログラムを実行することにより行われるが、動作自体は、他の実施例と同じである。
 上記構成により、計算機システムが、ストレージ装置200及び管理計算機400を有さない場合であっても、構成情報、性能情報、事前定義された条件に従って、ゴールデンイメージからスナップショットまたはフルクローンのVMを作成することができる。また、VMを移動するために、複製元のホスト計算機から、複製先ホスト計算機にクローンを作成する場合についても、本実施例の構成が適用できる。
 さらに、本実施例に係る計算機システムは、ストレージ装置200を有してもよい。この場合、データの格納はストレージ装置200が行い、ホスト計算機100がWSS有して、ストレージ装置に対してクローン作成を行ってもよい。
 なお、第一イメージは、ゴールデンイメージなどに対応し、第二イメージは、スナップショットなどに対応する。第一ボリュームは、GIボリューム210などに対応し、仮想的な論理ボリュームとしての第二ボリュームは、SSボリューム211bなどに対応し、論理ボリュームとしての第二ボリュームは、Basicボリューム212などに対応し、第三ボリュームは、SSボリューム211aなどに対応する。第四ボリュームは、実施例2における仮想的な論理ボリューム210cなどに対応する。第五ボリュームは、実施例2におけるGIボリューム210bなどに対応する。複数の複製元ボリュームは、実施例2の変形例における複数のSSボリューム211aなどに対応する。複数の複製先ボリュームは、実施例2の変形例における複数のSSボリューム211bなどに対応する。第六ボリュームは、実施例2の変形例におけるGIボリューム210bなどに対応する。第一領域は、差分プール213a内の差分保存領域などに対応する。および第二領域は、差分プール213b内の差分保存領域などに対応する。
 また、第一乃至四作成処理は、実施例1に係る(a)乃至(d)のコマンドに基づく作成処理などに対応し、第五及び第六作成処理は、実施例2に係る(e)及び(f)のコマンドに基づく作成処理などに対応し、第七及び第八作成処理は、実施例2の変形例に係る(g)及び(h)のコマンド基づく作成処理などに対応する。
100…ホスト計算機、200…ストレージ装置、300…仮想サーバ管理計算機、400…管理計算機

 

Claims (15)

  1.  メモリと、
     オブジェクトの第一イメージを格納する論理ボリュームである第一ボリュームを提供するストレージシステムと前記メモリとに接続されているプロセッサと、
    を備え、
     前記プロセッサは、
      前記ストレージシステムの状態を把握し、
      前記ストレージシステムによる処理であって、オブジェクトの第二イメージを格納する仮想的な論理ボリュームとして第二ボリュームを作成して、前記第一イメージと前記第一イメージからの差分データとに前記第二ボリュームを関連付けることにより、前記第二ボリュームを提供する第一作成処理と、前記ストレージシステムによる処理であって、論理ボリュームとして前記第二ボリュームを作成して、前記第一イメージを前記第二ボリュームへ複製することにより、前記第二ボリュームを提供する第二作成処理とを含む複数の作成処理の中から、前記状態に基づいて一つの作成処理を選択し、
      前記選択された作成処理の指示を前記ストレージシステムへ送信する、
    管理計算機。
     
  2.  請求項1に記載の管理計算機であって、
     前記オブジェクトは仮想計算機である、
    管理計算機。
     
  3.  請求項2に記載の管理計算機であって、
     前記ストレージシステムにより、前記第一ボリューム内の前記第一イメージと前記ストレージシステム内の第一領域に格納された前記差分データとが関連づけられた仮想的な論理ボリュームである第三ボリュームが作成され、前記管理計算機に対し、前記第三ボリュームの複製として前記第二ボリュームを作成する指示が入力される場合、前記第一作成処理においては前記ストレージシステムにより、仮想的な論理ボリュームとして前記第二ボリュームが作成され、前記第一ボリューム内の前記第一イメージが前記第二ボリュームに関連付けられ、前記差分データが前記第一領域から前記ストレージシステム内の第二領域に複製され、前記第二領域内の差分データが前記第二ボリュームに関連づけられ、前記第二作成処理においては前記ストレージシステムにより、論理ボリュームとして前記第二ボリュームが作成され、前記第一ボリューム内の前記第一イメージおよび前記第一領域内の差分データが前記第二ボリュームへ複製される、
    管理計算機。
     
  4.  請求項3に記載の管理計算機であって、
     前記複数の作成処理は、
      前記ストレージシステムによる処理であって、仮想的な論理ボリュームとして前記第二ボリュームを作成し、前記第一ボリュームとは別のボリュームである切替先ボリュームに格納され前記第一イメージと同一の切替先イメージを前記第二ボリュームに関連付け、かつ、前記差分データを前記第一領域から前記第二領域に複製し、前記第二領域内の差分データを前記第二のボリュームに関連づける第三作成処理と、
      前記ストレージシステムによる処理であって、仮想的な論理ボリュームとして前記第二ボリュームを作成し、前記第一ボリュームの複製である新たな論理ボリュームを作成し、前記新たな論理ボリュームに前記第二ボリュームに関連付け、かつ、前記差分データを前記第一領域から前記第二領域に複製し、前記第二領域内の差分データを前記第二のボリュームに関連づける第四作成処理と、
    を含む、
    管理計算機。
     
  5.  請求項4に記載の管理計算機であって、
     前記状態は、前記第二ボリュームへのアクセスの応答時間を含み、
     前記メモリは、前記応答時間について予め定められた要求応答時間を記憶し、
     前記プロセッサは、
     前記応答時間が前記要求応答時間を超えた場合に、前記複数の作成処理から、前記状態に基づいて一つの作成処理を選択する
    管理計算機。
  6.  請求項5に記載の管理計算機であって、
     前記メモリは、さらに、前記第一ボリュームに対するアクセスについて、応答時間およびアクセス頻度を含むイメージアクセス情報と、前記第一領域に対するアクセスについて、応答時間およびアクセス頻度を含む差分アクセス情報と、を記憶し、
     前記プロセッサは、
      前記イメージアクセス情報及び前記差分アクセス情報に基づき、前記第三ボリュームの複製である前記第二ボリュームを生成した場合の前記第二ボリュームへのアクセスの応答時間である複製後応答時間を算出し、
      前記複製後応答時間が前記要求応答時間内であれば、前記第一作成処理を選択する、
    管理計算機。
     
  7.  請求項6に記載の管理計算機であって、
     前記プロセッサは、
      前記複製後応答時間が前記要求応答時間を超えた場合であって、前記切替先イメージを格納する前記切替先ボリュームが存在する場合は、前記第三作成処理を選択し、
      前記複製後応答時間が前記要求応答時間を超えた場合であって、前記切替先イメージを格納する前記切替先ボリュームが存在しない場合は、前記第四作成処理を選択する、
    管理計算機。
     
  8.  請求項7に記載の管理計算機であって、
     前記プロセッサは、
     前記ストレージシステムの応答性能が所定の要求条件を満たさなくなったときに、前記複数の作成処理から一つの作成処理を選択する処理を行う、
    管理計算機。
     
  9.  オブジェクトの第一イメージを格納する論理ボリュームである第一ボリュームをホスト計算機に提供するストレージシステムと、
     前記ホスト計算機及び前記ストレージシステムに接続されている管理計算機と、
    を備え、
     前記管理計算機は、前記ストレージシステムの状態に基づいて、前記ストレージシステムによる第一作成処理および第二作成処理を含む複数の作成処理から一つの作成処理を選択し、前記選択された作成処理の指示を前記ストレージシステムへ送信し、
     前記第一作成処理の指示に応じて、前記ストレージシステムは、オブジェクトの第二イメージを格納する仮想的な論理ボリュームとして第二ボリュームを作成して、前記第一イメージと前記第一イメージからの差分データとに前記第二ボリュームを関連付けることにより、前記第二ボリュームを前記ホスト計算機に提供し、
     前記第二作成処理の指示に応じて、前記ストレージシステムは、論理ボリュームとして前記第二ボリュームを作成して、前記第一イメージを前記第二ボリュームへ複製することにより、前記第二ボリュームを前記ホスト計算機に提供する、
    計算機システム。
     
  10.  請求項9に記載の計算機システムであって、
     前記オブジェクトは、前記ホスト計算機上で稼働する仮想計算機である、
    計算機システム。
     
  11.  請求項10に記載の計算機システムであって、
     前記管理計算機は、前記ストレージシステムの状態に基づいて、前記第一ボリュームの第一イメージと第一領域に格納された前記差分データとが関連づけられた仮想的な論理ボリュームである第三ボリュームの複製ボリュームを前記第二ボリュームとして作成する処理である第一作成処理および第二作成処理のうち、一つの作成処理を選択し、前記選択された作成処理の指示を前記ストレージシステムへ送信し、
     前記ストレージシステムが、前記第一ボリューム内の前記第一イメージと前記ストレージシステム内の第一領域に格納された前記差分データとが関連づけられた仮想的な論理ボリュームである第三ボリュームを作成し、前記管理計算機に対し、前記第三ボリュームの複製として前記第二ボリュームを作成する指示が入力される場合、前記ストレージシステムは、
      前記第一作成処理の指示に応じて、前記ストレージシステムは、仮想的な論理ボリュームとして前記第二ボリュームを作成し、前記第一ボリューム内の前記第一イメージを前記第二ボリュームに関連付け、かつ、前記差分データを前記第一領域から第二領域に複製し、前記第二領域内の差分データを前記第二のボリュームに関連づけることにより、前記第二ボリュームを前記ホスト計算機に提供し、
      前記第二作成処理の指示に応じて、前記ストレージシステムは、論理ボリュームとして前記第二ボリュームを作成し、前記第一ボリューム内の第一イメージ及び前記第一領域内の差分データを前記第二ボリュームへ複製することにより、前記ホスト計算機に前記第二ボリュームを提供する、
    計算機システム。
     
  12.  請求項11に記載の計算機システムであって、
     前記ストレージシステムは、複数のストレージ装置を有し、
     前記複数のストレージ装置の中の複製元ストレージ装置は、前記第一ボリュームと前記第一領域と前記第三ボリュームとを含み、 前記管理計算機は、前記ストレージシステムの状態に基づいて、前記複製元ストレージ装置内の前記第三ボリュームの複製であって仮想的な論理ボリュームである前記第二ボリュームを、前記複数のストレージ装置の中の複製先ストレージ装置に作成する処理である第五作成処理および第六作成処理を含む複数の作成処理から一つの作成処理を選択し、前記選択された作成処理の指示を前記ストレージ装置へ送信し、
      前記第五作成処理の指示に応じて、前記ストレージシステムは、前記第一ボリュームに関連づけられた仮想的な論理ボリュームである第四ボリュームと、前記第二ボリュームとを前記複製先ストレージ装置内に作成し、前記第四ボリューム内の第一イメージを前記第二ボリュームに関連づけ、かつ、前記複製元ストレージ装置内の前記第一領域内の差分データを前記複製先ストレージ装置内の前記第二領域に複製し、前記第二領域内の差分データを前記第二のボリュームに関連づけることにより、前記第二ボリュームを前記ホスト計算機に提供し、
      前記第六作成処理の指示に応じて、前記ストレージシステムは、前記第一ボリュームの複製である第五ボリュームと前記第二ボリュームとを前記複製先ストレージ装置に作成し、前記第五ボリューム内の第一イメージを前記第二ボリュームに関連づけ、かつ、前記複製元ストレージ装置内の前記第一領域内の差分データを前記複製先ストレージ装置内の前記第二領域に複製し、前記第二領域内の差分データを前記第二のボリュームに関連づけることにより、前記ホスト計算機に前記第二ボリュームを提供する、
    計算機システム。
     
  13.  請求項12に記載の計算機システムであって、
     前記複製元ストレージ装置は、それぞれが仮想的な論理ボリュームである複数の複製元ボリュームと、前記複数の複製元ボリュームにそれぞれ関連づけられた複数の差分データを含み、
     前記複数の複製元ボリュームのそれぞれは、前記第一ボリューム内の第一イメージに関連付けられ、
     前記複数の複製元ボリュームは、前記複数の差分データにそれぞれ関連づけられ、
     前記管理計算機は、前記ストレージシステムの状態に基づいて、前記複数の複製元ボリュームのそれぞれ複製である複数の複製先ボリュームを前記複製先ストレージ装置に作成する処理である第七作成処理および第八作成処理を含む複数の作成処理から一つの作成処理を選択し、前記選択された作成処理の指示を前記ストレージシステムへ送信し、
      前記第七作成処理の指示に応じて、前記ストレージシステムは、前記第一ボリュームの複製である第六ボリュームと、それぞれが仮想的な論理ボリュームである前記複数の複製先ボリュームとを前記複製先ストレージ装置に作成し、前記複製元ストレージ装置内の複数の差分データを前記複製先ストレージ装置に複製し、前記第六ボリューム内の第一イメージを、前記複数の複製先ボリュームのそれぞれに関連づけ、かつ、前記複製先ストレージ装置内の複数の差分データを前記複数の複製先ボリュームにそれぞれ関連づけることにより、前記複数の複製先ボリュームを前記ホスト計算機に提供し、
      前記第八作成処理の指示に応じて、前記ストレージシステムは、前記複数の複製先ボリュームのそれぞれを論理ボリュームとして前記複製先ストレージ装置に作成し、前記第一ボリューム内の前記第一イメージを前記複数の複製先ボリュームに複製し、前記複数の差分データを前記複数の複製先ボリュームにそれぞれ複製することにより、前記複数の複製先ボリュームを前記ホスト計算機に提供する、
    計算機システム。
     
  14.  請求項13に記載の計算機システムであって、
     前記管理計算機は、
      前記複製元ストレージ装置内の各ボリュームの容量情報を記憶し、
      前記容量情報に基づき、前記第七および前記第八作成処理のいずれかの作成処理を選択し、前記選択された作成処理の指示を前記ストレージシステムへ送信する、
    計算機システム。
     
  15.  請求項10に記載の計算機システムであって、
     前記管理計算機は、前記仮想計算機の種類に応じて、前記第一作成処理および前記第二作成処理を含む複数の作成処理から一つの作成処理を選択し、前記選択された作成処理の指示を前記ストレージシステムへ送信する
    計算機システム。
PCT/JP2014/058930 2014-03-27 2014-03-27 管理計算機、及び計算機システム WO2015145680A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/896,226 US9671966B2 (en) 2014-03-27 2014-03-27 Management computer and computer system
PCT/JP2014/058930 WO2015145680A1 (ja) 2014-03-27 2014-03-27 管理計算機、及び計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/058930 WO2015145680A1 (ja) 2014-03-27 2014-03-27 管理計算機、及び計算機システム

Publications (1)

Publication Number Publication Date
WO2015145680A1 true WO2015145680A1 (ja) 2015-10-01

Family

ID=54194271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/058930 WO2015145680A1 (ja) 2014-03-27 2014-03-27 管理計算機、及び計算機システム

Country Status (2)

Country Link
US (1) US9671966B2 (ja)
WO (1) WO2015145680A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018134985A1 (ja) * 2017-01-20 2018-07-26 株式会社日立製作所 ストレージ装置、その制御装置、およびその制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018188084A1 (zh) * 2017-04-14 2018-10-18 华为技术有限公司 一种数据访问方法及装置
US10705759B2 (en) * 2018-10-25 2020-07-07 Dell Products L.P. Managing disk drives of a data storage environment
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011070627A (ja) * 2009-09-23 2011-04-07 Hitachi Ltd サーバイメージマイグレーション
JP2011086274A (ja) * 2009-10-13 2011-04-28 Hitachi Ltd サーバイメージ容量の最適化

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008197745A (ja) * 2007-02-08 2008-08-28 Hitachi Ltd ストレージ仮想化システムにおける記憶制御装置
JP2010102479A (ja) 2008-10-23 2010-05-06 Hitachi Ltd 計算機システム、ストレージ装置及びデータ更新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011070627A (ja) * 2009-09-23 2011-04-07 Hitachi Ltd サーバイメージマイグレーション
JP2011086274A (ja) * 2009-10-13 2011-04-28 Hitachi Ltd サーバイメージ容量の最適化

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018134985A1 (ja) * 2017-01-20 2018-07-26 株式会社日立製作所 ストレージ装置、その制御装置、およびその制御方法

Also Published As

Publication number Publication date
US20160117122A1 (en) 2016-04-28
US9671966B2 (en) 2017-06-06

Similar Documents

Publication Publication Date Title
US7558916B2 (en) Storage system, data processing method and storage apparatus
US8448167B2 (en) Storage system, and remote copy control method therefor
US9329795B2 (en) Logical volume transfer method and storage network system
JP4963892B2 (ja) 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
US8024536B2 (en) Method of constructing replication environment and storage system
US8954706B2 (en) Storage apparatus, computer system, and control method for storage apparatus
JP5172574B2 (ja) アプリケーションデータのバックアップ構成構築に用いる管理計算機
US10241712B1 (en) Method and apparatus for automated orchestration of long distance protection of virtualized storage
US10747624B2 (en) Storage system and control method of storage system using asynchronous remote copying to backup volume at specific time points
WO2014174570A1 (ja) ストレージ管理計算機、ストレージ管理方法、およびストレージシステム
JPWO2015162684A1 (ja) ストレージシステムのデータ移行方法
CN112181736A (zh) 分布式存储系统及分布式存储系统的配置方法
WO2015145680A1 (ja) 管理計算機、及び計算機システム
US10698627B2 (en) Storage system and storage control method
JP6227771B2 (ja) 論理ボリュームを管理するためのシステム及び方法
JP6072255B2 (ja) ストレージシステム、ストレージシステムの制御方法及び管理システム
WO2017085792A1 (ja) ストレージシステム、及びストレージシステムの制御方法
WO2014087465A1 (ja) ストレージ装置及びストレージ装置移行方法
JP2021033782A (ja) リモートコピーシステム
JP2015207277A (ja) ストレージシステムのデータ移行方法
US11614900B2 (en) Autonomous storage provisioning
US20240220378A1 (en) Information processing system and information processing method
WO2017145286A1 (ja) ストレージシステムの管理方法

Legal Events

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

Ref document number: 14887250

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14896226

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14887250

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP