WO2018134985A1 - ストレージ装置、その制御装置、およびその制御方法 - Google Patents

ストレージ装置、その制御装置、およびその制御方法 Download PDF

Info

Publication number
WO2018134985A1
WO2018134985A1 PCT/JP2017/002037 JP2017002037W WO2018134985A1 WO 2018134985 A1 WO2018134985 A1 WO 2018134985A1 JP 2017002037 W JP2017002037 W JP 2017002037W WO 2018134985 A1 WO2018134985 A1 WO 2018134985A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage device
amount
volume
host device
Prior art date
Application number
PCT/JP2017/002037
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/JP2017/002037 priority Critical patent/WO2018134985A1/ja
Publication of WO2018134985A1 publication Critical patent/WO2018134985A1/ja

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
    • 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 relates to a storage apparatus, its control apparatus, and its control method, and is particularly suitable for application to a storage apparatus in which a tree structure including a volume composed of differential copies in a node is defined.
  • a secondary volume (SVOL) of a differential copy can be created from a primary volume (PVOL), a differential copy (SVOL) can be created from the differential copy (SVOL), and a volume tree structure is formed.
  • the differential copy (SVOL) can be assigned to the host device (see Patent Document 1). For example, in the READ of a host device to which a predetermined SVOL is allocated, when the data to be read is stored in the SVOL (difference data), the difference data is read out, and the data to be read is converted into the SVOL (difference). If the data is not stored in (data), the hierarchy is traced up to the volume in which the data to be read is stored, and the data to be read is read out.
  • the present invention has been made in view of the above points, and an attempt is made to propose a highly reliable storage apparatus, its control apparatus, and its control method that can easily perform appropriate performance improvement according to the situation of the storage apparatus. To do.
  • a tree structure including a volume composed of differential copies in a node is defined on a storage area provided by a plurality of storage device groups configured to include one or a plurality of storage devices.
  • a storage unit that receives data requests from a plurality of host devices associated with the plurality of volumes, and an IO amount that indicates an upper limit of an IO amount that can be processed by each of the plurality of storage device groups
  • a storage unit that stores an upper limit, an IO amount in which each data stored in the plurality of storage device groups is associated with each host device, and a predetermined storage device group of the plurality of storage device groups
  • An acquisition unit that acquires an IO amount for a host device associated with a volume that refers to the data, and the host device and the plurality of storage devices
  • a determination unit that determines whether there is a combination in which the total IO amount from the host device is less than the upper limit of the IO amount of the storage device group, and a storage device group that stores the data in the lower combination
  • a tree structure including a volume composed of differential copies in a node is defined on a storage area provided by a plurality of storage device groups configured to include one or a plurality of storage devices.
  • a storage unit that stores an IO amount upper limit that indicates an upper limit, an IO amount in which each data stored in the plurality of storage device groups is associated with each host device, and among the plurality of storage device groups
  • An acquisition unit that acquires an IO amount for a host device associated with a volume that refers to the data for data stored in a predetermined storage device group, and the host device Among the combinations with the plurality of storage device groups, a determination unit that determines whether there is a combination in which the total IO amount from the host device is lower than the upper limit of the IO amount of the storage device group, and stores the data in the lower combination
  • the storage apparatus is configured to perform active copy of the data to the storage device group to be changed, and to change the reference destination data of the volume that refers to the data from the data to the data that has been actively copied to the storage device group.
  • a tree structure including a volume composed of differential copies in a node is defined on a storage area provided by a plurality of storage device groups configured to include one or a plurality of storage devices.
  • a communication unit that accepts data requests from a plurality of host devices associated with the plurality of volumes, an IO amount upper limit that indicates an upper limit of an IO amount that can be processed by each of the plurality of storage device groups,
  • a storage device control method comprising: a storage unit that stores an IO amount in which each data stored in a storage device group is associated with each host device, wherein the acquisition unit includes the plurality of storages
  • the determination unit determines whether there is a combination in which the total IO amount from the host device is lower than the upper limit of the IO amount of the storage device group among the combinations of the host device and the plurality of storage device
  • the present invention it is possible to reduce the copy time by performing active copy of data so as to contribute to load distribution of IO, instead of performing full copy based on all data constituting the differentially copied volume, It is possible to avoid wasting data area.
  • load distribution can be performed without stopping the host device.
  • the present invention it is possible to realize a highly reliable storage device, its control device, and its control method that can easily perform appropriate performance improvement according to the status of the storage device.
  • the controller of the storage apparatus determines whether the data to be read is dedicated data (data corresponding to the difference data of the SVOL) or shared data (difference data of the parent SVOL or parent data). The primary data of the PVOL).
  • the controller of the storage device reads the SVOL difference data if it is dedicated data, and issues READ to the parent SVOL if it is shared data.
  • the controller of the storage apparatus performs READ by making the same determination for the parent SVOL. As a result, the target data can be read while following the tree.
  • the differential copy is a copy of a certain volume, and is a copy in which only the updated part of the copy destination is stored as a difference.
  • the analysis host device 302 for analysis using the difference data 308 of the application operated by the application host device 301, and the application test using the difference data 308 of the application are used.
  • the test host apparatus 303 is operated so as to refer to the SVOL 305 that has been differentially copied from the PVOL 304 and the volume (SVOL 306 or SVOL 307) that has been differentially copied from the SVOL 305.
  • the application differential data 308 is used for data analysis and testing, the update to the SVOL 305 assigned to the application host apparatus 301 is stored in the three host apparatuses 301 to PG 309 that are stored as the differential data 308. Access is concentrated from 303.
  • a full copy is a copy of a certain volume and is a copy that duplicates the copy source data to the copy destination.
  • reference numeral 1 denotes a computer system according to this embodiment as a whole.
  • the computer system 1 controls a storage device 10 that reads and writes data in response to requests from a plurality of host devices (host device A30A, host device B30B, host device C30C, host device D30D, etc.), and the storage device 10.
  • a control device 20 that performs the control.
  • the storage apparatus 10 performs communication with a CPU (Central Processing Unit) 11 that performs various controls, a memory 12 that stores various data, a port 13 for communication with a plurality of host devices, and a control device 20. Port 14 and a plurality of PGs (in this example, PG15A, PG15B, PG15C, and PG15D) for storing various data.
  • the PG is a PG that stores primary data constituting the PVOL, or a PG that stores difference data from the copy source volume among the data constituting the SVOL.
  • the PG is a storage device group configured to include one or a plurality of storage devices, and a tree structure including a volume composed of differential copies in a node is defined in a storage area provided by the plurality of PGs. Also, each volume is provided in association with (assigned to) each host device.
  • the control device 20 includes a CPU 21 that performs various controls, an HDD (Hard Disk Drive) 22 that stores various data, and a memory 23 that stores various data such as various programs (for example, a preprocessing program 24 and an execution program 25). And a port 26 for performing communication with the storage apparatus 10.
  • the CPU 21 reads and executes the pre-processing program 24 and the execution program 25, thereby performing various processes described below.
  • the HDD 22 also includes a pending rate management table 201, a PG information management table 202, a PG data list 203, an active copy management table 204, a host device reference destination volume management table 205, a volume reference destination data management table 206, and a host, which will be described later.
  • a device reference destination data management table 207 is stored.
  • the control device 20 is not limited to the above-described configuration.
  • the port 13 receives various instructions (inputs) from the user from another management device or input device different from the host device.
  • an input unit a keyboard, a pointing device, a touch panel, etc.
  • receiving various instructions from the user may be provided.
  • FIG. 2 shows a pending rate management table 201.
  • the pending rate management table 201 stores the upper limit of the pending rate (Pending Rate).
  • Pending Rate the upper limit of the pending rate
  • a value recommended by the storage device 10, the control device 20, or other device based on specification information may be automatically set.
  • a desired value may be set.
  • FIG. 3 shows the PG information management table 202.
  • the PG information management table 202 stores an IO amount upper limit and a pending rate in association with each PG that can be used in the storage apparatus 10. This pending rate is regularly monitored and is an average per predetermined time (1 hour, an execution interval of a periodic execution process described later).
  • the IO amount upper limit is set in advance processing described later.
  • FIG. 4 shows a PG data list 203.
  • the PG data list 203 information indicating whether or not the data is active copy data is stored in association with each data stored in the PG.
  • one table is illustrated as the PG data list 203, but a table is provided for each PG.
  • FIG. 5 shows the active copy management table 204.
  • the active copy management table 204 information that can identify the data being actively copied is stored in association with each data.
  • FIG. 6 shows the host device reference destination volume management table 205.
  • the host device reference destination volume management table 205 information that can identify the volume (reference destination volume) referred to by the host device is stored in association with each host device.
  • FIG. 7 shows the volume reference data management table 206.
  • the volume reference destination data management table 206 information that can identify data (reference destination data) referenced from each volume is stored in association with each host device.
  • FIG. 8 shows the host device reference destination data management table 207.
  • the IO amount in the data referred to by the host device is stored in association with each other.
  • the IO amount is regularly monitored and is an average per predetermined time (one hour, an execution interval of a periodic execution process described later, etc.).
  • the pre-processing is processing for measuring and setting the upper limit of the IO amount per unit time of all PGs in which difference data and primary data may be arranged.
  • the measurement is performed by creating a volume from the PG and issuing an IO to the volume by the storage device 10 (which may be the control device 20).
  • the IO amount is increased every unit time, and the IO amount at the moment when PG exceeds a specific pending rate (threshold) is recorded.
  • the pending rate indicates a waiting ratio of IO, and if it exceeds a certain value, it can be determined that the IO amount to the PG exceeds the IO amount that can be processed.
  • the IO amount at the moment when a specific pending rate is exceeded is regarded as the upper limit of the PG IO amount.
  • the host device is described as a host.
  • FIG. 9 shows a processing procedure of preprocessing executed by the preprocessing program 24.
  • the pre-processing is processing for setting the upper limit of the IO amount for each PG, and can be executed at an arbitrary timing. However, when the timing for declaring that the PG is a candidate for storing differential data is the first replication setting Yes, it is preferable to execute at that timing.
  • the pre-processing program 24 first acquires the upper limit (threshold value) of the pending rate from the pending rate management table 201 (step S10).
  • the preprocessing program 24 acquires (specifies PG) information from the PG information management table 202 for all PG information used in constructing the differential copy tree (step S11).
  • the pre-processing program 24 determines whether or not processing has been performed for all the PGs identified in step S11 (whether or not each PG has been repeated) (step S12). The pre-processing program 24 ends the pre-processing when it is determined that the process is finished, and moves to step S13 when it is determined that it is not the end.
  • step S13 the pre-processing program 24 creates a volume in the processing target PG.
  • the preprocessing program 24 assigns the volume created in step S13 to the control device 20 (step S14).
  • the pre-processing program 24 sets the IO issue amount per unit time in order to confirm the pending rate when the IO is actually issued to the volume created in step S13 (step S15).
  • the pre-processing program 24 instructs the storage apparatus 10 to issue IO to the volume created in step S13 according to the IO issue amount set in step S15 (step S16). Thereby, the storage apparatus 10 issues an IO to the volume created in step S13 according to the IO issue amount set in step S15.
  • the preprocessing program 24 determines whether or not the pending rate has exceeded the threshold acquired in step S10 (step S17). The pre-processing program 24 moves the process to step S19 when it is determined that it has been exceeded, and moves the process to step S18 when it is determined that it has not been exceeded.
  • step S18 the pre-processing program 24 increases the setting of the IO issue amount per unit time, and moves the process to step S16. As a result, the pending rate is confirmed with a new issue amount obtained by increasing the IO issue amount per unit time.
  • step S19 the pre-processing program 24 determines the IO issue amount when the pending rate exceeds the threshold as the IO amount upper limit of the processing target PG, and sets the IO amount upper limit corresponding to the PG in the PG information management table 202. Then, the processing target is changed to the next PG, and the process proceeds to step S12. Thus, the process is repeated until the IO amount upper limit of one PG is set and the IO amount upper limit of all PGs is set.
  • FIG. 10 shows a processing procedure for periodic execution processing executed by the execution program 25.
  • the periodic execution process is a process of selecting a PG that needs load distribution and executing load distribution for the PG, and is performed periodically (for example, every hour).
  • the execution program 25 first determines whether or not to continue the periodic execution process (step S20). If the execution program 25 determines to continue, it moves the process to step S21. If it determines that the execution program 25 does not continue, the execution program 25 ends the periodic execution process. For example, the execution program 25 refers to the PG information management table 202 and the PG data list 203, determines that there is no difference copy, determines that a system error has occurred, or receives an end instruction from the user. For example, the periodic execution process ends.
  • step S21 the execution program 25 acquires (specifies a PG) information about all PGs used in constructing the differential copy tree from the PG information management table 202.
  • the execution program 25 determines whether or not processing has been performed for all the PGs identified in step S21 (whether the repetition for each PG has been completed) (step S22). The execution program 25 moves the process to step S20 when it is determined that the process is finished, and moves the process to step S23 when it is determined that the process is not finished.
  • step S23 the execution program 25 performs load distribution necessity determination processing.
  • the load distribution necessity determination process as will be described later, it is determined whether or not load distribution is necessary for the processing target PG.
  • step S24 the execution program 25 determines whether or not load distribution of the processing target PG is necessary according to the processing result of step S23 (step S24). If the execution program 25 determines that it is necessary, it moves the process to step S25. If it determines that it is not necessary, the execution program 25 moves the process to step S22 instead of the next PG.
  • step S25 the execution program 25 performs load distribution processing and moves the processing to step S20.
  • load distribution is performed for the processing target PG.
  • FIG. 11 shows a processing procedure of load distribution necessity determination processing executed by the execution program 25.
  • the load distribution necessity determination process is a process called in step S23 of the above-described periodic execution process.
  • the load distribution necessity determination process the necessity for load distribution is determined based on the pending rate of the processing target PG. .
  • the execution program 25 first acquires the upper limit (threshold value) of the pending rate from the pending rate management table 201 (step S30).
  • the execution program 25 acquires a pending rate corresponding to the processing target PG from the PG information management table 202 (step S31).
  • step S32 the execution program 25 determines whether or not the pending rate acquired in step S31 exceeds the threshold acquired in step S30 (step S32).
  • the execution program 25 moves the process to step S33 if it is determined that the number exceeds the limit, and moves to step S34 if it is determined that the number does not exceed the number.
  • step S33 the execution program 25 responds to the caller that load distribution is necessary. More specifically, the execution program 25 stores information indicating that load distribution is necessary as a processing result in the memory 20, and ends the load distribution necessity determination process.
  • step S34 the execution program 25 responds to the caller that load distribution is unnecessary. More specifically, the execution program 25 stores information indicating that load distribution is unnecessary as a processing result in the memory 20, and ends the load distribution necessity determination process.
  • FIG. 12 shows a processing procedure of load distribution processing executed by the execution program 25.
  • the load distribution process is a process that is called in step S25 of the regular execution process described above, and load distribution (migration process, existing active copy reuse process, or new active copy process) for the processing target PG is the load on the storage apparatus 10. It is executed according to the situation.
  • the execution program 25 refers to the data list 203 of the processing target PG, and acquires (identifies data) information on all data (difference data and primary data) on the processing target PG (step S40). .
  • the execution program 25 acquires the IO amount (data IO amount) for the data of one host device from the host device reference destination data management table 207 for each piece of data specified in step S40 (step S41).
  • the data IO amount of the host device 1 with respect to data 1 is “4”.
  • step S42 the execution program 25 determines whether or not the processing has been completed for all the data specified in step S40 (whether or not the repetition with the IO amount for the data of the host device is complete). If it is determined that the execution program 25 has ended, the process proceeds to step S45. If it is determined that the execution program 25 has not ended, the process proceeds to step S43.
  • step S43 the execution program 25 determines whether the data IO amount of the processing target data exceeds the IO amount upper limit of the processing target PG. If it is determined that the execution program 25 exceeds, the process proceeds to step S44. If it is determined that the execution program 25 does not exceed the execution program 25, the process is transferred to step S42 instead of the next data.
  • step S44 the execution program 25 performs a migration process, and shifts the process to step S42 instead of processing the next data.
  • the data IO amount exceeds the IO amount upper limit of the processing target PG, but the data IO amount cannot be divided, so the IO amount upper limit that can process the data IO amount is set.
  • a PG having the selected PG is selected, and data is moved to the selected PG.
  • step S45 the execution program 25 determines whether or not the total IO amount of the host device for the processing target PG is less than the IO amount upper limit of the processing target PG. If it is determined that the execution program 25 is below, the load distribution process is terminated. If it is determined that the execution program 25 is not below the execution program 25, the process proceeds to step S46.
  • step S46 the execution program 25 refers to the active copy management table 204, and acquires information on all data for which an active copy already exists from the data stored in the processing target PG (identifies data). To do.
  • step S47 the execution program 25 determines whether or not the processing has been completed for all the data specified in step S46. If it is determined that the execution program 25 has ended, the process proceeds to step S50. If it is determined that the execution program 25 has not ended, the process proceeds to step S48.
  • step S48 the execution program 25 performs the existing active copy reuse process, and moves the process to step S49.
  • the existing active copy reuse processing as will be described later, for data for which an active copy already exists, the host device read destination is switched to the active copy destination PG instead of the problem PG and the IO amount upper limit is exceeded. If it does not exceed, the reading destination PG of the host device is changed.
  • step S49 the execution program 25 determines whether or not the total IO amount of the host device for the processing target PG is less than the IO amount upper limit of the processing target PG. If it is determined that the execution program 25 is below, the load distribution process is terminated. If it is determined that the execution program 25 is not below the execution program 25, the processing target is changed to the next data, and the process proceeds to step S47.
  • step S50 the execution program 25 executes a new active copy creation process, and moves the process to step S51.
  • the new active copy creation process as will be described later, if there is a combination in which the total IO amount of the host device is lower than the IO amount upper limit of the PG among the combinations of the host device and the PG, An active copy is created on a PG that has been determined to be safe to store data to be processed.
  • step S51 the execution program 25 determines whether or not the total IO for the processing target PG falls below the IO amount upper limit of the processing target PG. If it is determined that the execution program 25 is below, the load distribution process is terminated. If it is determined that the execution program 25 is not below the execution program 25, the process proceeds to step S52.
  • step S52 the execution program 25 performs error processing when load distribution cannot be performed with the PG capability available in the storage apparatus 10 (impossible), and ends the load distribution processing.
  • FIG. 13 shows a processing procedure of migration processing executed by the execution program 25.
  • the migration process is a process called in step S44 of the load distribution process described above.
  • the execution program 25 first acquires the IO amount (data IO amount) of the host device for the data to be processed from the caller (step S60).
  • the execution program 25 selects a PG having a margin for the data IO amount from the available PGs (step S61). More specifically, the execution program 25 identifies PGs that can be used in the storage apparatus 10 from the PG information management table 202, and identifies data stored in the PG from the PG data list 203 for each identified PG. The total IO amount (total IO amount) of the host device for each data is obtained, and the IO amount that can be processed (processable IO amount) is obtained by subtracting the total IO from the upper limit of the IO amount in the PG information management table 202. It is determined whether the possible IO amount exceeds the data IO amount, and the exceeding PG is selected as a marginal PG.
  • the execution program 25 may select an arbitrary PG, a PG selected first as a PG having a margin, or a processable IO. You may select PG with the largest quantity. If there is no PG having a margin, the execution program 25 performs error processing and ends the migration processing.
  • the execution program 25 instructs the storage apparatus 10 to actively copy the processing target data to the selected PG (step S62).
  • the execution program 25 updates the data list 203 and the active copy management table 204 of the selected PG.
  • the data to be processed is the data 4 to which the IO of the host device 3 is distributed and the data 5 is created in the PG 4 by performing active copy (predetermined case)
  • the data list of the selected PG The data 5 is added to 203 with the identification information indicating whether or not the data is active copy as “YES”, and the data 4 and the data 5 are added to the active copy management table 204 in association with each other.
  • the execution program 25 instructs the storage apparatus 10 to switch the reference destination (reading and writing destination) of the host device to the selected PG data (step S63).
  • the execution program 25 updates the volume reference destination data management table 206.
  • the execution program 25 updates the data (reference destination data) referred to by the volume 3 associated with the host apparatus 3 from the data 4 to the data 5 in the volume reference destination data management table 206 in the predetermined case. To do.
  • the execution program 25 instructs the storage apparatus 10 to delete the data to be processed from the original PG (step S64).
  • the execution program 25 updates the data list 203 of the selected PG and the host device reference destination volume management table 205.
  • the execution program 25 changes the identification information indicating whether or not it is active copy data in the data 5 of the selected PG data list 203 to “NO”, and refers to the host device.
  • Information associated with data 4 and data 5 is deleted from the destination volume management table 205.
  • FIG. 14 shows a processing procedure of an existing active copy reuse process executed by the execution program 25.
  • the existing active copy reuse process is a process called in step S48 of the load distribution process described above.
  • the execution program 25 first acquires the IO amount of the host device for the processing target data from the host device reference destination data management table 207 (step S70).
  • the execution program 25 acquires information on the PG storing the active copy data of the data to be processed (step S71). More specifically, the execution program 25 refers to the PG data list 203 and the active copy management table 204, identifies the PG in which the active copy data of the data to be processed is stored, and stores each identified PG. The IO amount upper limit is acquired from the PG information management table 202, and the IO amount of data for the host device of each identified PG is acquired from the host device reference destination data management table 207.
  • the execution program 25 determines whether there is a combination in which the IO amount of the host device is smaller than the IO amount upper limit of the PG based on the combination of the relationship between the host device and the PG (step S72). More specifically, the execution program 25 fixes the reading destination PG of the host device that writes data, and changes the data storage destination referred to by the host device other than the host device to another PG. For each identified PG, the data stored in the PG is rearranged one by one until a combination is found in which the total amount of IO amount (total IO amount) of each host device is smaller than the IO amount upper limit of the PG. The execution program 25 moves the process to step S74 when a combination in which the total IO amount of the host device is smaller than the upper limit of the PG IO amount is found in all the specified PGs. Move processing.
  • step S73 the execution program 25 notifies the caller that the reuse is impossible, and the existing active copy reuse process is terminated.
  • step S74 the execution program 25 changes the PG of the host read destination with the found combination. More specifically, the execution program 25 changes the read destination of the volume associated with the host device that changes the read destination of the processing target data to the active copy data to the active copy data. To terminate the existing active copy reuse process. At this time, the execution program 25 updates the reference destination data in the volume reference destination data management table 206 based on the found combination.
  • FIG. 15 shows a processing procedure for new active copy creation processing executed by the execution program 25.
  • the new active copy creation process is a process called in step S50 of the load distribution process described above.
  • the execution program 25 first acquires all data information on the processing target PG from the PG data list 203 (identifies data on the processing target PG) (step S80).
  • the execution program 25 acquires all IO amounts for the host device data from the host device reference destination data management table 207 (step S81).
  • the execution program 25 acquires PG information that can be used in the storage apparatus 10 from the PG information management table 202 (identifies available PG) (step S82).
  • the execution program 25 determines whether or not the processing has been completed for all the data specified in step S80 (step S83). If it is determined that the execution program 25 has ended, the new active copy creation process ends. If it is determined that the execution program 25 has not ended, the process proceeds to step S84.
  • the execution program 25 determines whether there is a combination in which the IO amount of the host device is smaller than the IO amount upper limit of the PG based on the combination of the relationship between the host device and the PG (step S84). More specifically, when the execution program 25 changes the PG of the host device that references the processing target data to another PG, the total IO amount (total IO The data stored in the PG is rearranged one by one until a combination whose amount is smaller than the upper limit of the other PG is found. Then, the execution program 25 moves the process to step S85 when a combination in which the total IO amount of the host device is smaller than the upper limit of the PG IO amount is found in all the specified PGs. Instead of the next data, the process proceeds to step S83.
  • step S85 the execution program 25 actively copies the processing target data to the PG that stores the active copy data in the found combination, and sets the reference destination of the host device that refers to the processing target data as the active copy data.
  • the storage apparatus 10 is instructed to change, and the process proceeds to step S86.
  • the execution program 25 updates the reference destination data in the PG data list 203, the active copy management table 204, and the volume reference destination data management table 206 based on the found combination.
  • step S86 the execution program 25 determines whether the total IO amount of the host device for the data stored in the processing target PG is smaller than the upper limit of the IO amount of the PG. If it is determined that the execution program 25 is small, the new active copy creation process is terminated. If it is determined that the execution program 25 is not small, the process target is changed to the next data, and the process proceeds to step S83.
  • FIG. 16A shows the access status of the host devices 301 to 303 before the new active copy creation process to PG 309
  • FIG. 16B shows the state after the new active copy creation process The access status of the host devices 301 to 303 is shown.
  • FIG. 16A shows a situation in which the host devices 301 to 303 access to the SVOL 305 is concentrated, the IO amount that can be processed by the PG 309 is exceeded, and the response performance of the SVOL 305 is degraded.
  • the difference data 310 that is the active copy of the difference data 308 of the PG 309 that has exceeded the IO amount is arranged in a PG 311 different from the PG 309.
  • the concentration of access to the differential data 308 is distributed.
  • this computer system by copying only the differential data with a load, it is possible to prevent unnecessary copy time from occurring without consuming a copy area. Further, by adopting the active copy method, it is not necessary to change the volume assigned to the host device, and the load can be distributed without stopping the host device, so that a storage device highly useful for the user can be constructed.
  • the user since it is determined whether or not load distribution is necessary for all PGs, and load distribution can be performed automatically, the user selects SVOL one by one to determine whether or not load distribution is necessary. It is possible to eliminate an instruction (labor) for determining the above, and it is possible to prevent the user's work load from increasing as the SVOL increases.
  • the computer system 1 it is determined whether or not the IO amount of one host device with respect to the data has reached the upper limit of the IO amount of one PG. Since the data is moved to another PG different from the other PG, the situation where the response performance of one PG (volume) is degraded is improved.
  • the computer system 1 determines whether or not the read destination of the host device can be switched from the problematic PG to the active copy destination PG for data for which active copy data already exists. . According to such a configuration, when switching is possible, the active copy data is reused. Therefore, in a situation where the load can be sufficiently reduced even if the active copy data is distributed to the existing PGs, the active copy can be reduced. It will be possible to avoid the situation of creating more data.
  • the average of the PG pending rate over a certain period is compared with the upper limit of the pending rate, so that the READ for specific differential data temporarily increases, and immediately In fewer cases, it is possible to avoid a situation in which unnecessary resource consumption occurs due to unnecessary load distribution.
  • the storage apparatus 10 has a preprocessing program 24 and an execution program 25. More specifically, the pre-processing program 24 and the execution program 25 are read from the memory 12 and executed by the CPU 11, and the above-described various processes are performed.
  • the memory 12 also includes the above-described pending rate management table 201, PG information management table 202, PG data list 203, active copy management table 204, host device reference destination volume management table 205, volume reference destination data management table 206, A host device reference destination data management table 207 is stored.
  • the storage device 10 is not limited to the above-described configuration.
  • the port 13 may receive various instructions from the user from another management device or input device different from the host device. Good.
  • FIG. 18 shows a processing procedure of volume origin load distribution processing executed by the execution program 25 of this embodiment.
  • the execution program 25 first acquires information indicating that the user manually executes load distribution by specifying a volume (step S100).
  • the execution program 25 acquires information on the PG that constitutes the designated volume (step S101). More specifically, the execution program 25 identifies data referred to by the designated volume with reference to the volume reference data management table 206, and designates the PG storing the identified data as the PG data list 203. To identify.
  • the execution program 25 executes a new active copy creation process for each PG identified in step S101 (step S102). Since the new active copy creation process is the same as the new active copy creation process of the first embodiment, the description thereof is omitted.
  • the computer system 1 of the present embodiment when the user determines that the response of a specific volume is slow, it is possible to efficiently eliminate the response deterioration by designating the volume determined to be slow in response. Become.
  • FIG. 19 shows a processing procedure of host device origin load distribution processing executed by the execution program 25 of this embodiment.
  • the execution program 25 first acquires information indicating that the user manually executes load distribution by designating the host device (step S200).
  • the execution program 25 acquires information on the PGs constituting the volume referred to by the designated host device (step S201). More specifically, the execution program 25 refers to the host device reference destination volume management table 205 to identify the volume referred to by the specified host device, and sets the data referenced by the identified volume as the volume.
  • the PG in which the identified data is stored is identified with reference to the reference data management table 206, and the PG storing the identified data is identified with reference to the PG data list 203.
  • the execution program 25 executes a new active copy creation process for each PG identified in S201 (step S202). Since the new active copy creation process is the same as the new active copy creation process of the first embodiment, the description thereof is omitted.
  • the computer system 1 of this embodiment when the user determines that the response of a specific host device is slow, it is possible to efficiently specify the host device that is determined to be slow in response and eliminate the response deterioration. It becomes like this.
  • FIG. 20 shows a processing procedure of load balancing necessity determining processing executed by the execution program 25.
  • the load distribution necessity determination process is a process called in step S23 of the periodic execution process of the first embodiment.
  • the load distribution necessity determination process is performed based on the total IO amount of the processing target PG. Necessity is determined.
  • the execution program 25 refers to the PG information management table 202 and acquires the IO amount upper limit of the PG to be processed (step S300).
  • the execution program 25 acquires information on a host device that may issue an IO to the processing target PG (step S301). More specifically, the execution program 25 refers to the PG data list 203 to identify data stored in the processing target PG, and designates a host device that refers to the identified data as a host device reference destination data management table. 207 is specified.
  • the execution program 25 calculates (acquires) the total IO amount of all the specified host devices with reference to the host device reference destination data management table 207 (step S302).
  • the execution program 25 determines whether or not the total IO amount of all host devices exceeds the IO amount upper limit of the processing target PG (step S303). The execution program 25 moves the process to step S304 if it is determined that the number exceeds the limit, and moves to step S305 if it is determined that the number is not exceeded.
  • step S304 the execution program 25 responds to the caller that load distribution is necessary. More specifically, the execution program 25 stores information indicating that load distribution is necessary as a processing result in the memory 20, and ends the load distribution necessity determination process.
  • step S305 the execution program 25 responds to the caller that load distribution is unnecessary. More specifically, the execution program 25 stores information indicating that load distribution is unnecessary as a processing result in the memory 20, and ends the load distribution necessity determination process.
  • the host device origin or volume origin IO amount decreases, and the PG can handle the IO amount enough even if there is no active copy data
  • the active copy data may remain and unnecessarily occupy the data area. Therefore, in the computer system 1 according to the present embodiment, processing for deleting active copy data determined to be unnecessary is periodically performed.
  • FIG. 21 shows a processing procedure for periodic execution processing executed by the execution program 25 of the present embodiment.
  • Steps S400 to S402 are the same processes as steps S20 to S22 of the periodic execution process according to the first embodiment, and a description thereof will be omitted.
  • Steps S404 to S406 are the same as steps S23 to S25 of the periodic execution process according to the first embodiment, and a description thereof is omitted.
  • step S403 the execution program 25 performs an unnecessary active copy deletion process and moves the process to step S404.
  • the unnecessary active copy deletion process the active copy data is deleted based on the IO amount when the active copy data is deleted.
  • FIG. 22 shows a processing procedure of unnecessary active copy deletion processing executed by the execution program 25.
  • the unnecessary active copy deletion process is a process called in step S403 of the above-described regular execution process.
  • the execution program 25 first refers to the PG data list 203 and acquires (specifies data) all data that is not active copy data on the PG (step S500).
  • step S501 the execution program 25 determines whether or not the processing has been completed for all the data specified in step S500. If the execution program 25 determines that it has ended, it ends the unnecessary active copy deletion process, and if it determines that it has not ended, it moves the process to step S502.
  • step S502 the execution program 25 refers to the active copy management table 204 and acquires all the active copy information of the processing target data (identifies the active copy data).
  • the execution program 25 determines whether or not the processing has been completed for all the active copy data specified in step S502 (step S503). If it is determined that the execution program 25 has ended, the process proceeds to step S501 instead of the next data to be processed. If it is determined that the execution program 25 has not ended, the process proceeds to step S504.
  • step S504 the execution program 25 calculates the IO amount of the PG storing the processing target data when the processing target active copy data is deleted. More specifically, the execution program 25 refers to the host device reference destination data management table 207 to calculate the IO amount of the active copy data to be processed, and refers to the PG data list 203 to process the target data. The data stored in the PG in which is stored is identified, the total amount of IOs (total IO amount) of the identified data is calculated with reference to the host device reference destination data management table 207, and the active copy data to be processed The total IO amount and total IO amount are calculated.
  • the execution program 25 determines whether or not the IO amount calculated in step S504 is below the IO amount upper limit of the PG in which the data to be processed is stored. If it is determined that the data is not lower than the current active copy data, the process proceeds to step S503, replacing the active copy data to be processed with the next active copy data (step S505).
  • step S506 the execution program 25 instructs the storage apparatus 10 to switch the read destination of the host device and delete the active copy data, and replace the active copy data to be processed with the next active copy data.
  • the process moves to step S503.
  • the execution program 25 refers to the volume reference destination data management table 206, identifies the volume that references the active copy data to be deleted, and changes the reference destination data of the volume to the processing target data.
  • the IO amount of the copy source PG is estimated, and when the IO amount is expected to be less than the copy source PG IO amount upper limit, The read destination of the host device is switched to the copy source, and the active copy data is erased. In other words, if the performance of the storage apparatus 10 is degraded, active copy is performed. However, according to the above configuration, if the performance can be sufficiently secured even without active copy data, Since the data is deleted, it is possible to avoid a situation where the data area of the active copy is unnecessarily occupied.
  • the SVOL is to be fully copied and used independently
  • the host device when the host device is referred to the full copy destination volume, there is a problem in that it takes a long time to copy because all data is duplicated.
  • the computer system 1 when there is a full copy request (instructed by the user) to the SVOL, if there is active copy data in the differential data and primary data referenced by the SVOL, Reuse the copy data to make a full copy.
  • FIG. 23 shows the procedure of full copy reuse processing executed by the execution program 25 of this embodiment.
  • the execution program 25 first acquires (identifies data) data information used by a volume for which a full copy request is requested from the volume reference data management table 206 (step S600).
  • the execution program 25 identifies the active copy data that is referred to only by the host device (designated host device) that refers to the volume for which there is a full copy request, among the data identified in step S600, and registers it in the list A. (Step S601). More specifically, the execution program 25 refers to the volume reference data management table 206 among the identified data, identifies data that is referred to only by the designated host device, and among the identified data, the active copy management table 204, the data that is the active copy is specified, and the information of the specified data is registered in the list A.
  • the execution program 25 instructs the storage apparatus 10 to make a full copy of data not in list A among the data acquired in step S600, and sets the information of the fully copied data as list B (step S602). .
  • the execution program 25 configures a full copy of the volume from the list A and the list B, and instructs the storage apparatus 10 to switch the reference destination of the designated host device to this fully copied volume (step S603).
  • the execution program 25 refers to the PG data list 203, the active copy management table 204, the host device reference destination volume management table 205, the volume reference destination data management table 206, and the host device reference.
  • the destination data management table 207 is updated.
  • the computer system 1 of the present embodiment when there is a full copy request for the SVOL, if there is active copy data in the differential data and primary data referenced by the SVOL, the data in the active copy is re-recovered. Since it is used and a full copy is configured, the time required for copying can be shortened.
  • the tables 201 to 207 are shown and described. However, the present invention is not limited to this, and a plurality of tables among the tables 201 to 207 are combined into one.
  • a table may be used, or a table obtained by dividing one table into a plurality of tables may be used.
  • the present invention is not limited to this, and a configuration in which a volume is allocated to an application is described. You may apply.
  • the configuration for periodically executing the processing related to load distribution has been described.
  • the present invention is not limited to this, and the configuration for manually executing the processing related to load distribution may be used. .
  • the configuration is described in which the periodic execution process is terminated when any of the migration process, the existing active copy creation process, and the new active copy creation process is executed.
  • the invention is not limited to this, and a part of or all of the migration process, the existing active copy creation process, and the new active copy creation process are continuously executed after the processing time when the creation of the active copy data becomes valid has elapsed. You may do it.
  • the present invention is not limited to this, and instead of the new active copy creation process, In addition, one or both of the migration process and the existing active copy creation process may be performed.
  • the present invention is not limited to this, and the new active copy creation process is performed. Instead of or in addition to the copy creation process, one or both of the migration process and the existing active copy creation process may be performed.

Abstract

【課題】ストレージ装置の状況に応じた適切な性能改善を容易に行い得る信頼性の高いストレージ装置、その制御装置、およびその制御方法を提供する。 【解決手段】複数の記憶装置群のうちの所定の記憶装置群に格納されるデータについて、データを参照するボリュームに対応付けられるホスト装置に対するIO量を取得する取得部と、ホスト装置と複数の記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定する判定部と、下回る組合せにおけるデータを格納する記憶装置群にデータのアクティブコピーを行い、データを参照するボリュームの参照先データをデータから記憶装置群にアクティブコピーされたデータに変更するための処理を行う処理部と、を設けるようにした。

Description

ストレージ装置、その制御装置、およびその制御方法
 本発明はストレージ装置、その制御装置、およびその制御方法に関し、特に、差分コピーからなるボリュームをノードに含む木構造が定義されたストレージ装置に適用して好適なものである。
 従来、ストレージ装置において、プライマリボリューム(PVOL)から差分コピーのセカンダリボリューム(SVOL)を作成でき、当該差分コピー(SVOL)から更に差分コピー(SVOL)を作成でき、ボリュームの木構造が形成され、各差分コピー(SVOL)は、ホスト装置に割り当てられ得る(特許文献1参照)。例えば、所定のSVOLが割り当てられたホスト装置のREADでは、READ対象のデータが当該SVOL(差分データ)に格納されている場合、当該差分データが読み出され、READ対象のデータが当該SVOL(差分データ)に格納されていない場合、READ対象のデータが格納されているボリュームまで階層を上に辿り、READ対象のデータの読み出しが行われる。
国際公開第2015/145680号
 ところで、かかる従来の差分コピーの木構造においては、特定の差分データに対してアクセスが集中し、特定の差分データが格納された特定の物理ディスクに負荷がかかり、ストレージ装置の性能が劣化することがある。例えば、特定のSVOLが割り当てられた特定のホスト装置から、アクセスが集中している特定の差分データに対してアクセスがある場合、特定のホスト装置から見えているデータ(特定のSVOL)のフルコピー(新規SVOL)を別な物理ディスク上に作成し、特定のホスト装置からのアクセスを新規SVOLに切り替え、特定の物理ディスクへの負荷を分散させることが行われている。
 しかしながら、フルコピーした場合は、負荷のなかったデータもコピーしてしまうため、フルコピーの時間が余計にかかったり、余分にデータ領域を消費したりする等の問題がある。また、新規SVOLをホスト装置に割り当てる必要があり、この切り替えが発生するホスト装置は停止しなければならないという問題がある。
 本発明は以上の点を考慮してなされたもので、ストレージ装置の状況に応じた適切な性能改善を容易に行い得る信頼性の高いストレージ装置、その制御装置、およびその制御方法を提案しようとするものである。
 かかる課題を解決するため本発明においては、一または複数の記憶装置を含んで構成される複数の記憶装置群が提供する記憶領域上に、差分コピーからなるボリュームをノードに含む木構造が定義されたストレージ装置であって、前記複数のボリュームに対応付けられる複数のホスト装置からのデータの要求を受け付ける通信部と、前記複数の記憶装置群の各々が処理可能なIO量の上限を示すIO量上限と、前記複数の記憶装置群に格納される各データと各ホスト装置とが対応付けられたIO量と、を記憶する記憶部と、前記複数の記憶装置群のうちの所定の記憶装置群に格納されるデータについて、前記データを参照するボリュームに対応付けられるホスト装置に対するIO量を取得する取得部と、前記ホスト装置と前記複数の記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定する判定部と、前記下回る組合せにおける前記データを格納する記憶装置群に前記データのアクティブコピーを行い、前記データを参照するボリュームの参照先データを前記データから前記記憶装置群にアクティブコピーされたデータに変更するための処理を行う処理部と、を設けるようにした。
 かかる課題を解決するため本発明においては、一または複数の記憶装置を含んで構成される複数の記憶装置群が提供する記憶領域上に、差分コピーからなるボリュームをノードに含む木構造が定義されたストレージ装置を制御する制御装置であって、前記複数のボリュームに対応付けられる複数のホスト装置からのデータの要求を受け付ける通信部と、前記複数の記憶装置群の各々が処理可能なIO量の上限を示すIO量上限と、前記複数の記憶装置群に格納される各データと各ホスト装置とが対応付けられたIO量と、を記憶する記憶部と、前記複数の記憶装置群のうちの所定の記憶装置群に格納されるデータについて、前記データを参照するボリュームに対応付けられるホスト装置に対するIO量を取得する取得部と、前記ホスト装置と前記複数の記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定する判定部と、前記下回る組合せにおける前記データを格納する記憶装置群に前記データのアクティブコピーを行い、前記データを参照するボリュームの参照先データを前記データから前記記憶装置群にアクティブコピーされたデータに変更するための処理を行うように前記ストレージ装置に指示する処理部と、を設けるようにした。
 かかる課題を解決するため本発明においては、一または複数の記憶装置を含んで構成される複数の記憶装置群が提供する記憶領域上に、差分コピーからなるボリュームをノードに含む木構造が定義され、前記複数のボリュームに対応付けられる複数のホスト装置からのデータの要求を受け付ける通信部と、前記複数の記憶装置群の各々が処理可能なIO量の上限を示すIO量上限と、前記複数の記憶装置群に格納される各データと各ホスト装置とが対応付けられたIO量と、を記憶する記憶部と、を備えたストレージ装置の制御方法であって、取得部が、前記複数の記憶装置群のうちの所定の記憶装置群に格納されるデータについて、前記データを参照するボリュームに対応付けられるホスト装置に対するIO量を取得する第1のステップと、判定部が、前記ホスト装置と前記複数の記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定する第2のステップと、処理部が、前記下回る組合せにおける前記データを格納する記憶装置群に前記データのアクティブコピーを行い、前記データを参照するボリュームの参照先データを前記データから前記記憶装置群にアクティブコピーされたデータに変更するための処理を行う第3のステップと、を設けるようにした。
 本発明によれば、差分コピーされたボリュームを構成する全てのデータをもとにフルコピーするのではなく、IOの負荷分散に資するようにデータをアクティブコピーすることにより、コピー時間を削減でき、データ領域の浪費を避けることができる。また、ホスト装置からみるとフルコピーしたボリュームへの切り替えが発生しないため、ホスト装置を停止させることなく負荷分散が可能になる。
 本発明によれば、ストレージ装置の状況に応じた適切な性能改善を容易に行い得る信頼性の高いストレージ装置、その制御装置、およびその制御方法を実現することができる。
第1の実施の形態による計算機ステムのシステム構成を示す図である。 第1の実施の形態によるペンディングレート管理テーブルの一例を示す図である。 第1の実施の形態によるPG情報管理テーブルの一例を示す図である。 第1の実施の形態によるPGのデータ一覧の一例を示す図である。 第1の実施の形態によるアクティブコピー管理テーブルの一例を示す図である。 第1の実施の形態によるホスト装置参照先ボリューム管理テーブルの一例を示す図である。 第1の実施の形態によるボリューム参照先データ管理テーブルの一例を示す図である。 第1の実施の形態によるホスト装置参照先データ管理テーブルの一例を示す図である。 第1の実施の形態による事前処理に係るフローチャートを示す図である。 第1の実施の形態による定期実行処理に係るフローチャートを示す図である。 第1の実施の形態による負荷分散要否決定処理に係るフローチャートを示す図である。 第1の実施の形態による負荷分散処理に係るフローチャートを示す図である。 第1の実施の形態によるマイグレーション処理に係るフローチャートを示す図である。 第1の実施の形態による既存アクティブコピー再利用処理に係るフローチャートを示す図である。 第1の実施の形態による新規アクティブコピー作成処理に係るフローチャートを示す図である。 第1の実施の形態による負荷分散を示す概念図である。 第2の実施の形態によるストレージ装置に係る構成を示す図である。 第3の実施の形態によるボリューム起点負荷分散処理に係るフローチャートを示す図である。 第4の実施の形態によるホスト装置起点負荷分散処理に係るフローチャートを示す図である。 第5の実施の形態による負荷分散要否決定処理に係るフローチャートを示す図である。 第6の実施の形態による定期実行処理に係るフローチャートを示す図である。 第6の実施の形態による不要アクティブコピー削除処理に係るフローチャートを示す図である。 第7の実施の形態によるフルコピー再利用処理に係るフローチャートを示す図である。
 以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1-1)導入部
 第1の実施の形態の説明にあたり、はじめに、ボリューム(PVOLおよびSVOL)について説明する。ストレージ装置におけるボリュームの木構造において、1つのPVOLを根に持つSVOLのツリーでは、ボリューム同士の親子関係を表現するポインタにより、あるSVOLから見てどのSVOL(またはPVOL)が親であるかが判定可能となっている。ここで、PVOLは、SVOLのコピー元となる独立したボリュームであり、SVOLは、あるボリュームとそのボリュームから更新された差分のデータ(差分データ:SVOLの更新分の差分の実体)からなるボリュームである。なお、ボリュームの木構造とは、1つのボリューム(ノード)が一または複数の子ボリュームを有し、1つの子ボリュームが一または複数の孫ボリュームを有する、という形で階層が深くなるに連れて枝分かれしていく構造である。
 また、SVOLへのREADが発生したとき、ストレージ装置のコントローラは、READ対象のデータが専用データ(そのSVOLの差分データに当該するデータ)であるか、共有データ(親のSVOLの差分データまたは親のPVOLのプライマリデータ)であるかを判定する。ストレージ装置のコントローラは、専用データである場合、SVOLの差分データを読み、共有データである場合、親のSVOLにREADを発行する。ストレージ装置のコントローラは、親のSVOLに対しても同様の判定を行うことでREADを行う。これにより、ツリーを辿りながら目的のデータがREAD可能になる。
 ここで、従来のストレージシステムにおいては、ボリュームの差分コピー、および差分コピーに対する差分コピーを利用すると、データが二重化されていないために、データを格納する1つのパリティグループ(以下ではPGと適宜称する。)にアクセスが集中する可能性がある。ここで、差分コピーは、あるボリュームのコピーであり、コピー先の更新部分のみを差分としてデータ蓄積するコピーである。
 例えば、図16(A)に示すように、アプリケーションホスト装置301が稼働させるアプリケーションの差分データ308を利用した分析用の分析用ホスト装置302と、上記アプリケーションの差分データ308を利用したアプリケーションのテスト用のテスト用ホスト装置303とが、PVOL304から差分コピーされたSVOL305、およびSVOL305からさらに差分コピーされたボリューム(SVOL306またはSVOL307)を参照するように運用されていたとする。この場合、データ分析およびテストには、アプリケーションの差分データ308を利用するため、アプリケーションホスト装置301に割り当てられたSVOL305に対する更新を差分データ308として格納しているPG309に対して3つのホスト装置301~303からアクセスが集中することになる。3つのホスト装置301~303から発生したIO量が、PG309が処理できるIO量を超えると、読み込みや書き込み待ちが発生し、ホスト装置301~303からみたときのSVOL305の応答性能が低下する。
 この点、従来のストレージ装置では、アクセスが集中する差分データに多くIOを発行するホスト装置のボリュームのフルコピーをとることにより、アクセス先のPGを二重化し、アクセス負荷を分散させることが行われている。ここで、フルコピーとは、あるボリュームのコピーであり、コピー元のデータをコピー先に複製するコピーである。
 しかしながら、ボリュームをクローンするために、アクセスの集中していないPGに格納されているプライマリデータ(PVOLの実データの実体)および差分データが複製され、データ領域を不要に消費する。このような二重化は、不要なデータをコピーする時間も発生させる。また、フルコピー対象の差分コピーのボリュームが割り当てられたホスト装置は、参照するボリュームがフルコピー先のボリュームに変わるため、ホスト装置の停止が必要となる。
 そこで、以下では、ストレージ装置の状況(例えばボリュームの負荷状況)に応じた適切な性能改善を容易に行い得る信頼性の高い構成(方法)について説明する。
