WO2014091600A1 - Storage device and method for moving storage device - Google Patents

Storage device and method for moving storage device Download PDF

Info

Publication number
WO2014091600A1
WO2014091600A1 PCT/JP2012/082361 JP2012082361W WO2014091600A1 WO 2014091600 A1 WO2014091600 A1 WO 2014091600A1 JP 2012082361 W JP2012082361 W JP 2012082361W WO 2014091600 A1 WO2014091600 A1 WO 2014091600A1
Authority
WO
WIPO (PCT)
Prior art keywords
journal
pdkc
md
write
ms
Prior art date
Application number
PCT/JP2012/082361
Other languages
French (fr)
Japanese (ja)
Inventor
貴司 野田
繁雄 本間
智大 川口
秀雄 斎藤
佐野 一英
修次 近藤
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2012/082361 priority Critical patent/WO2014091600A1/en
Publication of WO2014091600A1 publication Critical patent/WO2014091600A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to 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; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Abstract

In the present invention, an MD-PDKC (primary storage device that is the moving destination) has a second PVOL and a second journal recording region that stores a journal corresponding to write data to the second PVOL. A data copy is executed to the second PVOL from a first PVOL that forms a copy pair with an SVOL in an SDKC (secondary storage device) and that is in an MS-PDKC (primary storage device that is the moving source). After the data copy is complete, the MD-PDKC acquires the latest write sequence information from the MS-PDKC, and when a write request with respect to the second PVOL is received, writes the write data of the write request to the second PVOL, generates a journal by means of update information indicating write sequence information having as a baseline the latest write sequence information acquired and journal data corresponding to the write data, and writes the journal to the second journal recording region.

Description

Storage device and storage device migration method

The present invention relates to a technique for migrating a volume of a primary or secondary storage device to another storage device in a remote copy system having a primary storage device and a secondary storage device.

Hereinafter, in this specification, terms will be used as follows.
(*) “PDEV” is an abbreviation for a physical storage device (typically a nonvolatile storage device). The PDEV includes, for example, a storage medium (typically a non-volatile storage medium) and a controller that controls data input / output (I / O) for the storage medium. The nonvolatile storage medium may be a hard disk group (one or more hard disks) or an NVM group (one or more nonvolatile semiconductor memories (NVM)). That is, the PDEV may be, for example, an HDD (Hard Disk Drive) or an NVM device such as a flash memory (FM) device (for example, SSD (Solid State Device)). The NVM may be, for example, FM or phase change memory. For example, the FM may include a plurality of blocks (physical blocks), and each block may include a plurality of pages (physical pages). In NVM (typically FM), data is written in units of pages. If data in a page is not erased, data cannot be written in the page, and data is erased in units of blocks (for example, NAND) Type FM).
(*) “VOL” is an abbreviation for logical volume and is a logical storage device. The VOL may be a substantial VOL (RVOL) or a virtual VOL (VVOL). The VOL is an online VOL provided to an external device (for example, a host computer) connected to the DKC having the VOL, and an offline VOL not provided to the external device (not recognized by the external device). There is good. “RVOL” is a physical storage resource (for example, RAID (Redundant Array of Independent (or Inexpensive) Disks) configured by a plurality of non-volatile physical storage devices (PDEVs)) included in the storage apparatus having the RVOL. VOL based on (Group). “VVOL” is, for example, an externally connected VOL (EVOL) that is a VOL based on storage resources (for example, a logical volume) of an external storage device connected to the storage device having the VVOL and is in accordance with the storage virtualization technology. There may be a VOL (TPVOL) configured with a plurality of virtual pages (virtual storage areas) and following a capacity virtualization technology (typically Thin Provisioning). The TPVOL is typically an online VOL. A real page is allocated from the pool to the TPVOL. A “pool” is a storage resource composed of a plurality of real pages (substantial storage areas). The pool is composed of a plurality of pool VOLs, for example, and each pool VOL is divided into two or more real pages. The “pool VOL” is a VOL that is a component of the pool. The pool VOL may be an RVOL or an EVOL. The pool VOL is typically an offline VOL.
(*) “PVOL” is an abbreviation for the primary logical volume, and is a word representing the copy-source VOL. “SVOL” is an abbreviation for a secondary logical volume, and is a word representing a copy-destination VOL. A pair of PVOL and SVOL is typically a VOL pair. Data is copied from PVOL to SVOL.
(*) “DKC” is a word representing a storage device. The DKC has a VOL and a controller that controls data I / O to the VOL. The DKC may include one or a plurality of PDEVs (for example, one or RAID group), and the VOL included in the DKC may be an RVOL or a VVOL.
(*) “PDKC” is an abbreviation for primary DKC, and is a DKC having a PVOL. “SDKC” is an abbreviation for secondary DKC, and is an abbreviation for DKC having SVOL. The remote copy system typically has a PDKC and an SDKC, and the PVOL and SVOL constituting the VOL pair are present in different DKCs.
(*) “MS” is an abbreviation for migration source. For example, “MS-PDKC” means the source PDKC.
(*) “MD” is an abbreviation for migration destination. For example, “MD-PDKC” means a migration destination PDKC.

A remote copy system having a PDKC and an SDKC and copying data from a PDKC PVOL to an SDKC SVOL is known. Remote copy includes synchronous remote copy that writes data to the SVOL in synchronization with the writing of data to the PVOL, and asynchronous remote copy that writes data to the SVOL asynchronously with writing of data to the PVOL.

For example, Patent Document 1 discloses a technique related to asynchronous remote copy and a technique for migrating PVOL to another DKC.

JP 2005-182222 A

In the technology according to Patent Document 1, it is necessary to install a virtual management network in the remote copy system and to have a function for MS-DKC to migrate PVOL.

Here, the PVOL migration is performed by using the old model DKC that manages the PVOL of the asynchronous remote copy currently in operation as the MS (migration source), and the newly installed DKC as the MD ( As a migration destination), it is conceivable to migrate PVOL. In such a situation, in the technique according to Patent Document 1, it is necessary for MS-DKC to have a function for migrating PVOL, but MS-DKC does not always have such a function in advance. MS-DKC must be provided with this function, which is troublesome. In some cases, the MS-DKC may not be provided with necessary functions.

When asynchronous remote copy is continued, a journal corresponding to the update to PVOL is generated in MS-PDKC and MD-PDKC, and the sequence number of the journal is managed. If the generation of the MS-DKC journal and the journal of the migration destination storage apparatus is not handled properly, a consistent SVOL cannot be generated from these journals.

MD-PDKC (migration destination primary storage device) is connected to MS-PDKC (migration source primary storage device). The MS-PDKC has a first PVOL that forms a copy pair with the SVOL in the SDKC, and a first journal storage area that stores a journal corresponding to write data to the first PVOL, and transfers the journal to the SDKC. It has become. The MD-PDKC has a second PVOL and a second journal storage area for storing a journal corresponding to write data to the second PVOL, and executes copying of data in the first PVOL to the second PVOL. Yes. After the copy is completed, the MD-PDKC acquires the latest write order information from the MS-PDKC and, when receiving a write request for the second PVOL, writes the write data of the write request to the second PVOL, and corresponds to the write data. A journal is generated based on the journal data and update information indicating write order information based on the acquired latest write order information, and the journal is written in the second journal storage area. The journal storage area may be a kind of VOL or a storage area on a memory (for example, a cache memory) in the DKC. The memory may be a memory in the controller in the DKC.

According to the present invention, MS-PDKC can be transferred to MD-PDKC while continuing asynchronous remote copy without adding any special function to MS-PDKC.

FIG. 1 is a diagram illustrating a configuration example of a computer system according to the first embodiment. FIG. 2 is a diagram illustrating a configuration example of a computer system in an initial state before the start of migration. FIG. 3 is a flowchart of the MD-PDKC connection setting process. FIG. 4 is a diagram for explaining the MD-PDKC connection setting process. FIG. 5 is a flowchart of the PVOL migration process. FIG. 6 is a diagram for explaining the PVOL migration process. FIG. 7 is a flowchart of a read command process at the time of PVOL migration. FIG. 8 is a diagram for explaining read command processing during PVOL migration. FIG. 9 is a flowchart of write command processing at the time of PVOL migration. FIG. 10 is a diagram for explaining write command processing at the time of PVOL migration. FIG. 11 is a flowchart of the path addition process. FIG. 12 is a diagram illustrating the path addition process. FIG. 13 is a flowchart of the data migration completion process. FIG. 14 is a diagram for explaining processing at the time of data migration completion. FIG. 15 is a flowchart of RDJNL command processing. FIG. 16 is a diagram for explaining the RDJNL command processing. FIG. 17 is a diagram illustrating a configuration example of the computer system after the MS-PDKC is removed. FIG. 18 is a flowchart of read command processing after data migration is completed. FIG. 19 is a flowchart of the write command process after the data migration is completed. FIG. 20 is a diagram illustrating a configuration example of a computer system according to the second embodiment. FIG. 21 is a diagram illustrating a configuration example of a computer system in an initial state before starting data migration. FIG. 22 is a flowchart of the MD-SDKC connection setting process. FIG. 23 is a diagram for explaining the MD-SDKC connection setting process. FIG. 24 is a flowchart of RDJNL command processing (first time) before starting data migration. FIG. 25 is a flowchart of RDJNL command processing (after the second time) before starting data migration. FIG. 26 is a diagram for explaining RDJNL command processing before the start of data migration. FIG. 27 is a flowchart of the formalized sequence number monitoring process. FIG. 28 is a flowchart of RDJNL command processing during data migration. FIG. 29 is a diagram for explaining formalized sequence number monitoring processing and RDJNL command processing during data migration. FIG. 30 is a flowchart of the SVOL migration process. FIG. 31 is a flowchart of journal formalization processing during data migration. FIG. 32 is a diagram for explaining SVOL migration processing and journal formalization processing during data migration. FIG. 33 is a flowchart of the post-data migration completion process. FIG. 34 is a diagram for explaining path deletion after completion of data migration. FIG. 35 is a diagram for explaining removal of MS-SDKC.

Hereinafter, some examples will be described.

In the following description, various types of information may be described using the expression “aaa table”, but the various types of information may be expressed using a data structure other than a table. The “aaa table” can be referred to as “aaa information” to indicate that the various types of information do not depend on the data structure. Further, when a description is given with a program or software as a subject, it is actually understood that a processor or the like is executing the program or software.

FIG. 1 is a diagram illustrating a configuration example of a computer system according to the first embodiment.

The computer system has one or more hosts (host computers) 200 and a remote copy system. The remote copy system has a plurality of DKCs (storage devices) 100.

The host 200 is a general computer and includes a processor, a cache, a storage device, and the like. The host 200 issues an access command (read command (read request) or write command (write request)) specifying an ID (for example, LUN) of a VOL (for example, PVOL 105) provided by the DKC 100 to the DKC 100. The access command is, for example, a SCSI command. The host 200 has one or more ports 201. The port 201 is an example of a communication interface device, and is an interface for connecting to the network 50. Identification information (for example, WWN (World Wide Name), etc.) that can uniquely identify the port is set in the port 201. The host 200 stores path management information. The path management information is a path for the DKC 100 in which the identification information (for example, device number) of the VOL to be accessed is associated with the identification information (port information) of the port 101 of the DKC 100 that is accessed when accessing the VOL. , Information.

MS-PDKC 100A and SDKC 100B are connected via a communication network 60. Further, the MS-PDKC 100A and the MD-PDKC 100C are installed, for example, in the same local site 10 and are connected to be communicable with each other. However, the MD-PDKC 100C may be installed at a site separated from the MS-PDKC 100A. The SDKC 100B is installed at the remote site 20 which is a place away from the local site 10. The MD-PDKC 100C and the SDKC 100B are connected via a communication network 60.

The DKC 100 (100A to 100C) includes, for example, a plurality of ports 101, one or more MPPKs (microprocessor packages) 102, one or more CMPKs (cache memory packages) 103, an internal network 104, and one or more VOLs. And a PDEV to be configured. The port 101, the MPPK102, the CMPK103, and the PDEV constituting the VOL are connected via the internal network 104 so as to be able to communicate with each other. Also, MPPK and CMPK are referred to as a storage controller.

For example, as a VOL managed by the DKC 100, the MS-PDKC 100A manages the PVOL 105. The SDKC 100B manages the SVOL 110. The MD-PDKC 100C manages the MD-PVOL 112.

The port 101 is an example of a communication interface device, and is an interface for connecting to a network. In the port 101, identification information (for example, WWN (World Wide Name) etc.) that can uniquely identify the port is set. It is also possible to virtually assign arbitrary identification information (virtualization identification information) to the port 101 and use this virtualization identification information for communication.

In this embodiment, for example, the MS-PDKC 100A has a port 101 for connecting to the host 200, a port 101 for connecting to the MD-PDKC 100C, and a port 101 for connecting to the SDKC 100B.

The MD-PDKC has a port 101 for connecting to the host 200, a port 101 for connecting to the MS-PDKC 100A, and a port 101 for connecting to the SDKC 100B.

The SDKC 100B has a port 101 for connecting to the host 200, a port 101 for connecting to the MS-PDKC 100A, and a port 101 for connecting to the MD-PDKC 100C.

The MPPK102 is a control device having one or more processors. The processor executes various processes according to the program. The MPPK 102 may have a memory that stores programs to be executed by the processor and data to be used. In this embodiment, the MPPK 102 of the MD-PDKC 100C has a program for realizing a new function in this embodiment described later. The MPPK 102 of the MS-PDKC 100A and the SDKC 100B only needs to have an existing program.

The CMPK 103 includes one or more cache memories. The one or more cache memories are volatile memory and / or nonvolatile memory. The one or more cache memories have a storage area (hereinafter, a shared area) for storing information used by the processor of the MPPK102, in addition to a storage area (hereinafter, a cache area) that temporarily stores data input to and output from the PDEV. May be included.

FIG. 2 is a diagram showing a configuration example of a computer system in an initial state before the start of migration.

The initial computer system has a host 200, an MS-PDKC 100A, and an SDKC 100B.

The MS-PDKC 100A receives the MS-PVOL 105, the primary journal VOL (PJVOL) 108 for storing the journal (JNL) indicating the update contents for the MS-PVOL 105, and the latest sequence number (SEQ #) assigned to the journal. Storing order information (an example of order information, also referred to as write order information) 109. The storage area in which the journal is stored is one VOL in this embodiment, but may be a storage area provided in another storage device such as the CMPK 103. The sequence number is information indicating the order of writing to the primary volume.

The SDKC 100B includes an SVOL 110 that forms a pair with the MS-PVOL 105, and a secondary JVOL (SJVOL) 111 that stores a journal acquired from the MS-PDKC 100A.

A path hm1 is formed between the host 200 and the MS-PDKC 100A. For example, a SCSI command such as a read command or a write command is transmitted from the host 200 to the MS-PDKC 100A via the path h-m1.

Further, a path m1-r is formed between the MS-PDKC 100A and the SVOL 100B. For example, a command (asynchronous remote copy command) is transmitted from the SDKC 100B to the MS-PDKC 100A via the path m1-r. As a command to be transmitted, for example, there is a command (RDJNL (Read Journal Command)) for reading the journal (update information including journal data and sequential number) of the PJVOL 108 of the MS-PDKC 100A.

Next, the MD-PDKC connection setting process for preparing for migration of PVOL will be described.

FIG. 3 is a flowchart of the MD-PDKC connection setting process. FIG. 4 is a diagram for explaining the MD-PDKC connection setting process.

First, the administrator installs the MD-PDKC 100C storing the MD-PVOL 112, for example, in the local site 10 (step S11, (1) in FIG. 4). At this point, the MD-PDKC 100C is physically connected to the networks 50 and 60 and is also physically connected to the MS-PDKC 100A.

Next, the administrator connects the path m1-m2 between the MS-PDKC 100A and the MD-PDKC 100C (step S12, FIG. 4 (2)). Here, as a method for connecting the paths, a method in which the administrator uses a terminal such as an SVP (Service Processor) connected to the MD-PDKC 100C or a management device (not shown) connected via a network. There is. It should be noted that the operation and setting using the terminal such as the SVP by the administrator may be described with “administrator” as the subject without specifying the terminal or the like, but may be read as the management device. In this embodiment, in this path, the MD-PDKC 100C is virtualized so as to pretend to be the host 200 with respect to the MS-PDKC 100A. Specifically, the identification information (port information) of the port 101 of the MD-PDKC 100C constituting this path is virtualized to the same identification information as the identification information of the port 201 of the host 200 (port 201 connected to the path hm2). Turn into. As a result, the MS-PDKC 100A recognizes that communication using this path is being performed with the host 200, and there is no need to be aware of the MD-PDKC 100C.

Next, the administrator connects the path hm2 between the host 200 and the MD-PDKC 100C (step S13, FIG. 4 (3)). Here, in this embodiment, in this path, the MD-PDKC 100C is virtualized so as to disguise the MS-PDKC 100A for the host 200. Specifically, the identification information (port information) of the port 101 of the MD-PDKC 100C constituting this path is the same as the identification information of the port 101 of the MS-PDKC 100A (port 101 connected to the path m1-m2). Virtualize to As a result, the host 200 recognizes that communication using this path is performed with the MS-PDKC 100A, and does not need to be aware of the MD-PDKC 100C.

Next, the alternate path software 202 of the host 200 (or an FC switch or the like existing between the host 200) passes through the MD-PDKC 100C (path) as a path between the host 200 and the MS-PDKC 100A. hm2) is added (step S14). Thereafter, when the MD-PDKC 100C (specifically, the processor of the MPPK 102 of the MD-PDKC 100C) obtains a SCSI command for the MS-PDKC 100A from the host 200 via the path h-m2, the SCSI command is received through the path m1-m2. The data is then transferred to the MS-PDKC 100A via (4) in FIG.

Next, the alternate path software 202 of the host 200 (or the FC switch existing between the host 200) is a path between the host 200 and the MS-PDKC 100A that does not pass through the MD-PDKC 100C (path). h-m1) is deleted (step S15, FIG. 4 (5)). Note that before deleting the path that does not pass through the MD-PDKC 100C (path h-m1), it may be confirmed that command transfer through the path that passes through the MD-PDKC 100C operates normally. As a result, the SCSI command for the PVOL 105 transmitted from the host 200 to the MS-PDKC 100A always passes through the MD-PDKC 100C. Therefore, the MD-PDKC 100C can reliably grasp the SCSI command for the PVOL 105.

After completing the MD-PDKC connection setting process, the PVOL migration process for migrating the PVOL 105 of the MS-PDKC 100A to the MD-PDKC 100C can be started.

Next, the PVOL migration process will be described.

FIG. 5 is a flowchart of the PVOL migration process. FIG. 6 is a diagram for explaining the PVOL migration process.

The MD-PDKC 100C creates on the PDEV a VOL (MD-PVOL 112) that is larger than the capacity of the PVOL that is the migration destination of the MS-PVOL 105 (step S21, (1) in FIG. 6). Here, the MD-PDKC 100C manages the differential bitmap 113 for managing the data migration state of the PVOL 105 in the MD-PVOL 112. The differential bitmap 113 includes bits corresponding to a plurality of areas (for example, blocks) of the MD-PVOL 112, and indicates whether or not the data of the PVOL 105 has been migrated (copied) to the areas by the value of the bits. For example, when data is sequentially transferred from the data in the head area of the PVOL 105 to the MD-PVOL 112, it is only necessary to manage up to which area has been transferred, and not to manage the differential bitmap 113. May be.

Next, the MD-PDKC 100C updates the values of all the bits in the difference bitmap 113 to values indicating that data migration has not been completed (step S22).

Then, the MD-PDKC 100C has the initiative to execute the processing of the loop (A) (steps S24 to S28) for each address in the area where the data migration of the MS-PVOL 105 is incomplete. Data migration from the MS-PVOL 105 to the MD-PVOL 112 is executed (FIG. 6 (2)). In the description of the processing in the loop (A), the processing target address is referred to as a target address.

Specifically, the MD-PDKC 100C pretends to be the host 200 and transmits a read command for reading the target address of the MS-PVOL 105 of the MS-PDKC 100A (step S24). When the MS-PDKC 100A receives this read command, the data of the target address of the PVOL 105 is read according to the read command (step S25), and the read result and the read data (read data) are sent to the source of the read command. Transmit (step S26). Here, the MS-PDKC 100A recognizes that the source of the read command is the host 200, and thus recognizes that the read result and the read data are transmitted to the host 200. The read result and read data are transmitted to the MD-PDKC 100C disguised as the host 200.

The MD-PDKC 100C writes the read data received from the MS-PDKC 100A to the target address of the MD-PVOL 112 (step S27), and sets the bit of the area corresponding to the target address of the differential bitmap 113 to a value indicating that data migration has been completed. (Step S28).

Then, the loop (A) process is executed for all addresses in the area where the data migration of the MS-PVOL 105 is incomplete, and then the MD-PDKC 100C ends the process.

Through this process, all data in the PVOL 105 of the MS-PDKC 100A is transferred to the MD-PVOL 112 of the MD-PDKC 100C.

Next, read command processing when the MD-PDKC 100C receives a read command for the PVOL 105 from the host 200 during the PVOL migration processing will be described.

FIG. 7 is a flowchart of the read command processing at the time of PVOL migration. FIG. 8 is a diagram for explaining read command processing during PVOL migration.

When the MD-PDKC 100C receives a read command for the PVOL 105 from the host 200, the MD-PDKC 100C refers to the differential bitmap 113, and the value of the bit corresponding to the target address of the read command (referred to as the target address in the description of the read command processing) is It is determined whether the value is a data migration completed value or a data migration incomplete value (step S31). As a result, when the value of the bit corresponding to the target address is a data migration completed value (step S32: Y), the MD-PDKC 100C reads the target address of the MD-PVOL 112 (step S33, FIG. 8). (2)), The process proceeds to step S37.

On the other hand, when the value of the bit corresponding to the target address is not the value of data migration completed (step S32: N), the MD-PDKC 100C reads the data of the target address from the PVOL 105 of the MS-PDKC 100A (steps S34 to S34). S36, (1) of FIG. That is, the MD-PDKC 100C disguises as the host 200 and transmits a read command for reading the target address of the MS-PVOL 105 of the MS-PDKC 100A (step S34). When the MS-PDKC 100A receives this read command, the data at the target address of the PVOL 105 is read according to the read command (step S35), and the read result and the read data are transmitted to the read command transmission source (step S36). ). Here, the MS-PDKC 100A recognizes that the source of the read command is the host 200, and thus recognizes that the read result and the read data are transmitted to the host 200. The read result and read data are transmitted to the MD-PDKC 100C disguised as the host 200. Thereafter, the MD-PDKC 100C receives the read result and read data transmitted from the MS-PDKC 100A, and advances the process to step S37.

In step S37, the MD-PDKC 100C disguises the MS-PDKC 100A, transmits the acquired read result and read data to the host 200 that is the source of the read command, and ends the read command processing. As a result, the host 200 that has transmitted the read command acquires the read result and the read data as transmitted from the MS-PDKC 100A.

According to this read command process, the read data transferred to the MD-PVOL 112 is read from the MD-PVOL 112, so that it can be read more quickly than reading from the PVOL 105.

Next, the write command process when the MD-PDKC 100C receives a write command for the PVOL 105 from the host 200 during the PVOL migration process will be described.

FIG. 9 is a flowchart of a write command process at the time of PVOL migration. FIG. 10 is a diagram for explaining write command processing at the time of PVOL migration.

When the MD-PDKC 100C receives a write command for the PVOL 105 and data to be written (write data) from the host 200, the MD-PDKC 100C stores the write data in the cache memory of the CMPK 103, and at the address ( In the description of the write command process, the value of the bit corresponding to the target address) is updated to a value for which data migration has not been completed (step S41, (1-1) in FIG. 10).

Next, the MD-PDKC 100C disguises the host 200 and transmits a write command and write data for writing to the target address of the MS-PVOL 105 of the MS-PDKC 100A (step S42, (1-2) in FIG. 10). ).

When the MS-PDKC 100A receives this write command and write data, the write data is written to the target address of the PVOL 105 according to the write command (step S43), and the write result is transmitted to the write command transmission source (MD-PDKC 100C). (Step S44). As a result, the write data can be appropriately stored in the PVOL 105, and the PVOL 105 can be kept up-to-date until the migration of the PVOL 105 is completed. In the MS-PDKC 100A, a journal indicating the update contents corresponding to the write command is generated, and a sequence number indicating the latest order is given to the journal, and the sequence number indicating the latest order is stored in the PJVOL 108. Is stored in the order information 109.

When the MD-PDKC 100C receives the write result transmitted from the MS-PDKC 100A, if the write result is normal completion, the read data stored in the cache memory of the CMPK 103 is written to the target address of the MD-PVOL 112. (Step S45, (1-3) in FIG. 10), the value of the bit corresponding to the target address of the differential bitmap 113 is updated to a value that has been transferred (Step S46, (1-4) in FIG. 10). . As a result, the write data is appropriately reflected in the MD-PVOL 112, and thereafter, it is not necessary to transfer the data at the target address from the PVOL 105 to the MD-PVOL 112.

Thereafter, the MD-PDKC 100C disguises the MS-PDKC 100A, transmits the acquired write result to the host 200 that is the transmission source of the write command (step S47), and ends the write command processing. As a result, the host 200 that transmitted the write command acquires the write result as transmitted from the MS-PDKC 100A.

Next, a path addition process for adding a path between the MD-PDKC 100C and the SDKC 100B will be described. This path addition process may be executed, for example, at the time of preparation for the migration of the PVOL 105 or before the migration of the PVOL 105 is completed.

FIG. 11 is a flowchart of the path addition process. FIG. 12 is a diagram illustrating the path addition process.

The administrator connects the path m1-m2 (2) between the MS-PDKC 100A and the MD-PDKC 100C (step S51, (1) in FIG. 12). In this embodiment, in this path, the MD-PDKC 100C is virtualized so as to disguise the SDKC 100B with respect to the MS-PDKC 100A. Specifically, the identification information (port information) of the port 101 of the MD-PDKC 100C constituting this path is set to the same identification information as the identification information of the port 101 (port 101 connected to the path m2-r) of the SDKC 100B. Turn into.

Next, the administrator connects the path m2-r between the SDKC 100B and the MD-PDKC 100C (step S52, (2) in FIG. 12). Here, in this embodiment, in this path, the MD-PDKC 100C is virtualized so as to disguise the MS-PDKC 100A with respect to the SDKC 100B. Specifically, the identification information (port information) of the port 101 of the MD-PDKC 100C constituting this path is set as the identification information of the port 101 of the MS-PDKC 100A (port 101 connected to the path m1-m2 (2)). Virtualize to the same identification information.

Next, the MS-PDKC 100A (or an FC switch or the like existing between the MS-PDKC 100A), as a path between the MS-PDKC 100A and the SDKC 100B, passes through the MD-PDKC 100C (path m1-m2 (2 )) Is added (step S53). Thereafter, when the MD-PDKC 100C obtains a command for the MS-PDKC 100A from the SDKC 100B via the path m2-r, the MD-PDKC 100C transfers the command to the MS-PDKC 100A via the path m1-m2 (2) (FIG. 12). (3)).

Next, of the paths between the MS-PDKC 100A and the SDKC 100B with respect to the MS-PDKC 100A (or the FC switch existing between the MS-PDKC 100A), the path that does not pass through the MD-PDKC 100C (path m1-r ) Is deleted (step S54, (4) of FIG. 12). Note that before deleting a path that does not pass through the MD-PDKC 100C (path m1-r), it may be confirmed that command transfer through the path that passes through the MD-PDKC 100C operates normally. Thereby, the command transmitted from the SDKC 100B to the MS-PDKC 100A always passes through the MD-PDKC 100C. Therefore, the MD-PDKC 100C can reliably grasp the command (RDJNL) for the PJVOL 108 corresponding to the PVOL 105.

Next, a data migration completion process that is executed when data migration from the PVOL 105 to the MD-PVOL 112 is completed will be described.

FIG. 13 is a flowchart of processing at the time of data migration completion. FIG. 14 is a diagram for explaining processing at the time of data migration completion.

After the data migration from the PVOL 105 to the MD-PVOL 112 is completed, the MD-PDKC 100C stops transferring the SCSI command from the path h-m2 to the path m1-m2, and a VOL (MD-MD-) that exceeds the capacity of the MS-PJVOL 108 The journal VOL 115) is added to itself (note that the capacity may be set to the capacity of the MS-PJVOL 108 or may be arbitrarily set) (step S61). By stopping the transfer of the SCSI command, the MS-PDKC 100A stops updating the PVOL 105, the PJVOL 108, and the order information 109.

Next, the MD-PDKC 100C pretends to be the host 200, acquires the latest sequence number of the MS-JVOL 108 from the order information 109 of the MS-PDKC 100A (step S62), and acquires the acquired latest sequence number in the journal of the MD-JVOL 115. The latest sequence number is stored in the order information 114 (step S63, (2) in FIG. 14). In the following, when the MD-PDKC 100C receives a write command from the host 200, the MD-PDKC 100C writes the write data to the target address of the write command of the MD-PVOL 112, and the journal data corresponding to the write data The journal is generated from the update number including the sequence number based on the sequence number of the order information 114 (for example, the sequence number of the order information 114 + 1) ((3) in FIG. 14), and the order information 114 is set to the latest sequence number. Update to Thereby, the MD-PDKC 100C can generate a journal that is consistent in order with the journal generated by the MS-PDKC 100A.

Next, the MD-PDKC 100C stores the latest sequence number acquired from the MS-PDKC 100A as the acquired latest sequence number (step S64). According to the acquired latest sequence number, the journals up to this sequence number are stored in the JVOL 108 of the MS-PDKC 100A, and the journals with sequence numbers higher than that are stored in the JVOL 115 of the MD-PDKC 100C. ing.

Next, the MD-PDKC 100C performs setting to delete the path (path m1-m2) in which the MD-PDKC 100C pretends the host 200 among the paths between the MS-PDKC 100A and the MD-PDKC 100C (step S65, FIG. 14). (1)).

Next, RDJNL command processing that is executed when the migration destination storage 100C receives an RDJNL command for reading a journal from the SDKC 100B after completion of the data migration completion processing will be described. Here, the RDJNL command is associated with a sequence number (designated sequence number) that designates a journal to be read.

FIG. 15 is a flowchart of RDJNL command processing. FIG. 16 is a diagram for explaining the RDJNL command processing.

When the MD-PDKC 100C receives the RDJNL command and the specified sequence number, the order information of the journal corresponding to the RDJNL command from the SDKC 100B does not receive the RDJNL command for the journal before the latest order information in the MS-PDKC 100A. It is determined whether the order information is guaranteed. Specifically, when the MD-PDKC 100C receives the RDJNL command and the specified sequence number, the MD-PDKC 100C determines whether or not the specified sequence number is larger than the number obtained by adding the maximum number of RDJNL commands issued in parallel to the acquired latest sequence number. (Step S71). Here, the maximum number of RDJNL commands issued in parallel is the maximum value of the sequence number difference that allows the switching of the JNL request and reception order in the specification of asynchronous remote copy when the RDJNL command can be issued in parallel. Indicates.

As a result, when the specified sequence number is larger than the number obtained by adding the maximum number of RDJNL command parallel issue to the acquired latest sequence number (step S71: Y), the allowable sequence number of the specified sequence number of the RDJNL command is changed. This means that there is no RDJNL command for reading the journal stored in the JVOL 108 of the MS-PDKC 100A even if the replacement is taken into consideration. Therefore, the migration destination storage 100C deletes the path between the MS-PDKC 100A and the migration destination storage 100C (step S72, (2) in FIG. 16), whereby the administrator can remove the MS-PDKC 100A. It becomes possible (step S73), and the process proceeds to step S75. At this time, the MD-PDKC 100C can notify the management terminal that the JNL transfer of the MS-PDKC 100A has been completed (the MS-PDKC 100A can be removed).

On the other hand, when the designated sequence number is not larger than the number obtained by adding the maximum number of RDJNL command parallel issue to the latest acquired sequence number (step S71: N), the journal stored in the JVOL 108 of the MS-PDKC 100A is stored. Since there is a possibility that an RDJNL command to be read exists, the MD-PDKC 100C advances the process to step S74.

In step S74, the MD-PDKC 100C determines whether or not the designated sequence number is greater than the acquired latest sequence number. As a result, if the designated sequence number is larger than the acquired latest sequence number (step S74: Y), it means that the journal corresponding to the designated sequence number is stored in the JVOL 115 of the MD-PDKC 100C. Therefore, the MD-PDKC 100C advances the process to step S75. On the other hand, if the designated sequence number is not larger than the acquired latest sequence number (step S74: N), the journal corresponding to the designated sequence number is MS-PDKC 100A. The MD-PDKC 100C advances the process to step S76.

In step S75, the MD-PDKC 100C acquires a journal (journal data and update information) corresponding to the specified sequence number from the JVOL 115 ((1-1) in FIG. 16), and advances the process to step S79.

In step S76, the MD-PDKC 100C disguises the SDKC 100B and transmits the RDJNL command and the specified sequence number to the MS-JVOL 108 of the MS-PDKC 100A. As a result, the MS-PDKC 100B acquires journal data corresponding to the specified sequence number from the MS-JVOL 108 (step S77), and transmits the execution result of the RDJNL command and the acquired journal data to the transmission source of the RDJNL command ( In step S78), the MD-PDKC 100C acquires the execution result of the RDJNL command and the acquired journal from the MS-PDKC 100A ((1-2) in FIG. 16), and the process proceeds to step S79.

In step S79, the execution result of the RDJNL command and the acquired journal are transmitted to the SDKC 100B as the MS-PDKC 100A. Thereby, the SDKC 100B can appropriately acquire a necessary journal and store it in the SJVOL 111.

Next, in the computer system shown in FIG. 16, the computer system after the MS-PDKC 100A is removed will be described.

FIG. 17 is a diagram showing a configuration example of the computer system after the MS-PDKC is removed.

As shown in FIG. 17, the MD-PDKC 100C disguises the MS-PDKC 100A for the host 200 in communication via the path hm2. The MD-PDKC 100C disposes the MS-PDKC 100A with respect to the SDKC 100C in communication via the path m2-r.

FIG. 18 is a flowchart of the read command processing after the data migration is completed.

This read command process is executed when the MD-PDKC 100C wearing the MS-PDKC 100A receives a read command from the host 200 to the PVOL 105 of the MS-PDKC 100A after the data migration is completed.

When the MD-PDKC 100C receives a read command designating the ID of the PVOL 105 from the host 200, the MD-PDKC 100C reads the target address of the read command of the MD-PVOL 112 (step S81), disposes of the MS-PDKC 100A, On the other hand, the execution result of the read command and the read data are transmitted (step S82). Note that device information (identification information) for identifying the MD-PVOL 112 may be virtualized to the same device information as the PVOL 105.

FIG. 19 is a flowchart of the write command process after the data migration is completed.

This write command process is executed when the MD-PDKC 100C wearing the MS-PDKC 100A receives a write command and write data from the host 200 to the PVOL 105 of the MS-PDKC 100A after the data migration is completed.

When the MD-PDKC 100C receives a write command from the host 200, the MD-PDKC 100C writes the write data to the target address of the write command of the MD-PVOL 112 (step S91), generates a journal corresponding to the write data, and stores it in the journal. A sequence number based on the sequence number of the order information 114 (for example, the sequence number of the order information 114 + 1) is associated (step S92). Thereby, the MD-PDKC 100C can generate a journal that is consistent in order with the journal generated by the MS-PDKC 100A.

Next, the MD-PDKC 100C updates the sequence number by adding 1 to the sequence number of the order information 114 (step S93). Next, the MD-PDKC 100C disguises the MS-PDKC 100A and transmits the execution result of the write command to the host 200 (step S94). As a result, write data can be appropriately stored in the MD-PVOL 112, and an appropriate sequence number can be assigned to the journal according to the sequence number of the order information 114.

Next, a computer system according to the second embodiment will be described. Hereinafter, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.

FIG. 20 is a diagram illustrating a configuration example of a computer system according to the second embodiment.

The computer system has one or more hosts 200 and one or more DKCs 100.

The host 200 issues an access command for the PVOL 105 managed by the DKC 100 to the DKC 100. The host 200 has one or more ports 201. The port 201 is an example of a communication interface device, and is an interface for connecting to a network. In the port 201, identification information (for example, WWN (World Wide Name) etc.) that can uniquely identify the port is set. The host 200 associates the identification information (for example, device number) of the VOL to be accessed with the identification information (port information) of the port 101 of the DKC 100 that is accessed when accessing the VOL. Is managing.

The PDKC 100A and the MS-SDKC 100B are connected via a communication network 60. The MD-SDKC 100D is installed at a remote site 20 which is a place away from the local site 10. The PDKC 100A and the MD-SDKC 100D are connected via a communication network 60. The MS-SDKC 100B and the MD-SDKC 100D are connected so as to communicate with each other.

The DKC 100 (100A, 100B, 100D) includes, for example, a plurality of ports 101, one or more MPPK (microprocessor package) 102, one or more CMPK (cache memory package) 103, an internal network 104, and one or more PDEV that constitutes the VOL. A VOL is composed of one or more PDEVs. The port 101, the MPPK102, the CMPK103, and the PDEV configuring the VOL are connected via the internal network 104 so as to be able to communicate with each other.

For example, PDKC 100A provides PVOL 105. The MS-SDKC 100B provides the MS-SVOL 110. The MD-SDKC 100D provides the MD-SVOL 116.

The port 101 is an example of a communication interface device, and is an interface for connecting to a network. Identification information (for example, WWN (World Wide Name), etc.) that can uniquely identify the port is set in the port 101. Virtually arbitrary identification information (virtualization identification information) can be assigned to the port 101 and used for communication.

In this embodiment, for example, the PDKC 100A has a port 101 for connecting to the host 200, a port 101 for connecting to the MS-SDKC 100B, and a port 101 for connecting to the MD-SDKC 100D.

MS-SDKC 100B has port 101 for connecting to host 200, port 101 for connecting to PDKC 100A, and port 101 for connecting to MD-SDKC 100D.

The MD-SDKC 100D has a port 101 for connecting to the host 200, a port 101 for connecting to the PDKC 100A, and a port 101 for connecting to the MS-SDKC 100B.

The MPPK102 is a control device having one or more processors. The processor executes various processes according to the program. The MPPK 102 may have a memory that stores programs to be executed by the processor and data to be used. In this embodiment, the MPPK102 of the MD-SDKC 100D has a program for realizing a new function in this embodiment described later. Note that the MPPK 102 of the PDKC 100A and the MS-SDKC 100B only needs to have an existing program.

The CMPK 103 includes one or more cache memories. The one or more cache memories are volatile memory and / or nonvolatile memory. The one or more cache memories have a storage area (hereinafter, a shared area) for storing information used by the processor of the MPPK102, in addition to a storage area (hereinafter, a cache area) that temporarily stores data input to and output from the PDEV. May be included.

FIG. 21 is a diagram illustrating a configuration example of a computer system in an initial state before the start of migration.

The initial computer system has a host 200, a PDKC 100A, and an MS-SDKC 100B.

The PDKC 100 </ b> A has a PVOL 105 and a JVOL 108 that stores a journal (JNL) indicating the update contents for the PVOL 105.

The MS-SDKC 100B includes the MS-SVOL 110 that forms a pair with the PVOL 105, the SJVOL 111 that stores the journal acquired from the PDKC 100A, and the sequence number (official sequence number) of the journal that is formalized (reflected) in the SJVOL 110. Formalized order information 117 to be stored is stored.

A path hm is formed between the host 200 and the PDKC 100A. For example, a SCSI command such as a read command or a write command is transmitted from the host 200 to the PDKC 100A via the path hm.

Further, a path mr-1 is formed between the PDKC 100A and the migration source SVOL 100B. For example, a command (asynchronous remote copy command) is transmitted from the MS-SDKC 100B to the PDKC 100A via the path m-r1. As a command to be transmitted, for example, there is a command (RDJNL command) for reading the journal of the JVOL 108 of the PDKC 100A.

Next, the MD-SDKC connection setting process for preparing for the migration of SVOL will be described.

FIG. 22 is a flowchart of the MD-SDKC connection setting process. FIG. 23 is a diagram for explaining the MD-SDKC connection setting process.

First, the administrator installs the MD-SDKC 100D for storing the MD-SVOL 116, for example, in the remote site 20 (step S95, (1) in FIG. 23). At this point, the MD-SDKC 100D is physically connected to the networks 50 and 60 and is also physically connected to the MS-SDKC 100B.

Next, the administrator connects the path r1-r2 between the MS-SDKC 100B and the MD-SDKC 100D (step S96, (2) in FIG. 23). Here, as a method of connecting the paths, a method in which the administrator uses a terminal such as an SVP (Service Processor) connected to the MD-SDKC 100D or a management device (not shown) connected via a network. There is. Note that an administrator may use a terminal such as SVP to operate or set the terminal without specifying the terminal or the like, but may be described as “administrator” as the subject. . In this embodiment, in this path, the MD-SDKC 100D is virtualized so as to disguise the PDKC 100A with respect to the MS-SDKC 100B. Specifically, the identification information (port information) of the port 101 of the MD-SDKC 100D constituting this path is virtualized to the same identification information as the identification information of the port 101 of the PDKC 100A (port 101 connected to the path mr-2). To do.

Next, the administrator connects the path mr-2 between the PDKC 100A and the MD-SDKC 100D (step S97, (3) in FIG. 23). Here, in this embodiment, the administrator virtualizes the MD-SDKC 100D so as to disguise the MS-SDKC 100B with respect to the PDKC 100A in this path. Specifically, the identification information (port information) of the port 101 of the MD-SDKC 100D constituting this path is set to the same identification information as the identification information of the port 101 of the MS-SDKC 100B (port 101 connected to the path r1-r2). Virtualize.

Next, the PDKC 100A and the MS-SDKC 100B (or an FC switch or the like existing between them) pass as paths between the PDKC 100A and the MS-SDKC 100B via the MD-SDKC 100D (path m-r2, and A path r1-r2) is added (step S98). Thereafter, when the MD-SDKC 100D (specifically, the processor of the MPPK 102 of the MD-SDKC 100D) acquires a command for the PDKC 100A from the MS-PDKC 100B via the path r1-r2, the command is received via the path m-r2. And transferred to the PDKC 100A ((4) in FIG. 23).

Next, the PDKC 100A and the MS-SDKC 100B (or an FC switch or the like existing between them) are paths between the PDKC 100A and the MS-SDKC 100B that do not pass through the MD-SDKC 100D (path m-r1). Is deleted (step S99, (5) in FIG. 23). Note that before deleting a path that does not pass through the MD-SDKC 100D (path m-r1), it may be confirmed that command transfer via the path that passes through the MD-SDKC 100D operates normally. Thus, a command (such as an RDJNL command) transmitted from the MD-SDKC 100B to the PDKC 100A always passes through the MD-SDKC 100D. Therefore, the MD-SDKC 100D can reliably grasp the command.

RDJNL command processing that is executed when the MD-SDKC 100D receives the RDJNL command for the JVOL 108 of the PDKC 100A from the MS-SDKC 100B after the MD-SDKC connection setting processing is completed will be described. First, the RDJNL command process (first time) executed when the MD-SDKC 100D first receives the RDJNL command for the JVOL 108 of the PDKC 100A from the MS-SDKC 100B after the MD-SDKC connection setting process is completed will be described.

FIG. 24 is a flowchart of RDJNL command processing (first time) before starting data migration.

When the MD-SDKC 100D first receives the RDJNL command for the JVOL 108 of the PDKC 100A from the MS-SDKC 100B, the MD-SDKC 100D saves the sequence number (referred to as the specified sequence number) specified in the received RDJNL command in the memory of its own MPPK102 (Step S101). Here, the designated sequence number saved in the memory is referred to as a saved designated sequence number.

Next, the MD-SDKC 100D disguises the MS-SDKC 100B and transmits the RDJNL command and the specified sequence number to the JVOL 108 of the PDKC 100A (Step S102).

When receiving the RDJNL command, the PDKC 100A reads a journal (update information including journal data and sequence number) corresponding to the specified sequence number from the JVOL 108 (step S103), and sends the RDJNL command execution result to the source of the RDJNL command, the journal Are transmitted (step S104). Here, since the PDKC 100A recognizes the transmission source of the RDJNL command as the MS-SDKC 100B, it recognizes that the execution result of the RDJNL command and the journal are transmitted to the MS-SDKC 100B. The RDJNL command execution result and journal are transmitted to the MD-SDKC 100D disguised as the MS-SDKC 100B.

Next, when the MD-SDKC 100D receives the execution result of the RDJNL command and the journal from the PDKC 100A, the MD-SDKC 100D disguises the PDKC 100A and transmits the execution result of the RDJNL command and the journal to the MS-SDKC 100B (step S105). . As a result, the MS-SDKC 100B can appropriately acquire the journal corresponding to the designated sequence number. The MS-SDKC 100B stores the acquired journal in the JVOL 111.

Next, after finishing the MD-SDKC connection setting process, the RDJNL command process (second and subsequent) executed when the MD-SDKC 100D receives the RDJNL command for the JVOL 108 of the PDKC 100A from the MS-SDKC 100B more than once. To do.

FIG. 25 is a flowchart of RDJNL command processing (after the second time) before starting data migration. FIG. 26 is a diagram for explaining RDJNL command processing before the start of data migration.

When the MD-SDKC 100D receives the RDJNL command for the JVOL 108 of the PDKC 100A from the MS-SDKC 100B, the designated sequence number corresponding to the received RDJNL command is greater than the value obtained by adding the saved designated sequence number and the maximum number of RDJNL commands issued in parallel. It is determined whether it is larger (step S111).

As a result, when the designated sequence number corresponding to the received RDJNL command is larger than the value obtained by adding the saved designated sequence number and the maximum number of RDJNL commands issued in parallel (step S111: Y), the MD-SDKC 100D Assuming PDKC 100A, “no journal” is transmitted to MS-SDKC 100B as the execution result of the RDJNL command (step S112: (1) in FIG. 26), and the process ends.

On the other hand, when the designated sequence number corresponding to the received RDJNL command is not larger than the sum of the saved designated sequence number and the maximum number of RDJNL commands issued in parallel (step S111: N), the MD-SDKC 100D The RDJNL command and the designated sequence number are transmitted to the JVOL 108 of the primary storage 100A while wearing the MS-SDKC 100B (step S113: (2) in FIG. 26).

When the PDKC 100A receives the RDJNL command, the PDKC 100A reads the journal corresponding to the specified sequence number from the JVOL 108 (step S114), and transmits the execution result of the RDJNL command and the journal to the transmission source of the RDJNL command (step S115). Here, since the PDKC 100A recognizes the transmission source of the RDJNL command as the MS-SDKC 100B, the PDKC 100A recognizes that the execution result of the RDJNL command is transmitted to the MS-SDKC 100B. -The execution result of the RDJNL command and the journal are transmitted to the MD-SDKC 100D disguised as the SDKC 100B.

Next, when the MD-SDKC 100D receives the execution result of the RDJNL command and the journal from the PDKC 100A, the MD-SDKC 100D disguises the PDKC 100A and transmits the execution result of the RDJNL command and the journal to the MS-SDKC 100B (step S116). . As a result, the MS-SDKC 100B can appropriately acquire a journal corresponding to a specified sequence number equal to or less than a value obtained by adding the saved specified sequence number and the maximum number of RDJNL command parallel issues.

Next, journal formalization processing, formalized sequence number monitoring processing, and migration destination journal acquisition processing will be described.

FIG. 27 is a flowchart of the formalized sequence number monitoring process. FIG. 28 is a flowchart of the migration destination journal acquisition process. FIG. 29 is a diagram illustrating journal formalization processing, formalized sequence number monitoring processing, and migration destination journal acquisition processing.

The journal formalization process is a process of reflecting the journal of the SJVOL 111 on the migration source SVOL 110. The MS-SDKC 100B refers to the formalized order information 117, specifies the sequence number of the journal to be formalized next, acquires the journal corresponding to the sequence number from the SJVOL 111, and based on the journal, obtains the journal data. Write (update) to the SVOL 110 and update the formalized sequence number of the formalized order information 117 ((1) in FIG. 29). As a result, the updated contents for the PVOL 105 are reflected in the SVOL 111 based on the journal.

The formalized sequence number monitoring process is a process for the MD-SDKC 100D to monitor the progress of the formalization of the journal in the MS-SDKC 100B. This formalized sequence number monitoring process is executed at regular intervals, for example.

The MD-SDKC 100D obtains the formalized sequence number from the MS-SDKC 100B (step S121: (1) in FIG. 29), and the formalized sequence number indicates the saved sequence number and the maximum number of RDJNL command parallel numbers issued. It is determined whether it is larger than the added value (step S122).

As a result, when the formalized sequence number is larger than the sum of the saved sequence number and the maximum number of RDJNL command parallel numbers issued (step S122: Y), the MD-SDKC 100D stores the data of the MS-SVOL110. The SVOL migration process to be migrated (see FIG. 30) is started (step S123). On the other hand, if the formalized sequence number is not larger than the sum of the saved sequence number and the maximum number of RDJNL command parallel numbers issued (step S122). : N), the process is terminated without doing anything (step S124).

The migration destination journal acquisition process is a process in which the MD-SDKC 100D acquires a journal from the PDKC 100A. A journal having a sequence number after the sequence number that is the sum of the saved sequence number and the maximum number of RDJNL command parallel numbers issued is acquired. Run sequentially to get.

MD-SDKC 100D disposes of MS-SDKC 100B and transmits the RDJNL command and the specified sequence number to JVOL 108 of primary storage 100A (step S131). The specified sequence number is a sequence number after the sequence number obtained by adding the saved sequence number and the maximum number of RDJNL command parallel numbers issued.

When the PDKC 100A receives the RDJNL command, the PDKC 100A reads the journal corresponding to the specified sequence number from the JVOL 108 (step S132), and transmits the execution result of the RDJNL command and the journal to the transmission source of the RDJNL command (step S133). When the MD-SDKC 100D receives the execution result of the RDJNL command and the journal from the PDKC 100A, the MD-SDKC 100D stores the journal in the JVOL 119 (step S134: (3) in FIG. 29). Thereby, the MD-SDKC 100D can appropriately store the journal corresponding to the sequence number after the value obtained by adding the saved designated sequence number and the maximum number of RDJNL command parallel issue in the JVOL 119.

Next, the SVOL migration process and the journal data formalization process during data migration will be described.

FIG. 30 is a flowchart of the SVOL migration process. FIG. 31 is a flowchart of journal formalization processing during data migration. FIG. 32 is a diagram for explaining SVOL migration processing and journal formalization processing during data migration.

In the SVOL migration process, first, the MD-SDKC 100D adds a VOL (migration destination SVOL 116) that is larger than the capacity of the SVOL 110 as the migration destination of the MS-SVOL 110 to itself (step S141, (1) in FIG. 32). Here, the MD-SDKC 100D manages the differential bitmap 120 for managing the data migration state of the SVOL 110 in the migration destination SVOL 116. The differential bitmap 120 includes bits corresponding to a plurality of areas (blocks) of the migration destination SVOL 116, and indicates whether or not the data of the SVOL 110 is migrated (copied) to that area by the value of the bits.

Next, the MD-SDKC 100D pretends to be the host 200 and defines the path to the SVOL 110 of the MS-SDKC 100D (step S142).

Next, the MD-SDKC 100D updates the values of all the bits in the difference bitmap 120 to values indicating that data migration has not been completed (step S143).

Then, the MD-SDKC 100D has the initiative and executes the processing of the loop (B) (steps S145 to S149) for each address in the area where the data migration of the MS-SVOL 110 is not completed. Data migration from the MS-SVOL 110 to the migration destination SVOL 116 is executed ((2) in FIG. 32). In the description of the processing in the loop (B), the processing target address is referred to as a target address.

Specifically, the MD-SDKC 100D pretends to be the host 200 and transmits a read command for reading the target address of the MS-SVOL 110 of the MD-SDKC 100B (step S145). When the MS-SDKC 100B receives this read command, the data of the target address of the SVOL 110 is read according to the read command (step S146), and the read result and the read data (read data) are sent to the source of the read command. Transmit (step S147). Here, since the MS-SDKC 100B recognizes the source of the read command as the host 200, the MS-SDKC 100B recognizes that the read result and the read data are transmitted to the host 200. The read result and read data are transmitted to the MD-SDKC 100D disguised as the host 200.

The MD-SDKC 100D writes the read data received from the MS-SDKC 100B to the target address of the migration destination SVOL 116 (step S148), and sets the bit in the area corresponding to the target address of the differential bitmap 120 to a value indicating that data migration has been completed. (Step S149).

Then, after executing the process of loop (B) for all addresses in the area where the data migration of the MS-SVOL 110 is not completed, the MD-SDKC 100D ends the process.

Through this processing, all data in the SVOL 110 of the MS-SDKC 100B is migrated to the migration destination SVOL 116 of the MD-SDKC 100D.

Next, the journal data formalization process during data migration will be described. The journal data formalization process during data migration is executed after starting execution of the SVOL migration process, for example.

The MD-SDKC 100D reads the journal with the oldest (minimum) sequence number stored in the MD-JVOL 119 (step S151). Next, the MD-SDKC 100D acquires the write target address (target address) in the journal (in the update information included in the journal) (step S152).

Next, the MD-SDKC 100D refers to the difference bitmap 120 and determines whether data migration from the SVOL 110 has been completed for the target address area of the migration destination SVOL 116 (step S153). As a result, when the data migration is completed, the MD-SDKC 100D formalizes the processing target journal. That is, the MD-SDKC 100D writes the journal data, which is the update contents of the processing target journal, to the target address of the migration destination SVOL 116, and deletes the corresponding journal from the JVOL 119 (step S154: (3) in FIG. 32).

On the other hand, if the data migration has not been completed, the MD-SDKC 100D disguises the host 200 and transmits a read command for reading the target address of the MS-SVOL 110 of the MS-SDKC 100B (step S155). When the MS-SDKC 100B receives this read command, the data of the target address of the SVOL 110 is read according to the read command (step S156), and the read result and the read data are transmitted to the read command transmission source (step S157). ). Here, since the MS-SDKC 100B recognizes the source of the read command as the host 200, the MS-SDKC 100B recognizes that the read result and the read data are transmitted to the host 200. The read result and read data are transmitted to the MD-SDKC 100D disguised as the host 200.

Next, the MD-SDKC 100D writes the read data received from the MS-SDKC 100B to the target address of the migration destination SVOL 116 (step S158), and the data migration is completed for the bits in the area corresponding to the target address of the differential bitmap 120 The MD-SDKC 100D formalizes the journal data to be processed (step S154: (3) in FIG. 32).

Next, a post-data migration completion process executed after the data migration of the SVOL 110 is completed will be described.

FIG. 33 is a flowchart of the post-processing after data migration. FIG. 34 is a diagram for explaining path deletion after completion of data migration.

After the data migration of the SVOL 110 is completed, the MD-SDKC 100D deletes the path (path r1-r2) between the MS-SDKC 100B and the MD-SDKC 100D (step S161: see FIG. 34). Thereafter, the administrator can remove the MS-SDKC 100B from the computer system (step S162).

Next, the computer system after removing the MS-SDKC 100D in the computer system shown in FIG. 34 will be described.

FIG. 35 is a diagram showing a configuration example of a computer system after removal of MS-SDKC.

As shown in FIG. 35, MD-SDKC 100D disposes MS-SDKC 100B to PDKC 100A in communication via path mr-2. Therefore, the PDKC 100A can communicate with the MD-SDKC 100D as if it were communicating with the migration destination SDKC 100B as before without being aware of anything.

As mentioned above, although several examples were described, it cannot be overemphasized that this invention can be variously changed in the range which is not limited to these Examples and does not deviate from the summary.

For example, Example 1 is an example of migrating PVOL, and Example 2 is an example of migrating SVOL. For example, Example 1 and Example 2 are combined, and PVOL and SVOL are migrated in parallel. Is possible.

100A ... MS-PDKC, 100B ... MS-SDKC, 100C ... MD-PDKC, 100D ... MD-SDKC, 101 ... Port, 102 ... MPPK, 105 ... PVOL, 110 ... SVOL, 200 ... Host

Claims (15)

  1. A first primary logical volume that forms a copy pair with a secondary logical volume in a secondary storage device; a first journal storage area that stores a journal corresponding to write data to the first primary logical volume; and A migration destination primary storage device connected to a migration source primary storage device having a first control device transferred to the storage device,
    A second primary logical volume;
    A second journal storage area for storing a journal corresponding to write data to the second primary logical volume;
    A second control device that executes a copy of the data in the first primary logical volume to the second primary logical volume;
    When the second control device acquires the latest write order information from the migration source primary storage apparatus after the copying is completed and receives a write request for the second primary logical volume, the write data of the write request Is written in the second primary logical volume, a journal is generated from the journal data corresponding to the write data and the update information indicating the write order information based on the acquired latest write order information, and the journal is stored in the second primary logical volume. A migration destination primary storage device characterized by writing to a journal storage area.
  2. When the second control device receives a journal read request from the secondary storage device,
    If the order represented by the order information identified from the received journal read request is before the order represented by the acquired latest order information, the journal read request is transferred to the migration source primary storage device,
    If the order indicated by the order information identified from the received journal read request is after the order indicated by the latest order information, the corresponding journal is acquired from the second journal storage area. To
    The migration destination primary storage apparatus according to claim 1.
  3. Furthermore, it has a plurality of communication ports,
    The second control device virtualizes the identification information of the communication port connected to the secondary storage device among the plurality of communication ports into the identification information of the communication port of the migration source primary storage device. Features
    The migration destination primary storage apparatus according to claim 2.
  4. Furthermore, it has a plurality of communication ports,
    The second control device transmits the identification information of the communication port connected to the migration source primary storage apparatus among the plurality of communication ports to the communication port of the host connected to one of the plurality of communication ports. It is characterized by being virtualized into identification information.
    The migration destination primary storage apparatus according to claim 2.
  5. Furthermore, it further has a plurality of communication ports,
    The second control device virtualizes identification information of a communication port connected to a host among the plurality of communication ports into identification information of a communication port included in the migration source primary storage device.
    The migration destination primary storage apparatus according to claim 2.
  6. When the second control device receives a read request to the second primary logical volume from the host when the copying is not completed, the read target data according to the received read request is the first primary logical volume. If the data is already copied to the second primary logical volume, the read target data is read from the second primary logical volume, the read target data is transmitted to the host, and the read target data is the second primary logical volume. If the data is not copied to the primary logical volume, the read target data is read from the first primary logical volume, and the read read target data is transmitted to the host.
    The migration destination primary storage apparatus according to claim 1.
  7. In addition, it has a cache memory,
    The second control device stores the write target data in the cache memory, writes the write target data to the first primary logical volume, and then writes the write target data to the second primary logical volume. Characterized by the
    The migration destination primary storage apparatus according to claim 1.
  8. The second control device forms a path used to transmit a journal read request to the migration destination primary storage apparatus;
    When the second control device receives a journal read request in which the order information is specified from the secondary storage device, the write order information specified in the received journal read request indicates that the previous write order information is earlier than the latest write order information. If the write order information is guaranteed not to receive a read request for a journal, the path is deleted.
    The migration destination primary storage apparatus according to claim 1.
  9. The guaranteed write order information is write order information indicating the write order information after reflecting the number of journal read request permissible changes in the latest write order information,
    The migration destination primary storage apparatus according to claim 8.
  10. The path connecting the MS-PDKC and the SDKC is a path for the MS-PDKC to transmit a journal read request to the SDKC, and is only a path via the DKC.
    The migration destination primary storage apparatus according to claim 1.
  11. The path connecting the host and the MS-PDKC is a path for the host to transmit a read request or a write request designating the PVOL ID, and is only a path via the DKC. And
    The migration destination primary storage apparatus according to claim 1.
  12. A first primary logical volume that forms a copy pair with a secondary logical volume in a secondary storage device, and a first journal storage area that stores a journal corresponding to write data to the first primary logical volume, and the journal Is transferred from the migration source primary storage device to the secondary storage device to the migration destination primary storage device,
    A second primary logical volume;
    A second journal storage area for storing a journal corresponding to write data to the second primary logical volume;
    A second control device that executes a copy of the data in the first primary logical volume to the second primary logical volume;
    When the second control device acquires the latest write order information from the migration source primary storage apparatus after the copy is completed and receives a write request for the second primary logical volume, the write data of the write request Is written in the second primary logical volume, a journal is generated from the journal data corresponding to the write data and the update information indicating the write order information based on the acquired latest write order information, and the journal is stored in the second primary logical volume. Writing to the journal storage area,
    Method.
  13. When the migration destination primary storage device receives a journal read request from the secondary storage device,
    If the order represented by the order information identified from the received journal read request is before the order represented by the acquired latest order information, the journal read request is transferred to the migration source primary storage device,
    If the order indicated by the order information identified from the received journal read request is after the order indicated by the latest order information, the corresponding journal is acquired from the second journal storage area. To
    The method of claim 12.
  14. Identification of the communication port that the migration source primary storage device has, as the migration destination primary storage device, the identification information of the communication port connected to the secondary storage device among the plurality of communication ports of the migration destination primary storage device It is characterized by virtualizing information.
    The method of claim 12.
  15. The migration-destination primary storage device uses any one of the plurality of communication ports to identify identification information of a communication port connected to the migration-source primary storage device among a plurality of communication ports of the migration-destination primary storage device It is virtualized to the identification information of the communication port of the host connected to
    The method of claim 12.
PCT/JP2012/082361 2012-12-13 2012-12-13 Storage device and method for moving storage device WO2014091600A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/082361 WO2014091600A1 (en) 2012-12-13 2012-12-13 Storage device and method for moving storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/426,185 US9213497B2 (en) 2012-12-13 2012-12-13 Storage apparatus and storage apparatus migration method
PCT/JP2012/082361 WO2014091600A1 (en) 2012-12-13 2012-12-13 Storage device and method for moving storage device

Publications (1)

Publication Number Publication Date
WO2014091600A1 true WO2014091600A1 (en) 2014-06-19

Family

ID=50933921

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/082361 WO2014091600A1 (en) 2012-12-13 2012-12-13 Storage device and method for moving storage device

Country Status (2)

Country Link
US (1) US9213497B2 (en)
WO (1) WO2014091600A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751533B1 (en) * 2009-11-25 2014-06-10 Netapp, Inc. Method and system for transparently migrating storage objects between nodes in a clustered storage system
JP6212934B2 (en) * 2013-05-07 2017-10-18 富士通株式会社 Storage system, information processing apparatus control program, and storage system control method
US9836327B1 (en) * 2015-06-12 2017-12-05 Amazon Technologies, Inc. Network-based storage access control for migrating live storage clients

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182222A (en) * 2003-12-17 2005-07-07 Hitachi Ltd Remote copy system
JP2008165624A (en) * 2006-12-28 2008-07-17 Hitachi Ltd Computer system and first storage device
JP2009146106A (en) * 2007-12-13 2009-07-02 Hitachi Ltd Storage system having function which migrates virtual communication port which is added to physical communication port

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3410010B2 (en) * 1997-12-24 2003-05-26 株式会社日立製作所 Migration and an information processing system subsystems
US6766430B2 (en) * 2000-07-06 2004-07-20 Hitachi, Ltd. Data reallocation among storage systems
US6640291B2 (en) * 2001-08-10 2003-10-28 Hitachi, Ltd. Apparatus and method for online data migration with remote copy
US7139932B2 (en) * 2002-01-03 2006-11-21 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
JP4037257B2 (en) * 2002-12-26 2008-01-23 株式会社日立製作所 Information processing system control method, information processing system, and program
JP4322511B2 (en) * 2003-01-27 2009-09-02 株式会社日立製作所 Information processing system control method and information processing system
US20050050115A1 (en) * 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
JP4598387B2 (en) * 2003-09-17 2010-12-15 株式会社日立製作所 Storage system
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4422519B2 (en) * 2004-03-18 2010-02-24 株式会社日立製作所 Information processing system
JP4476683B2 (en) * 2004-04-28 2010-06-09 株式会社日立製作所 Data processing system
JP4738941B2 (en) * 2005-08-25 2011-08-03 株式会社日立製作所 Storage system and storage system management method
US8291101B1 (en) * 2005-12-08 2012-10-16 Juniper Networks, Inc. Synchronization of mutually shared data stored on network devices
US20080086608A1 (en) * 2006-10-10 2008-04-10 Hitachi, Ltd. System and method for migration of CDP journal data between storage subsystems
JP2008299789A (en) * 2007-06-04 2008-12-11 Hitachi Ltd Remote copy system, and control method for remote copy
EP2423818B1 (en) * 2010-04-07 2016-01-13 Hitachi, Ltd. Asynchronous remote copy system and storage control method
WO2011129006A1 (en) * 2010-04-15 2011-10-20 株式会社 日立製作所 Storage device and control method of storage device
US8510515B2 (en) * 2010-12-22 2013-08-13 Hitachi, Ltd. Storage system comprising multiple storage apparatuses with both storage virtualization function and capacity virtualization function
US8935496B2 (en) * 2012-08-31 2015-01-13 Hitachi, Ltd. Management method of virtual storage system and remote copy system
US8904133B1 (en) * 2012-12-03 2014-12-02 Hitachi, Ltd. Storage apparatus and storage apparatus migration method
US9052839B2 (en) * 2013-01-11 2015-06-09 Hitachi, Ltd. Virtual storage apparatus providing a plurality of real storage apparatuses
US9395936B2 (en) * 2013-04-22 2016-07-19 Hitachi, Ltd. Method and apparatus for remote storage performance data copy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182222A (en) * 2003-12-17 2005-07-07 Hitachi Ltd Remote copy system
JP2008165624A (en) * 2006-12-28 2008-07-17 Hitachi Ltd Computer system and first storage device
JP2009146106A (en) * 2007-12-13 2009-07-02 Hitachi Ltd Storage system having function which migrates virtual communication port which is added to physical communication port

Also Published As

Publication number Publication date
US9213497B2 (en) 2015-12-15
US20150227322A1 (en) 2015-08-13

Similar Documents

Publication Publication Date Title
JP5057656B2 (en) Storage system and storage system operation method
US9213494B1 (en) De-duplication in a virtualized storage environment
US8990153B2 (en) Pull data replication model
US7581061B2 (en) Data migration using temporary volume to migrate high priority data to high performance storage and lower priority data to lower performance storage
TWI467370B (en) Storage subsystem and storage system architecture performing storage virtualization and method thereof
US7870105B2 (en) Methods and apparatus for deduplication in storage system
US7778960B1 (en) Background movement of data between nodes in a storage cluster
US6073209A (en) Data storage controller providing multiple hosts with access to multiple storage subsystems
US8005800B2 (en) Data storage system for fast reverse restore
US7716183B2 (en) Snapshot preserved data cloning
US9639277B2 (en) Storage system with virtual volume having data arranged astride storage devices, and volume management method
JP4575059B2 (en) Storage device
US7415506B2 (en) Storage virtualization and storage management to provide higher level storage services
US9460028B1 (en) Non-disruptive and minimally disruptive data migration in active-active clusters
JP4738941B2 (en) Storage system and storage system management method
US8984221B2 (en) Method for assigning storage area and computer system using the same
US8521685B1 (en) Background movement of data between nodes in a storage cluster
JP4902403B2 (en) Information system and data transfer method
US8010837B2 (en) Storage sub system and data restoration method thereof
JP2004252686A (en) Information processing system
CN101174197B (en) Information system, data transfer method and data protection method
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP4800031B2 (en) Storage system and snapshot management method
EP1507205A2 (en) Multi-site remote-copy system
JP4990322B2 (en) Data movement management device and information processing system

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14426185

Country of ref document: US

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12890134

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: JP