WO2014112062A1 - ストレージ装置及びデータ移行方法 - Google Patents

ストレージ装置及びデータ移行方法 Download PDF

Info

Publication number
WO2014112062A1
WO2014112062A1 PCT/JP2013/050761 JP2013050761W WO2014112062A1 WO 2014112062 A1 WO2014112062 A1 WO 2014112062A1 JP 2013050761 W JP2013050761 W JP 2013050761W WO 2014112062 A1 WO2014112062 A1 WO 2014112062A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
generation
storage device
svol
migration
Prior art date
Application number
PCT/JP2013/050761
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/JP2013/050761 priority Critical patent/WO2014112062A1/ja
Priority to US14/651,688 priority patent/US9977813B2/en
Priority to JP2014557234A priority patent/JPWO2014112062A1/ja
Publication of WO2014112062A1 publication Critical patent/WO2014112062A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the present invention relates to a method for migrating a storage apparatus having a snapshot function, and more specifically, from a storage apparatus having no function of outputting difference management information and allocation management information for snapshot data to another storage apparatus. It relates to a method for migrating snapshots.
  • the snapshot function possessed by the storage device is a function for holding data of a certain volume at a past point in time.
  • a volume that is a source of a snapshot is called a PVOL (Primary Volume)
  • a volume that holds past data is called a SVOL (Secondary Volume).
  • each SVOL stores only the actual data in the pool only for the difference data between the PVOL and the newly acquired SVOL.
  • the storage device refers to the difference management information and the VOL allocation management information, and specifies the storage location of the SVOL data.
  • a PVOL, SVOL, and pool are prepared in the migration destination storage device, and the oldest generation (first generation) SVOL data is migrated from the migration source storage to the PVOL of the migration destination storage. Copy to.
  • the second generation SVOL difference management information and the VOL allocation management information between the second generation SVOL and the first generation SVOL are referred to, and the second generation SVOL data Only the data with the difference is transferred to the PVOL of the migration destination storage.
  • the transferred data is written to the PVOL of the migration destination storage, and the first generation SVOL is restored by the snapshot function of the migration destination storage apparatus.
  • There is a technique for restoring the snapshot of the migration source storage device to the migration destination storage device by repeating this processing, and migrating the snapshot function for example, see Patent Document 1).
  • difference management information and VOL allocation management information are management information in the storage apparatus. Therefore, a general storage device does not have a function of outputting to the outside. In addition, depending on the type of storage device and snapshot function, the management information copied may not be used as it is depending on the migration destination storage device. Therefore, an object of the present invention is to realize the migration of the snapshot function that does not require a special function of transferring only data with a difference to the migration destination storage apparatus.
  • the migration is performed in order from the new generation SVOL.
  • the migration target data of each SVOL is all data regardless of the difference management information in the migration source storage apparatus.
  • the SVOL data of a certain generation copied to the migration destination storage is compared with the new generation SVOL data in the migration destination storage apparatus, and difference information for this new generation is created based on the comparison result. . If there is a difference, the VOL allocation management table is updated, and the difference information is stored in the area allocated in the pool.
  • an existing device such as a host computer, a migration source storage device, and a network device does not require a special function without depending on the snapshot data storage method of the migration source storage device, A volume to which the snapshot function is applied can be migrated to a new storage device without stopping the exchange of data between the host computer and the storage device.
  • FIG. 1 is a block diagram of the entire computer system according to the first to third embodiments.
  • FIG. 2A is a block diagram illustrating the first half of the transition operation in the outline of the first embodiment.
  • FIG. 2B is a block diagram illustrating the latter half of the migration operation in the outline of the first embodiment.
  • FIG. 3 is a conceptual diagram showing functions of the migration destination storage apparatus.
  • FIG. 4 is a conceptual diagram showing functions of the migration source storage apparatus.
  • FIG. 5 is a conceptual diagram showing the data structure of the VOL management table.
  • FIG. 6 is a conceptual diagram showing the data structure of the snapshot pair management table.
  • FIG. 7 is a conceptual diagram showing the data structure of the snapshot data management table.
  • FIG. 8 is a conceptual diagram showing the data structure of the VOL allocation management table.
  • FIG. 1 is a block diagram of the entire computer system according to the first to third embodiments.
  • FIG. 2A is a block diagram illustrating the first half of the transition operation in the outline of the first embodiment.
  • FIG. 9 is a conceptual diagram showing the data structure of the migration management table.
  • FIG. 10 is a flowchart showing snapshot migration processing.
  • FIG. 11 is a flowchart showing the SVOL migration process.
  • FIG. 12 is a flowchart showing the SVOL reference process.
  • FIG. 13 is a flowchart showing a slot storage position search process for snapshot data.
  • FIG. 14 is a flowchart showing the output processing of snapshot pair information.
  • FIG. 15 is a flowchart showing the update process to the VOL in transition.
  • FIG. 16A is a block diagram illustrating the first half of the transition operation in the outline of the second embodiment.
  • FIG. 16B is a block diagram illustrating the latter half of the migration operation in the outline of the second embodiment.
  • FIG. 17 is a conceptual diagram illustrating a data configuration of a snapshot data management table in the third embodiment.
  • FIG. 1 is a block diagram of the entire computer system according to the first to third embodiments.
  • a computer system 1 shown in FIG. 1 has a system configuration common to the embodiments of the present invention as a whole.
  • the computer system 1 includes a host computer 2, a management computer 3, two storage devices 4A and 4B, a SAN (Storage Area Network) 5, and a LAN (Local Area Network) 6.
  • the host computer 2 is connected to each storage device 4A, 4B via the SAN 5, and the management computer 3 is connected to the host computer 2 and each storage device 4A, 4B via the LAN 6, respectively.
  • the host computer 2 includes a CPU 10, a memory 11, a storage device 12, an interface control unit 13, and a plurality of ports 14.
  • the CPU 10 is a processor that controls operation of the entire host computer 2, and reads various programs stored in the storage device 12 into the memory 11 and executes them.
  • the memory 11 is used to store various programs read from the storage device 12 by the CPU 10 when the host computer 2 is started, and is also used as a work memory for the CPU 10.
  • the storage device 12 includes, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and is used for storing and holding various programs and control data.
  • the interface control unit 13 is an adapter for connecting the host computer 2 to the LAN 6, and each port 14 is an adapter for connecting the host computer 2 to the SAN 5.
  • the management computer 3 is a computer for managing the host computer 2 and the storage devices 4A and 4B, and includes a CPU 20, a memory 21, a storage device 22, an interface control unit 23, an input device 24, and a display device 25.
  • the CPU 20 is a processor that controls the operation of the entire management computer 3, and reads various programs stored in the storage device 22 into the memory 21 and executes them.
  • the memory 21 is used for storing various programs read from the storage device 22 by the CPU 20 when the management computer 3 is activated, and is also used as a work memory for the CPU 20.
  • the storage device 22 includes, for example, an HDD or an SSD, and is used for storing and holding various programs and control data.
  • the interface control unit 23 is an adapter for connecting the management computer 3 to the LAN 6.
  • the input device 24 is composed of, for example, a keyboard and a mouse, and the display device 25 is composed of, for example, a liquid crystal display.
  • the storage devices 4A and 4B include a plurality of storage devices 30A and 30B and control units 31A and 31B that control input / output of data to / from the storage devices 30A and 30B.
  • a and B when A and B are properly used in the same number, they indicate the components or functions in the migration source storage apparatus 4A and the migration destination storage apparatus 4B, respectively.
  • the storage devices 30A and 30B are constituted by, for example, HDDs or SSDs.
  • a plurality of storage devices 30A and 30B constitute one RAID (Redundant Array of Inexpensive Disks) group, and one or a plurality of logical units are set on a storage area provided by one or a plurality of RAID groups. Data from the host computer 2 is stored in this logical unit in units of a predetermined size block.
  • RAID Redundant Array of Inexpensive Disks
  • the control units 31A and 31B include CPUs 40A and 40B, memories 41A and 41B, nonvolatile memories 42A and 42B, cache memories 43A and 43B, a plurality of host side ports 44A and 44B, a plurality of storage device side ports 45A and 45B, and an interface control unit. 46A and 46B are provided.
  • the CPUs 40A and 40B are processors that control the overall operation of the storage apparatuses 4A and 4B, and read various programs stored in the nonvolatile memories 42A and 42B into the memories 41A and 41B and execute them.
  • the memory 41A and the memory 41B are used for storing various programs read from the nonvolatile memories 43A and 43B by the CPUs 40A and 40B when the storage apparatuses 4A and 4B are started up, and are also used as work memories for the CPUs 40A and 40B. .
  • Nonvolatile memory memories 42A and 42B are used for storing and holding various programs and control data.
  • the cache memories 43A and 43B are mainly used for temporarily storing data exchanged between the host computer 2 and the storage devices 30A and 30B.
  • the host-side ports 44A and 44B are adapters for connecting the storage devices 4A and 4B to the SAN 5, and the storage device-side ports 45A and 45B are adapters for the storage devices 30A and 30B.
  • the interface control units 46A and 46B are adapters for connecting the storage apparatuses 4A and 4B to the LAN 6.
  • the storage apparatus 4A is a migration source volume migration source
  • the storage apparatus 4B is a migration destination volume migration destination.
  • these will be referred to as a migration source storage device 4A and a migration destination storage device 4B, respectively.
  • FIG. 2A and 2B are diagrams showing an outline of the first embodiment.
  • the CPUs 40A and 40B in FIG. 1 provide the storage areas of the storage devices 30A and 30B as VOLs and pools, respectively.
  • the migration source storage apparatus 4A there are a snapshot PVOL 150A, a first generation SVOL 151A, a second generation SVOL 152A, a third generation SVOL 153A and a pool 160A for storing data of these volumes to be migrated.
  • the PVOL 150A to be migrated, the PVOL 150B, the first generation SVOL 151B, the second generation SVOL 152B, the third generation SVOL 153B, and the data of these volumes corresponding to the SVOLs 151A to 153A are stored in the migration destination storage apparatus 4B.
  • the first generation SVOL 151A and 151B are the oldest, followed by the second generation SVOL 152A and 152B, and the third generation SVOL 153A and 153B.
  • the PVOL and each SVOL can accept IO from the host computer 2 (FIG. 1).
  • FIG. 2A shows the first half of the operation of migrating the second generation SVOL 152A of the migration source storage apparatus 4A to the second generation SVOL 152B of the migration destination storage apparatus 4B.
  • the data of all areas of the second generation SVOL of the migration source storage apparatus 4A are copied to the migration destination storage apparatus 4B.
  • the data 1500 that has been copied is compared with the data of the third generation SVOL 153B that is one newer than the second generation SVOL, and the presence or absence of a difference is checked.
  • FIG. 2B shows the latter half of the operation of migrating the second generation SVOL 152A of the migration source storage apparatus 4A to the second generation SVOL 152B of the migration destination storage apparatus 4B.
  • the presence / absence of the difference of each slot is set in the snapshot data management table 422B (in the column “2nd” in FIG. 2B).
  • the slot determined to have a difference is assigned a necessary capacity from the pool 160B to the second generation SVOL 152B, and the data in the corresponding slot of the data 1500 copied from the migration source storage apparatus 4A (in FIG. 2B, data “C “Is applicable”).
  • FIG. 3 shows various control programs and various management information tables of the migration destination storage apparatus 4B.
  • the nonvolatile memory 42B of the migration destination storage apparatus 4B includes a VOL management table 420B, a snapshot pair management table 421B, a snapshot data management table 422B, a VOL allocation management table 423B, a migration management table 424B, a snapshot control unit 425B, and an IO command.
  • a control processing unit 426B, a VOL migration processing unit 427B, a snapshot migration processing unit 428B, and a snapshot pair IF processing unit 429B are stored.
  • FIG. 4 shows various control programs and main management information tables of the migration source storage apparatus 4A.
  • a VOL management table 420A In the nonvolatile memory 42A of the migration source storage apparatus 4A, a VOL management table 420A, a snapshot pair management table 421A, a snapshot data management table 422A, a VOL allocation management table 423A, a snapshot control processing unit 425A, an IO command processing unit 426, and A snapshot pair IF processing unit 429A is stored.
  • the VOL management tables 420A and 420B include information for managing the respective volumes in the migration source storage apparatus 4A and the migration destination storage apparatus 4B, and as specific information, as shown in FIG. A VOL attribute 4201 and a VOL size 4202 are stored.
  • the VOL number 4200 is a number for specifying a volume in each of the migration source storage apparatus 4A and the migration destination storage apparatus 4B.
  • the VOL attribute 4201 indicates whether each volume is a normal VOL, a snapshot PVOL, or a snapshot SVOL.
  • the VOL size 4202 represents the logical size of the VOL provided to the host computer 2 or the management computer 3.
  • the snapshot pair management tables 421A and 421B include information for managing the respective snapshot pairs in the migration source storage apparatus 4A and the migration destination storage apparatus 4B. Specific information thereof is shown in FIG. A snapshot number 4210, a PVOL number 4211, an SVOL number 4212, and a snapshot generation number 4213 are stored.
  • the snapshot number 4210 is a number for identifying a snapshot pair in each of the migration source storage apparatus 4A and the migration destination storage apparatus 4B.
  • the PVOL number 4211 is a number for specifying the volume that becomes the PVOL of the snapshot pair, and is a number determined by the VOL number 4200 in the VOL management tables 420A and 420B.
  • the SVOL number 4212 is a number for specifying the volume that becomes the SVOL of the snapshot pair, and is a number determined by the VOL number 4200 in the VOL management tables 420A and 420B.
  • the snapshot generation number 4213 is a number for specifying the order in which the snapshot pairs are created among the snapshot pairs having the same PVOL number 4211.
  • the SVOL with the snapshot generation number 0001 is called “first generation SVOL”, and the SVOL with the snapshot generation number 0002 is called “second generation SVOL”.
  • the SVOL with the snapshot generation number n is referred to as “nth generation SVOL”.
  • the snapshot data management tables 422A and 422B include information for managing whether or not each data of the snapshot SVOL has differential data with other SVOL or PVOL. As shown in FIG. 7, PVOL number 4220, slot number 4221, and difference information 4222 between SVOLs of each generation are stored.
  • the PVOL number 4220 indicates the same number as the number determined by the PVOL number 4211 in the snapshot pair management tables 421A and 421B, and identifies the volume that becomes the snapshot PVOL.
  • the slot number 4221 is a number for specifying a logical address of each volume, and the slot is a minimum unit for managing the data storage destination of the snapshot.
  • the difference information 4222 between the SVOLs of each generation indicates whether there is a difference in the data of the same slot of the SVOL of the next generation with respect to the SVOL of the next generation.
  • the first generation SVOL column indicates difference information between the first generation SVOL and the second generation SVOL
  • the second generation SVOL column includes the second generation SVOL and the third generation SVOL.
  • the nth generation SVOL column indicates the difference information between the nth generation SVOL and the (n + 1) th generation SVOL. However, when there is no column of the (n + 1) th generation SVOL, the column of the nth generation SVOL indicates difference information between the nth generation SVOL and the PVOL.
  • the VOL allocation management tables 423A and 423B include information indicating where each slot of each volume is allocated in the pool. As specific information, as shown in FIG. 8, the VOL number 4230, the slot number 4231, and the presence / absence of allocation 4232, a POOL number 4232, and a slot number 4234 in the POOL are stored.
  • the VOL number 4230 indicates the same number as the number determined by the VOL number 4200 in the VOL management tables 420A and 420B.
  • the slot number 4231 indicates the same number as the number determined by the slot number 4221 in the snapshot data management tables 422A and 422B, and identifies the logical address of each volume.
  • the allocation presence / absence 4232 indicates whether or not there is an allocated area in the pool for each slot. When there is an allocation, it indicates that there is an allocated area in the pool, and when there is no allocation, it indicates that there is no allocated area in the pool.
  • the POOL number 4233 indicates a number for specifying a pool to which an area is assigned for each slot.
  • the in-POOL slot number 4234 indicates a number for specifying a logical address in the pool allocated to each slot.
  • the migration management table 424B includes information for managing the VOL migration status, and stores the VOL number 4240, the migration status 4241, the VOL termination slot number 4242 and the migration completion slot number 4243 as specific information as shown in FIG. is doing.
  • the VOL number 4240 indicates the same number as the number determined by the VOL number 4200 in the VOL management table 420B in the migration destination storage apparatus 42B, and identifies the volume in the migration destination storage apparatus 42B.
  • the transition state 4241 indicates the transition state of each volume. "Complete” indicates that the migration to the destination storage device has already been completed, “Migrating” indicates that the migration is currently in progress, and "Before migration” indicates that the migration is still in progress. Indicates that has not started.
  • the VOL termination slot number 4242 indicates the slot number of the rearmost end in each VOL.
  • the migration completion slot number 4243 indicates from the first slot to the slot where the migration has been completed among the slots in each VOL. For example, when this value is 5000, it indicates that the transition from the first slot to 5000 slots has been completed, and the next slot to be migrated is 5001 slots.
  • the snapshot control processing units 425A and 425B perform the snapshot SVOL reference processing based on information in the snapshot pair management tables 421A and 421B, the snapshot data management tables 422A and 422B, and the VOL allocation management tables 423A and 423B.
  • the IO command processing units 426A and 426B are programs for performing read processing and write processing in response to an IO processing request from the host computer 2.
  • the VOL migration processing unit 427B is a program for performing a process of migrating a volume from the migration source storage apparatus 4A to the migration destination storage apparatus 4B based on information in the migration management table 424B.
  • the snapshot migration processing unit 428B is a program for migrating the snapshot function according to an instruction from the host computer 2 or the management computer 3.
  • the snapshot pair IF processing units 429A and 429B are stored in the snapshot pair management tables 421A and 421B in the migration source storage apparatuses 4A and 4B by either the host computer 2 or the management computer 3 or the migration destination storage apparatus 4B. It is a program for referring to information. (3. Snapshot migration process)
  • FIG. 10 shows the procedure for snapshot migration processing.
  • the snapshot migration process is performed by selecting a snapshot pair, PVOL, or SVOL to be migrated from the management computer 3. Below, each step of this processing procedure is explained in order.
  • step 42801 the migration destination storage apparatus 4B acquires the snapshot pair information to be migrated in the migration source storage apparatus 4A.
  • the migration source storage apparatus 4A is transferred to the migration destination by the snapshot pair information output process 4290 (described later based on FIG. 14) by the snapshot pair IF processing unit 429A stored in the nonvolatile memory 42A of the migration source storage apparatus 4A.
  • Information necessary for creating the snapshot pair management table 421B in the storage device 4B is output to the migration destination storage device 4B.
  • the migration destination storage apparatus 4B creates a PVOL / SVOL pair based on the acquired snapshot pair information. That is, a volume corresponding to the PVOL and SVOL is created in the migration destination storage apparatus 4B, the VOL number 4200, the VOL attribute 4201 and the VOL size 4202 are set in the VOL management table 420B, and the snapshot pair management table 421B is set. A snapshot number 4210, a PVOL number 4211, an SVOL number 4212, and a snapshot generation number 4213 are set, and a VOL number 4240, a migration state 4241, a VOL termination slot number 4242, and a migration completion slot number 4243 are set in the migration management table 424B. .
  • step 42803 the PVOL is migrated.
  • the PVOL migration procedure is performed by copying data from the migration source storage apparatus 4A to the migration destination storage apparatus 4B sequentially from the beginning of the volume area.
  • the data copy process may be executed by reading the data of the migration source storage device 4A from the migration destination storage device 4B, or may be written from the migration source storage device 4A to the migration destination storage device 4B. May be executed. Further, it may be executed by the host computer 2 or the management computer 3. For example, it is possible to apply the technique described in US Patent Application Publication No. 2012/0036330.
  • the volume in the migration source storage apparatus is mapped as an external volume of the migration destination storage apparatus, and the inquiry information of the volume to be migrated is set in the migration destination volume of the migration destination storage apparatus.
  • the inquiry information of the volume to be migrated is set in the migration destination volume of the migration destination storage apparatus.
  • step 42804 based on the data in the snapshot pair management table 421B and the migration management table 424B, the SVOL with the largest snapshot generation number (ie, the largest one among the SVOLs that become the snapshot pair and the PVOL migrated in the previous step). Select New SVOL).
  • step 42805 it is determined whether or not an unmigrated SVOL exists. If an unmigrated SVOL exists (Yes), the process proceeds to SVOL migration processing step 42806 (described later based on FIG. 11). If an unmigrated SVOL does not exist (No), the snapshot migration process is completed. After the completion of the SVOL migration process 42806, the process returns to step 42804 again, and this migration process is repeated until it is determined in step 42805 that there is no unmigrated SVOL.
  • FIG. 11 shows the procedure of the SVOL migration process in step 42806 of FIG. 10 described above. Below, each step of this processing procedure is explained in order.
  • the SVOL data 1500 to be migrated is copied from the migration source storage apparatus 4A to the migration destination storage apparatus 4B.
  • the data copy process may be executed by reading the data of the migration source storage device 4A from the migration destination storage device 4B, or from the migration source storage device 4A to the migration destination storage device 4B. It may be executed as if it were written out. Further, it may be executed by the host computer 2 or the management computer 3.
  • the data of the snapshot SVOL in the migration source storage apparatus 4A is transferred to the migration destination storage apparatus 4B by specifying the data storage position by the SVOL data reference process (described later based on FIG. 12).
  • step 428062 based on the information in the snapshot pair management table 421B, the PVOL number 4211 and the snapshot generation number 4213 of the line including the migration target SVOL are referred to, and the contents including the PVOL number of the same number as the referenced PVOL number are referred to.
  • the PVOL number 4211 and the snapshot generation number 4213 of the line including the migration target SVOL are referred to, and the contents including the PVOL number of the same number as the referenced PVOL number are referred to.
  • the SVOL number 4212 of the found line is referenced.
  • the PVOL number 4211 is referred to.
  • the VOL data of the referenced VOL number is compared with the data copied from the migration source storage apparatus 4A in step 428061.
  • the data “D”, “B”, “E” of the volume specified by the third generation SVOL 153B, which is the SVOL number to be referenced, and the migration copied from the migration source storage apparatus 4A “D”, “B”, and “C” of the target data 1500 are compared.
  • step 428063 based on the result of the comparison in the previous step, only the data of the slot whose data does not match (only data “C” in FIG. 2A) is transferred from the pool 160B to the migration destination SVOL (152B in FIG. 2B). Data is stored by allocating capacity.
  • the capacity allocation process is realized by registering each value in the VOL allocation management table 423B.
  • step 428064 based on the result of comparison in step 428062, the row of the corresponding PVOL number and slot number in the snapshot data management table 422B and the difference column of the corresponding nth generation SVOL do not match. Information with a difference is set for each slot, and information without a difference is set for the matched slot.
  • step 428061 to 428064 When the processing from step 428061 to 428064 is completed for the data of all areas of the nth generation SVOL to be migrated, the migration of the nth generation SVOL is completed and the process returns to step 42804 in FIG.
  • the processing from step 428061 to 424064 may be performed sequentially according to the pace of data copy from the migration source storage apparatus 4A to the migration destination storage apparatus 4B.
  • FIG. 12 shows the procedure of the snapshot SVOL reference process.
  • the snapshot SVOL reference process includes an IO process from the host computer 2 and an SVOL data migration process from the migration source storage apparatus 4A to the migration destination storage apparatus 4B. Below, each step of this processing procedure is explained in order.
  • step 42601 a slot storage position search process (described later based on FIG. 13) is executed.
  • step 42602 data is referred from the slot storage position specified in the previous step.
  • FIG. 13 is a flowchart of the slot storage position search process in step 42061 of FIG. 12 described above. Hereinafter, each step of the search process will be described in order.
  • step 426011 the slot storage location search target SVOL is selected, and the VOL number of the SVOL is acquired from the VOL management tables 420 A and 420 B.
  • step 426012 the presence / absence of a difference between slots to be searched is referred to from the VOL number of the SVOL acquired in the previous step and the snapshot data management tables 422A and 422B.
  • step 426013 it is determined whether there is a difference or not. If there is no difference (Yes), the process proceeds to step 426014. If there is a difference (No), the process proceeds to step 426016.
  • step 426014 the PVOL number 4211 of the row including the currently selected SVOL and the snapshot generation number 4213 are referenced based on the information in the snapshot pair management table 421B, and the PVOL number having the same number as the referenced PVOL number is included.
  • a line including a snapshot generation number that is one greater than the referenced snapshot generation number is searched from the lines, and the SVOL number of the found line is selected to acquire the SVOL number.
  • the PVOL is selected and the PVOL number is acquired.
  • step 426015 it is determined whether or not the selected volume is SVOL. When it is SVOL (Yes), it returns to step 426012 and repeats a process. If it is not SVOL (No), the process proceeds to step 426017.
  • step 426016 the data storage location of the slot to be searched by referring to the POOL number and the slot number in the POOL of the row including the VOL number of the selected SVOL and the slot number to be searched based on the information of the VOL allocation management tables 423A and 423B. To get.
  • step 426017 the data storage position of the target slot of the selected PVOL is searched, and the data storage position of the slot is acquired.
  • FIG. 14 is a flowchart 4290 of the snapshot pair information output process. This process is performed by the snapshot pair IF processing unit 429A when a pair information reference request is received from the management computer 3 or the migration destination storage apparatus 4B to the migration source storage apparatus 4A.
  • step 42901 the PVOL number 4211, SVOL number 4212, and snapshot generation number 4213 of the snapshot pair are referred to from the migration source snapshot pair management table 421A, and output to the external device that made the request.
  • the snapshot migration processing described with reference to FIGS. 10 to 14 is performed by copying the data of PVOL and all SVOLs in a snapshot pair of the same PVOL in units of slots and copying them to the migration destination storage apparatus 4B. This can also be realized by comparing data copied in the storage device 4B and setting values in the snapshot data management table 422B and the VOL allocation management table 423B.
  • FIG. 15 is a flowchart 4260 of the update process to each VOL being migrated received in the migration destination storage apparatus. Below, each step of this update process is demonstrated in order.
  • step 42601 the migration state 4241 of the migration management table 424B is referred to.
  • step 42602 the process proceeds to step 42602
  • step 42603 the process proceeds to step 42604.
  • step 42602 the migration destination storage apparatus 4B does not perform update processing, and performs update processing only for the migration source storage apparatus 4A.
  • step 42603 the migration completion slot number 4243 is further referenced to determine whether or not the update target slot has been migrated. As a result, if the migration is completed (Yes), the process proceeds to step 42604. If the migration is not completed (No), the process proceeds to step 42602.
  • step 42604 the VOL data of both the migration destination storage apparatus 4B and the migration source storage apparatus 4A is updated.
  • the common data refers to the PVOL data.
  • the data of each slot is managed.
  • 16A and 16B are schematic diagrams of Embodiment 2 in the present invention.
  • the migration source storage apparatus 4A there are a snapshot PVOL 150A, a first generation SVOL 151A, a second generation SVOL 152A, a third generation SVOL 153A and a pool 160A for storing data of these volumes to be migrated.
  • the PVOL 150B In the migration destination storage apparatus 40B, the PVOL 150B, the first generation SVOL 151B, the second generation SVOL 152B, the third generation SVOL 153B, the pool 160B for storing the data of these volumes, and the migration source storage apparatus corresponding to each PVOL and SVOL to be migrated There exists SVOL data 1500 and a snapshot data management table 422B copied from 4A to the migration destination storage apparatus 4B.
  • the first generation SVOL 151A and 151B are the oldest, followed by the second generation SVOL 152A and 152B, and the third generation SVOL 153A and 153B.
  • the PVOL and each SVOL can accept IO from the host.
  • FIG. 16A shows the first half of the operation of migrating the second generation SVOL 152A from the migration source storage apparatus 4A to the second generation SVOL 152B of the migration destination storage apparatus 4B.
  • the data of all areas of the second generation SVOL of the migration source storage apparatus 4A are copied to the migration destination storage apparatus 4B.
  • the data 1500 that has been copied and the data of the PVOL 150B are compared, and the presence or absence of a difference is checked.
  • FIG. 16B shows the latter half of the operation of migrating the second generation SVOL 152A from the migration source storage apparatus 4A to the second generation SVOL 152B of the migration destination storage apparatus 4B.
  • the presence / absence difference of each slot is set in the snapshot data management table 422B.
  • a necessary capacity is allocated from the pool 160B to the second generation SVOL 152B, and the data of the corresponding slot of the data 1500 copied from the migration source storage apparatus 4A is stored.
  • the SVOL difference information 4222 of each generation in the snapshot data management table 422B indicates the presence / absence of a difference for each slot between the SVOL and PVOL of each generation.
  • the second embodiment does not depend on the data structure of the table related to the snapshot function in the migration source storage apparatus 4A and the method for realizing the snapshot function.
  • step 428062 in FIG. 11 the copied data and the PVOL data are compared regardless of the generation of the migration target SVOL.
  • step 426014 of FIG. 13 a PVOL is selected regardless of which generation of SVOL is selected.
  • the second embodiment has the following effects as compared to the first embodiment.
  • the snapshot data management table 422B is referred to twice or more in order to refer to the data of the first generation SVOL. I have to do it.
  • the number of generations further increases, the number of times the snapshot data management table 422B is referenced also increases, resulting in a difference in access performance between the generations of each SVOL.
  • the number of times the snapshot data management table 422B is referred to for any data of any generation of SVOLs is limited to one, The effect of eliminating the difference in access performance between SVOLs can be obtained.
  • This data management method of the snapshot function is suitable when the host computer 2 uses a snapshot SVOL as a volume necessary for simultaneously starting a plurality of the same virtual machines at high speed.
  • Example 2 seems to be superior in terms of capacity efficiency. It is.
  • FIG. 17 shows a snapshot data management table 422B in the third embodiment.
  • the data sharing information 4222 of each generation's SVOL is information indicating which generation's SVOL or PVOL the data of each slot of each generation's SVOL share.
  • the data 1500 copied from the migration source storage apparatus 4A to the migration destination storage apparatus 4B during the SVOL migration has been migrated among the SVOLs that use the same PVOL as the migration target SVOL in the migration destination storage apparatus 4B as a snapshot pair. Compare data with all SVOLs and PVOLs. Based on the comparison result, the snapshot data management table 422B is set to be shared with the latest generation SVOL among the matched data. If the data matches the PVOL data, it is set to be shared with the PVOL. If there is no matching data, no sharing is set.
  • Example 3 has the following effects.
  • difference information between SVOL data of a certain generation and SVOL data of the next generation is managed. Therefore, if there is no difference in the data in the same slot of a certain nth generation SVOL and n-2nd generation SVOL, and there is a difference only in the data in the same slot of the (n-1N + 1) th generation SVOL, the slot of the nth generation SVOL and the For the slots of the n-2 generation SVOL, areas are allocated separately in the pool.
  • one area is allocated to the pool for the slot of the nth generation SVOL and the slot of the n-2nd generation SVOL, and the capacity efficiency is better than that of the first embodiment.
  • This data management method of the snapshot function is suitable when it is desired to reduce the capacity used for the snapshot as much as possible.
  • PVOL or SVOL of a generation closer to PVOL mainly manages data
  • an older generation SVOL has PVOL or Only the difference data from the new generation SVOL is managed in the pool.
  • a method may be used in which data is managed mainly by the oldest generation SVOL, and for the PVOL or new generation SVOL data, only the difference data from the older generation SVOL is managed in the pool. In that case, it can be realized by reversing the migration procedure. Specifically, the oldest generation SVOL is migrated in step 42803 of FIG. 10, and the oldest generation SVOL is selected from the unmigrated SVOLs in step 42804.
  • step 42805 after it is determined that there is no unmigrated SVOL, the PVOL is finally migrated and the snapshot migration process is terminated.
  • step 428062 in FIG. 11 the data is compared with the data of the SVOL that is one generation older than the migration target SVOL.
  • step 426014 of FIG. 13 the SVOL of the one older generation is selected from the snapshot management table.
  • step 426015 it is determined whether any other than the oldest generation SVOL is selected.
  • step 426017 the data storage position of the target slot of the oldest generation SVOL is searched to obtain the data storage position of the target slot.
  • the column of the nth generation SVOL indicates the difference information between the nth generation SVOL and the n ⁇ 1 generation SVOL.
  • the column of the nth generation SVOL shows the data of the nth generation SVOL and the first generation SVOL.
  • the nth generation SVOL column of the snapshot data management table 422B is set to be shared with the oldest generation SVOL among the matched data.
  • the first to third embodiments do not depend on the data structure of the table related to the snapshot function in the migration source storage apparatus 4A and the method for realizing the snapshot function. Even with the configuration of the third embodiment, the same effects as the first and second embodiments can be obtained.
  • Management computer 4A Migration source storage device 4B: Migration destination storage device 5: SAN 6: LAN 10, 20, 40A, 40B: CPU 11, 21, 41A, 41B: Memory 12, 22, 30A, 30B: Storage devices 13, 23, 46A, 46B: Interface control units 14, 44A, 44B, 45A, 45B: Ports 31A, 31B: Control units 42A, 42B : Non-volatile memory 43A, 43B: Cache memory

Landscapes

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

Abstract

 スナップショット機能が適用されたボリュームを新しいストレージ装置へ移行する際に、移行元ストレージ装置のスナップショットデータ圧縮方法に依存せず、しかも、ホスト計算機とストレージ装置の間のデータの授受を止めることなしに移行する方法として、 まず、スナップショットの元となるボリューム(PVOL)のデータ移行後、新しい世代のSVOLから順に移行する。この時の各SVOLの移行対象データは移行元ストレージ装置内の全データである。移行先ストレージへコピーされたSVOLデータは、移行先ストレージ装置内で1つ新しい世代のSVOLデータと比較し、その比較結果に基づいて差分管理情報を作成する。差分がある場合には、VOL割当管理テーブルを更新し、プール内に割当てられた領域に差分データを格納する。

Description

ストレージ装置及びデータ移行方法
 本発明は、スナップショット機能を持つストレージ装置の移行方法に関し、具体的には、スナップショットデータに対する差分管理情報及び割り当て管理情報を外部に出力する機能を持たないストレージ装置から、別のストレージ装置へスナップショットを移行する方法に関するものである。
 ストレージ装置が有するスナップショット機能は、あるボリュームの過去のある時点でのデータを保持する機能である。スナップショットの元となるボリュームをPVOL(Primary Volume)、過去のデータを保持するボリュームをSVOL(Secondary Volume)と呼ぶ。容量効率化のため、各SVOLは、PVOL又は自分よりも新しく取得したSVOL、との差分データのみ、その実データをプールに保存する。ストレージ装置は、差分管理情報及びVOL割当管理情報を参照し、SVOLデータの格納位置を特定する。
 移行元のストレージ装置で移行元のボリュームにスナップショット機能が適用されている場合、移行先のストレージ装置でもスナップショット機能の処理が継続されることが望まれる。
 スナップショット管理されるデータの移行として、例えば、移行先ストレージ装置内に、PVOL、SVOL及びプールを用意し、移行元ストレージから、最も古い世代(第1世代)のSVOLデータを移行先ストレージのPVOLへコピーする。次に、移行元ストレージ装置内で、2番目に古い世代(第2世代)のSVOLと第1世代のSVOLとの差分管理情報及びVOL割当管理情報を参照し、第2世代のSVOLデータの中から差分があるデータのみを移行先ストレージのPVOLへ転送する。この転送されたデータを移行先ストレージのPVOLへ書き込み、移行先ストレージ装置が持つスナップショット機能によって第1世代のSVOLを復元する。この処理を繰り返していくことで、移行先ストレージ装置に移行元ストレージ装置のスナップショットを復元し、スナップショット機能を移行する技術がある(例えば特許文献1参照)。
特開2009-181206号公報                   (米国特許出願公開第2009/0193206号明細書)
 上記、特許文献1に開示される技術において差分管理情報及びVOL割当管理情報は、ストレージ装置内の管理情報である。よって、一般のストレージ装置では外部へ出力する機能を有していない。また、ストレージ装置やスナップショット機能の種類に依存するために移行先ストレージ装置によってはコピーされた管理情報をそのまま使用することはできない場合がある。
 よって本発明では、差分があるデータのみを移行先ストレージ装置へ転送する特別な機能を不要とするスナップショット機能の移行を実現することを課題とする。
 そこで、本発明では、PVOLのデータ移行後、新しい世代のSVOLから順に移行する。この時、各SVOLの移行対象データは、移行元ストレージ装置内の差分管理情報によらず、全データである。移行先ストレージへコピーされたある世代のSVOLのデータについては、移行先ストレージ装置内で1つ新しい世代のSVOLデータと比較され、その比較結果に基づいてこの1つ新しい世代に対する差分情報を作成する。差分がある場合には、VOL割当管理テーブルを更新し、プール内に割当てられた領域にその差分情報を格納する。
 本発明によれば、ホスト計算機、移行元ストレージ装置、ネットワーク装置などの既設の装置が特殊な機能を必要とすることなしに、移行元ストレージ装置のスナップショットデータの格納方法に依らずして、ホスト計算機とストレージ装置の間のデータの授受を止めることなく、スナップショット機能が適用されたボリュームを新しいストレージ装置へ移行することができる。
図1は、実施例1から実施例3に係る計算機システム全体のブロック図である。 図2Aは、実施例1の概要の内、移行動作の前半部分を示すブロック図である。 図2Bは、実施例1の概要の内、移行動作の後半部分を示すブロック図である。 図3は、移行先ストレージ装置の機能を示す概念図である。 図4は、移行元ストレージ装置の機能を示す概念図である。 図5は、VOL管理テーブルのデータ構成を示す概念図である。 図6は、スナップショットペア管理テーブルのデータ構成を示す概念図である。 図7は、スナップショットデータ管理テーブルのデータ構成を示す概念図である。 図8は、VOL割当管理テーブルのデータ構成を示す概念図である。 図9は、移行管理テーブルのデータ構成を示す概念図である。 図10は、スナップショット移行処理を示すフロー図である。 図11は、SVOL移行処理を示すフロー図である。 図12は、SVOL参照処理を示すフロー図である。 図13は、スナップショットデータのスロット格納位置検索処理を示すフロー図である。 図14は、スナップショットペア情報の出力処理を示すフロー図である。 図15は、移行中VOLへの更新処理を示すフロー図である。 図16Aは、実施例2の概要の内、移行動作の前半部分を示すブロック図である。 図16Bは、実施例2の概要の内、移行動作の後半部分を示すブロック図である。 図17は、実施例3におけるスナップショットデータ管理テーブルのデータ構成を示す概念図である。
 まず、本発明における各実施例の説明に入る前に、各実施例に共通した本発明のシステム構成について、図1により記述する。
システム構成
 図1は、実施例1から実施例3に係る計算機システム全体のブロック図である。図1に示す計算機システム1は、全体として本発明の各実施例に共通するシステム構成である。本計算機システム1は、ホスト計算機2、管理計算機3、2台のストレージ装置4A、4B、SAN(Storage Area Network)5及びLAN(Local Area Network)6を備えて構成される。ホスト計算機2は、SAN5を介して各ストレージ装置4A、4Bとそれぞれ接続され、管理計算機3は、LAN6を介してホスト計算機2及び各ストレージ装置4A、4Bとそれぞれ接続されている。
 ホスト計算機2は、CPU10、メモリ11、記憶装置12、インタフェース制御部13及び複数のポート14を備えて構成される。CPU10は、ホスト計算機2全体の動作制御を司るプロセッサであり、記憶装置12に格納された各種プログラムをメモリ11に読み出して実行する。メモリ11は、ホスト計算機2の起動時にCPU10により記憶装置12から読み出された各種プログラムを記憶するために用いられ、その他にCPU10のワークメモリとしても用いられる。
 記憶装置12は、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)から構成され、各種プログラムや制御データを記憶保持するために用いられる。インタフェース制御部13は、ホスト計算機2をLAN6に接続するためのアダプタであり、各ポート14は、ホスト計算機2をSAN5に接続するためのアダプタである。
 管理計算機3は、ホスト計算機2及び各ストレージ装置4A、4Bを管理するための計算機であり、CPU20、メモリ21、記憶装置22、インタフェース制御部23、入力装置24及び表示装置25を備えて構成される。CPU20は、管理計算機3全体の動作制御を司るプロセッサであり、記憶装置22に格納された各種プログラムをメモリ21に読み出して実行する。メモリ21は、管理計算機3の起動時にCPU20により記憶装置22から読み出された各種プログラムを記憶するために用いられ、その他にCPU20のワークメモリとしても用いられる。
 記憶装置22は、例えば、HDD又はSSDから構成され、各種プログラムや制御データを記憶保持するために用いられる。インタフェース制御部23は、管理計算機3をLAN6に接続するためのアダプタである。入力装置24は、例えばキーボード及びマウス等から構成され、表示装置25は、例えば液晶ディスプレイ等から構成される。
 ストレージ装置4A、4Bは、複数の記憶装置30A、30Bと、記憶装置30A、30Bに対するデータの入出力を制御するコントロール部31A、31Bとから構成される。なお、これ以降、同一番号内でAとBを使い分けている場合、それぞれ、移行元ストレージ装置4A内、移行先ストレージ装置4B内の部品あるいは機能を指す。
 記憶装置30A、30Bは、例えば、HDD又はSSDから構成される。複数の記憶装置30A、30Bにより1つのRAID(Redundant Array of Inexpensive Disks)グループが構成され、1又は複数のRAIDグループが提供する記憶領域上に、1又は複数の論理ユニットが設定される。そして、ホスト計算機2からのデータは、この論理ユニット内に所定の大きさのブロックを単位として格納される。
 コントロール部31A、31Bは、CPU40A,40B、メモリ41A、41B、不揮発メモリ42A、42B、キャッシュメモリ43A、43B、複数のホスト側ポート44A,44B、複数の記憶装置側ポート45A、45B及びインタフェース制御部46A、46Bを備えて構成される。
 CPU40A、40Bは、ストレージ装置4A、4B全体の動作制御を司るプロセッサであり、不揮発メモリ42A、42Bに格納された各種プログラムをメモリ41A,41Bに読み出して実行する。メモリ41A、メモリ41Bは、ストレージ装置4A、4Bの起動時にCPU40A、40Bにより不揮発メモリ43A、43Bから読み出された各種プログラムを記憶するために用いられるほか、CPU40A、40Bのワークメモリとしても用いられる。
 不揮発メモリメモリ42A、42Bは、各種プログラムや制御データを記憶保持するために用いられる。キャッシュメモリ43A、43Bは、主としてホスト計算機2と記憶装置30A、30Bの間で授受されるデータを一時的に格納するために用いられる。ホスト側ポート44A、44Bは、ストレージ装置4A、4BをSAN5に接続するためのアダプタであり、記憶装置側ポート45A、45Bは、記憶装置30A、30Bに対するアダプタである。インタフェース制御部46A、46Bは、ストレージ装置4A、4BをLAN6に接続するためのアダプタである。
 なお、本実施例の場合、ストレージ装置4Aは移行対象ボリュームの移行元であり、ストレージ装置4Bは移行対象ボリュームの移行先である。以下、それぞれを移行元ストレージ装置4A、移行先ストレージ装置4Bと呼ぶ。
 図2A及び図2Bは、実施例1の概要を示した図である。
 図1のCPU40A、40Bはそれぞれ、記憶装置30A、30Bの記憶領域をVOL、プールとして提供している。
 移行元ストレージ装置4A内に、移行対象となるスナップショットのPVOL150A、第1世代SVOL151A、第2世代SVOL152A、第3世代SVOL153A及びこれらのボリュームのデータを格納するプール160Aが存在する。
 移行先ストレージ装置4B内に、上記移行対象となるPVOL150A、各SVOL151A~153Aに対応する、PVOL150B、第1世代SVOL151B、第2世代SVOL152B、第3世代SVOL153B、また、これらのボリュームのデータを格納するプール160B、移行元ストレージ装置4Aから移行先ストレージ装置4BへコピーしたSVOLデータ1500及び後述するスナップショットデータ管理テーブル422B、が存在する。
 各SVOLの中で、第1世代SVOL151A、151Bが最も古く、続いて、第2世代SVOL152A、152B、第3世代SVOL153A、153B、の順に新しくなる。PVOL及び各SVOLは、ホスト計算機2(図1)からのIOを受け付けることができる。
 図2Aは、移行元ストレージ装置4Aの第2世代SVOL152Aを、移行先ストレージ装置4Bの第2世代SVOL152Bに移行する動作の前半部分を示す。まず、移行元ストレージ装置4Aの第2世代SVOLの全領域のデータを移行先ストレージ装置4Bへコピーする。次に、移行先ストレージ装置4B内で、今コピーしてきたデータ1500と第2世代SVOLより1つ新しい第3世代SVOL153Bのデータとを比較し、差分の有無をチェックする。
 図2Bは、移行元ストレージ装置4Aの第2世代SVOL152Aを、移行先ストレージ装置4Bの第2世代SVOL152Bに移行する動作の後半部分を示す。上記差分の有無チェックの結果に基づき、各スロットの差分の有無をスナップショットデータ管理テーブル422Bに設定する(図2Bでは「2nd」の列)。差分有りと判定されたスロットには、プール160Bから第2世代SVOL152Bへ必要な容量を割り当てて、移行元ストレージ装置4Aからコピーしてきたデータ1500の該当するスロットのデータ(図2Bでは、データ“C”が該当)を格納する。
(2.各種データの構成)
 図3は、移行先ストレージ装置4Bの各種制御プログラム及び各種管理情報テーブルを示している。移行先ストレージ装置4Bの不揮発メモリ42Bには、VOL管理テーブル420B、スナップショットペア管理テーブル421B、スナップショットデータ管理テーブル422B、VOL割当管理テーブル423B、移行管理テーブル424B、スナップショット制御部425B、IOコマンド制御処理部426B、VOL移行処理部427B、スナップショット移行処理部428B及びスナップショットペアIF処理部429Bが格納される。
 図4は、移行元ストレージ装置4Aの各種制御プログラム及び各主管情報テーブルを示している。移行元ストレージ装置4Aの不揮発メモリ42Aには、VOL管理テーブル420A、スナップショットペア管理テーブル421A、スナップショットデータ管理テーブル422A、VOL割当管理テーブル423A、スナップショット制御処理部425A、IOコマンド処理部426及びスナップショットペアIF処理部429Aが格納される。
 VOL管理テーブル420A、420Bは、移行元ストレージ装置4A、移行先ストレージ装置4B内のそれぞれのボリュームを管理するための情報を含み、その具体的な情報として、図5に示すとおり、VOL番号4200、VOL属性4201及びVOLサイズ4202を格納している。
 図5において、VOL番号4200は、移行元ストレージ装置4A及び移行先ストレージ装置4Bのそれぞれの中で、ボリュームを特定するための番号である。VOL属性4201は、各ボリュームが、通常VOLであるか、スナップショットPVOLであるか、スナップショットSVOLであるかを示す。VOLサイズ4202は、ホスト計算機2や管理計算機3などに提供するVOLの論理的な大きさを表す。
 スナップショットペア管理テーブル421A、421Bは、移行元ストレージ装置4A、移行先ストレージ装置4B内のそれぞれのスナップショットペアを管理するための情報を含み、その具体的な情報として、図6に示すとおり、スナップショット番号4210、PVOL番号4211、SVOL番号4212及びスナップショット世代番号4213を格納している。
 図6において、スナップショット番号4210は、移行元ストレージ装置4A及び移行先ストレージ装置4Bのそれぞれの中で、スナップショットのペアを特定するための番号である。PVOL番号4211は、当該スナップショットペアのPVOLとなるボリュームを特定するための番号であり、VOL管理テーブル420A、420B内のVOL番号4200により定まる番号である。SVOL番号4212は、当該スナップショットペアのSVOLとなるボリュームを特定するための番号であり、VOL管理テーブル420A、420B内のVOL番号4200により定まる番号である。スナップショット世代番号4213は、PVOL番号4211が同じであるスナップショットペアの中で、スナップショットペアが作成された順番を特定するための番号である。
 本明細書の説明上では、数字が小さいほど、スナップショットペアが作成された時間が早いことを表す。スナップショット世代番号が0001のSVOLのことを「第1世代SVOL」と呼び、スナップショット世代番号が0002のSVOLのことを「第2世代SVOL」と呼ぶ。以下同様に、スナップショット世代番号がnのSVOLのことを「第n世代SVOL」と呼ぶ。
 スナップショットデータ管理テーブル422A、422Bは、スナップショットのSVOLの各データが、他のSVOL又はPVOLとの間に差分データがあるかどうかを管理するための情報を含み、その具体的な情報として、図7に示すとおり、PVOL番号4220、スロット番号4221及び各世代のSVOL間の差分情報4222を格納している。
 図7において、PVOL番号4220は、スナップショットペア管理テーブル421A、421B内のPVOL番号4211で定まる番号と同じ番号を示し、スナップショットのPVOLとなるボリュームを特定する。スロット番号4221は、各ボリュームの論理的なアドレスを特定するための番号であり、スロットはスナップショットのデータ格納先を管理する最小単位である。各世代のSVOL間の差分情報4222は、ある世代のSVOLに対して、その次の世代のSVOLの同じスロットのデータに差分があるかないかを示す。具体的には、第1世代SVOLの列は、第1世代SVOLと第2世代のSVOLとの間の差分情報を示し、第2世代SVOLの列は、第2世代SVOLと第3世代SVOLとの間の差分情報を示し、第n世代SVOLの列は、第n世代SVOLと第n+1世代SVOLとの間の差分情報を示す。ただし、第n+1世代SVOLの列が存在しない場合、第n世代SVOLの列は、第n世代SVOLとPVOLとの間の差分情報を示す。
 VOL割当管理テーブル423A、423Bは、各ボリュームの各スロットがプールのどこに割り当てられているかを示す情報を含み、その具体的情報として、図8に示すとおり、VOL番号4230、スロット番号4231、割当有無4232、POOL番号4232及びPOOL内スロット番号4234を格納している。
 図8において、VOL番号4230は、VOL管理テーブル420A、420B内のVOL番号4200で定まる番号と同じ番号を示す。スロット番号4231は、スナップショットデータ管理テーブル422A、422B内のスロット番号4221で定まる番号と同じ番号を示し、各ボリュームの論理的なアドレスを特定する。割当有無4232は、各スロットに対して、プール内に割り当てられた領域が有るか無いかを示す。割当有りの場合、プール内に割り当てられた領域が有ることを示し、割当無しの場合、プール内に割り当てられた領域が無いことを示す。POOL番号4233は、各スロットに対して、領域を割り当てたプールを特定するための番号を示す。POOL内スロット番号4234は、各スロットに割り当てたプール内の論理的なアドレスを特定するための番号を示す。
 移行管理テーブル424Bは、VOLの移行状態を管理する情報を含み、その具体的情報として、図9に示すとおり、VOL番号4240、移行状態4241、VOL終端スロット番号4242及び移行完了スロット番号4243を格納している。
 図9において、VOL番号4240は、移行先ストレージ装置42B内のVOL管理テーブル420B内のVOL番号4200で定まる番号と同じ番号を示し、移行先ストレージ装置42B内のボリュームを特定する。移行状態4241は、各ボリュームの移行状態を示す。「完了」の場合は、既に移行先ストレージ装置への移行が完了したことを示し、「移行中」の場合は、現在移行処理中であることを示し、「移行前」の場合は、まだ移行が開始されていないことを示す。VOL終端スロット番号4242は、各VOL内の一番後端のスロット番号を示す。移行完了スロット番号4243は、各VOL内のスロットの中で、先頭のスロットから移行が完了したスロットまでを示す。例えば、この値が5000のとき、先頭1スロットから5000スロットまでが移行完了しており、次に移行すべきスロットは5001スロットであることを示している。
 スナップショット制御処理部425A、425Bは、スナップショットペア管理テーブル421A、421B、スナップショットデータ管理テーブル422A、422B及びVOL割当管理テーブル423A、423Bの情報に基づいて、スナップショットSVOLの参照処理の際の、アクセスデータ格納位置特定処理、及び、PVOL、SVOLの更新処理の際の、データコピー要否判定処理並びにコピー処理を行うためのプログラムである。
 IOコマンド処理部426A、426Bは、ホスト計算機2からのIO処理要求に応じてリード処理、ライト処理を行うためのプログラムである。
 VOL移行処理部427Bは、移行管理テーブル424Bの情報に基づき、移行元ストレージ装置4Aから移行先ストレージ装置4Bへボリュームを移行する処理を行うためのプログラムである。
 スナップショット移行処理部428Bは、ホスト計算機2又は管理計算機3の指示によって、スナップショット機能を移行するためのプログラムである。
 スナップショットペアIF処理部429A、429Bは、ホスト計算機2又は管理計算機3又は移行先ストレージ装置4Bのいずれかによって、移行元ストレージ装置4A、4B内のスナップショットペア管理テーブル421A、421Bに格納している情報を参照するためのプログラムである。
(3.スナップショット移行処理)
 図10は、スナップショット移行処理の手順を示す。スナップショットの移行処理は、管理計算機3から、移行したいスナップショットペア、又は、PVOL、SVOLを選択することで、実施される。以下に、この処理手順の各ステップを順に説明する。
 ステップ42801において、移行先ストレージ装置4Bは、移行元ストレージ装置4A内の、移行するスナップショットペア情報を取得する。このとき、移行元ストレージ装置4Aの不揮発メモリ42A内に格納されるスナップショットペアIF処理部429Aによるスナップショットペア情報出力処理4290(図14に基づき後述)により、移行元ストレージ装置4Aは、移行先ストレージ装置4B内にスナップショットペア管理テーブル421Bを作成するために必要な情報を移行先ストレージ装置4Bへ出力する。
 ステップ42802において、移行先ストレージ装置4Bは、取得したスナップショットペア情報を基にPVOL、SVOLペアを作成する。即ち、移行先ストレージ装置4B内に、PVOL、SVOLに対応するボリュームを作成し、VOL管理テーブル420Bに、VOL番号4200、VOL属性4201及びVOLサイズ4202を設定し、スナップショットペア管理テーブル421Bに、スナップショット番号4210、PVOL番号4211、SVOL番号4212及びスナップショット世代番号4213を設定し、移行管理テーブル424Bに、VOL番号4240、移行状態4241、VOL終端スロット番号4242及び移行完了スロット番号4243を設定する。
 ステップ42803において、PVOLを移行する。PVOLの移行手順は、この移行処理は、ボリュームの領域の先頭から順次、移行元ストレージ装置4Aから移行先ストレージ装置4Bへデータをコピーすることで行われる。このとき、データのコピー処理は、移行先ストレージ装置4Bから移行元ストレージ装置4Aのデータを読み出すようにして実行してもよいし、移行元ストレージ装置4Aから移行先ストレージ装置4Bに対して書き出すようにして実行してもよい。また、ホスト計算機2や管理計算機3によって実行されてもよい。例えば、米国特許出願公開第2012/0036330号明細書に記載の技術を適応することも可能である。具体的には移行先ストレージ装置の外部ボリュームとして、移行元ストレージ装置内のボリュームをマッピングし、移行するボリュームのInquiry情報を移行先ストレージ装置の移行先ボリュームに設定する。そして、移行先ストレージ装置のボリュームに対する、リード・ライトキャッシュをオフにすることによって、既設の装置に特殊な機能を必要とすることなく、また、ホスト計算機とストレージ装置の間のデータの授受を止めずに、移行対象ボリュームを新しいストレージ装置へ移行することができる。
 移行中のボリュームは、移行先ストレージ装置4B内の移行管理テーブル424Bにより管理される。データのコピーを実施した分だけ、移行完了スロット番号4243を更新する。PVOLの移行が完了後、移行管理テーブル424B内の完了したPVOLのVOL番号4240に対応する移行状態4241を「完了」に設定する。
 ステップ42804では、スナップショットペア管理テーブル421B及び移行管理テーブル424Bのデータに基づき、前のステップで移行したPVOLとスナップショットペアとなるSVOLの中から、最もスナップショット世代番号の大きなSVOL(すなわち、最も新しいSVOL)を選択する。
 ステップ42805では、未移行SVOLが存在するかどうかを判定する。未移行SVOLが存在すれば(Yes)、SVOL移行処理ステップ42806(図11に基づき後述)へと進み、未移行SVOLが存在しなければ(No)、スナップショットの移行処理は完了する。
 SVOL移行処理42806の完了後は、再び、ステップ42804へと戻り、ステップ42805において、未移行SVOLなしと判定されるまでこの移行処理を繰り返す。
 図11は、前述した図10のステップ42806におけるSVOL移行処理の手順を示す。以下に、この処理手順の各ステップを順に説明する。
 ステップ428061において、移行対象となるSVOLのデータ1500を、移行元ストレージ装置4Aから移行先ストレージ装置4Bへとコピーする。このとき、データのコピー処理は、移行先ストレージ装置4Bから、移行元ストレージ装置4Aのデータを読み出すようにして実行してもよいし、移行元ストレージ装置4Aから、移行先ストレージ装置4Bに対して書き出すようにして実行してもよい。また、ホスト計算機2や管理計算機3によって実行されてもよい。移行元ストレージ装置4A内の、スナップショットSVOLのデータは、SVOLデータ参照処理(図12に基づき後述)によってデータの格納位置を特定し、移行先ストレージ装置4Bへと転送される。
 ステップ428062では、スナップショットペア管理テーブル421Bの情報に基づき、移行対象SVOLを含む行のPVOL番号4211及びスナップショット世代番号4213を参照し、参照したPVOL番号と同じ番号のPVOL番号を含む行の中から、参照したスナップショット世代番号よりも1つ大きなスナップショット世代番号を含む行を検索し、見つけた行のSVOL番号4212を参照する。1つ大きなスナップショット世代番号を含む行が見つからなかった場合、即ち、移行対象SVOLのスナップショット世代番号が最も大きかった場合には、PVOL番号4211を参照する。参照したVOL番号のVOLのデータと、ステップ428061で移行元ストレージ装置4Aからコピーしてきたデータと、を比較する。例えば、図2Aの場合においては、参照するSVOL番号である第3世代SVOL153Bにより特定されるボリュームのデータ“D”、“B”、“E”、と、移行元ストレージ装置4Aからコピーしてきた移行対象データ1500の“D”、“B”、“C”、と、を比較する。
 ステップ428063では、前ステップで比較した結果を基に、データが一致しなかったスロットのデータについてのみ(図2Aではデータ“C”のみ)、プール160Bから、移行先SVOL(図2Bでは152B)に容量を割当てることにより、データを格納する。ここで、容量割り当て処理は、VOL割当管理テーブル423Bに各値を登録することにより実現する。
 ステップ428064では、ステップ428062で比較した結果を基に、スナップショットデータ管理テーブル422Bの、該当するPVOL番号とスロット番号の行と、該当する第n世代SVOLの差分の列の項に、一致しなかったスロットには差分ありの情報を、一致したスロットには差分なしの情報を、それぞれ設定する。
 移行対象となる第n世代SVOLの全領域のデータについて、上記ステップ428061から428064までの処理が完了すれば、第n世代SVOLの移行が完了し、図10のステップ42804に戻る。ステップ428061から424064までの処理については、移行元ストレージ装置4Aから移行先ストレージ装置4Bへのデータコピーのペースに合わせて逐次的に行ってもよい。
 図12は、スナップショットSVOL参照処理の手順を示す。スナップショットSVOLの参照処理は、ホスト計算機2からのIO処理時、及び、移行元ストレージ装置4Aから移行先ストレージ装置4BへのSVOLデータの移行処理時などである。以下に、この処理手順の各ステップを順に説明する。
 ステップ42601において、スロットの格納位置検索処理(図13に基づき後述)を実行する。
 ステップ42602において、前ステップで特定したスロット格納位置からデータを参照する。
 図13は、前述した図12のステップ42061の、スロット格納位置検索処理のフロー図である。以下に、この検索処理の各ステップを順に説明する。
 ステップ426011において、スロット格納位置検索対象のSVOLを選択し、VOL管理テーブル420A、420Bから、SVOLのVOL番号を取得する。
 ステップ426012において、前ステップで取得したSVOLのVOL番号と、スナップショットデータ管理テーブル422A、422Bから、検索対象のスロットの差分の有無を参照する。
 ステップ426013において、差分ありか差分なしかを判定する。差分なしの場合(Yes)は、ステップ426014へ進む。差分ありの場合(No)は、ステップ426016へ進む。
 ステップ426014では、スナップショットペア管理テーブル421Bの情報に基づき、現在選択中のSVOLを含む行のPVOL番号4211と、スナップショット世代番号4213を参照し、参照したPVOL番号と同じ番号のPVOL番号を含む行の中から、参照したスナップショット世代番号よりも、1つ大きなスナップショット世代番号を含む行を検索し、見つけた行のSVOL番号を選択しSVOL番号を取得する。1つ大きなスナップショット世代番号を含む行が見つからなかった場合、即ち、現在選択中のSVOLのスナップショット世代番号が最も大きかった場合は、PVOLを選択しPVOL番号を取得する。
 ステップ426015では、選択したボリュームがSVOLであるかどうかを判定する。SVOLであった場合(Yes)は、ステップ426012に戻って処理を繰り返す。SVOLでなかった場合(No)は、ステップ426017へ進む。
 ステップ426016では、VOL割当管理テーブル423A,423Bの情報に基づき、選択したSVOLのVOL番号及び検索するスロット番号を含む行の、POOL番号及びPOOL内スロット番号を参照し、検索するスロットのデータ格納位置を取得する。
 ステップ426017では、選択したPVOLの対象スロットのデータ格納位置を検索し、スロットのデータ格納位置を取得する。
 図14は、スナップショットペア情報出力処理のフロー図4290である。管理計算機3又は移行先ストレージ装置4Bから、移行元ストレージ装置4Aへ、ペア情報参照のリクエストがあった際に、スナップショットペアIF処理部429Aによって実施される処理である。
 ステップ42901では、移行元スナップショットペア管理テーブル421Aから、スナップショットペアのPVOL番号4211、SVOL番号4212及びスナップショット世代番号4213を参照し、リクエストがあった外部装置に対して出力する。
 図10から図14で説明されるスナップショット移行処理は、PVOLと、同一PVOLのスナップショットペアになっている全SVOLのデータをスロット単位でまとめて、移行先ストレージ装置4Bへコピーし、移行先ストレージ装置4B内でコピーしたデータ同士を比較し、スナップショットデータ管理テーブル422B、VOL割当管理テーブル423Bに値を設定することによっても実現可能である。
 図15は、移行先ストレージ装置内で受け取った、移行中の各VOLへの更新処理のフロー図4260である。以下に、この更新処理の各ステップを順に説明する。
 ステップ42601において、移行管理テーブル424Bの移行状態4241を参照する。その結果、「未移行」であればステップ42602へ進み、「移行中」であればステップ42603へ進み、「移行済」であればステップ42604へ進む。
 ステップ42602(未移行)では、移行先ストレージ装置4Bでは更新処理を行わず、移行元ストレージ装置4Aのみ更新処理を行う。
 ステップ42603(移行中)では、更に、移行完了スロット番号4243を参照し、更新対象スロットが移行完了しているかどうかを判定する。その結果、移行完了していれば(Yes)、ステップ42604へ進み、移行完了していなければ(No)、ステップ42602へ進む。
 ステップ42604(移行済)では、移行先ストレージ装置4Bと移行元ストレージ装置4Aの両方のVOLのデータを更新する。
 このように処理することにより、VOLの移行中に障害が発生した場合においても、いつでも、移行元ストレージ装置4Aからデータを復元できる状態を保つことができる。
 本発明における実施例2は、移行先ストレージ装置4B内のスナップショットの各世代のSVOLのデータに対してPVOLのデータとの差分データのみを管理し、共通データは、PVOLのデータを参照するように、各スロットのデータを管理するケースである。
 図16A及び図16Bは、本発明における実施例2の概要図である。
 移行元ストレージ装置4A内に、移行対象となるスナップショットのPVOL150A、第1世代SVOL151A、第2世代SVOL152A、第3世代SVOL153A及びこれらのボリュームのデータを格納するプール160Aが存在する。
 移行先ストレージ装置40B内に、移行対象の各PVOL、SVOLに対応するPVOL150B、第1世代SVOL151B、第2世代SVOL152B、第3世代SVOL153B、これらのボリュームのデータを格納するプール160B、移行元ストレージ装置4Aから移行先ストレージ装置4BへコピーしたSVOLデータ1500及びスナップショットデータ管理テーブル422Bが存在する。
 各SVOLの中で、第1世代SVOL151A、151Bが最も古く、続いて、第2世代SVOL152A、152B、第3世代SVOL153A、153B、の順に新しくなる。PVOL及び各SVOLは、ホストからのIOを受け付けることができる。
 図16Aは、移行元ストレージ装置4Aから第2世代SVOL152Aを、移行先ストレージ装置4Bの第2世代SVOL152Bに移行する動作の前半部分を示している。まず、移行元ストレージ装置4Aの第2世代SVOLの全領域のデータを移行先ストレージ装置4Bへコピーする。次に、移行先ストレージ装置4B内で、今コピーしてきたデータ1500とPVOL150Bのデータを比較し、差分の有無をチェックする。
 図16Bは、移行元ストレージ装置4Aから第2世代SVOL152Aを、移行先ストレージ装置4Bの第2世代SVOL152Bに移行する動作の後半部分を示している。上記差分の有無チェックの結果に基づき、各スロットの差分の有無を、スナップショットデータ管理テーブル422Bに設定する。差分有りと判定されたスロットには、プール160Bから第2世代SVOL152Bへ必要な容量を割り当てて、移行元ストレージ装置4Aからコピーしてきたデータ1500の該当するスロットのデータを格納する。
 本実施例2において、スナップショットデータ管理テーブル422Bにおける各世代のSVOLの差分情報4222は、各世代のSVOLとPVOLとのスロット毎の差分有無の情報を示す。
 また、本実施例2は、移行元ストレージ装置4A内のスナップショット機能に関わるテーブルのデータ構造及びスナップショット機能の実現方法に依らない。
 本実施例2では、各フローの処理が以下のように変更になる。図11のステップ428062において、移行対象SVOLがどの世代であっても、コピーしたデータとPVOLデータとを比較する。図13のステップ426014において、どの世代のSVOLを選択していてもPVOLを選択する。
 本実施例2は、実施例1と比較して、以下のような差異による効果を奏する。
 実施例1では、SVOLが2世代以上存在して、あるスロットの各世代間の差分がない場合、第1世代SVOLのデータを参照するためには、スナップショットデータ管理テーブル422Bを2回以上参照しなくてはならない。更に世代数が増えれば、スナップショットデータ管理テーブル422Bの参照回数も増えるため、各SVOLの世代間のアクセス性能に差が生じる。これに対し、実施例2では、各SVOLの世代間の階層関係がないため、どの世代のSVOLのどのデータであっても、スナップショットデータ管理テーブル422Bを参照する回数は1回に抑えられ、SVOL間のアクセス性能の差がなくなるという効果が得られる。このスナップショット機能のデータ管理方法は、ホスト計算機2が、同じ仮想マシンを複数同時に高速に立ち上げるときに必要なボリュームとしてスナップショットのSVOLを使用する際に適している。一方で、本実施例2は、PVOLのデータが更新される度に、全世代のSVOLに対して更新前のデータがコピーされるので、実施例1が容量効率の点では優れていると思われる。
 本発明における実施例3は、移行先ストレージ装置4Bのスナップショット機能の実現方法として、3世代以上のSVOLがあったとき、その間の世代のSVOLのスロットには差分があり、その前後のSVOL又はPVOLでデータを共有しているケースである。
 本実施例3におけるデータ共有の実現方法として、例えば、スナップショットデータ管理テーブル422Bの各世代SVOLの差分の列に、どの世代のSVOLとデータを共有しているかを管理しておく方法などがある。
 図17は、実施例3における、スナップショットデータ管理テーブル422Bを示す。各世代のSVOLのデータ共有情報4222は、各世代のSVOLの各スロットがどの世代のSVOL又はPVOLとデータを共有しているかを示す情報である。
 SVOL移行の際に、移行元ストレージ装置4Aから移行先ストレージ装置4Bへコピーしたデータ1500を、移行先ストレージ装置4B内で、移行対象SVOLと同じPVOLをスナップショットペアとするSVOLのうち、移行済みのすべてのSVOL及びPVOLとデータを比較する。
 比較した結果を基に、スナップショットデータ管理テーブル422Bに、一致しているデータの内、最も新しい世代のSVOLと共有していると設定する。また、PVOLのデータと一致している場合は、PVOLと共有していると設定する。そしてまた、一致するデータがない場合は、共有なしと設定する。
 本実施例3は、実施例1及び実施例2と比較して、以下のような差異による効果を奏する。
 実施例1では、ある世代のSVOLデータと次の世代のSVOLデータの間の差分情報を管理するものである。そのため、ある第n世代SVOLと第n-2世代SVOLの同じスロットのデータに差分がなく、第n-1N+1世代SVOLの同じスロットのデータのみに差分がある場合、第n世代SVOLのスロットと第n-2世代SVOLのスロットは、プール内に別々に領域が割り当てられることになる。
 これに対し、実施例3では、第n世代SVOLのスロットと第n-2世代SVOLのスロットに対して、プールに割り当てられる領域は1つであり、実施例1よりも容量効率が良い。このスナップショット機能のデータ管理方法は、スナップショットに使用する容量をなるべく削減したい場合に適している。ただし、実施例3では、全ての世代のSVOL間で一致するデータがあるかないかを判定する必要があるため、スナップショット移行処理にかかるCPUの処理オーバーヘッドが実施例1及び実施例2に比べて大きくなる。
 本実施例1~3では、移行先ストレージ装置4B内のスナップショット実現方法として、PVOL又はPVOLにより近い世代のSVOLが主体となってデータを管理し、それより、古い世代のSVOLは、PVOL又は新しい世代のSVOLとの差分データのみをプールで管理する方法をとっている。この点、最も古い世代のSVOLが主体となってデータを管理し、PVOL又は新しい世代のSVOLのデータは、より古い世代のSVOLとの差分データのみをプールで管理する方法であってもよい。その場合、移行手順を逆にすることで実現可能となる。具体的には、図10のステップ42803において、最も古い世代のSVOLを移行し、ステップ42804において、未移行のSVOLの内、最も古い世代のSVOLを選択する。ステップ42805において、未移行SVOLがなしと判定された後、最後にPVOLを移行してスナップショット移行処理を終了する。図11のステップ428062において、移行対象SVOLより1つ古い世代のSVOLのデータと比較する。図13のステップ426014において、スナップショット管理テーブルから1つ古い世代のSVOLを選択する。ステップ426015において、最古世代SVOL以外を選択したかどうかを判定する。ステップ426017において、最古世代SVOLの対象スロットのデータ格納位置を検索し、対象スロットのデータ格納位置を取得する。
 図7において、実施例1では、第n世代SVOLの列は、第n世代SVOLと第n-1世代SVOLとの間の差分情報を示す。実施例2では、第n世代SVOLの列は、第n世代SVOLと第1世代SVOLのデータを示す。
 実施例3では、スナップショットデータ管理テーブル422Bの第n世代SVOLの列には、一致しているデータの内、最も古い世代のSVOLと共有していると設定する。
 また、本実施例1~3は、移行元ストレージ装置4A内のスナップショット機能に関わるテーブルのデータ構造及びスナップショット機能の実現方法に依らない。
 実施例3の構成によっても、実施例1、2と同様の効果を得ることができる。
2:ホスト計算機
3:管理計算機
4A:移行元ストレージ装置
4B:移行先ストレージ装置
5:SAN
6:LAN
10、20、40A、40B:CPU
11、21、41A、41B:メモリ
12、22、30A、30B:記憶装置
13、23、46A、46B:インタフェース制御部
14、44A、44B、45A、45B:ポート
31A、31B:コントロール部
42A、42B:不揮発メモリ
43A、43B:キャッシュメモリ

Claims (13)

  1.  現在のデータとともに過去のある時点のデータを第n世代(nは2以上の整数)にわたって管理する他のストレージ装置に接続されるストレージ装置であって、
     コントローラと、
     少なくとも1の記憶装置とを有し、
     前記コントローラは、
     前記他のストレージ装置から、少なくともある時点の第n世代のデータと前記第n世代より過去の時点の第n-1世代のデータとを取得し、
     前記第n世代のデータと前記第n-1世代のデータとの間の差分データの有無を判断し、
     前記判断結果から前記第n世代に対する前記第n-1世代のデータの差分情報を生成して前記記憶装置に格納する
    ことを特徴とするストレージ装置。
  2.  請求項1記載のストレージ装置であって、
     前記コントローラは、更に、前記第n世代のデータと前記第n-1世代のデータとの間の差分データの有無を判断した後で、
     前記他のストレージ装置から取得した、前記n-1世代(nは3以上の整数)より過去の時点の第n-2世代のデータと
     前記第n-1世代のデータとの間の差分データの有無を判断し、
     前記判断結果から前記第n-1世代に対する前記第n-2世代のデータの差分情報を生成して前記記憶装置に格納する
    ことを特徴とするストレージ装置。
  3.  請求項1記載のストレージ装置であって、
     前記コントローラは、
     前記第n世代より新しい第n+1世代のデータとして現在の状態のデータを取得する
    ことを特徴とするストレージ装置。
  4.  請求項1記載のストレージ装置であって、
     前記第n世代(nは3以上の整数)のデータは現在の状態のデータとし、
     前記コントローラは、更に、
     前記第n-1世代より過去の時点の第n-2世代のデータを取得し、
     前記第n世代のデータと前記第n-2世代のデータとの間の差分データの有無を判断し、
     前記判断結果から前記第n世代に対する前記第n-2世代のデータの差分情報を生成して前記記憶装置に格納する
    ことを特徴とするストレージ装置。
  5.  請求項1記載のストレージ装置であって、
     前記コントローラは、
     前記記憶装置が提供する記憶領域にプール領域を設け、
     前記第n-1世代のデータについて、
     前記第n世代と同じデータについては取得した前記第n世代のデータを参照し、
     前記第n世代と異なるデータについては前記差分情報に基づき前記プール領域に格納するとともに該格納したデータを参照するように管理する
    ことを特徴とするストレージ装置。
  6.  請求項5記載のストレージ装置であって、
     前記コントローラは、
     前記他のストレージ装置からのデータ取得中において該取得の対象となるデータに対する更新要求を受けた場合に、既に取得済みのデータに対しては当該更新要求によるデータ更新を実行し、
     未移行のデータに対しては当該更新要求によるデータ更新を実行しない
    ことを特徴とするストレージ装置。
  7.  現在のデータとともに過去のある時点のデータを第n世代(nは3以上の整数)にわたって管理する他のストレージ装置に接続されるストレージ装置であって、
     コントローラと、
     少なくとも1の記憶装置とを有し、
     前記コントローラは、
     前記他のストレージ装置から、現在の情報のデータである第n世代のデータ、前記第n世代より過去の時点の第n-1世代のデータ及び前記第n-1世代より過去の時点の第n-m世代(mは2以上の整数で、n>m)までのデータを取得し、
     前記第n世代から前記第n-m世代までの各データの中で、第n-m+1世代以上のデータと一致するデータがあるかを判定し、当該一致するデータの中から最もnに近い世代のデータとデータ共有することを示す情報を生成して前記記憶装置に格納する
    ことを特徴とするストレージ装置。
  8.  現在のデータとともに過去のある時点のデータを第n世代(nは2以上の整数)にわたって管理する第1のストレージ装置から第2のストレージ装置へのデータ移行方法であって、
     前記第1のストレージ装置からある時点の第n世代のデータを取得するステップと、
     前記第1のストレージ装置から前記第n世代より過去の時点の第n-1世代のデータを取得して前記第n世代のデータとの比較により差分データの有無を判断するステップと、
     前記差分データが有る場合には前記第n世代に対する前記第n-1世代のデータの差分情報を生成して保存するステップと
    を有することを特徴とするデータ移行方法。
  9.  請求項8記載のデータ移行方法であって、更に、
     前記第n世代のデータと前記第n-1世代のデータとの間の差分データの有無を判断する前記ステップの後で、前記第1のストレージ装置から取得した前記n-1世代(nは3以上の整数)より過去の時点の第n-2世代のデータと、前記第n-1世代のデータとの間の差分データの有無を判断するステップと、
     前記差分データが有る場合には前記第n-1世代に対する前記第n-2世代のデータの差分情報を生成して保存するステップと
    を有することを特徴とするデータ移行方法。
  10.  請求項8記載のデータ移行方法であって、更に、
     前記第n世代より新しい第n+1世代のデータとして現在の状態のデータを取得するステップと
    を有することを特徴とするデータ移行方法。
  11.  請求項8記載のデータ移行方法であって、
     前記第n世代(nは3以上の整数)のデータは現在の状態のデータとし、更に、
     前記第1のストレージ装置から前記第n-1世代より過去の時点の第n-2世代のデータを取得するステップと、
     前記第n世代のデータと前記第n-2世代のデータとの比較により差分データの有無を判断するステップと、
     前記差分データが有る場合には前記第n世代に対する前記第n-2世代のデータの差分情報を生成して保存するステップと
    を有することを特徴とするデータ移行方法。
  12.  請求項8記載のデータ移行方法であって、更に、
     前記第n-1世代のデータの中で前記第n世代と異なるデータについては前記差分情報に基づき第2のストレージ装置が備えるプール領域に格納するステップと
    を有することを特徴とするデータ移行方法。
  13.  請求項12記載のデータ移行方法であって、更に、
     前記第1のストレージ装置からのデータ取得中において該取得の対象となるデータに対する更新要求を受けた場合に、当該更新要求によるデータ更新を未移行のデータではなく既に移行済みのデータに対してのみ実行するステップと
    を有することを特徴とするデータ移行方法。
PCT/JP2013/050761 2013-01-17 2013-01-17 ストレージ装置及びデータ移行方法 WO2014112062A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2013/050761 WO2014112062A1 (ja) 2013-01-17 2013-01-17 ストレージ装置及びデータ移行方法
US14/651,688 US9977813B2 (en) 2013-01-17 2013-01-17 Storage device and data migration method
JP2014557234A JPWO2014112062A1 (ja) 2013-01-17 2013-01-17 ストレージ装置及びデータ移行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/050761 WO2014112062A1 (ja) 2013-01-17 2013-01-17 ストレージ装置及びデータ移行方法

Publications (1)

Publication Number Publication Date
WO2014112062A1 true WO2014112062A1 (ja) 2014-07-24

Family

ID=51209187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/050761 WO2014112062A1 (ja) 2013-01-17 2013-01-17 ストレージ装置及びデータ移行方法

Country Status (3)

Country Link
US (1) US9977813B2 (ja)
JP (1) JPWO2014112062A1 (ja)
WO (1) WO2014112062A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218407B1 (en) * 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
JP6540677B2 (ja) * 2016-12-22 2019-07-10 日本電気株式会社 ストレージ装置、ストレージ装置のバックアップ方法、ストレージ装置のバックアップシステム及びストレージ装置の制御プログラム
CN110362574B (zh) * 2019-06-27 2022-02-15 东软集团股份有限公司 数据比对方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048497A (ja) * 2007-08-21 2009-03-05 Hitachi Ltd 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP2009181206A (ja) * 2008-01-29 2009-08-13 Hitachi Ltd ストレージシステム及びスナップショット構成の移行方法
JP2012014286A (ja) * 2010-06-29 2012-01-19 Toshiba Corp ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3087429B2 (ja) * 1992-04-03 2000-09-11 株式会社日立製作所 記憶装置システム
US6668264B1 (en) * 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
US7051176B2 (en) * 2003-03-25 2006-05-23 Emc Corporation Reading data provided to a remote storage device
US7380082B2 (en) * 2003-03-25 2008-05-27 Emc Corporation Reading virtual ordered writes at local storage device
JP4282464B2 (ja) * 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
JP4497950B2 (ja) * 2004-02-13 2010-07-07 公平 西野 データ送信方法及びデータ送信システム
JP2005292865A (ja) * 2004-03-31 2005-10-20 Hitachi Ltd ストレージシステム及びストレージシステムのバックアップ方法
JP4550541B2 (ja) * 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
JP2006146476A (ja) * 2004-11-18 2006-06-08 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法
JP2006338461A (ja) 2005-06-03 2006-12-14 Hitachi Ltd 電子的なファイルの記憶を制御するシステム及び方法
US7702851B2 (en) * 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
US7469244B2 (en) * 2005-11-30 2008-12-23 International Business Machines Corporation Database staging area read-through or forced flush with dirty notification
JP4903461B2 (ja) * 2006-03-15 2012-03-28 株式会社日立製作所 記憶システム及びデータ移行方法並びにサーバ装置
JP2007272675A (ja) 2006-03-31 2007-10-18 Nec Corp スナップショット作成装置、方法、およびプログラム
JP2007334709A (ja) * 2006-06-16 2007-12-27 Fujitsu Ltd ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US8285953B2 (en) * 2007-10-24 2012-10-09 Hitachi, Ltd. Storage system group
JP5366480B2 (ja) * 2008-08-27 2013-12-11 株式会社日立製作所 計算機システム及びそのバックアップ方法
JP5257672B2 (ja) * 2008-09-25 2013-08-07 株式会社日立製作所 ジャーナルの階層を管理する計算機システム及び方法
US8108640B1 (en) * 2009-04-16 2012-01-31 Network Appliance, Inc. Reserving a thin provisioned space in a storage system
US8655848B1 (en) * 2009-04-30 2014-02-18 Netapp, Inc. Unordered idempotent logical replication operations
WO2010137179A1 (en) * 2009-05-25 2010-12-02 Hitachi,Ltd. Computer system and its data control method
JP2011034164A (ja) * 2009-07-30 2011-02-17 Hitachi Ltd リモートコピーシステム及びリモートコピー制御方法
US8326798B1 (en) * 2009-09-14 2012-12-04 Network Appliance, Inc. File system agnostic replication
US8498997B2 (en) * 2009-09-23 2013-07-30 Hitachi, Ltd. Server image migration
US8700871B2 (en) * 2010-04-22 2014-04-15 Hitachi, Ltd. Migrating snapshot data according to calculated de-duplication efficiency
JP5054220B1 (ja) * 2011-08-19 2012-10-24 株式会社大塚商会 仮想データセンタシステム
JP5942511B2 (ja) * 2012-03-19 2016-06-29 富士通株式会社 バックアップ装置,バックアップ方法,およびバックアッププログラム
US10326836B2 (en) * 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048497A (ja) * 2007-08-21 2009-03-05 Hitachi Ltd 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP2009181206A (ja) * 2008-01-29 2009-08-13 Hitachi Ltd ストレージシステム及びスナップショット構成の移行方法
JP2012014286A (ja) * 2010-06-29 2012-01-19 Toshiba Corp ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム

Also Published As

Publication number Publication date
US9977813B2 (en) 2018-05-22
US20150324418A1 (en) 2015-11-12
JPWO2014112062A1 (ja) 2017-01-19

Similar Documents

Publication Publication Date Title
US8521685B1 (en) Background movement of data between nodes in a storage cluster
US7778960B1 (en) Background movement of data between nodes in a storage cluster
JP6114397B2 (ja) 複合型ストレージシステム及び記憶制御方法
US20140281306A1 (en) Method and apparatus of non-disruptive storage migration
US20100299491A1 (en) Storage apparatus and data copy method
US9836223B2 (en) Changing storage volume ownership using cache memory
US20180267713A1 (en) Method and apparatus for defining storage infrastructure
US10067882B2 (en) Storage system and storage control method
JP2006318017A (ja) Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
US11740823B2 (en) Storage system and storage control method
JP6271769B2 (ja) 計算機システム、計算機システムにおけるデータの移行方法
WO2014112062A1 (ja) ストレージ装置及びデータ移行方法
WO2018011882A1 (ja) 計算機システム及びストレージ装置の制御方法
US10152234B1 (en) Virtual volume virtual desktop infrastructure implementation using a primary storage array lacking data deduplication capability
CN112748865A (zh) 用于存储管理的方法、电子设备和计算机程序产品
US20180307427A1 (en) Storage control apparatus and storage control method
US11188425B1 (en) Snapshot metadata deduplication
WO2018055686A1 (ja) 情報処理システム
US10191690B2 (en) Storage system, control device, memory device, data access method, and program recording medium
US10732901B2 (en) Storage system and storage control method
US20130151808A1 (en) Allocation device, allocation method and storage device
US20240111606A1 (en) Distributed Cluster Join Management
US20210373781A1 (en) Snapshot metadata management
US11347409B1 (en) Method and apparatus for selective compression of data during initial synchronization of mirrored storage resources
US20240118823A1 (en) Remote replication data efficiency optimization with host extended copy commands

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014557234

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14651688

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

Country of ref document: EP

Kind code of ref document: A1