(1-2)本実施の形態による計算機システムの構成
 図1において、1は全体として本実施の形態による計算機システムを示す。計算機システム1は、複数のホスト装置(ホスト装置A30A、ホスト装置B30B、ホスト装置C30C、ホスト装置D30Dなど)からの要求に応じてデータの読み出しおよび書き込みを行うストレージ装置10と、ストレージ装置10を制御する制御装置20と、を備える。
 ストレージ装置10は、各種の制御を行うCPU(Central Processing Unit)11、各種のデータを記憶するメモリ12、複数のホスト装置との通信を行うためのポート13、制御装置20との通信を行うためのポート14、各種のデータを記憶する複数のPG(本例では、PG15A、PG15B、PG15C、およびPG15D)を備える。ここで、PGは、PVOLを構成するプライマリデータを記憶するPG、またはSVOLを構成するデータのうち、コピー元のボリュームとの差分データを記憶するPGである。また、PGは、一または複数の記憶装置を含んで構成される記憶装置群であり、複数のPGが提供する記憶領域上に差分コピーからなるボリュームをノードに含む木構造が定義されている。また、各ホスト装置に対応付けられて(割り当てられて)各ボリュームが設けられている。
 制御装置20は、各種の制御を行うCPU21、各種のデータを記憶するHDD(Hard Disk Drive)22、各種のプログラム(例えば事前処理プログラム24、実行プログラム25)等の各種のデータを記憶するメモリ23、ストレージ装置10との通信を行うためのポート26を備える。なお、CPU21により事前処理プログラム24および実行プログラム25が読み出されて実行されることで、後述の各種の処理が行われる。また、HDD22には、後述のペンディングレート管理テーブル201、PG情報管理テーブル202、PGのデータ一覧203、アクティブコピー管理テーブル204、ホスト装置参照先ボリューム管理テーブル205、ボリューム参照先データ管理テーブル206、ホスト装置参照先データ管理テーブル207が記憶されている。また、制御装置20は、上述の構成に限られるものではなく、例えば、ポート13は、ホスト装置とは異なる他の管理装置、入力装置などから、ユーザからの各種の指示(入力)を受け付けるものであってもよいし、ユーザからの各種の指示を受け付ける入力部(キーボード、ポインティングデバイス、タッチパネルなど)を備えていてもよい。
(1-3)計算機システムで使用される各種のテーブル
 次に、計算機システム1で使用される各種のテーブルについて説明する。
 図2は、ペンディングレート管理テーブル201を示す。ペンディングレート管理テーブル201には、ペンディングレート(Pending Rate)の上限が格納される。本ペンディングレートの上限には、ストレージ装置10、制御装置20、またはその他の装置がスペック情報(物理ディスクのデータシート等)をもとに推奨する値が自動で設定されてもよいし、ユーザにより所望の値が設定されてもよい。
 図3は、PG情報管理テーブル202を示す。PG情報管理テーブル202には、ストレージ装置10で利用できるPGごとに、IO量上限およびペンディングレートが対応付けられて格納される。本ペンディングレートは、定期的にモニタリングされていて、所定時間(1時間、後述の定期実行処理の実行間隔など)当たりの平均である。なお、IO量上限は、後述の事前処理にて設定される。
 図4は、PGのデータ一覧203を示す。PGのデータ一覧203には、PGに格納されるデータごとに、アクティブコピーのデータであるか否かを示す情報が対応付けられて格納される。なお、図4では、PGのデータ一覧203として、テーブルを1つ例示しているが、PGごとに設けられている。
 図5は、アクティブコピー管理テーブル204を示す。アクティブコピー管理テーブル204には、データごとに、アクティブコピーされているデータを識別可能な情報が対応付けられて格納される。
 図6は、ホスト装置参照先ボリューム管理テーブル205を示す。ホスト装置参照先ボリューム管理テーブル205には、ホスト装置ごとに、当該ホスト装置が参照するボリューム(参照先ボリューム)を識別可能な情報が対応付けられて格納される。
 図7は、ボリューム参照先データ管理テーブル206を示す。ボリューム参照先データ管理テーブル206には、ホスト装置ごとに、各ボリュームから参照されるデータ(参照先データ)を識別可能な情報が対応付けられて格納される。
 図8は、ホスト装置参照先データ管理テーブル207を示す。ホスト装置参照先データ管理テーブル207には、ホスト装置ごとに、当該ホスト装置が参照するデータにおけるIO量が対応付けられて格納される。IO量は、定期的にモニタリングされていて、所定時間(1時間、後述の定期実行処理の実行間隔など)当たりの平均である。
(1-4)ストレージ装置の負荷分散に関する各種の処理
 次に、ストレージ装置10の負荷分散に関する各種の処理の具体的な処理内容について説明する。なお、以下では、各種の処理の処理主体を「プログラム」として説明するが、実際上は、制御装置20のCPU21がそのプログラムに基づいてその処理を実行することは言うまでもない。
(1-4-1)事前処理
 事前処理は、差分データおよびプライマリデータが配置される可能性のある全てのPGの単位時間当たりのIO量上限を予め測定して設定する処理である。測定は、PGからボリュームを作成し、そのボリュームに対してストレージ装置10(なお、制御装置20であってもよい。)がIOを発行して行う。単位時間ごとにIO量を増やし、PGが特定のペンディングレート(閾値)を超えた瞬間のIO量を記録しておく。ペンディングレートは、IOの待ちの割合を示し、一定の値を超えるとPGへのIO量が処理できるIO量を超えていると判断できる。本実施の形態では、特定のペンディングレートを超えた瞬間のIO量をPGのIO量上限とみなす。以下では、図9を参照して詳細に説明する。なお、フローチャートにおいては、便宜上、ホスト装置をホストとして表記する。
 図9は、事前処理プログラム24により実行される事前処理の処理手順を示す。事前処理は、各PGについてIO量上限を設定する処理であり、任意のタイミングで実行可能であるが、PGが差分データを格納する候補であると宣言するタイミングが最初のレプリケーションの設定のときにあり、そのタイミングで実行されるのが好適である。
 事前処理プログラム24は、まず、ペンディングレートの上限(閾値)を、ペンディングレート管理テーブル201から取得する(ステップS10)。
 続いて、事前処理プログラム24は、差分コピーのツリーを構成する上で利用する全てのPGの情報をPG情報管理テーブル202から取得(PGを特定)する(ステップS11)。
 続いて、事前処理プログラム24は、ステップS11で特定した全てのPGについて処理を行ったか否か(PGごとの繰り返しが終了したか否か)を判定する(ステップS12)。事前処理プログラム24は、終了であると判定した場合、事前処理を終了し、終了でないと判定した場合、ステップS13に処理を移す。
 ステップS13では、事前処理プログラム24は、処理対象のPGにボリュームを作成する。
 続いて、事前処理プログラム24は、ステップS13で作成したボリュームを制御装置20に割り当てる(ステップS14)。
 続いて、事前処理プログラム24は、ステップS13で作成したボリュームにIOを実際に発行したときのペンディングレートを確認するために、単位時間当たりのIO発行量を設定する(ステップS15)。
 続いて、事前処理プログラム24は、ステップS15で設定したIO発行量に従って、ステップS13で作成したボリュームにIOを発行するようにストレージ装置10に指示をする(ステップS16)。これにより、ストレージ装置10は、ステップS15で設定されたIO発行量に従って、ステップS13で作成されたボリュームにIOを発行する。
 続いて、事前処理プログラム24は、ペンディングレートがステップS10で取得した閾値を超えたか否かを判定する(ステップS17)。事前処理プログラム24は、超えたと判定した場合、ステップS19に処理を移し、超えていないと判定した場合、ステップS18に処理を移す。
 ステップS18では、事前処理プログラム24は、単位時間当たりのIO発行量の設定を増やし、ステップS16に処理を移す。これにより、単位時間当たりのIO発行量を増やした新たな発行量でのペンディングレートの確認が行われる。
 ステップS19では、事前処理プログラム24は、ペンディングレートが閾値を超えた時のIO発行量を処理対象のPGのIO量上限として決定し、PG情報管理テーブル202に当該PGに対応するIO量上限を設定し、処理対象を次のPGに代えてステップS12に処理を移す。このように一のPGのIO量上限が設定され、全てのPGのIO量上限が設定されるまで、同様に処理が繰り返される。
(1-4-2)定期実行処理
 図10は、実行プログラム25により実行される定期実行処理の処理手順を示す。定期実行処理は、負荷分散が必要なPGを選定し、当該PGについて負荷分散を実行する処理であり、定期的(例えば1時間ごと)に行われる。
 実行プログラム25は、まず、定期実行処理を続行するか否かを判定する(ステップS20)。実行プログラム25は、続行すると判定した場合、ステップS21に処理を移し、続行しないと判定した場合、定期実行処理を終了する。例えば、実行プログラム25は、PG情報管理テーブル202およびPGのデータ一覧203を参照して差分コピーが無くなったと判定した場合、システムエラーが発生したと判定した場合、ユーザからの終了指示を受けた場合などに、定期実行処理を終了する。
 ステップS21では、実行プログラム25は、差分コピーのツリーを構成する上で利用する全てのPGの情報をPG情報管理テーブル202から取得(PGを特定)する。
 続いて、実行プログラム25は、ステップS21で特定した全てのPGについて処理を行ったか否か(PGごとの繰り返しが終了したか否か)を判定する(ステップS22)。実行プログラム25は、終了であると判定した場合、ステップS20に処理を移し、終了でないと判定した場合、ステップS23に処理を移す。
 ステップS23では、実行プログラム25は、負荷分散要否決定処理を行う。負荷分散要否決定処理では、後述するように、処理対象のPGについて負荷分散が必要であるか否かが決定される。
 続いて、実行プログラム25は、ステップS23の処理結果に応じて、処理対象のPGの負荷分散が必要であるか否かを判定する(ステップS24)。実行プログラム25は、必要であると判定した場合、ステップS25に処理を移し、必要でないと判定した場合、処理対象を次のPGに代えてステップS22に処理を移す。
 ステップS25では、実行プログラム25は、負荷分散処理を行い、ステップS20に処理を移す。負荷分散処理では、後述するように、処理対象のPGについての負荷分散が行われる。
(1-4-3)負荷分散要否決定処理
 図11は、実行プログラム25により実行される負荷分散要否決定処理の処理手順を示す。負荷分散要否決定処理は、上述の定期実行処理のステップS23において呼び出される処理であり、負荷分散要否決定処理では、処理対象のPGのペンディングレートに基づいて負荷分散の要否が決定される。
 実行プログラム25は、まず、ペンディングレートの上限(閾値)をペンディングレート管理テーブル201から取得する(ステップS30)。
 続いて、実行プログラム25は、処理対象のPGに対応するペンディングレートをPG情報管理テーブル202から取得する(ステップS31)。
 続いて、実行プログラム25は、ステップS31で取得したペンディングレートが、ステップS30で取得した閾値を超えるか否かを判定する(ステップS32)。実行プログラム25は、超えると判定した場合、ステップS33に処理を移し、超えないと判定した場合、ステップS34に処理を移す。
 ステップS33では、実行プログラム25は、呼び出し元に負荷分散が必要であると応答する。より具体的には、実行プログラム25は、処理結果として負荷分散が必要であることを示す情報をメモリ20に格納し、負荷分散要否決定処理を終了する。
 ステップS34では、実行プログラム25は、呼び出し元に負荷分散が不要であると応答する。より具体的には、実行プログラム25は、処理結果として負荷分散が不要であることを示す情報をメモリ20に格納し、負荷分散要否決定処理を終了する。
 ここで、ホスト装置の動作によっては、特定の差分データに対するアクセスが一時的に多くなり、すぐに少なくなるケースがある。このような場合、アクティブコピーの作成と削除を繰り返すような無駄な負担をストレージ装置10のCPU11に与え、不要なリソース消費が発生してしまう。つまり、ペンディングレートとしてサンプリングされた一の値(例えば、最新の値)を採用してもよいが、図3で説明したように一定期間におけるペンディングレートの平均を採用することで、PG(SVOL)の負荷分散の要否を判定する際、一定期間におけるペンディングレートの平均がペンディングレートの上限と比較されるので、一時的な負荷増加による余分な負荷分散を抑制できるようになる。
(1-4-4)負荷分散処理
 図12は、実行プログラム25により実行される負荷分散処理の処理手順を示す。負荷分散処理は、上述の定期実行処理のステップS25において呼び出される処理であり、処理対象のPGに対する負荷分散(マイグレーション処理、既存アクティブコピー再利用処理、または新規アクティブコピー処理)がストレージ装置10の負荷状況に応じて実行される。
 実行プログラム25は、まず、処理対象のPGのデータ一覧203を参照し、処理対象のPG上にある全てのデータ(差分データおよびプライマリデータ)の情報を取得(データを特定)する(ステップS40)。
 続いて、実行プログラム25は、ステップS40で特定したデータの各々について、一のホスト装置のデータに対するIO量(データIO量)をホスト装置参照先データ管理テーブル207から取得する(ステップS41)。図8の例では、例えばデータ1に対するホスト装置1のデータIO量は、「4」となる。
 ステップS42では、実行プログラム25は、ステップS40で特定した全てのデータにして処理を終了したか否か(ホスト装置のデータに対するIO量での繰り返しが終了であるか否か)を判定する。実行プログラム25は、終了したと判定した場合、ステップS45に処理を移し、終了していないと判定した場合、ステップS43に処理を移す。
 ステップS43では、実行プログラム25は、処理対象のデータのデータIO量が処理対象のPGのIO量上限を超えるか否かを判定する。実行プログラム25は、超えると判定した場合、ステップS44に処理を移し、超えないと判定した場合、処理対処を次のデータに代えてステップS42に処理を移す。
 ステップS44では、実行プログラム25は、マイグレーション処理を行い、処理対象を次のデータに代えてステップS42に処理を移す。マイグレーション処理では、後述するように、データIO量が処理対象のPGのIO量上限を超えてしまっているが、データIO量を分割することはできないので、データIO量を処理できるIO量上限をもつPGが選定され、選定されたPGにデータが移動される。
 ステップS45では、実行プログラム25は、処理対象のPGに対するホスト装置の総IO量が処理対象のPGのIO量上限を下回るか否かを判定する。実行プログラム25は、下回ると判定した場合、負荷分散処理を終了し、下回らないと判定した場合、ステップS46に処理を移す。
 ステップS46では、実行プログラム25は、アクティブコピー管理テーブル204を参照し、処理対象のPGに格納されているデータの中から、既にアクティブコピーが存在する全てのデータの情報を取得(データを特定)する。
 ステップS47では、実行プログラム25は、ステップS46で特定した全てのデータに対して処理を終了したか否かを判定する。実行プログラム25は、終了したと判定した場合、ステップS50に処理を移し、終了していないと判定した場合、ステップS48に処理を移す。
 ステップS48では、実行プログラム25は、既存アクティブコピー再利用処理を行い、ステップS49に処理を移す。既存アクティブコピー再利用処理では、後述するように、既にアクティブコピーが存在しているデータに対して、ホスト装置の読込先を問題のPGではなくアクティブコピー先のPGに切り替えてIO量上限を超えないかが判定され、超えない場合、ホスト装置の読込先のPGが変更される。
 ステップS49では、実行プログラム25は、処理対象のPGに対するホスト装置の総IO量が処理対象のPGのIO量上限を下回るか否かを判定する。実行プログラム25は、下回ると判定した場合、負荷分散処理を終了し、下回らないと判定した場合、処理対象を次のデータに代えてステップS47に処理を移す。
 ステップS50では、実行プログラム25は、新規アクティブコピー作成処理を実行し、ステップS51に処理を移す。新規アクティブコピー作成処理では、後述するように、ホスト装置とPGとの組合せのうち、ホスト装置の総IO量がPGのIO量上限を下回る組合せが存在する場合、下回る組合せにおけるPGであって、処理対象のデータを格納しても問題ないと判定されたPGにアクティブコピーが作成される。
 ステップS51では、実行プログラム25は、処理対象のPGに対する総IOが処理対象のPGのIO量上限を下回る否かを判定する。実行プログラム25は、下回ると判定した場合、負荷分散処理を終了し、下回らないと判定した場合、ステップS52に処理を移す。
 ステップS52では、実行プログラム25は、ストレージ装置10で利用できるPGの能力では負荷分散ができない(不可である)場合のエラー処理を行い、負荷分散処理を終了する。
(1-4-5)マイグレーション処理
 図13は、実行プログラム25により実行されるマイグレーション処理の処理手順を示す。マイグレーション処理は、上述の負荷分散処理のステップS44において呼び出される処理である。
 実行プログラム25は、まず、処理対象のデータに対するホスト装置のIO量(データIO量)を呼び出し元から取得する(ステップS60)。
 続いて、実行プログラム25は、データIO量に対して余裕のあるPGを、利用できるPGから選定する(ステップS61)。より具体的には、実行プログラム25は、ストレージ装置10で利用できるPGをPG情報管理テーブル202から特定し、特定した各PGについて、PGのデータ一覧203からPGに格納されているデータを特定し、各データに対するホスト装置のIO量の総量(総IO量)を求め、PG情報管理テーブル202のIO量上限から総IOを減算して処理可能なIO量(処理可能IO量)を求め、処理可能IO量がデータIO量を上回っているか否かを判定し、上回っているPGを余裕のあるPGとして選定する。なお、余裕のあるPGが複数存在する場合、実行プログラム25は、任意のPGを選定してもよいし、余裕のあるPGとして初めに選定されたPGを選定してもよいし、処理可能IO量が最も大きいPGを選定してもよい。また、余裕のあるPGが1つも存在しない場合、実行プログラム25は、エラー処理を行い、マイグレーション処理を終了する。
 続いて、実行プログラム25は、処理対象のデータを、選定したPGにアクティブコピーするようにストレージ装置10に指示する(ステップS62)。この際、実行プログラム25は、選定したPGのデータ一覧203およびアクティブコピー管理テーブル204を更新する。例えば、実行プログラム25は、処理対象のデータがホスト装置3のIOが振り分けられるデータ4であり、アクティブコピーを行ってデータ5をPG4に作成する場合(所定のケース)、選定したPGのデータ一覧203に、アクティブコピーのデータであるか否かを示す識別情報を「YES」としてデータ5を追加し、アクティブコピー管理テーブル204にデータ4とデータ5とを対応付けて追加する。
 続いて、実行プログラム25は、ホスト装置の参照先(読出し、書込み先)を、選定したPGのデータに切り替えるようにストレージ装置10に指示する(ステップS63)。この際、実行プログラム25は、ボリューム参照先データ管理テーブル206を更新する。例えば、実行プログラム25は、上記所定のケースにおいては、ボリューム参照先データ管理テーブル206における、ホスト装置3が対応付けられたボリューム3が参照するデータ(参照先データ)をデータ4からデータ5に更新する。
 続いて、実行プログラム25は、処理対象のデータを、元のPGから消去するようにストレージ装置10に指示する(ステップS64)。この際、実行プログラム25は、選定したPGのデータ一覧203およびホスト装置参照先ボリューム管理テーブル205を更新する。例えば、実行プログラム25は、上記所定のケースにおいては、選定したPGのデータ一覧203のデータ5において、アクティブコピーのデータであるか否かを示す識別情報を「NO」に変更し、ホスト装置参照先ボリューム管理テーブル205からデータ4とデータ5とが対応付けられている情報を削除する。
(1-4-6)既存アクティブコピー再利用処理
 図14は、実行プログラム25により実行される既存アクティブコピー再利用処理の処理手順を示す。既存アクティブコピー再利用処理は、上述の負荷分散処理のステップS48において呼び出される処理である。
 実行プログラム25は、まず、処理対象のデータに対するホスト装置のIO量をホスト装置参照先データ管理テーブル207から取得する(ステップS70)。
 続いて、実行プログラム25は、処理対象のデータのアクティブコピーのデータが格納されているPGの情報を取得する(ステップS71)。より具体的には、実行プログラム25は、PGのデータ一覧203およびアクティブコピー管理テーブル204を参照し、処理対象のデータのアクティブコピーのデータが格納されているPGを特定し、特定した各PGのIO量上限をPG情報管理テーブル202から取得し、特定した各PGのホスト装置に対するデータのIO量をホスト装置参照先データ管理テーブル207から取得する。
 続いて、実行プログラム25は、ホスト装置とPGとの関係の組合せで、ホスト装置のIO量がPGのIO量上限より小さくなる組合せが存在するか否かを判定する(ステップS72)。より具体的には、実行プログラム25は、データの書き込みを行うホスト装置の読込先のPGは固定し、当該ホスト装置以外のホスト装置が参照するデータの格納先を他のPGに変更したときに、特定したPGの各々について各ホスト装置のIO量の総量(総IO量)が当該PGのIO量上限より小さくなる組合せが見つかるまで、PGに格納されるデータを1つずつ組み替える。そして、実行プログラム25は、特定した全てのPGにおいて、ホスト装置の総IO量がPGのIO量上限より小さくなる組合せが見つかった場合、ステップS74に処理を移し、見つからなかった場合、ステップS73に処理を移す。
 ステップS73では、実行プログラム25は、再利用不可の旨を呼び出し元に通知し、既存アクティブコピー再利用処理を終了する。
 ステップS74では、実行プログラム25は、見つけた組合せでホストの読込先のPGを変更する。より具体的には、実行プログラム25は、処理対象のデータの読込先をアクティブコピーのデータに変更するホスト装置に対応付けられるボリュームの読込先を当該アクティブコピーのデータに変更するようにストレージ装置10に指示し、既存アクティブコピー再利用処理を終了する。この際、実行プログラム25は、見つけた組合せに基づいて、ボリューム参照先データ管理テーブル206の参照先データを更新する。
(1-4-7)新規アクティブコピー作成処理
 図15は、実行プログラム25により実行される新規アクティブコピー作成処理の処理手順を示す。新規アクティブコピー作成処理は、上述の負荷分散処理のステップS50において呼び出される処理である。
 実行プログラム25は、まず、処理対象のPG上にあるデータの情報をPGのデータ一覧203から全て取得(処理対象のPG上にあるデータを特定)する(ステップS80)。
 続いて、実行プログラム25は、ホスト装置のデータに対するIO量をホスト装置参照先データ管理テーブル207から全て取得する(ステップS81)。
 続いて、実行プログラム25は、ストレージ装置10で利用できるPGの情報をPG情報管理テーブル202から取得(利用できるPGを特定)する(ステップS82)。
 続いて、実行プログラム25は、ステップS80で特定した全てのデータについて処理を終了したか否かを判定する(ステップS83)。実行プログラム25は、終了したと判定した場合、新規アクティブコピー作成処理を終了し、終了していないと判定した場合、ステップS84に処理を移す。
 続いて、実行プログラム25は、ホスト装置とPGとの関係の組合せで、ホスト装置のIO量がPGのIO量上限より小さくなる組合せが存在するか否かを判定する(ステップS84)。より具体的には、実行プログラム25は、処理対象のデータを参照するホスト装置の読込先のPGを他のPGに変更したときに、他のPGについて各ホスト装置のIO量の総量(総IO量)が当該他のPGの上限より小さくなる組合せが見つかるまで、PGに格納されるデータを1つずつ組み替える。そして、実行プログラム25は、特定した全てのPGにおいて、ホスト装置の総IO量がPGのIO量上限より小さくなる組合せが見つかった場合、ステップS85に処理を移し、見つからなかった場合、処理対象のデータを次のデータに代えてステップS83に処理を移す。
 ステップS85では、実行プログラム25は、見つかった組合せにおいてアクティブコピーのデータを格納するPGに処理対象のデータをアクティブコピーし、処理対象のデータを参照するホスト装置の参照先をそのアクティブコピーのデータに変更するようにストレージ装置10に指示し、ステップS86に処理を移す。この際、実行プログラム25は、見つけた組合せに基づいて、PGのデータ一覧203、アクティブコピー管理テーブル204、およびボリューム参照先データ管理テーブル206の参照先データを更新する。
 ステップS86では、実行プログラム25は、処理対象のPGに格納されるデータに対するホスト装置の総IO量が当該PGのIO量上限より小さいか否かを判定する。実行プログラム25は、小さいと判定した場合、新規アクティブコピー作成処理を終了し、小さくないと判定した場合、処理対象を次のデータに代えてステップS83に処理を移す。
(1-5)負荷分散の例
 図16(A)は、PG309に対する新規アクティブコピー作成処理前のホスト装置301~303のアクセスの状況を示し、図16(B)は、新規アクティブコピー作成処理後のホスト装置301~303のアクセスの状況を示す。
 図16(A)では、SVOL305へのホスト装置301~303のアクセスが集中し、PG309が処理できるIO量を超え、SVOL305の応答性能が低下している状況が示されている。この状況において、新規アクティブコピー作成処理が行われると、IO量が超過したPG309の差分データ308のアクティブコピーである差分データ310がPG309とは異なるPG311に配置される。これにより、図16(B)に示すように、差分データ308へのアクセスの集中は分散される。
 このように、新規アクティブコピー作成処理によれば、ボリューム全体でなく、実際にアクセスが集中しているデータのみを二重化することで負荷分散が可能になる。つまり、IOの負荷分散のために、負荷のかかっていない余分なデータを二重化する必要がなく、二重化にかかる時間およびデータ量を削減できる。また、ホスト装置からみると同じボリュームにアクセスし続けるために、ホスト装置を停止することなく負荷分散ができる。
(1-6)本実施の形態の効果
 本実施の形態の計算機システム1では、(a)事前にPGの処理上限のIO量が測定(設定)され、(b)差分データの配置されたPGのIO量上限を超えていないか監視され、(c)処理上限を超える差分データがある場合、ホスト装置のIO量がPGのIO量上限を満たすホスト装置とPGとの組合せが選定され、(d)選定されたPGに当該差分データをアクティブコピーし、(e)当該ホスト装置の当該差分データに対する読込先を選定されたPGに切り替える。このように、ボリュームの作成ではなく、差分データのアクティブなクローンが作成(コピー元のデータの更新をコピー先にアクティブに反映させるアクティブコピー方式により差分データがコピー)される。
 かかる計算機システム1によれば、負荷のある差分データだけをコピーすることにより、コピー領域を消費させず、余計なコピー時間の発生を防ぐことができる。また、アクティブコピー方式を採用することで、ホスト装置に割り当てるボリュームを変える必要がなくなり、ホスト装置を停止させることなく、負荷分散ができ、ユーザにとって有用性の高いストレージ装置を構築することができる。
 また、計算機システム1では、全てのPGを対象として、負荷分散の要否が判定され、負荷分散が自動的に行われ得るので、SVOLを1つ1つユーザが選択して負荷分散の要否を判断させる指示(手間)を省くことができ、SVOLが多くなるに従ってユーザの作業負担が増えることを防ぐことができる。
 また、計算機システム1では、データに対する一のホスト装置のIO量が一のPGのIO量上限に達しているか否かが判定され、達していると判定された場合、当該データを処理可能な一のPGとは異なる他のPGに当該データが移動されるので、一のPG(ボリューム)の応答性能が低下している状況が改善される。
 また、計算機システム1では、既にアクティブコピーのデータが存在しているデータに対しては、ホスト装置の読込先を問題のPGからアクティブコピー先のPGに切替可能であるか否かが判定される。かかる構成によれば、切替可能である場合、アクティブコピーのデータが再利用されるので、アクティブコピーのデータが既に存在するPGに分散しても負荷を十分に下げることができる状況において、アクティブコピーのデータを更に作成してしまう事態を回避できるようになる。
 また、計算機システム1では、負荷分散の要否の判定の際、一定期間におけるPGのペンディングレートの平均がペンディングレート上限と比較されるので、特定の差分データに対するREADが一時的に多くなり、直ぐに少なくなるケースにおいて、無駄な負荷分散を行うことによる不要なリソース消費が発生する事態を回避できるようになる。
 以上にように、計算機システム1によれば、ストレージ装置10の状況に応じた適切な性能改善を容易に行い得る信頼性の高いストレージ装置10を提供することができる。
(2)第2の実施の形態
 第2の実施の形態では、第1の実施の形態と異なる主な構成(制御装置20が設けられない構成)について説明する。
 図17に示すように、ストレージ装置10は、事前処理プログラム24および実行プログラム25を有する。より具体的には、CPU11により事前処理プログラム24および実行プログラム25がメモリ12から読み出されて実行されることで、上述の各種の処理が行われる。また、メモリ12には、上述のペンディングレート管理テーブル201、PG情報管理テーブル202、PGのデータ一覧203、アクティブコピー管理テーブル204、ホスト装置参照先ボリューム管理テーブル205、ボリューム参照先データ管理テーブル206、ホスト装置参照先データ管理テーブル207が記憶されている。なお、ストレージ装置10は、上述の構成に限られるものではなく、例えば、ポート13は、ホスト装置とは異なる他の管理装置、入力装置などから、ユーザによる各種の指示を受け付けるものであってもよい。
(3)第3の実施の形態
 第3の実施の形態では、第1の実施の形態と異なる主な構成(ユーザの指示に応じて負荷分散が開始される構成、より具体的にはボリューム起点負荷分散処理)について説明する。
(3-1)ボリューム起点負荷分散処理
 図18は、本実施の形態の実行プログラム25が実行するボリューム起点負荷分散処理の処理手順を示す。
 実行プログラム25は、まず、ユーザがボリュームを指定して負荷分散を手動実行することを示す情報を取得する(ステップS100)。
 続いて、実行プログラム25は、指定されたボリュームを構成するPGの情報を取得する(ステップS101)。より具体的には、実行プログラム25は、ボリューム参照先データ管理テーブル206を参照して指定されたボリュームが参照するデータを特定し、特定したデータが格納されているPGを、PGのデータ一覧203を参照して特定する。
 続いて、実行プログラム25は、ステップS101で特定したPGごとに新規アクティブコピー作成処理を実行する(ステップS102)。なお、新規アクティブコピー作成処理については、第1の実施の形態の新規アクティブコピー作成処理と同じ処理であるので、その説明を省略する。
 本実施の形態の計算機システム1によれば、ユーザが特定のボリュームの応答が遅いと判断した場合、応答が遅いと判断したボリュームを指定して応答劣化を解消することが効率的にできるようになる。
(4)第4の実施の形態
 第4の実施の形態では、第1の実施の形態と異なる主な構成(ユーザの指示に応じて負荷分散が開始される構成、より具体的にはホスト装置起点負荷分散処理)について説明する。
(4-1)ホスト装置起点負荷分散処理
 図19は、本実施の形態の実行プログラム25が実行するホスト装置起点負荷分散処理の処理手順を示す。
 実行プログラム25は、まず、ユーザがホスト装置を指定して負荷分散を手動実行することを示す情報を取得する(ステップS200)。
 続いて、実行プログラム25は、指定されたホスト装置が参照しているボリュームを構成するPGの情報を取得する(ステップS201)。より具体的には、実行プログラム25は、ホスト装置参照先ボリューム管理テーブル205を参照して指定されたホスト装置が参照しているボリュームを特定し、特定したボリュームが参照しているデータを、ボリューム参照先データ管理テーブル206を参照して特定し、特定したデータが格納されているPGを、PGのデータ一覧203を参照して特定する。
 続いて、実行プログラム25は、S201で特定したPGごとに新規アクティブコピー作成処理を実行する(ステップS202)。なお、新規アクティブコピー作成処理については、第1の実施の形態の新規アクティブコピー作成処理と同じ処理であるので、その説明を省略する。
 本実施の形態の計算機システム1によれば、ユーザが特定のホスト装置の応答が遅いと判断した場合、応答が遅いと判断したホスト装置を指定して応答劣化を解消することが効率的にできるようになる。
(5)第5の実施の形態
 第5の実施の形態では、第1の実施の形態と異なる主な構成(負荷分散要否決定処理)について説明する。
(5-1)負荷分散要否決定処理
 図20は、実行プログラム25により実行される負荷分散要否決定処理の処理手順を示す。負荷分散要否決定処理は、第1の実施の形態の定期実行処理のステップS23において呼び出される処理であり、負荷分散要否決定処理では、処理対象のPGの総IO量に基づいて負荷分散の要否が決定される。
 実行プログラム25は、まず、PG情報管理テーブル202を参照して処理対象のPGのIO量上限を取得する(ステップS300)。
 続いて、実行プログラム25は、処理対象のPGにIOを発行する可能性のあるホスト装置の情報を取得する(ステップS301)。より具体的には、実行プログラム25は、PGのデータ一覧203を参照して処理対象のPGに格納されるデータを特定し、特定したデータを参照するホスト装置を、ホスト装置参照先データ管理テーブル207を参照して特定する。
 続いて、実行プログラム25は、特定した全ホスト装置の総IO量を、ホスト装置参照先データ管理テーブル207を参照して算出(取得)する(ステップS302)。
 続いて、実行プログラム25は、全ホスト装置の総IO量が処理対象のPGのIO量上限を超えるか否かを判定する(ステップS303)。実行プログラム25は、超えると判定した場合、ステップS304に処理を移し、超えないと判定した場合、ステップS305に処理を移す。
 ステップS304では、実行プログラム25は、呼び出し元に負荷分散が必要であると応答する。より具体的には、実行プログラム25は、処理結果として負荷分散が必要であることを示す情報をメモリ20に格納し、負荷分散要否決定処理を終了する。
 ステップS305では、実行プログラム25は、呼び出し元に負荷分散が不要であると応答する。より具体的には、実行プログラム25は、処理結果として負荷分散が不要であることを示す情報をメモリ20に格納し、負荷分散要否決定処理を終了する。
 ここで、ホスト装置の動作によっては、特定の差分データに対するアクセスが一時的に多くなり、すぐに少なくなるケースがある。このような場合、アクティブコピーの作成と削除を繰り返すような無駄な負担をストレージ装置10のCPU11に与え、不要なリソース消費が発生する。つまり、IO量としてサンプリングされた一の値(例えば、最新の値)を採用してもよいが、一定期間におけるIO量の平均を採用することで、SVOLの負荷分散の要否を判定する際、一定期間におけるIO量の平均がIO量上限と比較されるので、一時的な負荷増加による余分な負荷分散を抑制できるようになる。
(6)第6の実施の形態
 第6の実施の形態では、第1の実施の形態と異なる主な構成(定期実行処理および不要アクティブコピー削除処理)について説明する。
 ボリュームの利用状況が変化し、ホスト装置起点またはボリューム起点のIO量が減り、アクティブコピーのデータがなくてもPGが十分にIO量を処理できる状況となった場合、負荷分散のために作成されたアクティブコピーのデータが残っていて不要にデータ領域を占有する事態が生じ得る。そこで、本実施の形態の計算機システム1では、不要と判断されるアクティブコピーのデータを削除する処理を定期的に行う。
(6-1)定期実行処理
 図21は、本実施の形態の実行プログラム25が実行する定期実行処理の処理手順を示す。ステップS400~ステップS402は、第1の実施の形態の定期実行処理のステップS20~ステップS22と同じ処理であるので、その説明を省略する。また、ステップS404~ステップS406は、第1の実施の形態の定期実行処理のステップS23~ステップS25と同じ処理であるので、その説明を省略する。
 ステップS403では、実行プログラム25は、不要アクティブコピー削除処理を行い、ステップS404に処理を移す。不要アクティブコピー削除処理では、アクティブコピーのデータを削除したときのIO量に基づいてアクティブコピーのデータが削除される。
(6-2)不要アクティブコピー削除処理
 図22は、実行プログラム25が実行する不要アクティブコピー削除処理の処理手順を示す。不要アクティブコピー削除処理は、上述の定期実行処理のステップS403において呼び出される処理である。
 実行プログラム25は、まず、PGのデータ一覧203を参照し、PG上のアクティブコピーのデータでない全てのデータを取得(データを特定)する(ステップS500)。
 続いて、実行プログラム25は、ステップS500で特定した全てのデータに対して処理を終了したか否かを判定する(ステップS501)。実行プログラム25は、終了したと判定した場合、不要アクティブコピー削除処理を終了し、終了していないと判定した場合、ステップS502に処理を移す。
 ステップS502では、実行プログラム25は、アクティブコピー管理テーブル204を参照し、処理対象のデータのアクティブコピーの情報を全て取得(アクティブコピーのデータを特定)する。
 続いて、実行プログラム25は、ステップS502で特定した全てのアクティブコピーのデータに対して処理を終了したか否かを判定する(ステップS503)。実行プログラム25は、終了したと判定した場合、処理対象のデータを次のデータに代えてステップS501に処理を移し、終了していないと判定した場合、ステップS504に処理を移す。
 ステップS504では、実行プログラム25は、処理対象のアクティブコピーのデータが削除された場合の処理対象のデータが格納されたPGのIO量を算出する。より具体的には、実行プログラム25は、ホスト装置参照先データ管理テーブル207を参照して処理対象のアクティブコピーのデータのIO量を算出し、PGのデータ一覧203を参照して処理対象のデータが格納されたPGに格納されるデータを特定し、ホスト装置参照先データ管理テーブル207を参照して特定したデータのIO量の総量(総IO量)を算出し、処理対象のアクティブコピーのデータのIO量と総IO量とを合計を算出する。
 続いて、実行プログラム25は、ステップS504で算出したIO量が処理対象のデータが格納されたPGのIO量上限を下回っているか否かを判定し、下回っていると判定した場合、ステップS506に処理を移し、下回っていないと判定した場合、処理対象のアクティブコピーのデータを次のアクティブコピーのデータに代えてステップS503に処理を移す(ステップS505)。
 ステップS506では、実行プログラム25は、ホスト装置の読込先を切り替えてアクティブコピーのデータを削除するようにストレージ装置10に指示し、処理対象のアクティブコピーのデータを次のアクティブコピーのデータに代えてステップS503に処理を移す。この際、実行プログラム25は、ボリューム参照先データ管理テーブル206を参照し、削除対象のアクティブコピーのデータを参照するボリュームを特定し、当該ボリュームの参照先のデータを処理対象のデータに変更する。
 本実施の形態の計算機システム1では、アクティブコピーのデータを消した場合のコピー元のPGのIO量が推定され、当該IO量がコピー元のPGのIO量上限に満たない見込みである場合、ホスト装置の読込先がコピー元に切り替えられてアクティブコピーのデータが消去される。つまり、ストレージ装置10の性能が劣化していると、アクティブコピーが行われるが、上記構成によれば、アクティブコピーのデータがなくても十分に性能を担保できる状況になった場合、アクティブコピーのデータが削除されるので、アクティブコピーのデータが不要にデータ領域を占領してしまう事態を回避できるようになる。
(7)第7の実施の形態
 第7の実施の形態では、第1の実施の形態と異なる主な構成(フルコピー再利用処理)について説明する。
 SVOLをフルコピーして独立して利用したいケースにおいて、ホスト装置にフルコピー先のボリュームを参照させる場合、従来は、全てのデータを複製するため、コピーに時間がかかるという問題がある。この点、本実施の形態の計算機システム1では、SVOLに対するフルコピーの要求(ユーザからの指示)があったとき、SVOLが参照する差分データおよびプライマリデータにアクティブコピーのデータが存在する場合、アクティブコピーのデータを再利用してフルコピーを構成する。
(7-1)フルコピー再利用処理
 図23は、本実施の形態の実行プログラム25が実行するフルコピー再利用処理の処理手順を示す。
 実行プログラム25は、まず、フルコピーの要求があるボリュームが利用するデータの情報をボリューム参照先データ管理テーブル206から取得(データを特定)する(ステップS600)。
 続いて、実行プログラム25は、ステップS600で特定したデータのうち、フルコピーの要求があるボリュームを参照するホスト装置(指定ホスト装置)だけが参照するアクティブコピーのデータを特定し、リストAに登録する(ステップS601)。より具体的には、実行プログラム25は、特定したデータのうち、ボリューム参照先データ管理テーブル206を参照して指定ホスト装置だけが参照するデータを特定し、特定したデータのうち、アクティブコピー管理テーブル204を参照してアクティブコピーであるデータを特定し、特定したデータの情報をリストAに登録する。
 続いて、実行プログラム25は、ステップS600で取得したデータのうち、リストAにないデータをフルコピーするようにストレージ装置10に指示し、フルコピーしたデータの情報をリストBとする(ステップS602)。
 続いて、実行プログラム25は、リストAおよびリストBからボリュームのフルコピーを構成し、指定ホスト装置の参照先をこのフルコピーしたボリュームに切り替えるようにストレージ装置10に指示する(ステップS603)。この際、実行プログラム25は、リストAおよびリストBに基づいて、PGのデータ一覧203、アクティブコピー管理テーブル204、ホスト装置参照先ボリューム管理テーブル205、ボリューム参照先データ管理テーブル206、およびホスト装置参照先データ管理テーブル207を更新する。
 本実施の形態の計算機システム1によれば、SVOLに対するフルコピーの要求があったとき、当該SVOLが参照する差分データおよびプライマリデータにアクティブコピーのデータが存在する場合、当該アクティブコピーのデータが再利用されてフルコピーが構成されるので、コピーに時間がかかる時間を短縮できるようになる。
(8)他の実施の形態
 なお上述の第1~第7の実施の形態においては、本発明を図1のように構成されたストレージ装置10に適用するようにした場合について述べたが、本発明はこれに限らず、差分コピーからなるボリュームをノードに含む木構造が定義されたこの他種々のストレージ装置に広く適用することができる。
 また上述の第1~第7の実施の形態においては、テーブル201~207を示して述べたが、本発明はこれに限らず、テーブル201~207のうち、複数のテーブルを1つにまとめたテーブルを用いてもよいし、1つのテーブルを複数に分割したテーブルを用いてもよい。
 また上述の第1~第7の実施の形態においては、本発明をボリュームがホストに割り当てられる構成に適用した場合について述べたが、本発明はこれに限らず、ボリュームがアプリケーションに割り当てられる構成に適用してもよい。
 また上述の第1の実施の形態においては、負荷分散に係る処理を定期実行する構成について述べたが、本発明はこれに限らず、負荷分散に係る処理を手動実行する構成であってもよい。
 また上述の第1の実施の形態においては、マイグレーション処理、既存アクティブコピー作成処理、および新規アクティブコピー作成処理の何れかが実行されると、当該定期実行処理を終了する構成について述べたが、本発明はこれに限らず、アクティブコピーのデータの作成が有効になる処理時間の経過を待って、マイグレーション処理、既存アクティブコピー作成処理、および新規アクティブコピー作成処理の一部または全部を続けて実行するようにしてもよい。
 また上述の第3の実施の形態においては、ユーザが指定したボリュームのPGについて新規アクティブコピー作成処理を行う場合について述べたが、本発明はこれに限らず、新規アクティブコピー作成処理に替えてまたは加えて、マイグレーション処理および既存アクティブコピー作成処理の一方または両方を行うようにしてもよい。
 また上述の第4の実施の形態においては、ユーザが指定したホスト装置が参照しているボリュームのPGについて新規アクティブコピー作成処理を行う場合について述べたが、本発明はこれに限らず、新規アクティブコピー作成処理に替えてまたは加えて、マイグレーション処理および既存アクティブコピー作成処理の一方または両方を行うようにしてもよい。
 また上述の第1~第7の実施の形態に示した構成については、適宜に組み合わせることができる。
 1……計算機システム、10……ストレージ装置、11……CPU、12……メモリ、13,14……ポート、15A~15D……パリティグループ(PG)、20……制御装置、21……CPU、22……HDD、23……メモリ、24……事前処理プログラム、25……実行プログラム、26……ポート、30A~30D……ホスト装置、31A~31D……ポート

Claims (10)

  1.  一または複数の記憶装置を含んで構成される複数の記憶装置群が提供する記憶領域上に、差分コピーからなるボリュームをノードに含む木構造が定義されたストレージ装置であって、
     前記複数のボリュームに対応付けられる複数のホスト装置からのデータの要求を受け付ける通信部と、
     前記複数の記憶装置群の各々が処理可能なIO量の上限を示すIO量上限と、前記複数の記憶装置群に格納される各データと各ホスト装置とが対応付けられたIO量と、を記憶する記憶部と、
     前記複数の記憶装置群のうちの所定の記憶装置群に格納されるデータについて、前記データを参照するボリュームに対応付けられるホスト装置に対するIO量を取得する取得部と、
     前記ホスト装置と前記複数の記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定する判定部と、
     前記下回る組合せにおける前記データを格納する記憶装置群に前記データのアクティブコピーを行い、前記データを参照するボリュームの参照先データを前記データから前記記憶装置群にアクティブコピーされたデータに変更するための処理を行う処理部と、
     を備えることを特徴とするストレージ装置。
  2.  一のホスト装置に対するデータのIO量が一の記憶装置群のIO量上限を超えるデータについて、前記複数の記憶装置群の中から処理可能な記憶装置群を選定し、選定した記憶装置群に前記データをアクティブコピーし、前記データを参照するボリュームの参照先データを前記データから前記記憶装置群にアクティブコピーされたデータに変更し、前記データを削除するための処理を行うマイグレーション部を更に備える
     ことを特徴とする請求項1に記載のストレージ装置。
  3.  前記所定の記憶装置群に格納されるデータを参照するボリュームに対応付けられるホスト装置と、前記データのアクティブコピーのデータが格納される記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定し、前記ボリュームの参照先データを前記データから前記下回る組合せにおけるアクティブコピーのデータに変更するための処理を行う既存アクティブコピー再利用部を更に備える
     ことを特徴とする請求項1に記載のストレージ装置。
  4.  ユーザがフルコピーを所望するボリュームを指定する情報に基づいて、前記ボリュームが参照するデータのうち、前記ボリュームが対応付けられるホスト装置のみが参照するアクティブコピーのデータを特定し、前記ボリュームが参照するデータのうち、特定したアクティブコピーのデータを除くデータをフルコピーし、前記フルコピーのデータと前記アクティブコピーのデータとによりフルコピーのボリュームを構成し、前記ホスト装置の参照先を前記ユーザにより指定されたボリュームから前記フルコピーのボリュームに切り替えるための処理を行うフルコピー再利用部を更に備える
     ことを特徴とする請求項1に記載のストレージ装置。
  5.  アクティブコピーのデータを削除する削除部を更に備え、
     前記削除部は、前記複数の記憶装置群の各々に対し、格納されているデータについてアクティブコピーのデータがあるか否かを判定し、アクティブコピーのデータがあると判定した記憶装置群における前記アクティブコピーのデータが削除されたときのIO量を算出し、前記IO量が前記記憶装置群のIO量上限を下回ると判定した場合、前記アクティブコピーのデータを削除する
     ことを特徴とする請求項1に記載のストレージ装置。
  6.  定期的に、前記複数の記憶装置群の各々について、各記憶装置群の負荷状況に応じて負荷分散の要否を判定し、負荷分散の必要がある記憶装置群を前記所定の記憶装置群として決定する決定部を更に備える
     ことを特徴とする請求項1に記載のストレージ装置。
  7.  前記記憶部には、前記複数の記憶装置群の各々について、所定時間ごとのIO量またはペンディングレートの平均が記憶され、
     前記決定部は、前記複数の記憶装置群のうち、前記記憶部に記憶される平均のIO量または平均のペンディングレートが閾値を超える記憶装置群を、負荷分散が必要である記憶装置群として決定する
     ことを特徴とする請求項6に記載のストレージ装置。
  8.  ユーザが負荷分散を所望するホスト装置またはボリュームを指定する情報に基づいて、前記ホスト装置または前記ボリュームに対応する記憶装置群を前記所定の記憶装置群として決定する決定部を更に備える
     ことを特徴とする請求項1に記載のストレージ装置。
  9.  一または複数の記憶装置を含んで構成される複数の記憶装置群が提供する記憶領域上に、差分コピーからなるボリュームをノードに含む木構造が定義されたストレージ装置を制御する制御装置であって、
     前記複数のボリュームに対応付けられる複数のホスト装置からのデータの要求を受け付ける通信部と、
     前記複数の記憶装置群の各々が処理可能なIO量の上限を示すIO量上限と、前記複数の記憶装置群に格納される各データと各ホスト装置とが対応付けられたIO量と、を記憶する記憶部と、
     前記複数の記憶装置群のうちの所定の記憶装置群に格納されるデータについて、前記データを参照するボリュームに対応付けられるホスト装置に対するIO量を取得する取得部と、
     前記ホスト装置と前記複数の記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定する判定部と、
     前記下回る組合せにおける前記データを格納する記憶装置群に前記データのアクティブコピーを行い、前記データを参照するボリュームの参照先データを前記データから前記記憶装置群にアクティブコピーされたデータに変更するための処理を行うように前記ストレージ装置に指示する処理部と、
     を備えることを特徴とする制御装置。
  10.  一または複数の記憶装置を含んで構成される複数の記憶装置群が提供する記憶領域上に、差分コピーからなるボリュームをノードに含む木構造が定義され、前記複数のボリュームに対応付けられる複数のホスト装置からのデータの要求を受け付ける通信部と、前記複数の記憶装置群の各々が処理可能なIO量の上限を示すIO量上限と、前記複数の記憶装置群に格納される各データと各ホスト装置とが対応付けられたIO量と、を記憶する記憶部と、を備えたストレージ装置の制御方法であって、
     取得部が、前記複数の記憶装置群のうちの所定の記憶装置群に格納されるデータについて、前記データを参照するボリュームに対応付けられるホスト装置に対するIO量を取得する第1のステップと、
     判定部が、前記ホスト装置と前記複数の記憶装置群との組合せのうち、ホスト装置からの総IO量が記憶装置群のIO量上限を下回る組合せがあるか否かを判定する第2のステップと、
     処理部が、前記下回る組合せにおける前記データを格納する記憶装置群に前記データのアクティブコピーを行い、前記データを参照するボリュームの参照先データを前記データから前記記憶装置群にアクティブコピーされたデータに変更するための処理を行う第3のステップと、
     を備えることを特徴とする制御方法。
PCT/JP2017/002037 2017-01-20 2017-01-20 ストレージ装置、その制御装置、およびその制御方法 WO2018134985A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/002037 WO2018134985A1 (ja) 2017-01-20 2017-01-20 ストレージ装置、その制御装置、およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/002037 WO2018134985A1 (ja) 2017-01-20 2017-01-20 ストレージ装置、その制御装置、およびその制御方法

Publications (1)

Publication Number Publication Date
WO2018134985A1 true WO2018134985A1 (ja) 2018-07-26

Family

ID=62908635

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/002037 WO2018134985A1 (ja) 2017-01-20 2017-01-20 ストレージ装置、その制御装置、およびその制御方法

Country Status (1)

Country Link
WO (1) WO2018134985A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214184A (ja) * 2012-04-02 2013-10-17 Nec System Technologies Ltd ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
JP2014517363A (ja) * 2011-09-14 2014-07-17 株式会社日立製作所 クローンファイル作成方法と、それを用いたファイルシステム
WO2015145680A1 (ja) * 2014-03-27 2015-10-01 株式会社日立製作所 管理計算機、及び計算機システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517363A (ja) * 2011-09-14 2014-07-17 株式会社日立製作所 クローンファイル作成方法と、それを用いたファイルシステム
JP2013214184A (ja) * 2012-04-02 2013-10-17 Nec System Technologies Ltd ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
WO2015145680A1 (ja) * 2014-03-27 2015-10-01 株式会社日立製作所 管理計算機、及び計算機システム

Similar Documents

Publication Publication Date Title
JP4659526B2 (ja) ストレージシステムにインストールされるプログラムのライセンスを管理する管理計算機、計算機システム及び制御方法
JP5488952B2 (ja) 計算機システム及びデータ管理方法
JP2009181206A (ja) ストレージシステム及びスナップショット構成の移行方法
JP5309263B2 (ja) 計算機システム及びその管理方法
JP2007094505A (ja) データ処理システム及びデータ管理方法並びにストレージシステム
JP2011076286A (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
JP5228466B2 (ja) バックアップ装置、バックアップ方法およびバックアッププログラム
JP2010266993A (ja) データ移動管理装置及び情報処理システム
JP2008065503A (ja) ストレージシステム及びバックアップ/リカバリ方法
JP5385458B2 (ja) 計算機システムおよびその更改方法
JP2007280319A (ja) 記憶領域動的割当方法
JP2007179342A (ja) ストレージシステム及びスナップショット管理方法
JP2010086050A (ja) アプリケーションデータのバックアップ構成構築に用いる管理計算機
JP2007199920A (ja) ストレージ装置及びその制御方法
JP2021197171A (ja) 迅速かつ段階的なマイグレーション方法
JP2009230239A (ja) テープ装置のデータ移行方法およびテープ管理システム
JP6565560B2 (ja) ストレージ制御装置、及び制御プログラム
JP2007328711A (ja) 無共有型データベースシステムの構成変更方法、管理サーバ及び無共有型データベースシステム
JPWO2014119269A1 (ja) データセット多重度変更装置、サーバ、およびデータセット多重度変更方法
US20190212937A1 (en) Storage system and storage control method
WO2018134985A1 (ja) ストレージ装置、その制御装置、およびその制御方法
JP2010113587A (ja) ストレージシステムおよびストレージシステムによるファイルシステムの管理方法
WO2015145680A1 (ja) 管理計算機、及び計算機システム
JP2010026965A (ja) アーカイブシステムおよびコンテンツの管理方法
JP2008287327A (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: 17893048

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP