WO2016056085A1 - 計算機システム、ストレージ装置及びデータバックアップ方法 - Google Patents

計算機システム、ストレージ装置及びデータバックアップ方法 Download PDF

Info

Publication number
WO2016056085A1
WO2016056085A1 PCT/JP2014/076954 JP2014076954W WO2016056085A1 WO 2016056085 A1 WO2016056085 A1 WO 2016056085A1 JP 2014076954 W JP2014076954 W JP 2014076954W WO 2016056085 A1 WO2016056085 A1 WO 2016056085A1
Authority
WO
WIPO (PCT)
Prior art keywords
volume
virtual machine
data
backup
storage device
Prior art date
Application number
PCT/JP2014/076954
Other languages
English (en)
French (fr)
Inventor
計典 松元
洋一 小笠原
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/076954 priority Critical patent/WO2016056085A1/ja
Publication of WO2016056085A1 publication Critical patent/WO2016056085A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the present invention relates to a computer system, a storage device, and a data backup method.
  • a computer system that backs up data using a copy technology.
  • This computer system provides two volumes (primary volume and secondary volume) in the system.
  • the primary volume is responsible for read access and write access processing from the host device, and the secondary volume is on standby for backup.
  • the data group written and updated in the primary volume is written to the secondary volume at a predetermined time (for example, midnight) for a certain period (for example, every 24 hours), and data at the predetermined time is backed up.
  • a system virtualization technology as a technology for effectively using computer resources such as a CPU (Central Processing Unit), a memory device, and a storage device.
  • a plurality of virtual machines (VMs) are created on one physical computer, and processing is performed as if one physical computer is a plurality of computers. be able to.
  • This technology is used for the purpose of effectively utilizing surplus computer resources, and for server consolidation for aggregating hundreds of guests on one high-performance computer.
  • the virtual machine is a server environment realized by software, and various applications can be operated by the OS on the virtual machine. Therefore, when data protection is performed, it is necessary that the range in which the consistency of data is included includes the volume used by one virtual machine. That is, it is desirable to identify the volume group assigned to the virtual machine by the system virtualization program separately from the volume group assigned to other virtual machines, and perform data copy of the volume group.
  • Patent Document 1 describes that a specific virtual machine is quiesced, a volume used by a virtual machine that has been quiesced is identified, and a snapshot of the identified volume is created to back up data. ing.
  • a virtual snapshot can be created by creating a single snapshot for one LU.
  • all physical machines or virtual machines running on the physical machine must be quiesced and all proportional to the number of applications Because the time during which the physical machine or the virtual machine running on the physical machine is stationary is increased, there is a problem that the influence on business is unavoidable.
  • an object of the present invention is to shorten the backup time while maintaining data consistency, and to minimize the influence on business.
  • a computer system including a storage apparatus according to an embodiment of the present invention
  • when creating a snapshot of a primary volume having virtual machine data across multiple physical computers (host computers) Write data from the host device is saved to the save volume, the primary volume and the secondary volume are split, the write data is managed according to the difference bitmap managed by each virtual machine, and each virtual machine that has been staticized Referring to the differential bitmap, the data is copied from the save volume to the secondary volume up to a point where data consistency can be ensured.
  • FIG. 1 is a diagram for explaining the concept of the present invention.
  • FIG. 2 is an overall configuration diagram of a computer system according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a configuration example of a BK (backup) management table.
  • FIG. 4 is a diagram illustrating a configuration example of the staticization management table.
  • FIG. 5 is a diagram illustrating a configuration example of the write management table.
  • FIG. 6 is a diagram illustrating an exemplary structure of metadata.
  • FIG. 7 is a flowchart showing the entire backup process.
  • FIG. 8 is a flowchart showing processing in the backup management program.
  • FIG. 9 is a flowchart showing processing in the consistent backup program.
  • FIG. 10 is a flowchart showing processing in the consistent backup program.
  • FIG. 11 is a flowchart showing processing in the metadata acquisition program.
  • FIG. 12 is a flowchart showing processing in the staticization management program.
  • FIG. 13 is a flowchart showing processing
  • management table various types of information may be described using an expression such as “management table”, but the various types of information may be expressed using a data structure other than a table. Further, the “management table” can be referred to as “management information” to indicate that it does not depend on the data structure.
  • the program is executed by a processor, such as an MP (Micro Processor) or CPU, and performs a predetermined process. Since the processor performs processing while appropriately using storage resources (for example, a memory) and a communication interface device (for example, a communication port), the subject of the processing may be a processor.
  • the processor may have dedicated hardware in addition to the CPU.
  • the computer program may be installed on each computer from a program source.
  • the program source may be provided by, for example, a program distribution server or a storage medium.
  • each element for example, the controller can be identified by a number or the like, but other types of identification information such as a name may be used as long as the information can identify each element.
  • identification information such as a name may be used as long as the information can identify each element.
  • the same reference numerals are given to the same parts.
  • the present invention is not limited to the present embodiment, and any application examples that meet the idea of the present invention can be applied. Included in the scope. Further, unless specifically limited, each component may be plural or singular.
  • FIG. 1 is a diagram for explaining the concept of the present invention.
  • the computer system 100 includes a storage device 1, a plurality of host computers (servers) 2 a to 2 n (hereinafter abbreviated as “host 2”), which are host devices of the storage device 1, and a storage management terminal 3 that manages the operation of the storage device 1. Is done.
  • a plurality of virtual machines virtual computer, virtual machine 1 (VM1) 2331, virtual machine 2 (VM2) 2332, virtual machine n (VMn) 233n
  • VMn virtual machine n
  • the host 2 has metadata (management data) for managing which storage area of the storage apparatus 1 is used by each virtual machine.
  • the storage device 12 of the storage device 1 includes a plurality of volumes in which storage areas provided to the host 2 that is the host device are collected.
  • a primary volume (Primary Volume, hereinafter abbreviated as P-VOL) 13 that accepts I / O requests from the host 2
  • a secondary volume (Secondary Volume, which stores snapshot copy data in the P-VOL 13).
  • S-VOL Secondary Volume
  • save VOL 15 which is one of the features of the present invention.
  • the P-VOL 13 includes virtual logical volumes VM1-VOL131 (for the virtual machine 2331), VM2-VOL132 (for the virtual machine 2332), and VMn-VOL13n (for the virtual machine 233n) used by the virtual machines 2331 to 233n. Has been.
  • the storage apparatus 1 sends a metadata acquisition request to the host 2 in order to acquire metadata regarding the virtual machine using the backup target P-VOL 13 to the host 2.
  • the host 2 that has received the metadata acquisition request transmits the metadata stored in the device to the storage device 1.
  • the storage device 1 receives the metadata transmitted from the host 2.
  • This metadata acquisition processing is acquired from all the hosts on which the backup target virtual machines are operating. For example, if the virtual machine to be backed up operates on the host 2a and the host 2n, the storage apparatus 1 acquires the metadata on the host 2a and the host 2n.
  • the metadata structure will be described with reference to FIG.
  • the storage apparatus 1 extracts the storage area in the P-VOL used by the virtual machine to be backed up from the acquired metadata. If a write request to the storage area in the P-VOL used by the virtual machine to be backed up is issued from the host 2 to the storage apparatus 1, the write operation is not only sent to the P-VOL 13 but also to the save VOL 15 Also execute. The storage apparatus 1 determines the storage area where the write to the P-VOL 13 and the save VOL 15 has occurred using the difference bitmap information, details of which will be described later (FIG. 4).
  • Pair split of P-VOL and S-VOL the storage apparatus 1 releases the pair of P-VOL 13 and S-VOL 14 that was in a pair state (pair split).
  • AP Application Software
  • Quiescing Request the storage apparatus 1 determines that the host on which the backup target virtual machine is operating, for example, if the backup target virtual machine is operating on the host 2a and the host 2n.
  • the application AP staticization request (pause request) is issued to both the host 2a and the host 2n.
  • AP quiescence The virtual machine to be backed up on the host 2 that has received the AP quiescence request stops the operation of all applications (AP) running on its own virtual machine. By stopping (staticizing) the operation of the AP, I / O access from the backup target virtual machine to the storage apparatus 1 is also stopped. By stopping the I / O access, the write access to the P-VOL 13 and the save VOL 15 of the storage apparatus 1 is also stopped.
  • AP staticization completion notification The host 2 transmits an AP staticization completion notification to the storage apparatus 1 when the virtual machine to be backed up has shifted to the static state. The storage apparatus 1 receives the staticization completion notification from the host 2.
  • the storage apparatus 1 updates a table (static management table) for managing virtual machine staticization upon receipt of an AP staticization completion notification from the host 2. Details of this static management table will be described later (FIG. 4). After the update of the staticization management table is completed, the storage apparatus 1 transmits a management table update completion notification to the host 2. (10) AP quiescence release The host 2 that has received the management table update completion notification releases the quiescence of the quiesced AP and restarts the operation. Note that the storage apparatus 1 and the host 2 perform the processes (6) to (10) for all APs operating on the virtual machine to be backed up.
  • the storage apparatus 1 determines whether all of the virtual machines to be backed up can be quiesced. If it can be determined that all of the virtual machines have been quiesced, the data written to the save VOL 15 ( A block in which data is updated (storage area for each predetermined storage size) is copied to the S-VOL 14 according to the above-described difference bitmap information.
  • (10) AP quiesce release is performed before (11) data copy from save VOL to S-VOL.
  • the application is quiesced during data copy from save VOL15 to S-VOL14. This is to prevent the impact on business from becoming large.
  • the data of multiple APs operating on the virtual machine can be backed up with a single copy operation. Can do.
  • FIG. 2 is an overall configuration diagram of a computer system according to an embodiment of the present invention.
  • the computer system 100 includes a storage device 1, a host 2 (server) that is a host device of the storage device 1, and a storage management terminal 3 that manages the operation of the storage device 1.
  • a host 2 server
  • storage management terminal 3 that manages the operation of the storage device 1.
  • the storage device 1 includes a central processing unit 10 that controls the entire device, an I / O unit 11 that communicates with the host 2 and other external devices, a storage device that stores host data, storage device control information, control programs, and the like. 12 is comprised.
  • the central processing unit 10 includes a control unit that controls input / output with the outside, data storage in an internal register, and the like, and an arithmetic unit that executes various calculations.
  • the I / O unit 11 includes an input / output device for communicating with the host 2 and an external device, and a CHA (Channel Adapter) interface / iSCSI (internet Small Computer System Interface) interface.
  • the storage apparatus 1 and the host 2 exchange data and commands with a communication protocol such as FC (Fibre Channel) or Ethernet (registered trademark).
  • the storage device 12 includes a main storage device 16 composed of a high-speed non-volatile memory such as a DDR (Double Data Rate) type SDRAM (Synchronous Dynamic Random Access Memory), and an HDD (Hard Disk Drive) capable of storing and storing a large amount of data. ) And SSD (Solid State Drive).
  • the main storage device 16 includes various programs such as a backup management program 31, a consistent backup program 32, and a write processing program 35, tables such as a BK management table 30, a static management table 40, a write save management table 50, and metadata 60. Etc. are stored.
  • the program or table may be stored in advance in the auxiliary storage device 17 and read by the central processing unit 10 to the main storage device 16 as necessary.
  • the auxiliary storage device 17 includes the P-VOL 13, S-VOL 14, and save VOL 15, which are physical volumes. Also, logical volumes VM1-VOL131, VM2-VOL132, VMn-VOL13n to the virtual machine of the host 2 are configured, and real storage areas are appropriately allocated from the P-VOL13.
  • the host 2 is a central processing unit 21 that controls the entire device, an I / O unit 22 that communicates with the storage device 1 and other external devices, a storage device that stores host data, control information of the storage device, a control program, etc. 23.
  • the I / O unit 22 includes an input / output device and an HBA (Host Bus Adapter) interface / NIC (Network Interface Card) interface.
  • HBA Hyper Bus Adapter
  • NIC Network Interface Card
  • the storage device 23 is a main storage device 231 composed of a high-speed nonvolatile memory, an auxiliary storage device 232 such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive) capable of storing and storing a large amount of data, and metadata acquisition.
  • a shared storage device 235 for storing the program 33 and the metadata 60 is provided. Note that the metadata acquisition program 33 and metadata 60 may be stored in advance in the auxiliary storage device 232, and the central processing unit 21 may read them out to the shared storage device 235 or the main storage device 231 as necessary.
  • the main storage device 231 is a virtual machine that executes predetermined tasks and processes using physical resources such as the central processing unit of the host 2, main storage device and auxiliary storage device, and physical resources such as auxiliary storage device of the storage device 1.
  • a plurality of VM1 to VMn operate.
  • each virtual machine uses a variety of APs (application programs 2341 to 234n) to execute a predetermined job or process. Data in the execution process is transferred from VM1-VOL 131 provided by the storage apparatus 1 to VMn- It is stored in the VOL volume 13n, actually in the P-VOL 13.
  • FIG. 3 is a diagram illustrating a configuration example of a BK (backup) management table.
  • the BK management table 30 is a table for managing virtual machine information to be backed up, and corresponds to a host name (server name) 301 that uniquely identifies a host, a virtual machine name 302 that uniquely identifies a virtual machine, and a virtual machine name 302
  • a BK target flag 303 for determining and managing whether or not the virtual machine to be backed up and a metadata acceptance flag 304 for determining and managing whether or not the metadata 60 has been acquired from the host 2 are provided.
  • a virtual machine with a virtual machine name 302 “A-1” operating on a host whose host name 301 is “A” is BK target flag 303 (stored value “ True “). Further, it can be seen from the fact that the metadata reception flag 304 is “True” that the storage apparatus 1 has acquired the metadata 60 regarding the virtual machine from the host whose host name 301 is “A”.
  • FIG. 4 is a diagram showing a configuration example of the staticization management table.
  • the quiescing management table 40 is a table for managing the quiescing state for each virtual machine and the update to the volume used by the virtual machine (VM volume on the P-VOL 13).
  • the host name 301 and the virtual machine name 302 A difference bitmap 401 for managing data update for each storage area called a block, a BK target flag 303, and a staticization completion flag 402 for determining whether the AP staticization request from the storage apparatus 1 has been staticized. Note that the host name 301, virtual machine name 302, and BK target flag 303 in the staticization management table 40 are the same as those in the BK management table 30.
  • a virtual machine whose host name 301 is “A” and whose virtual machine name 302 is “A-1” is a virtual machine to be backed up from the BK target flag 303, and the staticization completion flag 402 is “True”. Yes, it can be seen from the differential bitmap 401 that an update (bit is “1”) has occurred in one of the six storage areas. Note that no data update has occurred in the storage area (block) of “0”.
  • the differential bitmap 401 of the staticization management table 40 is managed with the granularity of each virtual machine, and the presence / absence of data update is managed for each real storage area of a predetermined size allocated from the P-VOL 13.
  • the differential bitmap 401 may be managed for each of a plurality of types of applications operating on a virtual machine having a finer granularity than the granularity of each virtual machine.
  • FIG. 5 is a diagram showing a configuration example of the write management table.
  • the write save management table 50 is a table for managing whether the P-VOL is a write save volume.
  • the write request from the host 2 is accepted by the P-VOL # 501 for uniquely identifying the P-VOL and the save VOL 15.
  • a write save flag 502 is provided for determining whether or not. For example, a P-VOL with a P-VOL # 501 of “1” is a P-VOL that accepts a write request to the save VOL 15 because the Write save flag 502 is “True”, and the backup-target virtual machine stores the volume. It can be seen that the area is used.
  • a P-VOL with P-VOL # 501 “2” is a P-VOL 13 that does not accept a write request to the save VOL 15 because the Write save flag 502 is “False”, and this P-VOL 13 is used. You can see that the virtual machine is not a backup target.
  • FIG. 6 is a diagram illustrating an example of the structure of the metadata 60.
  • the metadata 60 is file management information for recording various information such as a file name 6011 for uniquely identifying a file used by a virtual machine, file size, access authority, creation date and time, and pointer to a data area. Management information indicating an i-node number 6012 and storage area information 602 and 603 in which each file is stored.
  • a virtual machine “A-1” using a file name 6011 of “A-1.vmdk” ends with an inode number 6012 of “1” and a start LBA (LBA (Start)) of “x0000”
  • LBA (LBA (End)) uses at least a storage area on the P-VOL 13 (for example, a part in the VM1-VOL 131) determined by “x1FFF”.
  • the file name 6011 is “A-2.vmmdk” and the virtual machine “A-2” is the same as the virtual machine “A-1”.
  • the metadata 60 has information on the storage area of the P-VOL 13 used for each virtual machine, and is divided into the above-described block units for each predetermined number of LBAs. It is managed by a bitmap. Note that the virtual machine does not store one file in the P-VOL 13, for example, although not shown, A-1. In addition to vmdk, A-1-1. A file has the same identifier (“.vmdk”) as in vmdk. Further, a plurality of files having different identifiers (for example, “.vmsd”) may be stored in the P-VOL 13.
  • FIG. 7 is a flowchart showing the entire backup process.
  • the backup processing is performed in cooperation with the backup management program 31, the consistent backup program 32, the metadata acquisition program 33, the staticization management program 34, and the write processing program 35.
  • the processing subject is each program, the central processing unit 10 of the storage device 1 (or the central processing unit 30 of the storage management terminal 3) and the central processing unit 21 of the host 2 may be used.
  • the backup management program 31 of the storage management terminal 3 creates the BK management table 30 related to the virtual machine to be backed up, transmits the created BK management table 30 to the consistent backup program 32 of the storage apparatus 1, and starts backup. Instruct.
  • the backup management program 31 may be stored not only in the storage management terminal 3 but also in the storage device 1 and periodically executed at a predetermined time by a scheduler or the like.
  • the consistent backup program 32 of the storage apparatus 1 that has received the backup start instruction clears the contents (data) of the save VOL 15 in the apparatus.
  • step S ⁇ b> 712 the consistent backup program 32 transmits an acquisition request for the metadata 60 to the host 2 on which the virtual machine to be backed up is operating according to the BK management table 30 and starts acquiring the metadata 60.
  • the collection request for the metadata 60 is transmitted to all the hosts on which the backup target virtual machines in the BK management table 30 are operating.
  • the metadata acquisition program 33 of the host 2 collects the metadata 60 in the apparatus. Then, the metadata acquisition program 33 transmits the collected metadata 60 to the storage device 1.
  • the consistent backup program 32 of the storage device 1 stores the received metadata 60 in the main storage device 16. Then, the consistent backup program 32 updates the contents of the corresponding host column with the metadata reception flag 304 of the BK management table 30. In addition, the consistent backup program 32 updates the write save management table 50 based on the acquired metadata 60.
  • the consistent backup program 32 starts a write save determination. That is, the consistent backup program 32 refers to the write save management table 50 and determines whether the write target P-VOL is a volume (P-VOL 13) that performs write save.
  • the write processing program 35 starts write save determination to the save VOL 15, and if the result of the determination is a volume that performs write save, the storage apparatus 1 also sends write request data from the host 2 to the save VOL 15. (Write data from a virtual machine operating on the host 2) is stored.
  • the consistent backup program 32 splits (releases) the pair status of the P-VOL 13 and S-VOL 14 to be backed up.
  • the consistent backup program 32 transmits an AP (application software) quiescing start request to the host 2, and stops (quiesces) the operation of the backup target virtual machine operating on the host 2.
  • the quiescence management program 34 of the host 2 that has received the AP quiescence start request quiesces the application, and after the quiescence has been completed, transmits an AP quiescence completion notification to the storage apparatus 1. Due to the completion of the staticization, a write request to the save VOL from the backup target virtual machine does not occur.
  • the storage apparatus 1 that has received the AP staticization completion notification ends the write save determination in the consistent backup program 32.
  • the write processing program 35 ends the write save determination to the save VOL15.
  • the consistent backup program 32 copies only the write data from the backup target virtual machine stored in the save VOL 15, that is, the update data managed by the differential bitmap, to the S-VOL 14.
  • the consistent backup program 32 sends a copy completion notification to the storage management terminal 3.
  • the backup management program 31 of the storage management terminal 3 that has received the copy completion notification ends the backup process.
  • the program from the virtual machine to be backed up Write data is stored in the save VOL 15.
  • the P-VOL 13 and the S-VOL 14 are split, the write data is managed according to the differential bitmap managed for each virtual machine, and the data is referred to the differential bitmap for each virtual machine that has been staticized.
  • Data is copied from the save VOL 5 to the S-VOL 14 up to a point where the consistency of the data can be secured. As a result, the data can be backed up with one data copy while maintaining data consistency, so that the stop time of the virtual machine can be shortened and the influence on the business can be minimized.
  • FIG. 8 is a flowchart showing processing in the backup management program 31.
  • the main processing unit is the central processing unit 30 of the storage management terminal 3, it may be the main body of the storage management terminal 3 or the central processing unit 10 of the storage apparatus 1 or the main body of the storage apparatus 1.
  • the central processing unit 30 creates the BK management table 30 for managing the virtual machine to be backed up.
  • the central processing unit 30 sets the BK target flag 303 corresponding to the backup (BK) target virtual machine in the BK management table 30. That is, the central processing unit 30 sets the BK target flag 303 corresponding to the virtual machine to be backed up (for example, “A-2” in FIG. 3) to “True” with the virtual machine name 302 in the BK management table 30. .
  • the central processing unit 30 transmits a backup start instruction to the consistent backup program 32.
  • the processing in S804 is executed by the central processing unit 30.
  • the central processing unit 30 receives the backup completion notification from the consistent backup program 32 and completes the backup process.
  • FIGS. 9 and 10 are flowcharts showing processing in the consistent backup program 32.
  • the main processing unit is the central processing unit 10 of the storage device 1 or the central processing unit 21 of the host (server) 2, the storage device 1 or the host (server) 2 may be used. It may be a program that runs.
  • step S901 the central processing unit 10 of the storage apparatus 1 clears (deletes) all the contents (data) of the save VOL 15.
  • step S ⁇ b> 902 the central processing unit 10 determines that the host to which the backup target virtual machine operates based on the host information stored in the host name 301 even if one BK target flag 303 of the BK management table 30 is “True”. Is specified) to start the metadata acquisition program 33 (FIG. 11). For example, if the virtual machine 302 to be backed up is “A-1”, the host from which the metadata is acquired is changed from the host name 301 to “host A”. 33 is instructed to acquire metadata.
  • the metadata acquisition program 33 operating on the central processing unit 21 of the host 2 acquires the internal metadata 60 from the storage device 23 (shared storage device 235). Then, the metadata acquisition program 33 transmits the acquired metadata 60 to the storage device 1.
  • the central processing unit 10 receives the metadata 60 from the host 2 (metadata acquisition program 33) and stores it in the main storage device 16 of the storage device 12. Note that the data may be stored not in the main storage device 16 but in the auxiliary storage device 17 or a shared storage device (not shown).
  • the central processing unit 10 sets “True” in the corresponding metadata reception flag 304 of the BK management table 30. That is, the central processing unit 10 sets “True” (changes the setting from “False” to “True”) in the metadata reception flag 304 corresponding to the host name 301 corresponding to “Host A”.
  • S ⁇ b> 905 has the central processing unit 10 received all the metadata 60 of the host (host stored in the host name 301) in which at least one BK target flag 303 in the BK management table 30 is “True”? Judging. If all the metadata 60 has been received (S905: Yes), the central processing unit 10 executes S905, and if not all has been received (S905: No), the processing after S903 is executed again. In S906, the central processing unit 10 creates the static management table 40 together with the information in the BK management table 30 based on the acquired metadata 60. For example, “A” is set for the host name 301, virtual machine names “A-1”, “A-2”...
  • the central processing unit 10 creates the static management table 40 with the granularity for each application. May be.
  • the central processing unit 10 writes the write to the backup target P-VOL 13 to the save VOL 15, and therefore sets the write save flag 502 corresponding to the backup target P-VOL 13 in the write save management table 50 to “True”.
  • the setting of the write save flag 502 corresponding to the P-VOL 13 whose P-VOL # 501 is “1” and “3” is changed to “True”, and the P-VOL 13 is “2”. Is left as “False”.
  • the central processing unit 10 splits the pair of the P-VOL 13 and the S-VOL 14.
  • the pair state with the S-VOL 14 that forms a pair with the P-VOL 13 in which the P-VOL # 501 is “1” and “3” is canceled.
  • the write save flag 502 is turned on (changed from "False” to "True"), a write to the save VOL15 is accepted, and then pair split is executed, so that a failure or the like occurs in the P-VOL 12 to be backed up Even if the write cannot be accepted, the data from the host 2 can be stored in the storage device 1 at the time when the failure occurs or at a specific time thereafter.
  • the write save flag 502 when the write save flag 502 is turned on after the pair split is performed first, the data related to the write generated during that time is not stored in either the S-VOL 14 or the save VOL 15, and consistent data is stored. Although there is a possibility that it cannot be ensured, it is possible to eliminate this possibility by receiving a write to the save VOL 15 and then executing pair split.
  • step S909 the central processing unit 10 instructs the backup target virtual machine to start the quiescing management program 34.
  • the quiescence management program 34 operating on the central processing unit 21 of the host 2 quiesces (temporarily stops) the virtual machine to be backed up. Then, a stationary completion notification is transmitted to the storage apparatus 1.
  • the central processing unit 10 receives from the quiescence management program 34 of the host 2 a notice of completion of quiescence in the virtual machine for which quiescence has been completed.
  • the central processing unit 10 sets “True” in the staticization completion flag 402 of the staticization management table 40 for the virtual machine that has been staticized. For example, if the backup target virtual machine whose virtual machine name 302 is “A-1” is completed, the staticization completion flag 402 is changed from “False” to “True” and set. In S912, the central processing unit 10 issues a notification to the effect that the update of the quiescing management table 40 has been completed to the quiescing management program 34 of the virtual machine whose quiescence has been completed. In S ⁇ b> 913, the central processing unit 10 determines whether or not the staticization completion flag is “True” for all virtual machines whose BK target flag 303 is “True”.
  • the central processing unit 10 clears the write save flag 502 of the write save management table 50 of the backup target VOL (P-VOL 13), and changes it from “True” to “False”.
  • the central processing unit 10 stores the data in the save VOL15 only in the block (the storage area in which the data has been updated by executing the write) that is “1” in the difference bitmap 401 of the staticization management table 40, and the S-VOL14. Copy to.
  • the central processing unit 10 issues a backup completion notification to the backup management program 31.
  • FIG. 11 is a flowchart showing processing in the metadata acquisition program 33.
  • the main processing unit is the central processing unit 21 of the host (server) 2, the host (server) 2 or a program operating on the central processing unit 21 may be used.
  • the central processing unit 21 acquires the metadata 60 related to the virtual machine to be backed up requested from the consistent backup program 32 of the storage device 1 from the shared storage device 235 of the host 2. In S1102, the central processing unit 21 transmits the acquired metadata 60 to the consistent backup program 32 of the storage device 1. The matched backup program 32 (or the central processing unit 10) of the storage apparatus 1 receives the transmitted metadata 60.
  • FIG. 12 is a flowchart showing processing in the staticization management program 34.
  • the main processing unit is the central processing unit 21 of the host (server) 2, the host (server) 2 or a program operating on the central processing unit 21 may be used.
  • the central processing unit 21 of the host (server) 2 sends a quiescing request to the application (AP) 234 running on the virtual machine to be backed up to the consistent backup program 32 (or central processing) of the storage device 1. From device 10). Then, the central processing unit 21 transfers the received static request to the application 234. The application 234 that has received the static request temporarily stops its operation. Due to this quiescence, access (including write access) from the application 234 to the volume of the storage apparatus 1 is temporarily stopped.
  • the central processing unit 21 receives the staticization completion notification from the application 234.
  • the central processing unit 21 that has confirmed the suspension of the application 234 transmits a quiescing completion notification (including information on the virtual machine that has been quiesced) to the consistent backup program 32 (or the central processing unit 10) of the storage device 1.
  • the central processing unit 10 of the storage apparatus 1 acquires the virtual machine information that has been quiesced from the consistent backup program 32, and stores the quiesce management table 40 corresponding to the virtual machine on which the quiesced application was operating.
  • the entry of the staticization completion flag 402 is updated from “False” to “True”.
  • the central processing unit 10 transmits a staticization management table update completion notification to the staticization management program 34, and the staticization management program 34 receives the update completion notification. Thereafter, data copy (difference data copy: only update data is copied) from the save VOL 15 to the S-VOL 14 is performed.
  • step S ⁇ b> 1205 the central processing unit 21 transmits a staticization release request to an application that is staticated on the host (server) 2.
  • step S1206 the application 234 in the static state resumes operation in accordance with the application static release cancellation request.
  • the application 234 that has resumed operation transmits a staticization release completion notification to the central processing unit 21.
  • the central processing unit 21 that has received the staticization release completion notification from the application 234 ends the process.
  • FIG. 13 is a flowchart showing processing in the write processing program 35.
  • the main processing unit is the central processing unit 10 of the storage apparatus 1, the main body of the storage apparatus 1 or a program operating on the central processing unit 10 may be used.
  • This process is a process that solves the problem that a consistent snapshot cannot be created without storing data necessary for the application to be consistent in either the S-VOL 14 or the saved VOL 15.
  • the central processing unit 10 receives a write request from the host (server) 2 to the P-VOL 13. Then, according to the write request, the central processing unit 10 writes data to the P-VOL 13. In S1302, the central processing unit 10 determines whether the write target P-VOL 13 is paired with the S-VOL. When it is in the pair state (S1302: Yes), the central processing unit 10 executes S1303, and when it is not in the pair state (S1302: No), it executes S1304. In S1303, the central processing unit 10 also writes data to the S-VOL 14 that is paired with the P-VOL 13.
  • the central processing unit 10 determines whether or not the P-VOL whose Write save flag is “True” in the Write save management table. That is, the central processing unit 10 determines whether the backup target virtual machine is a P-VOL used. In the case of a P-VOL whose Write save flag is “True” (S1304: Yes), the central processing unit 10 executes S1305 and in the case of a P-VOL that is “False” instead of “True” (S1304: No) ), The write process is terminated without writing to the save VOL15.
  • the central processing unit 10 determines whether the storage area of the write data is a storage area used by the virtual machine to be backed up using the BK target flag 303 of the staticization management table 40. That is, it is determined whether the backup target storage area managed by the differential bitmap 401 of the virtual machine in which the BK target flag 303 of the staticization management table 40 is “True” is determined. If the storage area corresponds to the backup target storage area (S1305: Yes), the central processing unit 10 executes S1306. If the storage area is not the backup target storage area (S1305: No), the write processing is performed without writing to the save VOL15. finish.
  • the central processing unit 10 determines whether or not the staticization completion flag 402 of the staticization management table 40 is “True”. When the staticization completion flag 402 is not “True” but “False” (S1306: No), the central processing unit 10 executes S1307, and when the staticization completion flag 402 is “True” (S1306: Yes) ), The write process is terminated without writing to the save VOL15.
  • Write data to the save VOL can be specified by the determination processing of the write save flag 502 in S1304, the determination processing of the BK (backup) target flag 303 in S1305, and the determination of the staticization completion flag 403 in S1306.
  • write data to the backup VOL that is, data updated by the virtual machine to be backed up can be specified, so that data backup can be realized by copying only the updated data to the S-VOL 14, and no extra data copy is required.
  • the burden of data copy processing is reduced, and the data copy time and virtual machine quiescing time can be shortened.
  • a P-VOL whose Write save flag 502 is “False” does not need to write to the save VOL 15 for write data corresponding to all virtual machines storing data in the P-VOL. Therefore, by performing the determination in the order of the write save flag 502 and the BK (backup) target flag, it is possible to shorten the time for final determination as to whether or not the data is write data to the save VOL.
  • the central processing unit 10 writes the same data as the write data to the P-VOL 13 to the save VOL 15.
  • the central processing unit 10 writes “1” to the write target block of the difference bitmap 401 of the staticization management table 40, and manages the occurrence of data update to this block (storage area).
  • the write processing program 35 determines whether the save flag is on or off after determining whether or not it is a split. As a result, the write data from the application running on the backup target virtual machine is securely stored in the save VOL 15 as well. For this reason, data necessary for roll forward is always written to the save VOL 15, so that reliable roll forward is possible.
  • the storage apparatus it is possible to perform backup with ensuring consistency of data managed for each application by performing a single snapshot for each virtual machine. it can. Therefore, there is an effect that the snapshot creation time (copy time) can be shortened while ensuring business continuity.
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
  • Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files for realizing each function may be stored in a memory, a recording device such as a hard disk or SSD, or a recording medium such as an IC card, SD card, or DVD.
  • a recording device such as a hard disk or SSD
  • a recording medium such as an IC card, SD card, or DVD.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Abstract

 本発明では、データ整合性を維持しつつバックアップする時間を短縮し、業務への影響を最低限に抑えるストレージ装置を提供する。そのために、複数の物理計算機に跨る仮想マシンのデータを有する正ボリュームのスナップショットを作成する際、上位装置からのライトデータを退避ボリュームに退避するようにし、正ボリュームと副ボリュームをスプリットし、各仮想マシンで管理されたビットマップに従いライトデータを管理し、静止化が完了した仮想マシン毎に、ビットマップを参照して、データの整合性が確保できるポイントまで退避ボリュームから副ボリュームにデータをコピーする。

Description

計算機システム、ストレージ装置及びデータバックアップ方法
 本発明は、計算機システム、ストレージ装置及びデータバックアップ方法に関する
 社会インフラを支える公共又は企業の基盤システムにおいて、高い可用性が求められている。そのため、データバックアップ環境では、大量のデータを格納したストレージ装置が災害等で破壊されてもデータを喪失しないシステムが要求されている。この市場要求に応える技術の一つとして、コピー技術を利用してデータをバックアップする計算機システムが提供されている。この計算機システムは、システム内に2つのボリューム(正ボリューム及び副ボリューム)を設ける。そして、上位装置からのリードアクセス及びライトアクセスの処理は正ボリュームが担当し、副ボリュームはバックアップ用として待機している。正ボリュームにライトされて更新されたデータ群は、一定期間(例えば、24時間毎)の所定時刻(例えば、夜中0時)に、副ボリュームに書き込まれ所定時点でのデータをバックアップする。
 また、CPU(Central Processing Unit)、メモリ・デバイス、ストレージ装置などの計算機資源を有効に活用するための技術として、システム仮想化技術がある。このシステム仮想化技術は、一台の物理的な計算機上で、複数の仮想マシン(VM)を作成し、一台の物理的な計算機があたかも複数台の計算機であるかのように処理を行うことができる。この技術は、余剰の計算機資源を有効活用する目的や、一台の高性能な計算機の上に数百台のゲストを集約するサーバ・コンソリデーション目的に活用されている。
 仮想マシンはソフトウェアにより実現されるサーバ環境であって、その仮想マシン上のOSにより、各種のアプリケーションを動作させることができる。従って、データ保護を行う場合は、データの整合性をとる範囲が、一つの仮想マシンが使用しているボリュームを包含していることが必要である。すなわち、システム仮想化プログラムがその仮想マシンに割り当てているボリューム群を、他の仮想マシンに割り当てられているボリューム群と分けて識別し、そのボリューム群のデータコピー行うことが望ましい。
 これらシステム仮想化技術に関連するものとして、特許文献1の記載のものがある。特許文献1には、特定の仮想マシンを静止化し、静止化が完了した仮想マシンが使用しているボリュームを特定し、特定したボリュームのスナップショットを作成してデータのバックアップを行うことが記載されている。
米国特許出願第2012/0072685号明細書
  一つのLU(Logical Unit)に、上位装置である複数の物理マシン(ホスト計算機、サーバ等)に跨る仮想マシンのデータが格納されている場合に、一つのLUに対する一回のスナップショット作成で仮想マシン上のアプリケーションの整合性を確保しつつバックアップを取得することを考えると、物理マシンないし物理マシン上で動作している仮想マシンをすべて静止化せねばならず、アプリケーションの数に比例してすべての物理マシンないし物理マシン上で動作している仮想マシンが静止している時間が長くなるため、業務への影響が避けられないという課題がある。
 一方で、物理マシン毎ないし物理マシン上で動作している仮想マシン毎に静止化を行うことを考えると、スナップショットの作成回数が増加しバックアップに多くの時間を要してしまうという課題もある。そこで、本発明では、データ整合性を維持しつつバックアップする時間を短縮し、業務への影響を最低限に抑えることを目的とする。
 上記課題を解決するために、本発明の一実施形態でのストレージ装置を含む計算機システムでは、複数の物理計算機(ホスト計算機)に跨る仮想マシンのデータを有する正ボリュームのスナップショットを作成する際、上位装置からのライトデータを退避ボリュームに退避するようにし、正ボリュームと副ボリュームをスプリットし、各仮想マシンで管理された差分ビットマップに従いライトデータを管理し、静止化が完了した仮想マシン毎に、差分ビットマップを参照して、データの整合性が確保できるポイントまで退避ボリュームから副ボリュームにデータをコピーする。
 本発明のストレージ装置では、データ整合性を維持しつつバックアップする時間を短縮し、業務への影響を最低限に抑えることができる。前述以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
図1は、本発明の概念を説明する図である。 図2は、本発明の一実施形態での計算機システムの全体構成図である。 図3は、BK(バックアップ)管理テーブルの構成例を示す図である。 図4は、静止化管理テーブルの構成例を示す図である。 図5は、Write管理テーブルの構成例を示す図である。 図6は、メタデータの構造例を示す図である。 図7は、バックアップ処理の全体を示すフロー図である。 図8は、バックアップ管理プログラムでの処理を示すフローチャート図である。 図9は、整合バックアッププログラムでの処理を示すフローチャート図である。 図10は、整合バックアッププログラムでの処理を示すフローチャート図である。 図11は、メタデータ取得プログラムでの処理を示すフローチャート図である。 図12は、静止化管理プログラムでの処理を示すフローチャート図である。 図13は、Write(ライト)処理プログラムでの処理を示すフローチャート図である。
 以下、図面を参照しながら実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
 また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ、例えば、MP(Micro Processor)やCPUによって実行されるもので、定められた処理をするものである。なお、プロセッサは、適宜に記憶資源(例えばメモリ)及び通信インタフェース装置(例えば、通信ポート)を用いながら処理を行うため、処理の主語がプロセッサとされてもよい。プロセッサは、CPUの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアなどで提供されるものであっても良い。
 また、各要素、例えば、コントローラは番号などで識別可能であるが、各要素を識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本実施例の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
<発明概要>
 図1は、本発明の概念を説明する図である。計算機システム100は、ストレージ装置1、ストレージ装置1の上位装置である複数のホスト計算機(サーバ)2a~2n(以下、ホスト2と略す)、ストレージ装置1の運用を管理するストレージ管理端末3から構成される。ホスト2上では、複数の仮想マシン(仮想計算機、仮想マシン1(VM1)2331、仮想マシン2(VM2)2332、仮想マシンn(VMn)233n)が動作しており、それぞれの仮想マシンがアプリケーション1、アプリケーション2、アプリケーションnを使用し所定の業務を実行している。また、ホスト2には、各仮想マシンがストレージ装置1のどの記憶領域をどのようなホストが使用しているかを管理するメタデータ(管理データ)がある。
 また、ストレージ装置1の記憶装置12には、上位装置であるホスト2に提供する記憶領域を纏めたボリュームが複数備える。ボリュームの種類としては、ホスト2からI/O要求を受け付ける正ボリューム(Primary Volume、以下、P-VOLと略す)13と、P-VOL13におけるスナップショットのコピーデータを格納する副ボリューム(Secondary Volume、以下、S-VOLと略す)14及び本発明の特徴点の1つである退避VOL15を備える。また、P-VOL13には、仮想マシン2331から233nが使用する仮想論理ボリュームVM1-VOL131(仮想マシン2331用)、VM2-VOL132(仮想マシン2332用)、VMn-VOL13n(仮想マシン233n用)が構成されている。
 次に、本発明の概念を説明する。
(1)ストレージ装置へのバックアップ指示
 予めストレージ管理端末3に格納されている時刻情報に到達するか、ストレージ装置1の運用管理を行う運用管理者からのバックアップ指示をストレージ管理端末3が受け付けると、ストレージ管理端末3は、ストレージ装置1に対し、P-VOL13のスナップショットをS-VOL14にコピーするよう指示する。
(2)退避VOLのクリア
 ストレージ管理端末3からのバックアップ指示を受け付けたストレージ装置1は、装置内部にある退避VOL15の内容をクリアする。これは、コピー対象の仮想マシンのみのライトデータを格納するため、内部のデータをクリアする。なお、このクリア処理は、(11)のコピー処理が終了した後に行うこともできる。そうすることで、バックアップ指示からの処理時間を短縮することができる。
(3)ホストのメタデータ取得
 ストレージ装置1は、ホスト2へバックアップ対象のP-VOL13を使用している仮想マシンに関するメタデータを取得するため、メタデータ取得要求をホスト2に送信する。メタデータ取得要求を受信したホスト2は、装置内部に格納してあるメタデータをストレージ装置1に送信する。ストレージ装置1は、ホスト2から送信されたメタデータを受信する。なお、本メタデータの取得処理は、バックアップ対象の仮想マシンが動作しているホスト全てから取得する。例えば、バックアップ対象の仮想マシンがホスト2aとホスト2nで動作していれば、ホスト2aとホスト2nでのメタデータをストレージ装置1は取得する。メタデータの構造については、図6で説明する。
(4)退避VOLでのライト受付開始
 ストレージ装置1は、取得したメタデータからバックアップ対象の仮想マシンが使用しているP-VOLでの記憶領域を抽出する。そして、もし、バックアップ対象の仮想マシンが使用しているP-VOLでの記憶領域へのライト要求がホスト2からストレージ装置1に発行された場合、ライト動作をP-VOL13だけでなく退避VOL15へも実行する。なお、ストレージ装置1は、P-VOL13及び退避VOL15へのライトが発生した記憶領域の判別を差分ビットマップ情報で行うが、その詳細(図4)は後述する。
(5)P-VOLとS-VOLのペアスプリット
 次に、ストレージ装置1は、ペア状態であったP-VOL13とS-VOL14とのペアを解除する(ペアスプリット)。
(6)AP(アプリケーションソフト)静止化要求
 次に、ストレージ装置1は、バックアップ対象の仮想マシンが動作しているホスト、例えば、バックアップ対象の仮想マシンがホスト2aとホスト2nで動作していれば、ホスト2aとホスト2nの両方に、アプリケーション(AP)静止化要求(一時停止要求)を発行する。
(7)AP静止化
 AP静止化要求を受信したホスト2上のバックアップ対象の仮想マシンは、自身の仮想マシン上で動作しているアプリケーション(AP)全ての動作の停止を行う。APの動作を停止(静止化)することで、バックアップ対象の仮想マシンからストレージ装置1へのI/Oアクセスも停止する。I/Oアクセスが停止することで、ストレージ装置1のP-VOL13と退避VOL15へのライトアクセスも停止する。
(8)AP静止化完了通知
 ホスト2は、バックアップ対象の仮想マシンが静止化状態に移行したことを契機に、ストレージ装置1にAP静止化完了通知を送信する。ストレージ装置1は、ホスト2からの静止化完了通知を受信する。
(9)管理テーブル更新完了通知
 ストレージ装置1は、ホスト2からのAP静止化完了通知の受信により仮想マシンの静止化を管理するテーブル(静止化管理テーブル)を更新する。この静止化管理テーブルの詳細については、後述(図4)する。静止化管理テーブルの更新完了後、ストレージ装置1は、ホスト2へ管理テーブル更新完了通知を送信する。
(10)AP静止化解除
 管理テーブル更新完了通知を受信したホスト2は、静止化しているAPの静止化を解除し動作を再開させる。なお、(6)から(10)の処理を、ストレージ装置1及びホスト2は、バックアップ対象の仮想マシン上で動作する全てのAPに対し行う。
(11)退避VOLからS-VOLへのデータコピー
 ストレージ装置1は、バックアップ対象の仮想マシンの全てを静止化できたかを判定し、全て静止化できたと判定できたら退避VOL15にライトされたデータ(データが更新されたブロック(所定の記憶サイズ毎の記憶領域))を、前述の差分ビットマップ情報に従い、S-VOL14にコピーする。
 ここで、(11)退避VOLからS-VOLへのデータコピー、の前に(10)AP静止化解除を行うのは、退避VOL15からS-VOL14へのデータコピーの間アプリケーションが静止してしまい、業務への影響が大きくなってしまうことを防ぐためである。 
 以上のように、複数の物理マシン(サーバ)に跨って動作する複数の仮想マシンを静止化させることで、仮想マシンで動作している複数のAPのデータを1回のコピー動作でバックアップすることができる。
<発明概要>
 図2は、本発明の一実施形態での計算機システムの全体構成図である。計算機システム100は、ストレージ装置1、ストレージ装置1の上位装置であるホスト2(サーバ)、ストレージ装置1の運用を管理するストレージ管理端末3から構成される。
 ストレージ装置1は、装置全体を制御する中央処理装置10、ホスト2や他の外部装置との通信を行うI/O部11、ホストデータやストレージ装置の制御情報、制御プログラムなどを格納する記憶装置12から構成される。中央処理装置10は、外部との入出力や内部レジスタへのデータ格納等を制御する制御装置と、各種演算を実行する演算装置を備える。I/O部11は、ホスト2や外部装置との通信を行うための入出力装置とCHA(Channel Adaptor)インタフェース/iSCSI(internet Small Computer System Interface)インタフェースを備える。なお、ストレージ装置1とホスト2とは、FC(Fibre Chanel)やEthernet(登録商標)などの通信プロトコルで、データやコマンドの送受信が行われる。
 記憶装置12は、DDR(Double Data Rate)タイプのSDRAM(Synchronous Dynamic Random Access Memory)など高速な不揮発性メモリで構成した主記憶装置16と、大容量のデータを格納し記憶できるHDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶装置17を備える。主記憶装置16には、バックアップ管理プログラム31、整合バックアッププログラム32、Write処理プログラム35などの各種プログラム、BK管理テーブル30、静止化管理テーブル40、Write退避管理テーブル50、メタデータ60などのテーブル類などが格納される。なお、プログラムやテーブルを補助記憶装置17に予め格納しておき、中央処理装置10が必要に応じて主記憶装置16に読み出してもよい。
 補助記憶装置17には、前述のように物理ボリュームであるP-VOL13、S-VOL14、退避VOL15を備える。また、ホスト2の仮想マシンへの論理ボリュームVM1-VOL131、VM2-VOL132、VMn-VOL13nが構成され、P-VOL13から適宜実記憶領域が割り当てられる。
 ホスト2は、装置全体を制御する中央処理装置21、ストレージ装置1や他の外部装置との通信を行うI/O部22、ホストデータやストレージ装置の制御情報、制御プログラムなどを格納する記憶装置23から構成される。I/O部22は、入出力装置やHBA(Host Bus Adaptor)インタフェース/NIC(Network Interface Card)インタフェースを備える。
 記憶装置23は、高速な不揮発性メモリで構成した主記憶装置231、大容量のデータを格納し記憶できるHDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶装置232、メタデータ取得プログラム33やメタデータ60を格納する共有記憶装置235を備える。なお、メタデータ取得プログラム33やメタデータ60は予め補助記憶装置232に格納しておき、中央処理装置21が必要に応じて共有記憶装置235または、主記憶装置231に読み出すようにしてもよい。
 主記憶装置231には、ホスト2の中央処理装置、主記憶装置や補助記憶装置などの物理資源やストレージ装置1の補助記憶装置などの物理資源を用いて所定の業務や処理を実行する仮想マシンVM1からVMnが複数動作する。また、各仮想マシンは様々なAP(アプリケーションプログラム2341~234n)を用いて、所定の業務や処理を実行するがその実行過程でのデータなどを、ストレージ装置1が提供するVM1-VOL131からVMn-VOLボリューム13n、実際にはP-VOL13に格納する。
<テーブル>
 図3は、BK(バックアップ)管理テーブルの構成例を示す図である。BK管理テーブル30は、バックアップ対象の仮想マシン情報を管理するテーブルで、ホストを一意に識別するホスト名(サーバ名)301、仮想マシンを一意に識別する仮想マシン名302、仮想マシン名302に対応する仮想マシンがバックアップ対象かを判別し管理するBK対象フラグ303、ホスト2からメタデータ60を取得したかを判別し管理するメタデータ受付フラグ304を備える。
 例えば、ホスト名301が“A”であるホスト上で動作する仮想マシン名302が“A-1”である仮想マシンは、バックアップ対象の仮想マシンであることがBK対象フラグ303(格納値が“True”)から判別できる。また、ストレージ装置1は、ホスト名301が“A”であるホストから、仮想マシンに関するメタデータ60を取得済であることが、メタデータ受付フラグ304が“True”であることから分かる。
 図4は、静止化管理テーブルの構成例を示す図である。静止化管理テーブル40は、仮想マシン毎の静止化状態と、仮想マシンが使用しているボリューム(P-VOL13上のVMボリューム)への更新を管理するテーブルで、ホスト名301、仮想マシン名302、ブロックと呼ばれる記憶領域毎のデータ更新を管理する差分ビットマップ401、BK対象フラグ303、ストレージ装置1からのAP静止化要求に対し静止化されたかを判別する静止化完了フラグ402を備える。なお、静止化管理テーブル40のホスト名301、仮想マシン名302、BK対象フラグ303は、BK管理テーブル30のものと同じである。
 ホスト名301が“A”、仮想マシン名302が“A-1”の仮想マシンは、BK対象フラグ303からバックアップ対象仮想マシンで、静止化完了フラグ402が“True”であるので静止化状態であり、差分ビットマップ401から、6つの記憶領域の内、1つの記憶領域に更新(ビットが“1”)が発生していることが分かる。なお、“0”である記憶領域(ブロック)では、データの更新は発生していない。
 このように、仮想マシン毎の粒度で、静止化管理テーブル40の差分ビットマップ401を管理し、P-VOL13から割り当てられている所定サイズの実記憶領域毎にデータ更新の有無を管理する。なお、差分ビットマップ401を、仮想マシン毎の粒度より細かい粒度である仮想マシン上で動作する複数種類のアプリケーション毎に管理してもよい。
 図5は、Write管理テーブルの構成例を示す図である。Write退避管理テーブル50は、P-VOLがWrite退避をするボリュームであるかを管理するテーブルで、P-VOLを一意に識別するP-VOL#501、退避VOL15でホスト2からのライト要求を受け付けるかを判別するWrite退避フラグ502を備える。例えば、P-VOL#501が“1”であるP-VOLは、Write退避フラグ502が“True”なので、退避VOL15へのライト要求を受け付けるP-VOLで、バックアップ対象の仮想マシンがボリュームの記憶領域を使用していることが分かる。
 また、P-VOL#501が“2”であるP-VOLは、Write退避フラグ502が“False”なので、退避VOL15へのライト要求を受け付けないP-VOL13で、このP-VOL13を使用している仮想マシンがバックアップ対象でないことが分かる。
 図6は、メタデータ60の構造例を示す図である。メタデータ60は、ファイルの管理情報で、仮想マシンが使用しているファイルを一意に識別するファイル名6011、ファイルサイズ、アクセス権限、作成日時、データ領域へのポインタなどの各種情報を記録するための領域を示すiノード番号6012という管理情報と、各ファイルが格納されている記憶領域の情報602、603を備える。
 例えば、ファイル名6011が“A-1.vmdk”を使用している仮想マシン“A-1”は、iノード番号6012が“1”で開始LBA(LBA(Start))が“x0000”と終了LBA(LBA(End))が“x1FFF”で決まるP-VOL13上の記憶領域(例えば、VM1-VOL131内の一部)を少なくとも使用していることが分かる。また、ファイル名6011が“A-2.vmdk”を仮想マシン“A-2”も仮想マシン“A-1”と同様である。このように、メタデータ60が、仮想マシン毎に使用しているP-VOL13の記憶領域の情報を有しており、所定のLBA数毎に前述のブロック単位に区切られ、データの更新が差分ビットマップによって管理されている。なお、仮想マシンがP-VOL13に格納するファイルは1つではなく、例えば、図示はしていないがA-1.vmdkの他にA-1-1.vmdkのように同一識別子(“.vmdk”)を有するがファイルもある。更に、異なる識別子(例えば、“.vmssd”など)を有するファイルも複数個、P-VOL13に格納される場合がある。
<バックアップ処理の動作>
<処理全体>
 図7は、バックアップ処理の全体を示すフロー図である。バックアップ処理は、バックアップ管理プログラム31、整合バックアッププログラム32、メタデータ取得プログラム33、静止化管理プログラム34、Write処理プログラム35が連携して処理を行う。なお、処理の主体を各プログラムとするが、ストレージ装置1の中央処理装置10(またはストレージ管理端末3の中央処理装置30)及びホスト2の中央処理装置21でもよい。
 S701で、ストレージ管理端末3のバックアップ管理プログラム31は、バックアップ対象の仮想マシンに関するBK管理テーブル30を作成し、ストレージ装置1の整合バックアッププログラム32に、作成したBK管理テーブル30を送信しバックアップの開始を指示する。なお、バックアップ管理プログラム31は、ストレージ管理端末3だけでなくストレージ装置1に格納し、スケジューラ等で定期的に所定時刻に実行されるようにしてもよい。
 S711で、バックアップ開始指示を受信したストレージ装置1の整合バックアッププログラム32は、装置内の退避VOL15の内容(データ)をクリアする。
 S712で、整合バックアッププログラム32は、BK管理テーブル30に従いバックアップする仮想マシンが動作しているホスト2にメタデータ60の取得要求を送信してメタデータ60の取得を開始する。なお、メタデータ60の収集要求は、BK管理テーブル30のバックアップ対象の仮想マシンが動作している全てのホストに対し送信される。
 S721で、ホスト2のメタデータ取得プログラム33は、ストレージ装置1からのメタデータ取得要求を受信すると、装置内のメタデータ60を収集する。そして、メタデータ取得プログラム33は、収集したメタデータ60をストレージ装置1に送信する。ストレージ装置1の整合バックアッププログラム32は、受信したメタデータ60を主記憶装置16に格納する。そして、整合バックアッププログラム32は、BK管理テーブル30のメタデータ受付フラグ304で対応するホストの欄の内容を更新する。また、整合バックアッププログラム32は、取得したメタデータ60に基づいてWrite退避管理テーブル50を更新する。
 S713で、整合バックアッププログラム32は、Write退避判定を開始する。すなわち、整合バックアッププログラム32は、Write退避管理テーブル50を参照し、ライト対象のP-VOLが、Write退避を行うボリューム(P-VOL13)であるかを判定する。そして、S741で、Write処理プログラム35は、退避VOL15へのWrite退避判定を開始し、判定の結果Write退避を行うボリュームであれば、ストレージ装置1は退避VOL15へもホスト2からのライト要求のデータ(ホスト2上で動作する仮想マシンからのライトデータ)を格納する。
 S714で、整合バックアッププログラム32は、バックアップ対象のP-VOL13とS-VOL14とのペア状態をスプリット(解除)する。
 S715で、整合バックアッププログラム32は、ホスト2へAP(アプリケーションソフト)静止化開始要求を送信し、ホスト2上で動作しているバックアップ対象の仮想マシンの動作を停止(静止化)させる。
 S731で、AP静止化開始要求を受信したホスト2の静止化管理プログラム34は、アプリケーションの静止化を行い、静止化が完了した後、AP静止化完了通知をストレージ装置1に送信する。この静止化完了により、バックアップ対象の仮想マシンからの退避VOLへのライト要求は発生しなくなる。
 S716で、AP静止化完了通知を受信したストレージ装置1は、整合バックアッププログラム32でのWrite退避判定を終了する。S742で、Write処理プログラム35は、退避VOL15へのWrite退避判定を終了する。
 S717で、整合バックアッププログラム32は、退避VOL15へ格納したバックアップ対象の仮想マシンからのライトデータ、すなわち差分ビットマップで管理された更新データのみをS-VOL14へコピーする。退避VOL15へ格納したバックアップ対象の仮想マシンからのライトデータのS-VOL14へコピーを完了した時、整合バックアッププログラム32は、ストレージ管理端末3へコピー完了通知を送信する。
 S702で、コピー完了通知を受信したストレージ管理端末3のバックアップ管理プログラム31は、バックアップ処理を終了する。
 以上のように、各プログラムが連携して、複数のホスト2(サーバ)に跨る仮想マシンのデータを有するP-VOL13のスナップショット(S-VOL14)を作成する際、バックアップ対象の仮想マシンからのライトデータを退避VOL15に格納する。そして、P-VOL13とS-VOL14をスプリットし、仮想マシン毎に管理されていた差分ビットマップに従いライトデータを管理し、静止化が完了した仮想マシン毎に、差分ビットマップを参照して、データの整合性が確保できるポイントまで退避VOL5からS-VOL14にデータをコピーする。これにより、1回のデータコピーで、データ整合性を維持しつつバックアップできるので、仮想マシンの停止時間を短縮でき業務への影響を最低限に抑えることができる。次に、各プログラムでの処理の詳細な動作について説明する。
 図8は、バックアップ管理プログラム31での処理を示すフローチャート図である。処理の主体をストレージ管理端末3の中央処理装置30とするが、ストレージ管理端末3本体でもよく、ストレージ装置1の中央処理装置10またはストレージ装置1本体でもよい。
 S801で、中央処理装置30は、バックアップ対象の仮想マシンを管理するためBK管理テーブル30を作成する。
 S802で、中央処理装置30は、BK管理テーブル30にバックアップ(BK)対象の仮想マシンに対応するBK対象フラグ303を設定する。つまり、中央処理装置30は、BK管理テーブル30の仮想マシン名302で、バックアップ対象の仮想マシン(例えば、図3の“A-2”)に対応するBK対象フラグ303を“True”と設定する。
 S803で、中央処理装置30は、整合バックアッププログラム32にバックアップの開始指示を送信する。本S803の処理が完了すると、処理は図9及び図10での整合バックアッププログラム32での処理に遷移する。そして、整合バックアッププログラム32での処理が完了した後、S804の処理が中央処理装置30により実行される。
 S804で、中央処理装置30は、整合バックアッププログラム32からバックアップ完了通知を受信し、バックアップ処理を完了する。
 図9及び図10は、整合バックアッププログラム32での処理を示すフローチャート図である。処理の主体をストレージ装置1の中央処理装置10またはホスト(サーバ)2の中央処理装置21とするが、ストレージ装置1またはホスト(サーバ)2でもよく、中央処理装置10または中央処理装置21上で動作するプログラムでもよい。
 S901で、ストレージ装置1の中央処理装置10は、退避VOL15の内容(データ)を全てクリア(削除)する。
 S902で、中央処理装置10は、BK管理テーブル30のBK対象フラグ303が1つでも“True”となっているホスト(ホスト名301に格納されたホスト情報に基づきバックアップ対象の仮想マシンが動作しているホスト2を特定)に対し、メタデータ取得プログラム33(図11)の開始を指示する。例えば、バックアップ対象の仮想マシン302が“A-1”であれば、メタデータを取得するホストはホスト名301から“ホストA”となるので、中央処理装置10は、ホストAのメタデータ取得プログラム33にメタデータ取得を指示する。ホスト2の中央処理装置21上で動作するメタデータ取得プログラム33は、内部のメタデータ60を記憶装置23(共有記憶装置235)から取得する。そして、メタデータ取得プログラム33は、取得したメタデータ60をストレージ装置1に送信する。
 S903で、中央処理装置10は、ホスト2(メタデータ取得プログラム33)からのメタデータ60を受信し、記憶装置12の主記憶装置16に格納する。なお、主記憶装置16ではなく補助記憶装置17や共有記憶装置(図示せず)に格納してもよい。
 S904で、中央処理装置10は、BK管理テーブル30の対応するメタデータ受付フラグ304に“True”を設定する。つまり、中央処理装置10は、ホスト名301が“ホストA”に対応するメタデータ受付フラグ304に“True”(“False”から“True”に、設定を変更)を設定する。
 S905で、中央処理装置10は、BK管理テーブル30のBK対象フラグ303が1つでも“True”となっているホスト(ホスト名301に格納されているホスト)のメタデータ60を全て受信したかを判断する。メタデータ60を全て受信していれば(S905:Yes)、中央処理装置10は、S905を実行し、全て受信していなければ(S905:No)、再びS903以降の処理を実行する。
 S906で、中央処理装置10は、取得したメタデータ60を基にBK管理テーブル30の情報と合わせて静止化管理テーブル40を作成する。例えば、ホスト名301に“A”を、仮想マシン名302にバックアップする仮想マシン名“A-1”、“A-2”・・・を、BK対象フラグ303に“True”を、静止化完了フラグ402に“False”を設定し、差分ビットマップを“0”に設定し初期化する。なお、前述のようにホスト2から取得したメタデータ60が仮想マシン上で動作するアプリケーション毎の粒度の情報を有するので、アプリケーション毎の粒度で、中央処理装置10が静止化管理テーブル40を作成してもよい。
 S907で、中央処理装置10は、バックアップ対象のP-VOL13へのライトを退避VOL15へもライトを行うため、Write退避管理テーブル50のバックアップ対象P-VOL13に対応するWrite退避フラグ502を“True”にする。例えば、図5のようにP-VOL#501が“1”及び“3”であるP-VOL13に対応するWrite退避フラグ502を“True”に設定を変更し、“2”であるP-VOL13は“False”のままとしておく。
 S908で、中央処理装置10は、P-VOL13とS-VOL14とのペアをスプリットする。つまり、上述のようにP-VOL#501が“1”及び“3”であるP-VOL13とペアを形成するS-VOL14とのペア状態を解除する。S907のWrite退避フラグ502をオン(“False”から“True”に変更)し、退避VOL15へのライトを受け付け、次にペアスプリットを実行することで、バックアップ対象のP-VOL12に障害等が発生しライトを受け付けられなくなってもホスト2からのデータを障害発生時点ないしそれ以降の特定の時点での更新データをストレージ装置1で保存することが可能となる。
 また、ペアスプリットを先に行った後にWrite退避フラグ502をオンにした場合、その間に発生したライトに係るデータがS-VOL14と退避VOL15のどちらにも各のされずに整合性のあるデータを確保できなくなってしまう可能性があるが、退避VOL15へのライトを受け付け、次にペアスプリットを実行することでこの可能性を排除することが可能となる。
 S909で、中央処理装置10は、バックアップ対象の仮想マシンに対して、静止化管理プログラム34の開始を指示する。ホスト2の中央処理装置21上で動作する静止化管理プログラム34は、バックアップ対象の仮想マシンを静止化(一時停止)させる。そして、静止化完了通知をストレージ装置1に対し送信する。
 S910で、中央処理装置10は、ホスト2の静止化管理プログラム34から静止化が完了した仮想マシンでの静止化完了通知を受信する。
 S911で、中央処理装置10は、静止化が完了した仮想マシンに対する静止化管理テーブル40の静止化完了フラグ402に“True”を設定する。例えば、仮想マシン名302が“A-1”であるバックアップ対象の仮想マシンの静止化が完了した場合、静止化完了フラグ402を“False”から“True”へ変更し設定する。
 S912で、中央処理装置10は、静止化が完了した仮想マシンの静止化管理プログラム34へ静止化管理テーブル40の更新が完了した旨の通知を発行する。
 S913で、中央処理装置10は、BK対象フラグ303が“True”である仮想マシンで全て静止化完了フラグが“True”になっているかを判断する。全て静止化完了フラグが“True”になっている場合(S913:Yes)、中央処理装置10は、S914を実行し、全て静止化完了フラグが“True”になっていない場合(S913:No)、再びS910以降の処理を実行する。
 S914で、中央処理装置10は、バックアップ対象VOL(P-VOL13)のWrite退避管理テーブル50のWrite退避フラグ502をクリアし、“True”から“False”に変更する。
 S915で、中央処理装置10は、静止化管理テーブル40の差分ビットマップ401で“1”となっているブロック(ライトが実行されデータ更新が発生した記憶領域)のみ退避VOL15のデータをS-VOL14へコピーする。
 S916で、中央処理装置10は、バックアップ管理プログラム31へバックアップの完了通知を発行する。
 以上のS901からS916までの処理が図7で示したS711からS717までの処理の詳細動作である。
 図11は、メタデータ取得プログラム33での処理を示すフローチャート図である。処理の主体をホスト(サーバ)2の中央処理装置21とするが、ホスト(サーバ)2でもよく、中央処理装置21上で動作するプログラムでもよい。
 S1101で、中央処理装置21は、ストレージ装置1の整合バックアッププログラム32から要求されたバックアップ対象の仮想マシンに関するメタデータ60を、ホスト2の共有記憶装置235から取得する。
 S1102で、中央処理装置21は、取得したメタデータ60をストレージ装置1の整合バックアッププログラム32へ送信する。ストレージ装置1の整合バックアッププログラム32(または中央処理装置10)が送信されたメタデータ60を受信する。
 図12は、静止化管理プログラム34での処理を示すフローチャート図である。処理の主体をホスト(サーバ)2の中央処理装置21とするが、ホスト(サーバ)2でもよく、中央処理装置21上で動作するプログラムでもよい。
 S1201で、ホスト(サーバ)2の中央処理装置21は、バックアップ対象の仮想マシン上で動作しているアプリケーション(AP)234への静止化要求を、ストレージ装置1の整合バックアッププログラム32(または中央処理装置10)から受信する。そして、中央処理装置21は、アプリケーション234へ受信した静止化要求を転送する。静止化要求を受け付けたアプリケーション234は、動作を一時的に停止する。この静止化により、このアプリケーション234からストレージ装置1のボリュームへのアクセス(ライトアクセスも含む)が一時的に停止する。
 S1202で、中央処理装置21は、アプリケーション234からの静止化完了通知を受信する。
 S1203で、アプリケーション234の停止を確認した中央処理装置21は、ストレージ装置1の整合バックアッププログラム32(または中央処理装置10)へ静止化完了通知(静止化が完了した仮想マシン情報を含む)を送信する。
 S1204で、ストレージ装置1の中央処理装置10は、整合バックアッププログラム32から静止化が完了した仮想マシン情報を取得し、静止化したアプリケーションが動作していた仮想マシンに対応する静止化管理テーブル40の静止化完了フラグ402のエントリを“False”から“True”に更新する。そして、中央処理装置10は、静止化完了フラグ402の更新完了後、静止化管理プログラム34へ静止化管理テーブル更新完了通知を送信し、静止化管理プログラム34は更新完了通知を受信する。この後、退避VOL15からS-VOL14へのデータコピー(差分データコピー:更新データのみコピー)を行う。
 S1205で、中央処理装置21は、ホスト(サーバ)2で静止化しているアプリケーションへ静止化解除要求を送信する。
 S1206で、アプリケーション静止化解除要求に従い、静止化状態のアプリケーション234は、動作を再開する。動作を再開したアプリケーション234は、中央処理装置21へ静止化解除完了通知を送信する。アプリケーション234からの静止化解除完了通知を受信した中央処理装置21は処理を終了させる。
 図13は、Write(ライト)処理プログラム35での処理を示すフローチャート図である。処理の主体をストレージ装置1の中央処理装置10とするが、ストレージ装置1本体でもよく、中央処理装置10上で動作するプログラムでもよい。本処理は、アプリケーションが整合性をとるために必要なデータがS-VOL14にも退避VOL15にも格納されないで、整合性のとれたスナップショットが作成できないという課題を解決する処理としている。
 S1301で、中央処理装置10は、ホスト(サーバ)2からのP-VOL13へライト要求を受領する。そして、ライト要求に従い、中央処理装置10はP-VOL13へデータをライトする。
 S1302で、中央処理装置10は、ライト対象のP-VOL13は、S-VOL14とペア状態かを判断する。ペア状態である場合(S1302:Yes)、中央処理装置10は、S1303を実行し、ペア状態でない場合(S1302:No)、S1304を実行する。
 S1303で、中央処理装置10は、P-VOL13とペア状態にあるS-VOL14へもデータのライトを実行する。
 S1304で、中央処理装置10は、Write退避管理テーブルのWrite退避フラグが“True”であるP-VOLかを判断する。つまり、バックアップ対象の仮想マシンが使用しているP-VOLであるかを中央処理装置10は、判断する。Write退避フラグが“True”であるP-VOLの場合(S1304:Yes)、中央処理装置10は、S1305を実行し、“True”でなく“False”であるP-VOLの場合(S1304:No)、退避VOL15へのライトを行わずWrite処理を終了する。
 S1305で、中央処理装置10は、ライトデータの格納領域がバックアップ対象の仮想マシンが使用している記憶領域であるかを、静止化管理テーブル40のBK対象フラグ303で判断する。つまり、静止化管理テーブル40のBK対象フラグ303が“True”である仮想マシンの差分ビットマップ401で管理しているバックアップ対象の記憶領域に該当するかを判断する。バックアップ対象の記憶領域に該当する場合(S1305:Yes)、中央処理装置10は、S1306を実行し、バックアップ対象の記憶領域でない場合(S1305:No)、退避VOL15へのライトを行わずWrite処理を終了する。
 S1306で、中央処理装置10は、静止化管理テーブル40の静止化完了フラグ402が“True”であるかを判断する。静止化完了フラグ402が“True”でなく“False”である場合(S1306:No)、中央処理装置10は、S1307を実行し、静止化完了フラグ402が“True”である場合(S1306:Yes)、退避VOL15へのライトを行わずWrite処理を終了する。
 S1304のWrite退避フラグ502の判定処理、S1305のBK(バックアップ)対象フラグ303の判定処理、S1306の静止化完了フラグ403の判定により、退避VOLへのライトデータを特定できる。つまり、退避VOLへのライトデータ、すなわち、バックアップ対象の仮想マシンが更新したデータを特定できるので、その更新データのみをS-VOL14へコピーするだけでデータバックアップを実現でき、余分なデータコピーが不要となり、データコピー処理の負担が軽くなり、またデータコピー時間及び仮想マシンの静止化時間の短縮が図れる。
 また、Write退避フラグ502が“False”であるP-VOLは、そのP-VOLにデータを格納するすべての仮想マシンに対応するライトデータについて退避VOL15へのライトを必要としない。よって、Write退避フラグ502、BK(バックアップ)対象フラグの順に判定を行うことで、退避VOLへのライトデータか否かの最終的な判定の時間を短縮することが可能となる。
 S1307で、中央処理装置10は、P-VOL13へのライトデータと同じデータを退避VOL15へライトする。
 S1308で、中央処理装置10は、静止化管理テーブル40の差分ビットマップ401のライト対象ブロックに“1”を書き込み、このブロック(記憶領域)へのデータ更新発生を管理する。
 このように、図9及び図10で説明した整合バックアッププログラム32では退避VOL15への退避フラグをオン(Write退避管理テーブル50のWrite退避フラグ502を“True”)にした後、P-VOL13とS-VOL14のペアスプリットを実行する。そして、Write処理プログラム35ではスプリットか否かの判定の後に退避フラグのオン・オフ判定を行う。これにより、バックアップ対象の仮想マシン上で動作するアプリケーションからのライトデータを確実に退避VOL15にも格納される。そのため、ロールフォワードに必要なデータが必ず退避VOL15へライトされるので、確実なロールフォワードが可能となる。
 以上説明したように、本発明の実施形態であるストレージ装置では、仮想マシン毎に静止化を行い、一度のスナップショットでアプリケーション毎に管理されているデータの整合性が確保したバックアップを行うことができる。そのため、業務継続性を担保しつつ、スナップショット作成の時間(コピー時間)を短縮できるという効果がある。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
 各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置いてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 1:ストレージ装置、2:サーバ、3:ストレージ管理端末、10、21:中央処理装置、13:P-VOL、14:S-VOL、15:退避VOL、30:BK管理テーブル、31:バックアップ管理プログラム、32:整合バックアッププログラム、33:メタデータ取得プログラム、34:静止化管理プログラム、35:Write処理プログラム、40:静止化管理テーブル、50:Write退避管理テーブル、60:メタデータ、100:計算機システム、402、2331、2332、2333:仮想マシン

Claims (12)

  1.  計算機システムであって、
      複数の仮想計算機が動作する複数のホスト計算機と、
      前記ホスト計算機に接続し記憶領域としてのボリュームを提供するストレージ装置と、
      前記ストレージ装置の運用を管理するストレージ管理端末を備え、
     前記ストレージ装置は、
      装置全体を制御する中央処理装置と、
      前記ボリュームを構成するための記憶装置を備え、
     前記記憶装置に、
      前記仮想計算機のデータを格納する正ボリュームと、
      前記正ボリュームとペアを構成し、当該正ボリュームのバックアップデータのスナップショットを格納する副ボリュームと、
      前記仮想計算機からの書き込みデータを一時的に格納する前記正ボリューム及び前記副ボリュームとは異なる第3のボリュームを備え、
      前記仮想計算機のデータバックアップ要求が前記ストレージ管理端末から前記ストレージ装置へ指示されると、
     前記中央処理装置は、
     バックアップ対象仮想計算機を前記データバックアップ要求から特定し、
     前記バックアップ対象仮想計算機から前記正ボリュームへの書き込み要求を前記第3のボリュームへも受け付けさせ、
     前記バックアップ対象仮想計算機から書き込み受け付け開始後に、前記正ボリュームと前記副ボリュームとのペアを解除し
     前記バックアップ対象仮想計算機に動作停止を要求して一時停止させ、
     前記第3のボリュームへの書き込みデータを前記副ボリュームにコピーする
     ことを特徴とする計算機システム。
  2.  請求項1の計算機システムであって、前記中央処理装置は、
     前記バックアップ対象仮想計算機の前記正ボリュームでのデータ格納領域情報を含む管理データを取得し、
     前記管理データのデータ格納領域を所定の記憶サイズに分割し、当該分割された記憶領域毎に、データ書き込みの有無を管理する差分ビットマップを設け、
     前記差分ビットマップから書き込みが発生した第3のボリュームの記憶領域を特定し、
     特定した記憶領域のデータを前記第3のボリュームから前記副ボリュームへコピーする
     ことを特徴とする計算機システム。
  3.  請求項2の計算機システムであって、
     前記バックアップ対象仮想計算機であるかを判定するバックアップ対象フラグを前記仮想計算機毎に設け、
     前記正ボリュームへの書き込み要求を前記第3のボリュームへも受け付けさせるか否かを判断するライト退避フラグを前記正ボリューム毎に設け、
     前記中央処理装置は、
     前記ストレージ管理端末から前記ストレージ装置へのバックアップ要求に基づき、前記仮想計算機毎にバックアップ対象フラグ及びバックアップ対象の正ボリュームに対応するライト退避フラグを設定し、
     前記ライト退避フラグの設定完了後に、前記正ボリュームと前記副ボリュームとのペアを解除し、
     前記バックアップ対象フラグが設定されたバックアップ対象仮想計算機からの書き込み要求を前記第3のボリュームへ実行する
     ことを特徴とする計算機システム。
  4.  請求項3の計算機システムであって、前記バックアップ対象仮想計算機に動作停止を要求して一時停止が完了したかを判定する静止化完了フラグを更に設け、
     前記静止化完了フラグが設定されていないバックアップ対象仮想計算機からの書き込み要求を前記第3のボリュームへ実行する
     ことを特徴とする計算機システム。
  5.  請求項4の計算機システムであって、
     前記仮想計算機上で複数のアプリケーションソフトが動作し、
     前記ホスト計算機では、アプリケーションソフト毎に管理データを生成して管理し、
     前記ストレージ装置の中央処理装置が、
     前記アプリケーションソフト毎の管理データを取得し、当該管理データに基づいてアプリケーションソフト毎の差分ビットマップを生成し、当該各アプリケーションソフトによるデータ書き込みを管理し、
     前記アプリケーションソフト毎の差分ビットマップで、前記第3のボリュームへの書き込みデータを前記副ボリュームにコピーする
     ことを特徴とする計算機システム。
  6.  複数の仮想計算機が動作する複数のホスト計算機に接続し記憶領域としてのボリュームを提供するストレージ装置であって、
     前記ストレージ装置は、
      装置全体を制御する中央処理装置と、
      前記ボリュームを構成するための記憶装置を備え、
     前記記憶装置に、
      前記仮想計算機のデータを格納する正ボリュームと、
      前記正ボリュームとペアを構成し、当該正ボリュームのバックアップデータのスナップショットを格納する副ボリュームと、
      前記仮想計算機からの書き込みデータを一時的に格納する前記正ボリューム及び前記副ボリュームとは異なる第3のボリュームを備え、
     前記仮想計算機のデータバックアップ要求が発生すると、前記中央処理装置は、
     バックアップ対象仮想計算機を前記データバックアップ要求から特定し、
     前記バックアップ対象仮想計算機から前記正ボリュームへの書き込み要求を前記第3のボリュームへも受け付けさせ、
     前記バックアップ対象仮想計算機から書き込み受け付け開始後に、前記正ボリュームと前記副ボリュームとのペアを解除し
     前記バックアップ対象仮想計算機に動作停止を要求して一時停止させ、
     前記第3のボリュームへの書き込みデータを前記副ボリュームにコピーする
     ことを特徴とするストレージ装置。
  7.  請求項6のストレージ装置であって、前記中央処理装置は、
     前記バックアップ対象仮想計算機の前記正ボリュームでのデータ格納領域情報を含む管理データを取得し、
     前記管理データのデータ格納領域を所定の記憶サイズに分割し、当該分割された記憶領域毎に、データ書き込みの有無を管理する差分ビットマップを設け、
     前記差分ビットマップから書き込みが発生した第3のボリュームの記憶領域を特定し、
     特定した記憶領域のデータを前記第3のボリュームから前記副ボリュームへコピーする
     ことを特徴とするストレージ装置。
  8.  請求項7のストレージ装置であって、
     前記バックアップ対象仮想計算機であるかを判定するバックアップ対象フラグを前記仮想計算機毎に設け、
     前記正ボリュームへの書き込み要求を前記第3のボリュームへも受け付けさせるか否かを判断するライト退避フラグを前記正ボリューム毎に設け、
     前記中央処理装置は、
     前記ストレージ管理端末から前記ストレージ装置へのバックアップ要求に基づき、前記仮想計算機毎にバックアップ対象フラグ及びバックアップ対象の正ボリュームに対応するライト退避フラグを設定し、
     前記ライト退避フラグの設定完了後に、前記正ボリュームと前記副ボリュームとのペアを解除し、
     前記バックアップ対象フラグが設定されたバックアップ対象仮想計算機からの書き込み要求を前記第3のボリュームへ実行する
     ことを特徴とするストレージ装置。
  9.  請求項8のストレージ装置であって、前記バックアップ対象仮想計算機に動作停止を要求して一時停止が完了したかを判定する静止化完了フラグを更に設け、
     前記静止化完了フラグが設定されていないバックアップ対象仮想計算機からの書き込み要求を前記第3のボリュームへ実行する
     ことを特徴とするストレージ装置。
  10.  請求項9のストレージ装置であって、
     前記仮想計算機上で複数のアプリケーションソフトが動作し、
     前記ホスト計算機では、アプリケーションソフト毎に管理データを生成して管理し、
     前記ストレージ装置の中央処理装置が、
     前記アプリケーションソフト毎の管理データを取得し、当該管理データに基づいてアプリケーションソフト毎の差分ビットマップを生成し、当該各アプリケーションソフトによるデータ書き込みを管理し、
     前記アプリケーションソフト毎の差分ビットマップで、前記第3のボリュームへの書き込みデータを前記副ボリュームにコピーする
     ことを特徴とするストレージ装置。
  11.  計算機システムのデータバックアップ方法であって、
      複数の仮想計算機が動作する複数のホスト計算機と、
      前記ホスト計算機に接続し記憶領域としてのボリュームを提供するストレージ装置と、
      前記ストレージ装置の運用を管理するストレージ管理端末を備え、
     前記ストレージ装置は、
      装置全体を制御する中央処理装置と、
      前記ボリュームを構成するための記憶装置を備え、
     前記記憶装置に、
      前記仮想計算機のデータを格納する正ボリュームと、
      前記正ボリュームとペアを構成し、当該正ボリュームのバックアップデータのスナップショットを格納する副ボリュームと、
      前記仮想計算機からの書き込みデータを一時的に格納する前記正ボリューム及び前記副ボリュームとは異なる第3のボリュームを備え、
     前記ストレージ管理端末から前記ストレージ装置へ指示された前記仮想計算機のデータバックアップ要求を受け付けるステップと、
     バックアップ対象仮想計算機を前記データバックアップ要求から特定するステップと、
     前記バックアップ対象仮想計算機から前記正ボリュームへの書き込み要求を前記第3のボリュームへも受け付けさせるステップと、
     前記バックアップ対象仮想計算機から書き込み受け付け開始後に、前記正ボリュームと前記副ボリュームとのペアを解除するステップと、
     前記バックアップ対象仮想計算機に動作停止を要求して一時停止させるステップと、
     前記第3のボリュームへの書き込みデータを前記副ボリュームにコピーするステップとを有する
     ことを特徴とする計算機システムのデータバックアップ方法。
  12.  請求項11の計算機システムのデータバックアップ方法であって、
     前記バックアップ対象仮想計算機の前記正ボリュームでのデータ格納領域情報を含む管理データを取得するステップと、
     前記管理データのデータ格納領域を所定の記憶サイズに分割するステップと、
     前記分割された記憶領域毎に、データ書き込みの有無を管理する差分ビットマップを設けるステップと、
     前記差分ビットマップから書き込みが発生した第3のボリュームの記憶領域を特定するステップと、
     特定した記憶領域のデータを前記第3のボリュームから前記副ボリュームへコピーするステップとを有する
     ことを特徴とする計算機システムのデータバックアップ方法。
PCT/JP2014/076954 2014-10-08 2014-10-08 計算機システム、ストレージ装置及びデータバックアップ方法 WO2016056085A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/076954 WO2016056085A1 (ja) 2014-10-08 2014-10-08 計算機システム、ストレージ装置及びデータバックアップ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/076954 WO2016056085A1 (ja) 2014-10-08 2014-10-08 計算機システム、ストレージ装置及びデータバックアップ方法

Publications (1)

Publication Number Publication Date
WO2016056085A1 true WO2016056085A1 (ja) 2016-04-14

Family

ID=55652744

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/076954 WO2016056085A1 (ja) 2014-10-08 2014-10-08 計算機システム、ストレージ装置及びデータバックアップ方法

Country Status (1)

Country Link
WO (1) WO2016056085A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220504A (zh) * 2021-05-26 2021-08-06 华云数据控股集团有限公司 虚拟机增量数据备份方法、系统及计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257096A (ja) * 2009-04-23 2010-11-11 Hitachi Ltd ストレージシステムにおけるバックアップ方法
JP2011090550A (ja) * 2009-10-23 2011-05-06 Hitachi Ltd コンピュータシステム及びプログラム記録媒体
US20130007388A1 (en) * 2011-07-01 2013-01-03 Hitachi, Ltd. Storage system and controlling method of the same
US20130111127A1 (en) * 2011-10-28 2013-05-02 Hitachi, Ltd. Storage system and data processing method in storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257096A (ja) * 2009-04-23 2010-11-11 Hitachi Ltd ストレージシステムにおけるバックアップ方法
JP2011090550A (ja) * 2009-10-23 2011-05-06 Hitachi Ltd コンピュータシステム及びプログラム記録媒体
US20130007388A1 (en) * 2011-07-01 2013-01-03 Hitachi, Ltd. Storage system and controlling method of the same
US20130111127A1 (en) * 2011-10-28 2013-05-02 Hitachi, Ltd. Storage system and data processing method in storage system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220504A (zh) * 2021-05-26 2021-08-06 华云数据控股集团有限公司 虚拟机增量数据备份方法、系统及计算机可读介质
CN113220504B (zh) * 2021-05-26 2022-04-01 华云数据控股集团有限公司 虚拟机增量数据备份方法、系统及计算机可读介质

Similar Documents

Publication Publication Date Title
CN107111533B (zh) 虚拟机集群备份
US10152381B1 (en) Using storage defragmentation function to facilitate system checkpoint
EP3686739A1 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
US9311375B1 (en) Systems and methods for compacting a virtual machine file
US9529885B1 (en) Maintaining consistent point-in-time in asynchronous replication during virtual machine relocation
US9619543B1 (en) Replicating in virtual desktop infrastructure
US9087112B1 (en) Consistency across snapshot shipping and continuous replication
US9665386B2 (en) Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment
US9400611B1 (en) Data migration in cluster environment using host copy and changed block tracking
US10678663B1 (en) Synchronizing storage devices outside of disabled write windows
US8024536B2 (en) Method of constructing replication environment and storage system
US8468316B2 (en) Apparatus and method for data backup
US20110231698A1 (en) Block based vss technology in workload migration and disaster recovery in computing system environment
JP2009506399A (ja) バックアップイメージを仮想化するシステム及び方法
US8954706B2 (en) Storage apparatus, computer system, and control method for storage apparatus
US10055309B1 (en) Parallel restoration of a virtual machine's virtual machine disks
JP2016115220A (ja) ストレージシステム、ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
WO2016106756A1 (zh) 一种容灾方法、系统和装置
US10114703B2 (en) Flash copy for disaster recovery (DR) testing
EP2639698B1 (en) Backup control program, backup control method, and information processing device
US10146471B1 (en) Offloaded data protection based on virtual machine snapshots
WO2012035669A1 (ja) 計算機システム、ストレージ・ボリューム管理方法及び計算機読み取り可能な記憶媒体
WO2016056085A1 (ja) 計算機システム、ストレージ装置及びデータバックアップ方法
JP6879960B2 (ja) バックアップ制御方法及びシステム
JP2014038551A (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: 14903835

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14903835

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP