WO2018167950A1 - Système de stockage et procédé de commande de copie - Google Patents

Système de stockage et procédé de commande de copie Download PDF

Info

Publication number
WO2018167950A1
WO2018167950A1 PCT/JP2017/010953 JP2017010953W WO2018167950A1 WO 2018167950 A1 WO2018167950 A1 WO 2018167950A1 JP 2017010953 W JP2017010953 W JP 2017010953W WO 2018167950 A1 WO2018167950 A1 WO 2018167950A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
host
replication
past
destination
Prior art date
Application number
PCT/JP2017/010953
Other languages
English (en)
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/JP2017/010953 priority Critical patent/WO2018167950A1/fr
Publication of WO2018167950A1 publication Critical patent/WO2018167950A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present invention generally relates to replication control in a hierarchical storage system.
  • Data replication is performed, for example, to change the data arrangement.
  • data arrangement control a technique disclosed in Patent Document 1 is known.
  • a storage system has a CM (cache memory) and a plurality of PDEVs (nonvolatile storage devices), and provides a plurality of VOLs (logical volumes). Multiple VOLs are based on multiple PDEVs. Data written to the VOL is written to the PDEV corresponding to the write destination area.
  • the plurality of VOLs include a PVOL and an SVOL that form a replication pair.
  • PVOL is a primary VOL and is typically a replication source VOL.
  • SVOL is a secondary VOL and is typically a replication destination VOL.
  • the process of reading the replication target data from the PVOL to the CM and transferring the data in order to replicate the data to the SVOL is hereinafter referred to as “data replication”. Processing including data replication is hereinafter referred to as “duplication processing”.
  • a hierarchical storage system having a plurality of PDEVs with different I / O (Input / Output) performance is known.
  • I / O Input / Output
  • a PDEV with relatively high I / O performance is referred to as “high-speed PDEV”
  • a PDEV with relatively low I / O performance at least a PDEV with lower I / O performance than the high-speed PDEV
  • an I / O request from the host is referred to as a “host I / O request”.
  • a write request among host I / O requests is referred to as a “host write request”
  • a read request among host I / O requests is referred to as a “host read request”.
  • the “host” may be a host system (one or more host computers) connected to the storage system, or a first VM (VM (Virtual Machine) operating as a host system) executed in the storage system. Good. In the latter case, the second VM executed in the storage system may perform host I / O processing (processing according to the host I / O request) and replication processing as a storage controller.
  • the “storage system” is one or more physical storage devices.
  • the “storage device” may be any device capable of storing data, and may be a server computer, for example.
  • the storage system In the host write process (process according to the host write request), the storage system temporarily stores write target data associated with the host write in the CM.
  • the storage system In the asynchronous replication process (replication process performed asynchronously with the host write process), the storage system includes writing the write target data once to the PVOL and then reading the data from the PVOL (PDEV) to the CM in the subsequent replication process. Perform data replication. For this reason, if the PDEV that stores the replication target data is a low-speed PDEV, it takes time to read data from the PDEV to the CM. As a result, the data replication time increases. This can cause at least one of the following problems. (1) Assume that the storage system can receive a host I / O request even during data replication.
  • the storage system can receive a host read request designating SVOL during replication processing.
  • the storage system needs to replicate the read target data from the PVOL to the SVOL.
  • the read target data is stored in the low-speed PDEV, it takes a long time to copy the read target data from the PVOL to the SVOL. For this reason, it takes a long time to respond with the read target data. That is, the host I / O performance decreases.
  • the storage system is configured to back up data from the SVOL to a backup VOL in or outside the storage system.
  • the storage system needs to replicate the backup target data from the PVOL to the SVOL.
  • the back tap target data is stored in the low speed PDEV, it takes a long time to replicate the backup target data from the PVOL to the SVOL.
  • the storage system manages the host I / O history, which is the history of host I / O processing.
  • the storage system performs the current replication process including the order determination process.
  • the order determination process includes (a1) one or more past I / O destination areas (all I / O destination areas in the past replication process that are specified from the host I / O history) of all the PVOL difference areas. If the determination result of (a2) and (a1) is true, the replication order of all past I / O destination areas in all difference areas is Including higher than the replication order of the differential area other than all the past I / O destination areas.
  • summary of embodiment is shown.
  • 1 shows a configuration of a computer system according to an embodiment.
  • the management information and function in a storage apparatus are shown.
  • the structure of an I / O monitor table is shown.
  • the structure of a past history table is shown.
  • the structure of a slot management table is shown.
  • the structure of a replication order table is shown.
  • the structure of an area management table is shown.
  • the structure of a configuration management table is shown.
  • the flow of replication processing is shown. Details of the flow of order determination (S1001 in FIG. 10) are shown. Details of the flow of influence determination (S1002 in FIG. 10) are shown. Details of the flow of area reservation (S1003 in FIG. 10) are shown. . Details of the flow of order update (S1007 in FIG. 10) are shown. Details of the flow of post-processing (S1009 in FIG. 10) are shown.
  • information may be described using an expression such as “xxx table”, but the information may be expressed in any data structure. That is, in order to show that the information does not depend on the data structure, the “xxx table” can be referred to as “xxx information”.
  • the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of the two or more tables may be a single table. Good.
  • the “interface unit” includes one or more communication interface devices.
  • the one or more communication interface devices may be one or more similar interface devices (for example, one or more NIC (Network Interface Card)) or two or more different types of interface devices (for example, NIC and HBA (Host Bus Adapter)). ).
  • NIC Network Interface Card
  • HBA Home Bus Adapter
  • the “memory unit” is one or more memories.
  • the at least one memory may be a volatile memory.
  • the memory unit is mainly used for processing by the processor unit.
  • the “processor unit” is one or more processors.
  • the at least one processor is typically a microprocessor such as a CPU (Central Processing Unit).
  • Each of the one or more processors may be a single core or a multi-core.
  • the processor may include a hardware circuit that performs part or all of the processing.
  • the function may be described using the expression “kkk part”, but the function may be realized by executing one or more computer programs by the processor part.
  • the hardware circuit for example, FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • the program source may be, for example, a program distribution computer or a computer-readable recording medium (for example, a non-transitory recording medium).
  • the description of each function is an example, and a plurality of functions may be combined into one function, or one function may be divided into a plurality of functions.
  • PDEV means a physical storage device, and typically a non-volatile storage device (for example, an auxiliary storage device).
  • the PDEV may be, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • RAID is an abbreviation for Redundant “Array” of “Independent” (or “Inexpensive)” Disks.
  • the RAID group is composed of a plurality of PDEVs (typically the same kind of PDEVs), and stores data according to the RAID level associated with the RAID group.
  • the RAID group may be referred to as a parity group.
  • the parity group may be, for example, a RAID group that stores parity.
  • the RAID group may be composed of a plurality of storage areas based on a plurality of PDEVs.
  • VOL (or “volume”) is an abbreviation for logical volume, and may be a logical storage device.
  • the VOL may be a substantial VOL (RVOL) or a virtual VOL (VVOL).
  • the “RVOL” may be a VOL based on a physical storage resource (for example, one or more RAID groups) included in the storage system that provides the RVOL.
  • the “VVOL” is composed of a plurality of virtual areas (virtual storage areas) and may be a VOL according to capacity virtualization technology (typically ThinThProvisioning).
  • the “pool” may be a logical storage space composed of a plurality of pages (a plurality of logical storage areas).
  • the storage system When a page is not allocated to the virtual area (VVOL virtual area) to which the address specified by the host write request belongs, the storage system allocates a page from the pool to the virtual area (write destination virtual area). The storage system may write the write target data accompanying the host write request to the allocated page.
  • the “pool VOL” may be a VOL that is a component of the pool.
  • the pool VOL may be an RVOL.
  • FIG. 1 shows an outline of the embodiment.
  • the storage system 102 includes a memory unit 98 including a CM (cache memory) 111, a processor unit 94, and a plurality of PDEVs 10 having different I / O performance.
  • the RAID group 20 is configured by two or more PDEVs 10 having the same (or similar) I / O performance.
  • the SSD 10S is an example of a first storage device (for example, a high speed PDEV).
  • the SAS-HDD 10A is an example of a second storage device (for example, a low-speed PDEV) that has lower I / O performance than the first storage device.
  • the processor unit 94 provides a PVOL (primary VOL) 113A and an SVOL (secondary VOL) 113B that constitute a replication pair.
  • the SVOL 113B may exist in a storage system (not shown) different from the storage system 102.
  • Two or more RAID groups having different I / O performance such as the RAID groups 20S and 20A are the basis of the logical storage space.
  • a part of the logical storage space is allocated to at least PVOL 113A.
  • the logical storage space is the pool 40, and each of the PVOL 113A and the SVOL 113B is a VVOL.
  • the pool 40 includes a plurality of tiers 30 having different I / O performance.
  • Each tier 30 is composed of one or more pool VOLs 113P.
  • Each pool VOL 113P is divided into a plurality of pages 60.
  • the tier 30S includes one or more pool VOL 113PS based on the RAID group 20S (two or more SSDs 10S).
  • the tier 30A is composed of one or more pool VOLs 113PA based on the RAID group 20A (two or more SAS-HDDs 10A).
  • the page 60 is an example of a logical storage area.
  • the page 60 in the tier 30S is an example of the first logical storage area.
  • the page 60 in the tier 30A is an example of a second logical storage area.
  • the processor unit 94 When the processor unit 94 receives a host I / O request designating an area (address) in the PVOL 113A from the host 101, the processor unit 94 performs host I / O processing on the PVOL 113A in response to the host I / O request.
  • the host I / O processing is, for example, as follows.
  • the host 101 is a computer connected to the storage system 102, but may instead be a VM (Virtual Machine) executed in the storage system 102.
  • the host I / O request is a host write request, and the page 60 is not allocated to the write destination area 50 (the virtual area 50 to which the specified address belongs) (for example, 50A) specified in the host write request
  • the processor unit 94 writes the write target data to the CM 111 and allocates a free page 60 (for example, 60A) to the write destination area.
  • the processor unit 94 writes the write target data to the allocated empty page 60 (PDEV 10 that is the basis of the empty page 60).
  • the host I / O request is a host read request
  • the processor unit 94 is assigned to the read source area 50 (virtual area 50 to which the specified address belongs) (for example, 50A) specified by the host read request.
  • Read target data is read from the existing page 60 (for example, 60A) (PDEV 10 that is the basis of the page 60) to the CM 111, and the read target data is returned to the host 101.
  • the processor unit 94 manages a difference area which is an area having a difference from the SVOL 113B in the PVOL 113A.
  • the capacity of the difference area may be the same as the capacity of the virtual area 50 or the page 60 (that is, the allocation unit and the difference management unit (and the data replication unit) may be the same), but in this embodiment, the capacity of the difference area Is smaller than the capacity of the virtual area 50 or the page 60.
  • an example of the difference area is a difference slot.
  • the virtual area 50 and the page 60 are composed of two or more slots. Differences are managed in slot units, and data replication is performed.
  • the processor unit 94 is adapted to perform replication processing including data replication.
  • data replication target data
  • data is read from CM 60 to page 111 allocated to virtual area 50 including the difference slot, and the difference slot in SVOL 113B is read. This is a process of transferring the data to copy the data to the corresponding slot.
  • the processor unit 94 manages a host I / O history 120 that is a history of host I / O processing.
  • the host I / O history 120 includes an I / O destination slot in the PVOL 113A and a time of host I / O processing for each I / O destination slot.
  • the processor unit 94 performs the current duplication process including the following (A).
  • (A) is an order determination process including the following (a1) and (a2).
  • (A1) It is determined whether there is one or more past I / O destination slots among all the differential slots of the PVOL 113A.
  • Each of the one or more past I / O destination slots is an I / O destination slot during past duplication processing and is a slot specified from the host I / O history 120.
  • A2 When the determination result of (a1) is true, the duplication order of all past I / O destination slots in all difference slots is set to the difference slot other than all past I / O destination slots in the all difference slots. Higher than the replication order.
  • the processor unit 94 performs data duplication in descending order of duplication. As a result, among all the differential slots, the data in the past I / O destination slot preferentially exists in the SVOL. For example, it is assumed that the storage system 102 can receive a host read request designating the SVOL 113B during the replication process. If the host I / O processing for the SVOL 113B during the current replication processing is related to the host I / O processing for the PVOL 113A during the past replication processing, the I / O destination range in those host I / O processing ( The address range is likely to be similar.
  • the processor unit 94 sets the replication order of all past I / O destination slots in descending order of the host I / O amount in the past replication processing.
  • “Host I / O amount” refers to either the host I / O frequency (frequency of host I / O requests) or host I / O data amount (amount of data input / output in response to host I / O requests). It's okay.
  • the host I / O amount is a cumulative value of the host I / O frequency for the past I / O destination slot during past duplication processing.
  • the host I / O frequency is referred to as “IOPS”.
  • a slot with a larger host I / O amount is considered to have a higher possibility of being accessed (for example, a possibility of being a read source slot of a host read request designating SVOL 113B). For this reason, it is expected that the higher the host I / O amount, the lower the possibility that the host I / O performance during the current replication process will decrease by increasing the replication order.
  • the processor unit 94 If there is a past I / O destination slot belonging to the low speed media among all the differential slots, the processor unit 94 gives priority to a past I / O destination slot having a higher duplication order among the past I / O destination slots belonging to the low speed tier. Therefore, it may shift to a high-speed tier.
  • the “low-speed tier” is a tier with relatively low I / O performance in the pool 40, for example, tier 30A (tier 2).
  • pages in the low speed tier may be referred to as “low speed pages”.
  • a PDEV for example, SAS-HDD 10A
  • a low-speed PDEV that is a base of the low-speed tier
  • High-speed tier is a tier with relatively high I / O performance in the pool 40, for example, tier 30S (tier 1).
  • pages in the high-speed tier are sometimes referred to as “high-speed pages”.
  • a PDEV for example, SSD 10S
  • high-speed PDEV that is the basis of the high-speed tier
  • the past I / O destination slot belonging to the low-speed tier is a past I / O destination slot in which the page allocated to the virtual area including the past I / O destination slot is a page in the low-speed tier.
  • “Shifting the past I / O destination slot belonging to the low-speed tier to the high-speed tier” is an example of data rearrangement, and specifically includes the following. Relocate (move) data in a low speed page (eg, 60B) allocated to a virtual area (eg, 50B) including the past I / O destination slot to an empty high speed page (eg, 60C) (arrow 91) ), Assign a reallocation-destination high-speed page to the virtual area (for example, 50B) including the past I / O destination slot instead of the reallocation-source low-speed page (see arrow 92).
  • Relocate (move) data in a low speed page (eg, 60B) allocated to a virtual area (eg, 50B) including the past I / O destination slot to an empty high speed page (eg, 60C) (arrow 91) Assign a reallocation-destination high-speed page to the virtual area (for example, 50B) including the past I / O destination slot instead
  • the past I / O destination slot having the highest replication order is preferentially shifted to the high-speed tier. Is done. This is because there is a high possibility that the reading source is a high-speed tier (high-speed PDEV).
  • the storage system 102 is configured to back up data from the SVOL 113B to a backup VOL (not shown) inside or outside the storage system 102, and there is no backup target data in the SVOL 113B.
  • a backup VOL not shown
  • the back tap target data is stored in the high speed page (high speed PDEV). For this reason, it is expected that the time required for data replication of the backup target data from the PVOL 113A to the SVOL 113B is short.
  • the processor unit 94 performs the following (B) and (C) in addition to or instead of (A) in the current replication process.
  • (B) If there is one or more differential slots to which one or more low-speed pages are assigned, relocating (moving) data from the low-speed pages to the high-speed pages will reduce the host I / O performance during the current replication process Determine whether or not (C)
  • the determination result of (B) is false, for at least one of the one or more difference slots, the data is rearranged (moved) from the low speed page assigned to the difference slot to the empty high speed page.
  • the high speed page is allocated to the virtual area including the difference slot instead of the low speed page.
  • the replication target data is rearranged from the low speed page to the high speed page (that is, the data replication time is shortened) while maintaining the host I / O performance during the current replication processing.
  • FIG. 2 shows a configuration of a computer system according to the present embodiment.
  • the host 101 is connected to the storage apparatus 202 via a SAN (Storage Area Network) 181.
  • a management system 69 is connected to the storage apparatus 202 via a LAN (Local Area Network) 182.
  • a host 101 is also connected to the LAN 182.
  • At least one of the SAN 181 and the LAN 182 may be another type of communication network.
  • the storage apparatus 202, the host 101, and the management system 69 may be connected to the same communication network. There may be a plurality of at least one of the storage apparatus 202, the host 101, and the management system 69.
  • the host 101 issues an I / O request specifying either PVOL 113 or SVOL 113B.
  • the host 101 has an I / F (for example, HBA (Host Bus Adapter)) 264 connected to the SAN 181 (storage device 202) and an I / F (for example, Network Interface Card) (NIC) connected to the LAN 182 (storage device 202). ) 263, a memory 262, and a CPU 261 connected to the elements 262 to 264.
  • I / F for example, HBA (Host Bus Adapter)
  • NIC Network Interface Card
  • the management system 69 may be composed of one or more computers. Specifically, for example, when the management computer has a display device and the management computer displays information on its own display device, the management computer 69 may be the management computer 69.
  • the management computer 69 may be the management computer 69.
  • a management computer for example, a server
  • transmits display information to a remote display computer for example, a client
  • the display computer displays the information (when the management computer displays information on the display computer)
  • a system including at least the management computer among the management computer and the display computer may be the management system 69.
  • the management system 69 may include an I / F (for example, NIC) 63 connected to the LAN 182 (storage device 202), a memory 62, and a CPU 61 connected to these elements 62 and 63.
  • I / F for example, NIC
  • That the computer in the management system 69 “displays display information” may be that display information is displayed on a display device included in the computer, or the computer transmits display information to the display computer. (In the latter case, display information is displayed by a display computer).
  • the memory 62 stores information accessed by the CPU 61 and programs executed by the CPU 61.
  • the CPU 61 manages the storage apparatus 202 with reference to information in the memory 62 by reading and executing the program from the memory 62.
  • the storage apparatus 202 includes a storage controller 108 and a plurality of PDEVs 10 (10S, 10A,%) Connected to the storage controller 108.
  • a plurality of RAID groups 20 (20S, 20A,%) Are configured by the plurality of PDEVs 10.
  • the storage controller 108 includes a CPU 112, a host interface (HI / F) 115, a device interface (DI / F) 114, an SM (shared memory) 113, a CM (cache memory) 111, a transfer circuit 118, and a management circuit.
  • An interface (MI / F) 116 is provided. Data transfer among the HI / F 115, the CPU 112, the CM 111, and the DI / F 114 is performed via the transfer circuit 118.
  • the SM 113 and the MI / F 116 are connected to the CPU 112.
  • the I / Fs 114, 115, and 116 are examples of the interface unit.
  • CM 111 and SM 113 are examples of the storage unit.
  • the CPU 112 is an example of a processor unit. In FIG. 2, only one component of the storage controller 108 is shown, but at least one of these components is provided in the storage controller 108 to ensure high performance and high availability. May be.
  • the DI / F 114 is connected to each PDEV 10. Communication with the PDEV 10 is performed via the DI / F 114.
  • the HI / F 115 is connected to the host 101. Communication with the host 101 is performed via the HI / F 115.
  • the MI / F 116 is connected to the management system 69. Communication with the management system 69 is performed via the MI / F 116.
  • CM 111 data input / output to / from the PDEV 10 is temporarily stored.
  • SM113 A program executed by the CPU 112 and information referred to or updated by the CPU 112 (hereinafter, management information) are stored.
  • the CPU 112 performs various controls of the storage device 202.
  • the example of the processor unit 94 illustrated in FIG. 1 may be the CPU 112 or may include the CPUs 112 and 61.
  • the CPU 61 of the management system 69 acquires at least a part of the host I / O history 120 from the storage apparatus 202, and will be described with reference to processing described later (eg, with reference to FIGS. 10 to 15) based on the acquired information. At least a part (for example, at least a part of S1001, S1002, and S1007 in FIG. 10) may be executed.
  • the storage system 102 is the storage device 202 and the processor unit 9 is the CPU 112.
  • FIG. 3 shows management information and functions in the storage apparatus 202.
  • the management information stored in the SM 113 includes a host I / O history 120, a slot management table 303, a replication order table 304, an area management table 305, and a configuration management table 306.
  • the host I / O history 120 includes an I / O monitor table 301 and a past history table 302. Each table will be described later.
  • the functions realized by the CPU 112 executing the program in the SM 113 include an I / O unit 311, a duplication unit 312, and a rearrangement unit 313.
  • the I / O unit 311 executes host I / O processing in response to a host I / O request. Further, the I / O unit 311 updates the I / O monitor table 301 in the host I / O history 120 as appropriate. The I / O unit 311 manages the difference between the PVOL 113A and the SVOL 113B.
  • the replication unit 312 performs a replication process.
  • the duplicating unit 312 includes an order determining unit 321, an influence determining unit 322, an area securing unit 323, an order updating unit 324, a post-processing unit 325, and a control unit 326.
  • the order determining unit 321 determines the duplication order of each difference slot based on the past history table 302.
  • the influence determination unit determines, based on the host I / O history 120, whether or not the rearrangement from the low speed page to the high speed page lowers the host I / O performance during the current replication process.
  • the area securing unit 323 secures an empty page from the high-speed tier.
  • the order update unit 324 updates the replication order determined by the order determination unit 321 based on the host I / O process during the current replication process.
  • the post-processing unit 325 reflects the history of the host I / O process during the current replication process in the past history table 302.
  • the control unit 326 controls calling of functions in the duplication unit 312.
  • the relocation unit 313 performs data relocation between different tiers 30.
  • FIG. 4 shows the configuration of the I / O monitor table 301.
  • the I / O monitor table 301 is a table that holds information as a monitoring result of host I / O processing.
  • the I / O monitor table 301 has a record for every predetermined time. Each record holds information such as time 401, slot IOPS 402, difference slot # 403, status 404, and volume IOPS 405.
  • target fixed time one fixed time (referred to as “target fixed time” in the description of FIG. 4) is taken as an example.
  • Time 401 indicates the start time of the target fixed time.
  • the slot IOPS 402 indicates the IOPS (I / O frequency) at the target fixed time for the slot accessed during the target fixed time (targeted for host I / O processing).
  • Slot # 403 indicates the identification number of the slot accessed during the target fixed time.
  • the status 404 indicates the status for the target fixed time. There are three types of status 404 values: “0” (start), “1” (end), and “Null” (between start and end).
  • the volume IOPS 405 indicates IOPS (I / O frequency) at the target fixed time for the VOL including the slot accessed at the target fixed time.
  • slot # 403 When two or more slots are accessed at a certain target time, two or more slot numbers corresponding to two or more slots are registered as slot # 403, and two or more IOPS respectively corresponding to two or more slots are registered. Registered as slot IOPS 402.
  • the host I / O process is monitored by the I / O unit 311, and a record having information as a monitoring result at the certain time is added to the I / O monitor table 301 every time a certain time elapses. .
  • FIG. 5 shows the structure of the past history table 302.
  • the past history table 302 is a table that holds a history of host I / O processing during past replication processing.
  • the past history table 302 has a record for each past replication process. Each record holds information such as a start time 501, an end time 502, a duplication processing time 503, a cumulative slot IOPS 504, a cumulative volume IOPS 505, and a slot # 506.
  • target past duplication process one past duplication process (referred to as “target past duplication process” in the description of FIG. 5) is taken as an example.
  • the start time 501 indicates the start time of the target past replication process.
  • the end time 502 indicates the end time of the target past replication process.
  • the replication processing time 503 indicates the time taken for the target past replication processing (difference between the end time 502 and the start time 501).
  • Slot # 506 indicates the identification number of the slot that is the target of the host I / O process during the target past replication process.
  • the target past replication process when two or more slots are accessed, two or more slot numbers respectively corresponding to the two or more slots are registered as slot # 506, and two or more cumulative numbers corresponding to the two or more slots, respectively.
  • the slot IOPS is registered as the cumulative slot IOPS 504.
  • the cumulative volume IOPS 505 the cumulative volume IOPS may be indicated for each of two or more VOLs. In this case, a VOL # may be associated with each cumulative volume IOPS.
  • Information in the record of the past history table 302 is added by the duplicating unit 312 (post-processing unit 325). Also, the record referenced in the current replication process may be deleted by the replication unit 312 at the end of the current replication process.
  • FIG. 6 shows the configuration of the slot management table 303.
  • the slot management table 303 holds information regarding slots in the PVOL 113A.
  • the slot management table 303 has a record for each slot in the PVOL 113A. Each record holds information such as area # 601, slot # 602, and difference flag 603.
  • one slot referred to as “target slot” in the description of FIG. 6) is taken as an example.
  • Area # 601 indicates the identification number of the virtual area including the target slot.
  • Slot # 602 indicates the identification number of the target slot.
  • the difference flag 603 indicates whether or not the target slot is a difference slot. “1” means that the target slot is a differential slot. “0” means that the target slot is not a differential slot. In the present embodiment, it is assumed that the size of the virtual area and the size of the slot are constant.
  • the I / O unit 311 sets the difference flag 603 of the slot to “1”. If the slot is no longer a difference slot due to duplication processing, the duplication unit 312 sets the difference flag 603 of the slot to “0”.
  • FIG. 7 shows the configuration of the replication order table 304.
  • the replication order table 304 holds information related to the slot replication order in the PVOL 113A.
  • the slot management table 303 has a record for each slot in the PVOL 113A. Each record holds information such as slot # 701 and duplication order 702.
  • target slot one slot (referred to as “target slot” in the description of FIG. 7) is taken as an example.
  • the duplication rank 702 indicates the duplication rank of the target slot. If the target slot is not a difference slot, the value of the replication rank 702 is “Null”. In this embodiment, the smaller the value of the duplication rank 702, the higher the duplication rank. Examples of the “target slot is not a differential slot” include at least one of the following. -The target slot has not been accessed (targeted for host I / O processing). The target slot is set as the write destination during the current replication process (although it is set as the interrupt target), but the next slot is the difference slot.
  • FIG. 8 shows the configuration of the area management table 305.
  • the area management table 305 holds information on high-speed pages.
  • the area management table 305 has a record for each high-speed tier.
  • Each record holds information such as pool VOL # 801, upper map # 802, and usage flag 803.
  • a single high-speed page (referred to as “target high-speed page” in the description of FIG. 8) is taken as an example.
  • Pool VOL # 801 indicates the identification number of the pool VOL that includes the target high-speed page.
  • the upper map # 802 indicates the identification number of the target high-speed page.
  • the use flag 803 indicates whether or not the target high-speed page is secured. “0” means that the target high-speed page is not secured (for example, being accessed or already assigned to any virtual area). “1” means that the target high-speed page is secured.
  • FIG. 9 shows the configuration of the configuration management table 306.
  • the configuration management table 306 holds information regarding the configuration of the storage apparatus 202.
  • the configuration management table 306 may include a mapping table (not shown) that manages the allocation relationship between virtual areas and pages.
  • the configuration management table 306 includes a PDEV management table 316, for example.
  • the PDEV management table 316 holds information regarding the PDEV type.
  • the PDEV management table 316 has a record for each PDEV type. Each record holds information such as PDEV type 901, capacity 902, RAID type 903, tier # 904, device IOPS 905, and relocation throughput 906.
  • PDEV type referred to as “target PDEV type” in the description of FIG. 9) is taken as an example.
  • the PDEV type 901 indicates the target PDEV type.
  • the capacity 902 indicates the storage capacity of the PDEV of the target PDEV type.
  • the RAID type 903 indicates the RAID type (RAID level and RAID configuration) of the RAID group including the PDEV of the target PDEV type.
  • Tier # 904 indicates the identification number of the tier that includes the pool VOL based on the RAID group that includes the PDEV of the target PDEV type. The smaller the value of tier # 904, the higher (higher) tier.
  • the device IOPS 905 is an example of the I / O performance of the target PDEV type PDEV, and indicates a processable IOPS (for example, maximum value).
  • the relocation throughput 906 is an example of the I / O performance of the PDEV of the target PDEV type, and indicates the throughput (for example, the maximum value) when the PDEV becomes the data relocation source or the data relocation destination.
  • FIG. 10 shows the flow of replication processing.
  • the duplication processing starts, for example, periodically or when the duplication unit 312 receives a duplication processing start request from at least one of the host 101 and the management system 69. Even during the current replication process, the host I / O request is received, the host I / O process is executed, and the I / O monitor table 301 is updated.
  • the order determining unit 321 determines the order (S1001). That is, the order determination unit 321 determines the duplication order of all the difference slots in the PVOL 113A (duplication order of each difference slot) based on the past history table 302.
  • the influence determination unit 322 makes an influence determination (S1002). That is, the influence determination unit 322 determines whether or not the rearrangement from the low speed page to the high speed page decreases the host I / O performance during the current replication process.
  • the area securing unit 323 secures the area (S1004).
  • the area securing unit 323 secures N (N is a natural number) free high-speed pages. N is the number of free high speed pages required.
  • the relocation unit 313 is called.
  • the rearrangement unit 313 rearranges (moves) the data in the low-speed page allocated to the virtual area including the difference slot to the high-speed page secured in S1004 (S1005).
  • the control unit 326 determines based on the I / O monitor table 301 whether a host I / O process has occurred during the current replication process (S1006). When the determination result in S1006 is false (S1006: N), the control unit 326 performs data replication (S1008).
  • the order update unit 324 updates the order (S1007). That is, the order update unit 324 updates the replication order determined in S1001 based on the host I / O process history during the current replication process.
  • the control unit 326 performs data replication according to the replication order indicated by the replication order table 304 (S1008). Data replication is performed for each of all the differential slots in the PVOL 113A. Data duplication is performed in descending order of duplication. For example, the control unit 326 selects the difference slot with the highest replication order among the difference slots for which data replication is not performed, reads data from the selected difference slot to the CM 111, and stores the data in the CM 111 as the difference slot. Is written in the slot in the SVOL 113B corresponding to The control unit 326 repeats this process until there is no difference slot for which data replication is not performed. Specifically, the replication order in S1008 is as follows.
  • the replication slot in S008 The order is from the smallest slot # of the difference slot. In other words, in this case, the smaller the slot #, the higher the replication order. If the determination result in S1002 is true (S1003: Y), that is, if it is determined that the host I / O performance is degraded, the replication order in S1008 is the replication order determined in S1001.
  • the replication order in S1008 is the replication order determined in S1001.
  • the replication order is the replication order after the update in S1007.
  • the post-processing unit 325 After S1008, the post-processing unit 325 performs post-processing (S1009). That is, the post-processing unit 325 uses the monitoring result of the host I / O process during the current replication process (the result specified from the I / O monitor table 301) as the history of the host I / O during the past replication process. Register in the history table 302.
  • FIG. 11 shows the details of the sequence determination (S1001 in FIG. 10).
  • the order determination unit 321 registers the current time as the time 401 and “0” (start) as the status 404 in the record of the I / O monitor table 301.
  • the record is the first record for the current replication process (S1101).
  • the order determining unit 321 refers to the slot management table 303 and identifies a difference slot in the PVOL 113B (if there is no difference slot, the current replication process may be canceled). The order determining unit 321 determines whether or not all the identified difference slots include at least one past I / O destination slot based on the past history table 302 (S1102). If slot # 506 in the record corresponding to the past duplication processing does not include slot # of any difference slot, the determination result in S1102 is false. If the determination result in S1102 is false (S1102: N), the process proceeds to S1008 in FIG.
  • the order determination unit 321 determines the cumulative slot IOPS for each of the corresponding difference slots (hereinafter, past I / O destination difference slot), and the cumulative slot IOPS 504 in the past history table 302. (S1103).
  • the order determination unit 321 sets the duplication rank of the past I / O destination difference slot among all the difference slots higher than the duplication rank of the difference slot that is not the past I / O destination difference slot among all the difference slots. At that time, the duplication order of the difference slot that is not the past I / O destination difference slot may be the order of the smallest slot #. In addition, the order determining unit 321 sets the duplication order of the past I / O destination difference slot in the descending order of the cumulative slot IOPS (S1104).
  • the order determining unit 321 registers the duplication rank of all the difference slots in the duplication rank table 304 (S1105).
  • FIG. 12 shows details of the flow of influence determination (S1002 in FIG. 10).
  • the influence determination unit 322 specifies the replication processing time 503 and the cumulative volume IOPS 505 of the PVOL 113A for the past replication processing based on the past history table 302 (S1201). Further, the influence determination unit 322 identifies the current volume IOPS of the PVOL 113A based on the I / O monitor table 301 (S1202).
  • the “current volume IOPS” may be a representative volume IOPS (for example, a maximum value or an average value) identified from the I / O monitor table 301.
  • the influence determination unit 322 calculates the upper free capacity based on the configuration management table 306 (S1203).
  • the above-described mapping table in the configuration management table 306 indicates, for example, for each page, a tier # to which the page belongs and a page status indicating whether or not the page is free. “Upper free capacity” is the total capacity of free high-speed pages.
  • the influence determination unit 322 calculates the usage amount during replication (S1204).
  • the “utilizing amount during copying” is the maximum value of the total capacity of free high-speed pages that are considered to be newly allocated to the PVOL 113A during the current copying process.
  • the usage during replication current volume IOPS ⁇ I / O size ⁇ duplication processing time.
  • Current volume IOPS is the value specified in S1202.
  • the “I / O size” is a data amount (for example, slot size) input / output by one I / O.
  • the “duplication processing time” is the duplication processing time 503 specified in S1201.
  • the influence determination unit 322 determines whether or not upper free space ⁇ use amount during replication (S1205). If the determination result in S1205 is true (S1205: Y), the process proceeds to S1008 in FIG. If the upper free capacity is equal to or less than the used capacity during replication, the reason for S1205: Y is that if all the host I / O processing targets during the current replication process are new virtual areas, the allocation is made to that virtual area. This is because there may be a shortage of possible high-speed pages (that is, high host I / O performance may not be achieved).
  • the influence determination unit 322 calculates rearrangement IOPS (S1206).
  • “Relocation IOPS” is an example of IOPS consumed by data relocation.
  • rearrangement IOPS relocation throughput / I / O size.
  • the “relocation throughput” is the PDEV relocation throughput 906 (see FIG. 9) that is the basis of the high-speed tier.
  • the “I / O size” is a data amount (for example, slot size) input / output by one I / O.
  • the influence determination unit 322 calculates effective IOPS (S1207).
  • Device IOPS is a PDEV device IOPS 905 (see FIG. 9) that is the basis of the high-speed tier.
  • Relocation IOPS is the value calculated in S1206.
  • the influence determination unit 322 determines whether or not effective IOPS ⁇ average volume IOPS (S1209). If the determination result in S1209 is true (S1209: Y), the process proceeds to S1008 in FIG.
  • effective IOPS ⁇ average volume IOPS the reason for S1209: Y is that the IOPS (host I / O performance) required for the PVOL 113A cannot be satisfied by performing data relocation from the low speed page to the high speed page. Because you get.
  • both the determination results of S1205 and S1209 are false, it is a determination result that the rearrangement from the low-speed page to the high-speed page does not deteriorate the host I / O performance during the current replication process.
  • At least one of S1205 and S1209 is an example of determining whether or not the rearrangement from the low-speed page to the high-speed page lowers the host I / O performance during the current replication process.
  • S1209 may be performed before S1205. Further, when at least one determination result of S1205 and S1209 is false, it may be a determination result that the host I / O performance does not deteriorate.
  • FIG. 13 shows details of the flow of area reservation (S1003 in FIG. 10).
  • the area securing unit 323 refers to the top record of the area management table 305 (S1301).
  • the area securing unit 323 determines whether or not the current I / O has occurred (already allocated) on the high-speed page corresponding to the reference record, for example, by referring to the mapping table described above (S1302).
  • the area securing unit 323 sets the use flag 803 in the reference record to “1” (usable) (S1303). As a result, a free high-speed page corresponding to the reference destination record is secured.
  • the area securing unit 323 sets the use flag 803 in the reference record to “0” (unusable) (S1304).
  • the area securing unit 323 determines whether the number of secured free high-speed pages has reached the required number N (N is a natural number) (S1305).
  • the required number may be one of the following. Whether the required number is one of the following may be determined in advance, or the area securing unit 323 may be the maximum of the number of free high-speed pages (corresponding to the upper free capacity in S1203 in FIG. 12) or less. May be selected.
  • the area securing unit 323 increments the position (number) of the reference destination record (that is, the next record is the reference destination) (S1306), and the next record S1302 is performed.
  • FIG. 14 shows the details of the sequence update (S1007 in FIG. 10).
  • the order updating unit 324 determines whether or not at least one current I / O destination difference slot is a past I / O destination difference slot (S1401). If the determination result in S1401 is false (S1401: N), the process proceeds to S1008 in FIG. Note that the “current I / O destination difference slot” is a difference slot (targeted as an I / O destination) that is a target of host I / O processing during the current replication processing.
  • the order update unit 324 specifies a difference slot that can be related to the current I / O destination difference slot corresponding to S1401: Y (S1402).
  • the “difference slot that can be related to the current I / O destination difference slot” may be, for example, a difference slot that stores data associated with data in the current I / O destination difference slot.
  • the order update unit 324 relatively raises the replication rank of at least one of the current I / O destination difference slot corresponding to S1401: Y and the difference slot specified in S1402 (S1403). As a result, among the difference slots corresponding to the past I / O destination difference slot, the difference slot corresponding to the current I / O destination difference slot is set to a higher replication order than the replication order determined in S1001.
  • the order update unit 324 registers the replication order after the update in S1403 in the replication order table 304.
  • the order update unit 324 assigns at least one of the current I / O destination difference slot corresponding to S1401: Y and the difference slot specified in S1402 to the virtual area including the difference slot. It is determined whether the page is a low speed page (S1404). If the determination result in S1404 is true (S1404: Y), the rearrangement unit 313 rearranges the data in the low-speed page to an empty high-speed page (S1405). As a result, the replication target data in the difference slot whose replication order has been increased exists in the high-speed PDEV at the time of data replication.
  • FIG. 15 shows details of the flow of post-processing (S1009 in FIG. 10).
  • the post-processing unit 325 registers status 404 “1” (end) in the final record corresponding to the current replication process in the I / O monitor table 301 (S1501).
  • the post-processing unit 325 refers to the first record corresponding to the current replication process in the I / O monitor table 301 (S1502).
  • the post-processing unit 325 determines whether or not the status 404 in the referenced record is “0” (S1503).
  • the referenced record is the first record.
  • the post-processing unit 325 stores the time 401 in the record in the SM 113 (for example, the work area) as the start time, and stores the slot IOPS, slot #, and volume IOPS in the record in the SM 113 (S1504).
  • the post-processing unit 325 determines whether the status 404 in the referenced record is “1” (S1505).
  • the referenced record is a record between the first record and the last record.
  • the post-processing unit 325 reflects the slot IOPS, slot #, and volume IOPS in the record on the slot IOPS, slot #, and volume IOPS already stored in the SM 113, respectively. That is, the accumulated slot IOPS for each difference slot is updated, and the accumulated volume IOPS for the PVOL 113A is updated. Thereafter, the post-processing unit 325 increments the position (number) of the reference destination record (that is, the next record is the reference destination) (S1507), and performs S1505 for the next record.
  • the referenced record is the last record.
  • the post-processing unit 325 stores the time 401 in the record as the end time in the SM 113 (for example, a work area), and additionally stores the slot IOPS, slot #, and volume IOPS in the record in the slot IOPS, slot # already stored in the SM 113. And reflected in the volume IOPS (S1508).
  • the post-processing unit 325 adds a start time 501, an end time 502, a copy processing time 503 (difference between the end time and the start time), a cumulative slot IOPS to the record of the past history table 302 (a record corresponding to the current copy process). (Accumulated slot IOPS of each difference slot), accumulated volume IOPS 505 (at least the accumulated volume IOPS of PVOL 113A), and slot # 506 (list of difference slot #) are registered (S1509). In the next replication process, the record having the information registered in S1509 is referred to.
  • the PVOL 113A may not be a VVOL.

Landscapes

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

Abstract

Ce système de stockage gère un historique d'entrée/sortie hôte qui est un historique d'un processus d'entrée/sortie hôte. Lorsqu'un PVOL a au moins une région de différence, le système de stockage réalise un processus de copie présent qui comprend un processus de détermination de séquence. Le processus de détermination de séquence comprend les étapes suivantes qui consistent : (a1) à déterminer s'il existe au moins une région de destination E/S passée (région de destination E/S utilisée dans un processus de copie passé et identifiée à partir de l'historique E/S hôte) parmi toutes les régions de différence de la PVOL ; et (a2) à définir, lorsque le résultat de détermination de (a1) est vrai, l'ordre de copie de toutes les régions de destination E/S passées parmi toutes les régions de différence comme étant supérieur à celui des régions de différence autres que toutes les régions de destination E/S passées parmi toutes les régions de différence.
PCT/JP2017/010953 2017-03-17 2017-03-17 Système de stockage et procédé de commande de copie WO2018167950A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/010953 WO2018167950A1 (fr) 2017-03-17 2017-03-17 Système de stockage et procédé de commande de copie

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/010953 WO2018167950A1 (fr) 2017-03-17 2017-03-17 Système de stockage et procédé de commande de copie

Publications (1)

Publication Number Publication Date
WO2018167950A1 true WO2018167950A1 (fr) 2018-09-20

Family

ID=63521896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/010953 WO2018167950A1 (fr) 2017-03-17 2017-03-17 Système de stockage et procédé de commande de copie

Country Status (1)

Country Link
WO (1) WO2018167950A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217641A (ja) * 2007-03-07 2008-09-18 Nec Corp レプリケーション方法及びストレージ装置並びにプログラム
JP2009289252A (ja) * 2008-05-30 2009-12-10 Hitachi Ltd 階層ストレージシステムでのリモート複製
JP2013196290A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd バックアップ装置,バックアップ方法,およびバックアッププログラム
JP2016085666A (ja) * 2014-10-28 2016-05-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストレージ管理方法、ストレージ管理システム、コンピュータ・システムおよびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217641A (ja) * 2007-03-07 2008-09-18 Nec Corp レプリケーション方法及びストレージ装置並びにプログラム
JP2009289252A (ja) * 2008-05-30 2009-12-10 Hitachi Ltd 階層ストレージシステムでのリモート複製
JP2013196290A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd バックアップ装置,バックアップ方法,およびバックアッププログラム
JP2016085666A (ja) * 2014-10-28 2016-05-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストレージ管理方法、ストレージ管理システム、コンピュータ・システムおよびプログラム

Similar Documents

Publication Publication Date Title
US8984248B2 (en) Data migration system and data migration method
US10031703B1 (en) Extent-based tiering for virtual storage using full LUNs
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
JP5303066B2 (ja) プールに関連付けられる仮想ボリュームの総容量を制限する方法及びストレージ装置
JP4890033B2 (ja) 記憶装置システム及び記憶制御方法
JP4890160B2 (ja) ストレージシステム及びバックアップ/リカバリ方法
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP5124551B2 (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
JP5073259B2 (ja) 仮想化システム及び領域割当て制御方法
JP5250869B2 (ja) ストレージシステム、論理記憶領域割り当て方法及び計算機システム
JP5391277B2 (ja) ストレージシステム及びストレージシステムの処理効率向上方法
US8806126B2 (en) Storage apparatus, storage system, and data migration method
US9250813B2 (en) Storage system coupled to a host computer and a management device
JP6835949B2 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
CN113360082A (zh) 存储系统及其控制方法
WO2012035576A1 (fr) Système de stockage stockant des modules électroniques appliqués à des objets électroniques communs à plusieurs ordinateurs, et son procédé de commande de stockage
JP2020052919A (ja) ストレージ装置、管理方法及びプログラム
JP5778872B2 (ja) ストレージシステムおよびデータ管理方法
JP2019124983A (ja) ストレージシステム及び記憶制御方法
WO2018055686A1 (fr) Système de traitement d'informations
WO2018167950A1 (fr) Système de stockage et procédé de commande de copie
JP7113698B2 (ja) 情報システム
JP2020106999A (ja) ストレージシステムおよびストレージシステムのデータ管理方法
JP2024017058A (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: 17900485

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP