WO2015068208A1 - システムおよびその制御方法 - Google Patents

システムおよびその制御方法 Download PDF

Info

Publication number
WO2015068208A1
WO2015068208A1 PCT/JP2013/079917 JP2013079917W WO2015068208A1 WO 2015068208 A1 WO2015068208 A1 WO 2015068208A1 JP 2013079917 W JP2013079917 W JP 2013079917W WO 2015068208 A1 WO2015068208 A1 WO 2015068208A1
Authority
WO
WIPO (PCT)
Prior art keywords
migration
host
storage
data
migration destination
Prior art date
Application number
PCT/JP2013/079917
Other languages
English (en)
French (fr)
Inventor
紀彰 井戸端
国彦 梨本
隆司 内山
相澤 正樹
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/079917 priority Critical patent/WO2015068208A1/ja
Publication of WO2015068208A1 publication Critical patent/WO2015068208A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • the present invention relates to a system and its control method.
  • the amount of data to be accumulated has become enormous as the use of computers for social infrastructure has progressed.
  • the storage capacity has increased in capacity and speeded up, and the demand for data migration for replacement with a new storage has increased.
  • Patent Document 1 states “The present invention relates to a system and method for providing online real-time transparent data transfer between two data storage devices.
  • the data storage system independently transfers the data from the first data storage system to the second data storage system independent of the source ....
  • the data processing unit is responsible for the data read request (read data operation Or a data write command (in the case of a write operation), this request is accepted by the second data storage device, in the case of a read operation, the data is stored on the second data storage device. If not, the second data storage device issues a data request to the first data storage device in the form of a read data command. And acquires data, requesting device is ready to utilize the data "SUMMARY OF THE INVENTION technique is described.
  • an object of the present invention is to prevent degradation of host access performance during data migration.
  • a system is a system in which a host, a migration source storage, and a migration destination storage are each connected by a communication path, a data write request is transmitted to the migration destination storage, and the read requested data is read.
  • the host that transmits a request to the migration destination storage and sends a read request other than the data requested to be written to the migration source storage, and the migration source storage that processes the read request received from the host or the migration destination storage
  • a migration destination storage that processes a write request and a read request received from the host, and transmits a read request to the migration source storage to migrate data from the migration source storage.
  • the present invention can be grasped as a system control method.
  • FIG. 1 is a diagram showing an outline of the present embodiment.
  • the system according to the present embodiment includes a host 11 that reads data from a storage and writes data to the storage, a migration source storage 12 that is a data migration source, and a migration destination storage 13 that is a data migration destination.
  • the Each of the migration source storage 12 and the migration destination storage 14 includes one or more volumes, and data migration is realized by copying data from the migration source volume 13 to the migration destination volume 14.
  • a volume is a unit of storage managed by the host 11, and may be any unit as long as it is a predetermined unit such as an LU (logical unit) or a partition.
  • Each of the migration source volume 13 and the migration destination volume 15 is further composed of pages.
  • a page is a data unit that is read and written by a single read request or write request from the host 11. For example, even if the host 11 reads / writes 1-byte data, pages including the 1-byte are read / written collectively.
  • the page is defined by the operating system of the host 11, particularly the file system therein, and is sometimes called a block.
  • the position of the page in the volume is identified by a number.
  • page # 1 which is an unmigrated page and page # 3 which is a migrated page are generated during data migration.
  • the host 11 reads data A from pages # 1 to 16 of the migration source storage 12, and reads data D from pages # 3 to 18.
  • the write from the host 11 has not been migrated or has been migrated, it is written to, for example, page # 2-17 of the migration destination storage 14.
  • data C is written regardless of the data B content of page # 2 if it has not been migrated, and data B of page # 2 content is overwritten to data C if it has been migrated.
  • Read from page # 2 reads data C from page # 2 17 of destination straight 14.
  • the host 11 reads from the migration source storage 12 even if the data D can be read from the migration destination storage 14 as in page # 3, and forcibly migrates if it is not migrated as in page # 1. And will not read from the migration destination storage 14. Thus, reads and writes can be distributed between the migration source storage 12 and the migration destination storage 14. Then, it is possible to prevent a decrease in performance of reading and writing from the host 11 during data migration.
  • FIG. 2 is a diagram showing an example of the system configuration.
  • the host 11 is a general computer including a CPU (Central Processing Unit), a memory, an HBA (Host Bus Adapter) 23, and the like.
  • the HBA 23 is an adapter that connects the migration source storage 12, the migration destination storage 14, and the host 11 with a plurality of paths, and transmits / receives data to be read / written through the paths.
  • the path conforms to standards such as Fiber Channel, and may conform to SCSI (small computer system interface) standards as an upper layer, but is not limited to these standards.
  • the memory of the host 11 stores a multipath software 21 that selects a plurality of paths under a predetermined condition, and an access path management table 22 that summarizes information on which path to select during migration. 21 is executed in the host 11.
  • general multipath software especially alternate path software, detects paths that cannot access the storage among multiple paths, it changes access to other paths. A path is selected according to the information in the management table 22, and if the selected path cannot be accessed, another path is selected.
  • the contents of the access path management table 22 will be described later with reference to FIG. 3, and the processing of the host 11 using the multipath software 21 will be described later with reference to FIG.
  • the migration source storage 12 is composed of a channel 24 that transmits / receives to / from the HBA 23 of the host 11, a control unit 25 that controls the entire migration source storage, a memory 26 that stores cache data and management information, a hard disk drive, and a semiconductor disk drive And a migration source volume 13 for storing data written from the host 11.
  • the control unit 25 includes the same configuration as a general computer including a CPU and a memory.
  • the migration destination storage 14 also has the same hardware configuration as the migration source storage 12, and the same reference numerals are given to the same components. Note that the migration source volume 13 and the migration destination volume 15 are not limited to one each, and may be a plurality.
  • the migration destination computer 14 is different in the processing of the control unit 25 and the contents of the memory 26 and includes a migration destination volume 15 instead of the migration source volume 13.
  • the memory 26 stores a write / migration management table 27, the contents of which will be described later with reference to FIG.
  • the virtual circumscribing volume 28 is a volume that is virtualized as if the migration destination storage 14 had a volume connected to the outside of the migration destination storage 14 (here, the migration source volume 13), and does not exist as hardware. In FIG. 2, it is represented by a broken line and realized by the processing of the control unit 25.
  • the control unit 25 of the migration destination storage 14 transfers the read / write request to the migration source storage 12 via the channel 24 as if it were the host 11.
  • the result of the read / write to the migration source volume 13 is received from the migration source storage 14 and transferred to the host 11.
  • the control unit 25 of the migration destination storage 14 copies data from the virtual circumscribing volume 28 to the migration destination volume 15, so that the control unit 25 reads for copying from the virtual external volume 28.
  • the request is transferred to the migration source storage 12.
  • FIG. 3 is a diagram showing an example of the access path management table 22.
  • the access management table 22 is provided in the host 11 and stores information on which path is used in the access path 33 for reading from the storage area (page) specified by the volume 31 and the page 32.
  • page 32 with volume 31 being VOL # 1 uses page 1 as WWN331 as access path 33.
  • the WWN (world wide name) is information for identifying a port in the Fiber Channel.
  • WWN 1 is an access path to the port of the migration source storage 12
  • WWN 2 is an access path to the port of the migration destination storage 14. It is.
  • all access paths 33 are WWN 1 and are read from the migration source storage 12.
  • the access path 33 corresponding to the written volume 31 and page 32 is changed to WWN 2.
  • the access path can be controlled so that the written data is read from the migration destination storage 14.
  • the access path of the write from the host 11 is WWN2
  • the write target is only the migration destination storage 14, so the information about the write is not in the access path management table 22.
  • the access path 33 is a WWN, a simple number or bitmap data may be used instead of the WWN as long as a plurality of paths to the migration source storage 12 and the migration destination storage 14 can be identified.
  • FIG. 4 is a diagram showing an example of the write / migration management table 27.
  • the write / migration management table 27 is provided in the migration destination storage 14, and writes information about whether or not the storage area (page) specified by the volume 41 and the page 42 has been written from the host 11 and whether the migration has been completed. They are stored in the flag 43 and the migration completion flag 44. When the write flag 43 is 0, it is not written, when it is 1, it indicates that it has been written, when the migration completion flag 44 is 0, it is not migrated, and when it is 1, the migration is complete. Show that.
  • both the write flag 43 and the transition completion flag 44 are all 0.
  • the write flag 43 and the migration completion flag 44 are 0, so that data is stored in the migration destination storage 14. Therefore, read from the migration source storage 12.
  • the write flag 43 is 1, the data has already been written from the host 11, so the migration is not performed.
  • FIG. 5 is a diagram showing an example of a system operation sequence.
  • the host 11 cooperates with the migration initialization 71 of the migration destination storage 14, such as recognizing the virtual circumscribing volume 28 at the migration initialization 51.
  • the migration destination storage 14 starts migration 72.
  • a management device other than the host 11 may issue a migration start instruction, or the migration destination storage 14 itself starts the migration start 72 according to a preset time or the like. May be.
  • the migration destination storage 14 copies data 73 from the virtual circumscribing volume 28 in the migration destination storage 14 to the migration destination volume 15.
  • the data copy 73 is the reading of data from the virtual circumscribed volume 28
  • the data is read from the migration source volume 13 via the control unit 25 and the channel 24 as already described.
  • data is migrated from the migration source volume 13 of the migration source storage 12 to the migration destination volume 15 of the migration destination storage 14.
  • the migration destination storage 14 executes two processes of an access process from the host 11 and a migration process in parallel.
  • the migration source storage 12 When the host 11 performs a read request 53 to the migration source storage 12 based on the access path management table 22 during the data migration, the migration source storage 12 reads the data corresponding to the read request 53 from the migration source volume 13 and reads it to the host 11 Data transmission 61 is performed. The processing of the host 11 in this case will be described later with reference to FIG. If the host 11 writes a write request 54 during data migration, the write request 54 is always issued to the migration destination storage 14, and the migration destination storage 14 sends the write request 54 data to the migration destination volume 15 by write data write 74. Write.
  • the migration destination storage 14 starts from the migration destination volume 15. Data is read and read data is transmitted 75.
  • the processing of the host 11 in this case will be described later with reference to FIG.
  • the data copy 73 proceeds in parallel with the access processing from the host 11, and when a predetermined condition is satisfied, a path switching instruction 76 is made to the migration source storage 12. This process will be described later with reference to FIG. 10. However, when the data copy 73 advances and a large amount of data can be read from the migration destination storage 14, the performance may be improved if the data is read from the migration destination storage 14. is there.
  • the migration source storage 12 performs path switching 62. Since the migration source storage 12 switches all access from the host 11 to the migration source storage 12 to the migration destination storage 14 by the path switching 62, access from the host 11 is stopped. This stop will be described later with reference to FIGS. 11 and 12.
  • FIG. 5 shows a case where the migration source storage 12 does not respond normally even if the host 11 performs the read request 56.
  • the host 11 recognizes the access stop of the migration source storage 12 and issues a read request 57 to the migration destination storage 14 instead of the read request 56, and the migration destination storage 14 sends a read data 77 to this.
  • the migration destination storage 14 terminates the data copy 73 and continues only the access processing from the host 11.
  • FIG. 6 is a diagram showing an example of the processing flow of the host 11.
  • the host 11 executes an application program and the like, but FIG. 6 omits the processing of executing the application program and the like, and shows processing for generation of a read request and a write request in the application program.
  • the host 11 recognizes the virtual circumscribing volume 28 of the migration destination storage 14 at step 81.
  • the recognition process may be any process as long as the host 11 can access the virtual circumscribed volume 28.
  • information of the virtual circumscribing volume 28 is acquired from the migration destination storage 14, and settings are made in the migration destination storage 14 as necessary.
  • the host 11 creates an alternate path for accessing the migration source volume 13 and the virtual circumscribed volume 28. Since the migration source volume 13 and the virtual circumscribed volume 28 appear to have the same configuration, an alternate path can be created.
  • step 83 the host 11 sets the volume 31 and page 32 of the access path management table 22 based on the recognized volume and page, sets all the access paths 33 to access WWN1, that is, the migration source storage 12, and initializes it. Turn into.
  • step 84 the host 11 instructs the migration destination storage 14 to start migration.
  • step 85 the host 11 determines whether a request for storage has occurred by an application program or the like, and in particular determines whether a read request has occurred. If a read request has occurred, the process proceeds to step 86. If not, the process proceeds to step 93. In the case of a read request, it is determined in step 86 whether the migration source storage 12 is accessible. If the migration source storage 12 informs the host 11 of the stop of access before access in the path switching 62, it is determined in step 86 that the migration source storage 12 cannot be accessed. Not only the notification by the path switching 62 but also information that can be determined to be inaccessible to the migration source storage 12 at the time of step 86 is determined to be inaccessible. Further, the read request 56 of FIG. If it can be accessed, the process proceeds to step 87, and if it cannot be accessed, the process proceeds to step 90.
  • the host 11 refers to the access path management table 22 in step 87, identifies the read target of the generated read request with the volume 31 and page 32, and reads the access path 33.
  • step 88 if the access path 33 is WWN1, it is determined as a path to the migration source storage 12, and if it is WWN2, it is determined as a path to the migration destination storage 14. If it is a path to the migration source storage 12, the process proceeds to Step 89, and if not, the process proceeds to Step 90.
  • WWN1 is changed to WWN2 in step 96 by writing to the migration destination storage 14 to be described later, and the data written to the migration destination storage 14 is read.
  • step 89 and step 90 determines whether the path used for the subsequent read request transmission and read data reception in step 91 and step 92 is the path to the migration source storage 12 or the path to the migration destination storage 14. select. Then, step 91 and step 92 are executed according to the selected path.
  • the alternate path software and its function are already widely known and used, for example, there is no response to the read data from the destination of the read request, or a timeout occurs, or When there is a rejection response, etc., retry is performed with another path constituting the alternate path.
  • the process returns to step 85 to accept the next request.
  • the host 11 determines whether the request generated in step 93 is a write request. If it is a write request, the process proceeds to step 94, a path of the migration destination storage 14 is selected in step 94, and a write request is transmitted in step 95. In step 96, the write target of the write request in the access path management table 22 is specified by the volume 31 and the page 32, and the access path 33 is changed to WWN2. Note that if it has already been changed to WWN2, it may simply be overwritten. If it is determined in step 93 that the request is not a write request, the process returns to step 85. Here, since the processing for the read request and the write request has been described, the processing returns to step 85. However, when processing another request for storage, the processing may proceed.
  • FIG. 7 is a diagram showing an example of the processing flow of the migration source storage 12.
  • the migration source storage 12 is basically a general storage, and performs processing for read requests and write requests from the host 11 and the migration destination storage 14. However, a path switching instruction is received from the migration destination storage 14, and processing is performed accordingly.
  • the migration source storage 12 receives a request from the host 11 or the migration destination storage 14 in step 101.
  • step 102 it is determined whether access from the host 11 and LU blockage are set. Only in this case, the process proceeds to step 103, and Busy is returned. Even if the LU block is set, the access from the migration destination storage 14 is data migration or access from the host 11 via the migration destination storage 14, so the process proceeds to step 104.
  • the LU block setting will be described later with reference to FIGS. 11 and 12, but is part of the process of stopping access from the host 11 by the path switching 62.
  • the migration source storage 12 determines in step 104 whether the reception in step 101 is a read request. If it is a read request, the process proceeds to step 105, and the read data is transmitted to the request source. If it is not a read request, the process proceeds to step 106. In step 106, it is determined whether the request is a write request. If it is a write request, the process proceeds to step 107, and the data is written to the migration source volume 13. If it is not a write request, the process proceeds to step 108. Note that the migration source storage 12 does not receive a write request during migration, but the migration source storage 12 does not have migration processing that is undergoing migration, so step 107 is performed to process the write request before migration. is there.
  • step 108 it is determined whether the instruction is a bus switching instruction from the bus switching instruction 76 of the migration destination storage 14. If it is a bus switching instruction, the process proceeds to step 109, a bus switching process described later with reference to FIG. 12 is performed, and if it is not a bus switching instruction, the process returns to step 101. Here, instead of returning to step 101, the process may proceed to another control command or the like.
  • FIG. 8 is a diagram showing an example of a processing flow for access from the host 11 of the migration destination storage 14.
  • the migration destination storage 14 initializes migration such as setting the virtual circumscribing volume 28 in step 111, and starts migration in response to an instruction to start migration from the host 11 in step 112. The contents of the migration initialization will be described later with reference to FIG.
  • the migration destination storage 14 determines whether or not the migration is incomplete in step 113. If it is incomplete, the process proceeds to step 114. If it is not incomplete, the process is terminated.
  • the processing contents of the migration after the start of migration and the determination of the completion of the migration will be described later with reference to FIG.
  • the migration destination storage 14 can receive access from the host 11 even after the migration is completed, but it is not necessary to use the write / migration management table 27, so that it is a general storage process not shown. .
  • the migration destination storage 14 receives an access from the host 11 in step 114, and determines in step 115 whether it is a read request. If it is a read request, the process proceeds to step 116, and if it is not a read request, the process proceeds to step 121.
  • step 116 the write / migration management table 27 is referenced to identify the read target volume 41 and page 42 and read the values of the write flag 43 and the migration completion flag 44. If any one of the write flag 43 and the transition completion flag 44 is 1 in step 117, it is determined that the write / transition has been completed, and the process proceeds to step 118, where the write flag 43 and the transition completion flag are determined.
  • step 118 data to be read already exists in the migration destination storage 14 due to a write request or migration from the host 11, so the data is read from the migration destination volume 15 instead of the virtual circumscribed volume 28 and transmitted to the host 11.
  • step 119 since there is no data to be read in the migration destination storage 14, the read request is transferred from the migration destination storage 14 to the migration source storage 12, and the read data is received from the migration source storage 12.
  • Transfer read data to The host 11 issues a read request to the migration destination storage 14 when determining that the migration source storage 12 cannot be accessed in step 86 by path switching 62 or the like other than issuing a read request to the migration destination storage 14 when reading the data requested to be written.
  • This read request is processed in steps 119 and 120 for issuance. Since the migration source storage 12 limits the Busy response due to LU blockage to the host 11 in step 102, the migration destination storage 14 can be read even when the LU is blocked.
  • the migration destination storage 14 determines in step 121 whether the reception in step 114 is a write request. If it is a write request, the process proceeds to step 122. If it is not a write request, the process returns to step 113. If requests other than the read request and the write request are processed, the process may return to step 113 and proceed to the request process, but is omitted here.
  • step 122 write data is written to the migration destination volume 15, and in step 123, the write target of the write request in the write / migration management table 27 is specified by the volume 41 and page 42, and the write flag 43 is changed to 1. If it has already been changed to 1, 1 may be overwritten. Then, the process returns to step 113.
  • FIG. 9 is a diagram showing an example of the migration initialization process flow in step 111 of the migration destination storage 14.
  • the migration destination storage 14 sets a virtual circumscribed volume 28 corresponding to the migration source volume 13 in step 131. Then, in response to the recognition of the virtual circumscribing volume 28 in Step 81 of the host 11, the migration destination storage 14 responds to the host 11 in Step 132. For example, it responds to an inquiry about the capacity of the virtual circumscribed volume 28.
  • step 133 settings corresponding to the migration destination volume 15 are made to the volume 41 and page 42 of the write / migration management table 27, and 0 is set to all of the write flag 43 and the migration completion flag 44.
  • a count value of the progress of migration which will be described later with reference to FIG. 10, is initialized.
  • FIG. 10 is a diagram showing an example of a processing flow of the data copy 73 and the bus switching instruction 76 executed by the migration destination storage 14 from the migration start 72 to the migration completion 78. This processing is performed in parallel with the access processing from the host 11 of the migration destination storage 14 described with reference to FIG.
  • the migration destination storage 14 refers to the write / migration management table 27, identifies the copy target volume 41 and page 42 for migration, and reads the write flag 43.
  • step 142 it is determined whether the write flag 43 is 0. If it is determined that the write flag 43 is 0, that is, it has not been written, the process proceeds to step 143. If it is determined that 1 is written, the process proceeds to step 145.
  • the data is not copied to the page so that the data written from the host 11 is not overwritten by migration. Since the data has not been written in step 143, the page data to be copied is copied from the virtual circumscribing volume 28 to the migration destination volume 15, and the migration completion flag 44 of the page to be copied in the write / migration management table 27 is set to 1 in step 144. change.
  • the migration destination storage 14 counts up the count value in step 145.
  • the count value may be used to specify the copy target page as a value obtained by combining the copy target volume number and the page number, or may be a natural number different from the copy target specification. When the natural number is different from the copy target specification, the combination of the volume number and page number specifying the copy target page is also updated separately from the count.
  • the count value is compared with a predetermined determination value. If the count value is larger than the predetermined determination value, the process proceeds to step 147, and a path switching instruction is transmitted to the migration source storage 12. If the count value is less than or equal to the predetermined determination value, the path switching instruction is not transmitted and the process proceeds to step 148.
  • the data can be read in a shorter time by directly accessing the migration source storage 12 and reading the data.
  • the migration destination storage 14 since the migration destination storage 14 generally has higher performance than the migration source storage 12, data already transferred to the migration destination storage 14 can be read in a shorter time by reading from the migration destination storage 14. Therefore, if there is no write request, if the time can be shortened by accessing the migration destination storage 14 by the time required for steps 119 and 120 in all accesses of the read, the migration destination storage 14 Higher performance can be obtained by accessing.
  • read data can be obtained in a shorter time by issuing a read request to the high-performance migration destination storage 14. If there is a write request, the load of write request processing is applied to the migration destination storage 14, so issuing a read request to the migration source storage 12 will distribute the processing load, but in principle there is no write request. The same condition occurs and the predetermined judgment value is simply set higher than when there is no write request. In this way, the predetermined determination value is set based on the ratio between the read request and the write request for the migration target data, the performance difference between the migration source storage 12 and the migration destination storage 14, and the like.
  • step 148 the migration destination storage 14 determines whether or not all of the data to be migrated has been copied. If not, the migration returns to step 141 and proceeds to the next page. If completed, the procedure proceeds to step 149. The transition is complete. This completion of migration is a target of determination in step 113. Whether or not all the copies have been completed may be determined based on the count value, may be determined based on the write / migration management table 27, or may be determined based on other management information. .
  • FIG. 11 is a diagram illustrating an example of a unit in which access is stopped by the path switching 62.
  • the volume is LU
  • a Busy response is made when the migration source LU (VOL # 01) is accessed as switching of LU units.
  • the Busy response is included in the SCSI standard response and is LU blocking. However, if the access can be rejected in units of LU, another response or no response may be used instead of the Busy response.
  • the Busy response is issued after actually receiving a request such as a read request.
  • Logout When multiple LUs (VOL # 11 to # 14) are assigned to a host group and migration is performed in units of host groups, Logout may be issued to each host in the host group as switching in units of host groups. Logout is a Fiber-Channel standard communication end notification protocol and can be issued regardless of the reception of a request. It responds Logout to a new Login.
  • LUs VOL # 21 to # 34
  • the port When a plurality of LUs (VOL # 21 to # 34) are assigned to a port and the migration is performed in units of ports, the port may be linked down as a switch in units of ports. Link Down is the stop of light emission and light reception of the Fiber Channel standard port.
  • FIG. 12 is a diagram showing an example of a path switching process flow in step 109 of the migration source storage 12.
  • the migration source storage 12 determines in step 151 whether the path switching is in LU units, and if it is in LU units, it proceeds to step 152 and sets LU blockage. This LU block setting is a determination target in step 102. If it is not in LU units, the process proceeds to step 153 to determine whether it is in host group units. If the host group unit is used, the process proceeds to step 154, and a logout is issued to each host of the corresponding host group.
  • step 155 determines whether it is a port unit. If it is a port unit, the process proceeds to step 156, and the corresponding port is linked down. If it is not a port unit, the process ends.
  • the LU unit, the host group unit, and the port unit determination target may be set in advance in the migration source storage 12, or may be set in advance in the migration destination storage 14 from the migration destination storage 14. May be included in the path switching instruction.
  • the migration destination storage 14 may use the migration information to include the migration unit as a path switching unit in the path switching instruction.
  • the configuration in which the virtual circumscribing volume 28 is set and transferred has been described.
  • remote copy may be performed directly from the migration source volume 13 to the migration destination volume 15.
  • the host 11 recognizes the virtual circumscribing volume 28 and writes to the migration destination volume 15 by, for example, a write request to the virtual circumscribing volume 28.
  • the host 11 recognizes the migration destination volume 15 and recognizes the migration destination volume.
  • a write request may be issued directly to 15, and a read request for data not in the migration destination volume 15 may be transferred to the migration source storage 12.
  • the load can be distributed between the migration source storage 12 and the migration destination storage 14, and overall host access performance can be improved. Can be increased.
  • the read request is switched to the migration destination storage 14 according to the progress of the migration, the high performance of the migration destination storage 14 can be used.

Landscapes

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

Abstract

 ホストと移行元ストレージと移行先ストレージとのそれぞれを通信パスで接続したシステムであって、データのライト要求を前記移行先ストレージへ送信し、前記ライト要求したデータのリード要求を前記移行先ストレージへ送信し、前記ライト要求したデータ以外のリード要求を前記移行元ストレージへ送信する前記ホストと、前記ホストあるいは前記移行先ストレージから受信したリード要求を処理する前記移行元ストレージと、前記ホストから受信したライト要求とリード要求を処理するとともに、前記移行元ストレージへリード要求を送信して前記移行元ストレージからデータを移行する前記移行先ストレージと、を備える。

Description

システムおよびその制御方法
 本発明はシステムおよびその制御方法に関するものである。
 コンピュータの社会インフラなどへの利用が進むにつれて蓄積するデータ量が膨大なものとなっている。これに対してストレージも大容量化、高速化が進み、新たなストレージへ交換するためのデータの移行の要求が増大している。
 このようなデータの移行(移送)に関して、例えば特許文献1には「本発明は、2つのデータ記憶装置の間でオンライン実時間透過データ移送を提供するためのシステム及び方法に関する。……第2のデータ記憶システムは、発生源とは独立して第1のデータ記憶システムから第2のデータ記憶システムまでデータを独立的に移送する。……データ処理装置は、データ読取り要求(読取りデータオペレーションの場合)又はデータ書込み指令(書込みオペレーションの場合)を発出する。この要求は、第2のデータ記憶装置によって受理される。読取りオペレーションの場合、……データが第2のデータ記憶装置上に記憶されていない場合、第2のデータ記憶装置は、読取りデータ指令の形で第1のデータ記憶装置に対してデータ要求を発出し、データを獲得し、要求している装置がそのデータを利用できる状態にする」(発明の開示)技術が記載されている。
特表平10-508967号公報
 特許文献1に開示された技術によれば、データの移行中であってもデータ処理装置(ホスト)の読取りと書込みのオペレーションを処理できる。しかしながら、すべてのオペレーションは移行先である第2のデータ記憶装置が受け取るため、第2のデータ記憶装置の処理負荷が増加して性能低下の原因となる。
 そこで、本発明の目的は、データ移行中におけるホストアクセスの性能低下を防ぐことにある。
 本発明にかかるシステムは、ホストと移行元ストレージと移行先ストレージとのそれぞれを通信パスで接続したシステムであって、データのライト要求を前記移行先ストレージへ送信し、前記ライト要求したデータのリード要求を前記移行先ストレージへ送信し、前記ライト要求したデータ以外のリード要求を前記移行元ストレージへ送信する前記ホストと、前記ホストあるいは前記移行先ストレージから受信したリード要求を処理する前記移行元ストレージと、前記ホストから受信したライト要求とリード要求を処理するとともに、前記移行元ストレージへリード要求を送信して前記移行元ストレージからデータを移行する前記移行先ストレージと、を備えたことを特徴とする。
 また、本発明はシステムの制御方法としても把握される。
 本発明によれば、移行元ストレージへリード要求を分散するため、データ移行中におけるホストアクセスの性能低下を防ぐことができる。
データの移行とホストアクセス先の例を示す図である。 システムの構成の例を示す図である。 アクセスパス管理テーブルの例を示す図である。 ライト/移行管理テーブルの例を示す図である。 移行とホストアクセスのシーケンスの例を示す図である。 ホストの処理フローの例を示す図である。 移行元ストレージの処理フローの例を示す図である。 移行先ストレージのホストアクセスの処理フローの例を示す図である。 移行先ストレージの移行初期化の処理フローの例を示す図である。 移行先ストレージの移行の処理フローの例を示す図である。 パス切替によるアクセス停止単位の例を示す図である。 移行元ストレージのパス切替処理フローの例を示す図である。
 以下、添付図面を参照して、好ましいシステムの構成およびそのシステムにおける処理を説明する。
 図1は本実施の形態の概要を示す図である。本実施の形態におけるシステムは、ストレージからデータをリードし、ストレージへデータをライトするホスト11と、データの移行元となる移行元ストレージ12と、データの移行先となる移行先ストレージ13から構成される。移行元ストレージ12と移行先ストレージ14それぞれは1個以上のボリュームを備え、データの移行は移行元ボリューム13から移行先ボリューム14へデータをコピーすることにより実現する。ボリュームはホスト11の管理する記憶の単位であり、LU(論理ユニット)やパーティションなど所定の単位であれば、どのような単位でもよい。移行元ボリューム13と移行先ボリューム15のそれぞれは、さらにページから構成される。ページはホスト11からの1回のリード要求あるいはライト要求で読み書きされるデータ単位である。例えば、ホスト11が1バイトのデータを読み書きしても、その1バイトを含むページがまとめて読み書きされる。ページはホスト11のオペレーティングシステム、特にその中のファイルシステムなどによって規定されており、ブロックなどと呼ばれることもある。ここでは、ボリューム内におけるページの位置を番号で識別する。
 図1において、データ移行の途中では未移行のページであるページ#1と移行済のページであるページ#3とが発生する。これに対してホスト11は移行元ストレージ12のページ#1 16からデータAをリードし、ページ#3 18からデータDをリードする。また、ホスト11からのライトは未移行か移行済かにかかわらず、移行先ストレージ14の例えばページ#2 17へライトする。ここでは、未移行の場合にページ#2の内容のデータBとは関係なくデータCが書かれ、移行済の場合にページ#2の内容のデータBがデータCへ上書きされるため、ライト以降のページ#2からのリードは移行先ストレート14のページ#2 17からデータCをリードする。
 ホスト11は、ページ#3のように移行先ストレージ14からでもデータDをリードできる場合であっても移行元ストレージ12からリードし、ページ#1のように未移行の場合に強制的に移行させて移行先ストレージ14からリードすることがない。このため、リードやライトを移行元ストレージ12と移行先ストレージ14とで分散することができる。そして、データ移行中のホスト11からのリードやライトの性能低下を防止できる。
 その結果、業務処理でホストから利用中のストレージをリプレースしやすくなるため、ストレージのユーザは業務処理の減少期を待つことなく新たなストレージが必要になってから短時間でリプレースできる。また、ストレージのリプレースにともないデータの移行作業をするシステムインテグレータは正月などの作業集中を避けることができる。
 図2はシステムの構成の例を示す図である。ホスト11はCPU(中央処理装置)、メモリ、HBA(ホストバスアダプタ)23などを備えた一般的なコンピュータである。ここでは、コンピュータの一般的な構成の説明は省略する。HBA 23は移行元ストレージ12および移行先ストレージ14とホスト11とを複数のパスで接続するアダプタであり、パスを通してリードライトするデータなどを送受信する。パスはFibre Channelなどの規格に準拠しており、上位層としてSCSI(小型計算機システムインターフェイス)の規格に準拠してもよいが、これらの規格に限定するものではない。
 ホスト11のメモリなどには、複数のパスを所定の条件で選択するマルチパスソフト21と、移行中にどのパスを選択するかの情報をまとめたアクセスパス管理テーブル22が記憶され、マルチパスソフト21はホスト11の中で実行される。一般的なマルチパスソフト、特に交替パスソフトは複数のパスの中でストレージへアクセスできないパスを検出すると、他のパスへアクセスを変更するものであるが、ここでのマルチパスソフト21はアクセスパス管理テーブル22の情報にしたがってパスを選択し、選択したパスでアクセスできないと他のパスを選択する。アクセスパス管理テーブル22の内容は図3を用いて後で説明し、マルチパスソフト21を用いたホスト11の処理は図6を用いて後で説明する。
 移行元ストレージ12は、ホスト11のHBA 23との間で送受信するチャネル24、移行元ストレージ全体を制御する制御部25、キャッシュデータや管理情報を記憶するメモリ26、ハードディスクドライブや半導体ディスクドライブで構成されてホスト11からライトされるデータを記憶する移行元ボリューム13から構成される。制御部25はCPUやメモリから構成される一般的なコンピュータと同じ構成を含む。移行先ストレージ14も移行元ストレージ12と同じハードウェアの構成であり、同じものには同じ符号を付けてある。なお、移行元ボリューム13と移行先ボリューム15はそれぞれ1個に限定するものではなく、複数個であってもよい。
 移行先コンピュータ14は制御部25の処理とメモリ26の内容が異なり、移行元ボリューム13の代わりに移行先ボリューム15を備える。メモリ26はライト/移行管理テーブル27を記憶するが、このテーブルの内容は図4を用いて後で説明する。仮想外接ボリューム28は移行先ストレージ14の外部に接続されたボリューム(ここでは移行元ボリューム13)を移行先ストレージ14が備えているかのように仮想化したボリュームであり、ハードウェアとしては存在しないため図2では破線で表し、制御部25の処理により実現する。例えば、ホスト11が仮想外接ボリューム28へリードライト要求を発行すると、移行先ストレージ14の制御部25はあたかもホスト11であるかのように移行元ストレージ12へリードライト要求をチャネル24経由で転送し、移行元ボリューム13へのリードライトの結果を移行元ストレージ14から受け取ってホスト11へ転送する。移行先ストレージ14の内部においても、移行先ストレージ14の制御部25が仮想外接ボリューム28から移行先ボリューム15へデータをコピーすることにより、制御部25は仮想外部ボリューム28からのコピーのためのリード要求を移行元ストレージ12へ転送する。ただし、これらは仮想外接ボリュームの基本的な考え方であり、具体的な動作は図8を用いて後で説明する。
 図3はアクセスパス管理テーブル22の例を示す図である。アクセス管理テーブル22はホスト11に備えられ、ボリューム31とページ32により特定される記憶領域(ページ)からのリードで、どのパスを使用するかの情報をアクセスパス33に格納している。例えば、ボリューム31がVOL#1のページ32がページ#1はアクセスパス33としてWWN 1を使用する。WWN(ワールドワイドネーム)はFibre Channelにおいてポートを識別する情報であり、ここでは、WWN 1が移行元ストレージ12のポートへのアクセスパスであり、WWN 2が移行先ストレージ14のポートへのアクセスパスである。
 初期状態ではすべてのアクセスパス33はWWN 1であり、移行元ストレージ12からリードする。そして、ライトするとライトしたボリューム31、ページ32に対応するアクセスパス33をWWN 2へ変更する。これにより、ホスト11がライトした場合は、そのライトしたデータを移行先ストレージ14からリードするようアクセスパスを制御できる。なお、ホスト11からのライトのアクセスパスはWWN2であり、ライトの対象は移行先ストレージ14のみであるので、ライトに関する情報はアクセスパス管理テーブル22にはない。また、アクセスパス33をWWNとしたが、移行元ストレージ12と移行先ストレージ14に対する複数のパスを識別できれば、WWNの代わりは単なる番号やビットマップデータなどでもよい。
 図4はライト/移行管理テーブル27の例を示す図である。ライト/移行管理テーブル27は移行先ストレージ14に備えられ、ボリューム41とページ42により特定される記憶領域(ページ)がホスト11からライトされたか否かと移行が完了したか否かの情報をそれぞれライトフラグ43と移行完了フラグ44に格納している。ライトフラグ43が0の場合はライトされておらず、1の場合はライトされたことを示し、移行完了フラグ44が0の場合は移行されておらず、1の場合は移行が完了していること示す。
 初期状態ではライトフラグ43、移行完了フラグ44ともにすべてが0である。そして、図4に示した内容では、ボリューム41がVOL #1のページ42がページ#1からリードする場合はライトフラグ43と移行完了フラグ44が0であるから、移行先ストレージ14にはデータがないため、移行元ストレージ12からリードする。VOL #2のページ#1へ移行する場合は、ライトフラグ43が1であるから、既にホスト11からデータがライトされているため移行しない。
 図5はシステムの動作シーケンスの例を示す図である。ホスト11は移行初期化51にて仮想外接ボリューム28を認識するなど、移行先ストレージ14の移行初期化71と連携する。ホスト11が移行開始指示52すると移行先ストレージ14は移行開始72する。なお、ホスト11が移行開始指示52するとしたが、ホスト11以外の管理装置が移行開始の指示を出してもよいし、移行先ストレージ14自体が予め設定された時刻等に応じて移行開始72してもよい。移行先ストレージ14は移行開始72すると、移行先ストレージ14内の仮想外接ボリューム28から移行先ボリューム15へデータコピー73する。データコピー73は仮想外接ボリューム28からのデータの読み出しであるため、既に説明したように制御部25とチャネル24を経由して移行元ボリューム13からデータを読み出すこととなる。これにより、移行元ストレージ12の移行元ボリューム13から移行先ストレージ14の移行先ボリューム15へデータを移行することになる。移行先ストレージ14が移行開始72すると、移行先ストレージ14はホスト11からのアクセス処理と移行処理の2つの処理を並行して実行する。
 データの移行中にホスト11がアクセスパス管理テーブル22に基づいて移行元ストレージ12へリード要求53すると、移行元ストレージ12は移行元ボリューム13からリード要求53に対応するデータを読み出し、ホスト11へリードデータ送信61する。この場合のホスト11の処理は図6を用いて後で説明する。また、データ移行中にホスト11がライト要求54すると、ライト要求54は必ず移行先ストレージ14へ向けて発行され、移行先ストレージ14はライトデータ書込み74により移行先ボリューム15へライト要求54のデータを書き込む。さらに、データ移行中にホスト11がライトデータ書込み74にて書き込んだデータを読み出すリード要求55をアクセスパス管理テーブル22に基づいて移行先ストレージ14へ発行すると、移行先ストレージ14は移行先ボリューム15からデータを読み出してリードデータ送信75する。この場合のホスト11の処理も図6を用いて後で説明する。
 ホスト11からのアクセス処理と並行してデータコピー73は進み、所定の条件を満たすと、移行元ストレージ12へパス切替指示76する。この処理については図10を用いて後で説明するが、データコピー73が進み多くのデータが移行先ストレージ14からリード可能となると移行先ストレージ14からリードした方が総合的に性能のよくなる場合がある。バス切替指示76に対して移行元ストレージ12はパス切替62する。移行元ストレージ12はパス切替62によりホスト11から移行元ストレージ12へのアクセスをすべて移行先ストレージ14へ切り替えるため、ホスト11からのアクセスを停止する。この停止に関しては、図11、12を用いて後で説明するが、ホスト11からのアクセスが発生しても、そのアクセスに正常に応答しないことによりアクセスの停止をホスト11へ知らせる処理と、アクセス発生の前にホスト11へ知らせる処理とがある。図5ではホスト11がリード要求56しても移行元ストレージ12が正常に応答しない場合を示す。ホスト11は移行元ストレージ12のアクセス停止を認識して、リード要求56の代わりにリード要求57を移行先ストレージ14へ発行し、これに対して移行先ストレージ14はリードデータ送信77する。
 移行先ストレージ14は移行完了78すると、データコピー73を終了し、ホスト11からのアクセス処理のみを継続する。
 図6はホスト11の処理フローの例を示す図である。ホスト11ではアプリケーションプログラムなどを実行するが、図6ではアプリケーションプログラムなどの実行の処理に関しては省略し、アプリケーションプログラムなどでのリード要求やライト要求の発生に対する処理を示す図となっている。まず、ホスト11はステップ81で移行先ストレージ14の仮想外接ボリューム28を認識する。認識処理はホスト11が仮想外接ボリューム28へアクセス可能となる処理であれば、どのような処理でもよい。一般的には仮想外接ボリューム28の情報を移行先ストレージ14から取得し、必要に応じて移行先ストレージ14へ設定などを行う。そして、ホスト11はステップ82で移行元ボリューム13と仮想外接ボリューム28とへアクセスする交替パスを作成する。移行元ボリューム13と仮想外接ボリューム28とは同じ構成に見せかけられるため、交替パスを作成できる。
 ホスト11はステップ83でアクセスパス管理テーブル22のボリューム31とページ32を認識済みのボリュームとページに基づいて設定し、アクセスパス33をすべてWWN1すなわち移行元ストレージ12へアクセスするように設定して初期化する。ホスト11はステップ84で移行先ストレージ14へ移行開始を指示する。
 ホスト11はステップ85でアプリケーションプログラムなどによりストレージへの要求が発生したかを判定し、特にリード要求が発生したかを判定する。リード要求が発生した場合はステップ86へ進み、リード要求ではない場合はステップ93へ進む。リード要求の場合、ステップ86で移行元ストレージ12へアクセス可能かを判定する。パス切替62において移行元ストレージ12がアクセス前にホスト11へアクセスの停止を知らせた場合は、ステップ86で移行元ストレージ12へアクセスできないと判定する。なお、パス切替62による知らせに限らず、ステップ86の時点で移行元ストレージ12へアクセス不可能と判定できる情報がある場合は、アクセスできないと判定する。また、図5のリード要求56はステップ86では判定できない。アクセス可能な場合はステップ87へ進み、アクセス不可能な場合はステップ90へ進む。
 ホスト11はステップ87でアクセスパス管理テーブル22を参照し、発生したリード要求のリード対象をボリューム31とページ32で特定し、アクセスパス33を読み取る。そして、ステップ88でアクセスパス33がWWN1の場合は移行元ストレージ12へのパスと判定し、WWN2の場合は移行先ストレージ14へのパスと判定する。移行元ストレージ12へのパスの場合はステップ89へ進み、そうでない場合はステップ90へ進む。WWN2の場合は、後で説明する移行先ストレージ14へのライトによりステップ96でWWN1をWWN2へ変更した場合であって、移行先ストレージ14へ書き込んだデータを読み出す場合である。
 ステップ89とステップ90のそれぞれは、後に続くステップ91とステップ92によるリード要求送信とリードデータ受信に使用するパスが移行元ストレージ12へのパスとするか移行先ストレージ14へのパスとするかを選択する。そして、選択したパスにしたがってステップ91とステップ92を実行する。ここで、図6での記載は省略するが、交替パスのソフトウェアおよびその機能は既に広く知られ使用されており、例えばリード要求を送信した先からリードデータの応答がなくタイムアウトが発生する、あるいは拒否の応答などがあると、交替パスを構成する他のパスでリトライする。ステップ92でリードデータを受信すると、次の要求を受け付けるためにステップ85へ戻る。
 ホスト11はステップ93で発生した要求がライト要求であるかを判定する。ライト要求である場合はステップ94へ進み、ステップ94で移行先ストレージ14のパスを選択し、ステップ95でライト要求を送信する。そして、ステップ96でアクセスパス管理テーブル22の中のライト要求のライト対象をボリューム31とページ32で特定し、アクセスパス33をWWN2へ変更する。なお、既にWWN2へ変更されている場合は単に上書きしてもよい。ステップ93でライト要求でないと判定した場合は、ステップ85へ戻る。ここでは、リード要求とライト要求に対する処理を記載したためステップ85へ戻るが、ストレージに対する他の要求を処理する場合は、その処理へ進むとしてもよい。
 図7は移行元ストレージ12の処理フローの例を示す図である。移行元ストレージ12は基本的には一般的なストレージであり、ホスト11と移行先ストレージ14からのリード要求とライト要求に対する処理を行うものである。ただし、移行先ストレージ14からパス切替の指示の受信があり、それに応じた処理を行う。
 まず、移行元ストレージ12はステップ101でホスト11あるいは移行先ストレージ14から要求を受信する。次に、ステップ102でホスト11からのアクセスかつLU閉塞に設定されているかを判定し、この場合のみステップ103へ進み、Busyを応答する。LU閉塞に設定されていても移行先ストレージ14からのアクセスはデータ移行あるいは移行先ストレージ14経由のホスト11からのアクセスであるので、ステップ104へ進む。LU閉塞の設定に関しては図11、12を用いて後で説明するが、パス切替62によりホスト11からのアクセスを停止する処理の一部である。
 移行元ストレージ12はステップ104でステップ101の受信がリード要求の受信であるかを判定する。リード要求の場合はステップ105へ進み、リードデータを要求元へ送信し、リード要求でない場合はステップ106へ進む。ステップ106ではライト要求であるかを判定する。ライト要求の場合はステップ107へ進み、データを移行元ボリューム13へ書き込み、ライト要求でない場合はステップ108へ進む。なお、移行中に移行元ストレージ12はライト要求を受信することはないが、移行元ストレージ12には移行中となる移行の処理がないので、移行前のライト要求を処理するためにステップ107がある。ステップ108で移行先ストレージ14のバス切替指示76からのバス切替の指示であるかを判定する。バス切替の指示である場合はステップ109へ進み、図12を用いて後で説明するバス切替処理を行い、バス切替指示でない場合はステップ101へ戻る。なお、ここでステップ101へ戻らず、他の制御コマンドなどの処理へ進んでもよい。
 図8は移行先ストレージ14のホスト11からのアクセスに対する処理フローの例を示す図である。まず、移行先ストレージ14はステップ111で仮想外接ボリューム28を設定するなどの移行の初期化を行い、ステップ112でホスト11から移行開始の指示を受けて移行を開始する。移行初期化の内容に関しては図9を用いて後で説明する。そして、移行先ストレージ14はステップ113で移行が未完であるかを判定し、未完である場合はステップ114へ進み、未完でない場合は処理を終了する。移行開始後の移行の処理内容と移行の完了の判定に関しては図10を用いて後で説明する。移行先ストレージ14は移行が完了した後でもホスト11のアクセスを受けることは可能であるが、ライト/移行管理テーブル27を使用する必要がないため、図示を省略した一般的なストレージの処理となる。
 移行先ストレージ14はステップ114でホスト11からのアクセスを受信し、ステップ115でリード要求かを判定する。リード要求の場合はステップ116へ進み、リード要求でない場合はステップ121へ進む。ステップ116ではライト/移行管理テーブル27を参照し、リード要求のリード対象のボリューム41とページ42を特定してライトフラグ43と移行完了フラグ44の値を読み取る。そして、ステップ117でライトフラグ43あるいは移行完了フラグ44のいずれか1つでも1になっている場合は、ライト/移行が完了済みと判定して、ステップ118へ進み、ライトフラグ43と移行完了フラグ44の両方が0の場合は、ライト/移行が完了済みではないと判定して、ステップ119へ進む。ステップ118ではホスト11からのライト要求あるいは移行により既に移行先ストレージ14にリード対象のデータが存在するため、仮想外接ボリューム28ではなく移行先ボリューム15からデータを読み出してホスト11へ送信する。
 ステップ119では移行先ストレージ14にリード対象のデータが存在しないため、リード要求を移行先ストレージ14から移行元ストレージ12へ転送し、移行元ストレージ12からリードデータを受信して、ステップ120でホスト11へリードデータを転送する。ホスト11はライト要求したデータをリードするとき移行先ストレージ14へリード要求を発行する以外に、パス切替62などによりステップ86で移行元ストレージ12へアクセスできないと判定すると移行先ストレージ14へリード要求を発行するため、このリード要求をステップ119とステップ120で処理する。移行元ストレージ12はステップ102でLU閉塞によるBusy応答をホスト11に限定しているため、移行先ストレージ14はLU閉塞時もリードできる。
 移行先ストレージ14はステップ121でステップ114の受信がライト要求であるかを判定する。ライト要求の場合はステップ122へ進み、ライト要求でない場合はステップ113へ戻る。なお、リード要求とライト要求以外の要求も処理する場合はステップ113へ戻らず、その要求の処理へ進んでもよいが、ここでは省略する。ステップ122でライトデータを移行先ボリューム15へ書き込み、ステップ123でライト/移行管理テーブル27の中のライト要求のライト対象をボリューム41とページ42で特定してライトフラグ43を1に変更する。既に1に変更されている場合は1を上書きしてもよい。そして、ステップ113へ戻る。
 図9は移行先ストレージ14のステップ111の移行初期化の処理フローの例を示す図である。移行先ストレージ14はステップ131で移行元ボリューム13に対応する仮想外接ボリューム28を設定する。そして、ホスト11のステップ81による仮想外接ボリューム28の認識に対し、移行先ストレージ14はステップ132でホスト11へ応答する。例えば仮想外接ボリューム28の容量などの問い合わせに対して応答する。ステップ133でライト/移行管理テーブル27のボリューム41とページ42へ移行先ボリューム15に対応する設定をし、ライトフラグ43と移行完了フラグ44のすべてへ0を設定する。ステップ134では図10を用いて後で説明する移行の進捗のカウント値を初期化する。
 図10は移行先ストレージ14が移行開始72から移行完了78までの間に実行するデータコピー73とバス切替指示76の処理フローの例を示す図である。この処理は図8を用いて説明した移行先ストレージ14のホスト11からのアクセス処理と並行して行う。移行先ストレージ14はステップ141でライト/移行管理テーブル27を参照し、移行のためのコピー対象のボリューム41とページ42を特定して、ライトフラグ43を読み出す。ステップ142でライトフラグ43が0であるかを判定し、0すなわちライト済みでないと判定した場合はステップ143へ進み、1すなわちライト済みであると判定した場合はステップ145へ進む。ライト済みである場合は、ホスト11からライトしたデータを移行で上書きしないように、そのページへはデータをコピーしない。ステップ143ではライト済みでないため、仮想外接ボリューム28から移行先ボリューム15へコピー対象のページのデータをコピーし、ステップ144でライト/移行管理テーブル27のコピー対象のページの移行完了フラグ44を1に変更する。
 移行先ストレージ14はステップ145でカウント値をカウントアップする。カウント値はコピー対象のボリュームの番号とページの番号を組み合わせた値として、コピー対象のページの特定に使用してもよいし、コピー対象の特定とは別の自然数としてもよい。コピー対象の特定とは別の自然数とした場合は、コピー対象のページを特定するボリュームの番号とページの番号の組み合わせもカウントとは別に更新する。ステップ146でカウント値と所定の判定値とを比較し、カウント値が所定の判定値より大きい場合はステップ147へ進んで、移行元ストレージ12へパス切替の指示を送信する。カウント値が所定の判定値以下の場合はパス切替指示を送信せず、ステップ148へ進む。
 ホスト11が移行先ストレージ14へアクセスし、ステップ119とステップ120によりデータをリードするよりは、移行元ストレージ12へ直接アクセスしてデータをリードする方が短時間でリードできる。一方、移行元ストレージ12より移行先ストレージ14の方が一般的には性能が高いので、移行先ストレージ14へ既にデータが移行したデータは移行先ストレージ14からリードする方が短時間でリードできる。このため、仮にライト要求がないとすると、リードの全アクセスにおいてステップ119とステップ120により時間が多く必要となる分だけ移行先ストレージ14へのアクセスにより時間を短縮できるのであれば、移行先ストレージ14へアクセスした方が高い性能を得られる。少なくとも移行のためのコピーの進捗が100%に近い状態では、高性能な移行先ストレージ14へリード要求も発行した方が短時間でリードデータを得られる。ライト要求があるとライト要求処理の負荷が移行先ストレージ14へかかるため、リード要求を移行元ストレージ12へ発行した方が処理負荷の分散にはなるが、原理的にはライト要求のない場合と同じ状態が発生し、所定の判定値をライト要求がない場合より高く設定するだけである。このようにして、移行対象のデータに対するリード要求とライト要求の比率、移行元ストレージ12と移行先ストレージ14との性能差などに基づいて所定の判定値を設定する。
 移行先ストレージ14はステップ148で移行対象のデータのすべてコピーが完了したかを判定し、完了していない場合はステップ141へ戻って次のページのコピーへ進み、完了した場合はステップ149へ進み、移行完了とする。この移行完了はステップ113で判定の対象となる。すべてコピーが完了したかの判定は、カウント値に基づいて判定してもよいし、ライト/移行管理テーブル27に基づいて判定してもよいし、他の管理情報に基づいて判定してもよい。
 図11はパス切替62によりアクセスを停止する単位の例を示す図である。ここではボリュームをLUとし、例えばLU単位の移行の場合はLU単位の切替として、移行元のLU(VOL#01)へアクセスされるとBusy応答する。Busy応答はSCSI規格の応答に含まれ、LU閉塞であるが、LU単位でアクセスを拒否できればBusy応答でなく他の応答あるいは無応答でもよい。Busy応答はリード要求などの要求を実際に受信した後に発行される。ホストグループに複数のLU(VOL#11~#14)が割り当てられ、ホストグループ単位の移行の場合は、ホストグループ単位の切替としてホストグループの各ホストへLogoutを発行してもよい。LogoutはFibre Channel規格の通信終了の通知プロトコルであり、要求の受信とは関係なく発行できる。新たなLoginに対してはLogoutを応答する。ポートに複数のLU(VOL#21~#34)が割り当てられ、ポート単位の移行の場合は、ポート単位の切替としてポートをLink Downさせてもよい。Link DownはFibre Channel規格のポートの発光、受光の停止である。
 図12は移行元ストレージ12のステップ109のパス切替処理フローの例を示す図である。パス切替処理では図11を用いて説明したどの単位のパス切替であるかを判定し、その単位に応じた切替のための処理を行う。移行元ストレージ12はステップ151でパス切替がLU単位であるかを判定し、LU単位である場合はステップ152へ進み、LU閉塞と設定する。このLU閉塞の設定はステップ102で判定の対象となる。LU単位でない場合はステップ153へ進み、ホストグループ単位であるかを判定する。ホストグループ単位である場合はステップ154へ進み、該当するホストグループの各ホストへLogoutを発行する。ホストグループ単位でない場合はステップ155へ進み、ポート単位であるかを判定する。ポート単位である場合はステップ156へ進み、該当するポートをLink Downする。ポート単位でない場合はそのまま終了する。
 ここで、LU単位とホストグループ単位とポート単位の判定の対象は、移行元ストレージ12へ予め設定しておいてもよいし、移行先ストレージ14へ予め設定しておいて、移行先ストレージ14からのパス切替の指示に含めてもよい。移行先ストレージ14は移行の管理をするため、その移行の情報を利用して、移行単位をパス切替の単位としてパス切替の指示に含めてもよい。
 なお、図2などを用いた説明では、仮想外接ボリューム28を設定して移行する構成を説明したが、移行元ボリューム13から移行先ボリューム15へ直接にリモートコピーしてもよい。また、ホスト11は仮想外接ボリューム28を認識して例えば仮想外接ボリューム28へのライト要求により移行先ボリューム15への書き込みをすると説明したが、ホスト11が移行先ボリューム15を認識して移行先ボリューム15へライト要求を直接に発行させ、移行先ボリューム15に無いデータのリード要求を移行元ストレージ12へ転送してもよい。
 以上、説明したようにホスト11のリード要求を移行元ストレージ12へ発行するため、移行元ストレージ12と移行先ストレージ14との間で負荷を分散することができ、総合的なホストアクセスの性能を高めることができる。また、移行の進捗に応じて移行先ストレージ14へリード要求を切替えるため、移行先ストレージ14の高い性能を利用できる。
11:ホスト、12:移行元ストレージ、13:移行元ボリューム、14:移行先ストレージ、15:移行先ボリューム、22:アクセスパス管理テーブル、27:ライト/移行管理テーブル、33:アクセスパス、43:ライトフラグ、44:移行完了フラグ

Claims (11)

  1.  ホストと移行元ストレージと移行先ストレージとのそれぞれを通信パスで接続したシステムであって、
     データのライト要求を前記移行先ストレージへ送信し、前記ライト要求したデータのリード要求を前記移行先ストレージへ送信し、前記ライト要求したデータ以外のリード要求を前記移行元ストレージへ送信する前記ホストと、
     前記ホストあるいは前記移行先ストレージから受信したリード要求を処理する前記移行元ストレージと、
     前記ホストから受信したライト要求とリード要求を処理するとともに、前記移行元ストレージへリード要求を送信して前記移行元ストレージからデータを移行する前記移行先ストレージと、
    を備えたことを特徴とするシステム。
  2.  前記移行されるデータの領域ごとに前記移行元ストレージへの通信パスを使用するか前記移行先ストレージへの通信パスを使用するかの情報を有するアクセスパス管理テーブルを備え、前記ライト要求したデータの領域に対するアクセスパス管理テーブルを前記移行先ストレージへの通信パスの使用に変更し、前記アクセスパス管理テーブルに基づいた通信パスへリード要求を送信する前記ホストを備えたことを特徴とする請求項1に記載のシステム。
  3.  前記移行元ストレージへのリード要求が前記移行元ストレージで処理されない場合に前記移行元ストレージへのリード要求を前記移行先ストレージへ送信する前記ホストと、
     前記移行先ストレージからパス切替指示を受信すると前記ホストからのリード要求を処理しない前記移行元ストレージと、
     前記データの移行の進捗に応じて前記パス切替指示を前記移行元ストレージへ送信し、前記ホストから受信したリード要求のデータを保持しているか否かを判定して、保持していない場合は前記移行元ストレージへ前記受信したリード要求を送信し、該リード要求に対するリードデータを前記移行元ストレージから受信し、前記リードデータを前記ホストへ送信する前記移行先ストレージと、
    を備えたことを特徴とする請求項1に記載のシステム。
  4.  前記移行元ストレージからのデータの移行の量をカウントし、該カウントの値が所定の判定値を超えると前記パス切替指示を前記移行元ストレージへ送信する前記移行先ストレージを備えたことを特徴とする請求項3に記載のシステム。
  5.  前記ホストから受信したライト要求によりライトされた領域を記憶し、該記憶に基づき前記ホストから受信したリード要求のデータを保持していると判定する前記移行先ストレージを備えたことを特徴とする請求項3に記載のシステム。
  6.  前記移行されるデータによりライトされた領域を記憶し、該記憶に基づき前記ホストから受信したリード要求のデータを保持していると判定する前記移行先ストレージを備えたことを特徴とする請求項5に記載のシステム。
  7.  前記ホストから受信したライト要求によりライトされた領域の記憶に基づき前記ライトされた領域へは前記移行されるデータをライトしない前記移行先ストレージを備えたことを特徴とする請求項6に記載のシステム。
  8.  前記移行先ストレージから前記パス切替指示を受信すると前記ホストからのリード要求に対してリードデータ以外の応答をする前記移行元ストレージを備えたことを特徴とする請求項3に記載のシステム。
  9.  前記移行先ストレージから前記パス切替指示を受信すると前記ホストへ通信終了の通知をする前記移行元ストレージを備えたことを特徴とする請求項3に記載のシステム。
  10.  前記移行先ストレージから前記パス切替指示を受信すると前記ホストとの通信パスを切断する前記移行元ストレージを備えたことを特徴とする請求項3に記載のシステム。
  11.  ホストと移行元ストレージと移行先ストレージとのそれぞれを通信パスで接続したシステムにおいて、前記移行元ストレージから前記移行先ストレージへデータを移行し、該移行されるデータの領域へ前記ホストがリード要求とライト要求するシステムの制御方法であって、
     前記移行先ストレージは前記移行元ストレージへリード要求を送信して前記移行元ストレージから前記移行先ストレージへデータを移行するステップと、
     前記ホストはデータのライト要求を前記移行先ストレージへ送信するステップと、
     前記移行先ストレージは前記ライト要求されたデータを記憶するステップと、
     前記ホストは前記ライト要求されたデータのリード要求を前記移行先ストレージへ送信するステップと、
     前記移行先ストレージは前記リード要求されたデータを前記ホストへ送信するステップと、
     前記ホストは前記ライト要求したデータ以外のリード要求を前記移行元ストレージへ送信するステップと、
     前記移行元ストレージは前記リード要求されたデータを前記ホストへ送信するステップと、
    を有することを特徴とするシステムの制御方法。
PCT/JP2013/079917 2013-11-05 2013-11-05 システムおよびその制御方法 WO2015068208A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/079917 WO2015068208A1 (ja) 2013-11-05 2013-11-05 システムおよびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/079917 WO2015068208A1 (ja) 2013-11-05 2013-11-05 システムおよびその制御方法

Publications (1)

Publication Number Publication Date
WO2015068208A1 true WO2015068208A1 (ja) 2015-05-14

Family

ID=53041016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/079917 WO2015068208A1 (ja) 2013-11-05 2013-11-05 システムおよびその制御方法

Country Status (1)

Country Link
WO (1) WO2015068208A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016057872A (ja) * 2014-09-10 2016-04-21 富士通株式会社 ストレージ制御装置および制御プログラム
US10664441B2 (en) 2016-07-15 2020-05-26 Fujitsu Limited Information processing system, information processing apparatus, and non-transitory computer-readable recording medium
JP2021033854A (ja) * 2019-08-28 2021-03-01 富士ゼロックス株式会社 情報処理装置、情報処理システム、及び情報処理プログラム
JP2021144663A (ja) * 2020-03-13 2021-09-24 富士通株式会社 ストレージシステム、移行元のストレージ装置および移行先のストレージ装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146476A (ja) * 2004-11-18 2006-06-08 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法
JP2011134075A (ja) * 2009-12-24 2011-07-07 Nec Biglobe Ltd 制御装置、データ移行システム、データ移行方法およびプログラム
JP2013149202A (ja) * 2012-01-23 2013-08-01 Nec Corp 情報処理装置、情報処理システム、及び、情報処理方法
JP2013535037A (ja) * 2010-10-14 2013-09-09 株式会社日立製作所 データ移行システム及びデータ移行方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146476A (ja) * 2004-11-18 2006-06-08 Hitachi Ltd ストレージシステム及びストレージシステムのデータ移行方法
JP2011134075A (ja) * 2009-12-24 2011-07-07 Nec Biglobe Ltd 制御装置、データ移行システム、データ移行方法およびプログラム
JP2013535037A (ja) * 2010-10-14 2013-09-09 株式会社日立製作所 データ移行システム及びデータ移行方法
JP2013149202A (ja) * 2012-01-23 2013-08-01 Nec Corp 情報処理装置、情報処理システム、及び、情報処理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016057872A (ja) * 2014-09-10 2016-04-21 富士通株式会社 ストレージ制御装置および制御プログラム
US10664441B2 (en) 2016-07-15 2020-05-26 Fujitsu Limited Information processing system, information processing apparatus, and non-transitory computer-readable recording medium
JP2021033854A (ja) * 2019-08-28 2021-03-01 富士ゼロックス株式会社 情報処理装置、情報処理システム、及び情報処理プログラム
JP7347007B2 (ja) 2019-08-28 2023-09-20 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム、及び情報処理プログラム
JP2021144663A (ja) * 2020-03-13 2021-09-24 富士通株式会社 ストレージシステム、移行元のストレージ装置および移行先のストレージ装置

Similar Documents

Publication Publication Date Title
EP1837751B1 (en) Storage system, storage extent release method and storage apparatus
US9563377B2 (en) Computer system and method of controlling computer system
US8977781B1 (en) Computer system
US7594083B2 (en) Storage system and storage control device
EP2399190B1 (en) Storage system and method for operating storage system
US10838929B2 (en) Application-controlled sub-LUN level data migration
US10817202B2 (en) Application-controlled sub-LUN level data migration
JP5635621B2 (ja) ストレージシステム及びストレージシステムのデータ転送方法
US10831729B2 (en) Application-controlled sub-LUN level data migration
WO2015125221A1 (ja) ストレージシステム及び移行方法
US8713266B2 (en) Storage apparatus and method including page discard processing for primary and secondary volumes configured as a copy pair
US9875059B2 (en) Storage system
JP6294569B2 (ja) ストレージシステム及びキャッシュ制御方法
WO2015068208A1 (ja) システムおよびその制御方法
WO2014054070A1 (en) Management system for managing a physical storage system, method of determining a resource migration destination of a physical storage system, and storage medium
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
KR101564712B1 (ko) Scst를 이용한 총 플래시 어레이 스토리지 가상화 방법
US11693577B2 (en) Storage operation processing during data migration using migrated indicator from source storage
US9098212B2 (en) Computer system with storage apparatuses including physical and virtual logical storage areas and control method of the computer system
JP6343716B2 (ja) 計算機システム及び記憶制御方法
WO2014087465A1 (ja) ストレージ装置及びストレージ装置移行方法
US11481147B1 (en) Buffer allocation techniques
US20230359359A1 (en) Elastic request handling technique for optimizing workload performance
JP5856665B2 (ja) ストレージシステム及びストレージシステムのデータ転送方法
JP2020013227A (ja) ストレージシステム

Legal Events

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

Ref document number: 13896875

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13896875

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP