The present application claims priority from Japanese application JP 2021-101785, filed on Jun. 18, 2021, the contents of which is hereby incorporated by reference into this application.
The present disclosure relates to a storage system and a control method.
In a storage system equipped with a plurality of types of storage apparatuses of which access performances differ from each other, tier control may be performed in which storage areas of storage apparatuses of a same type are managed as a single tier and, in accordance with a state of utilization of data stored in the storage apparatuses, a tier to store the data is controlled.
Japanese Patent No. 6317524 discloses a storage system that uses a set of storage areas of external storage apparatuses arranged on a cloud system as a single tier. The storage system is arranged in an on-premise environment such as a data center of a customer and respectively manages, as different tiers, a storage area of an internal storage apparatus arranged inside the on-premise environment and a storage area of the external storage apparatuses arranged on the cloud system, and data with high access frequency is stored in the internal storage apparatus while data with low access frequency is stored in the external storage apparatuses. Accordingly, high access performance of an internal storage apparatus of the on-premise environment can be utilized while conserving capacity of the internal storage apparatus.
In a cloud system, automatic tier control may be performed in which a tier to store data is controlled independently of a storage system that utilizes the cloud system. For example, when access frequency with respect to data stored in a storage apparatus with high access performance such as an SSD (Solid State Drive) declines, the cloud system performing automatic tier control migrates the data to an inexpensive but high-capacity storage apparatus.
In the storage system described in Japanese Patent No. 6317524, when automatic tier control is performed on a cloud system side, access performance of a storage apparatus storing data may fluctuate and prevent service quality guaranteed by the storage system from being maintained.
An object of the present disclosure is to provide a storage system and a control method capable of maintaining desired service quality even when automatic tier control with respect to an external storage apparatus is performed.
A storage system according to an aspect of the present disclosure is a storage system coupled to an external storage system that provides an externally-provided volume belonging to any of a plurality of tiers with different access performances, the external storage system changing a tier to which the externally-provided volume belongs based on a state of utilization of the externally-provided volume, the storage system including a control unit which provides a host with a volume created by allocating a page to an external volume associated with the externally-provided volume and which controls the tier to which the externally-provided volume belongs by adjusting the state of utilization.
According to the present invention, desired service quality can be maintained even when automatic tier control with respect to an external storage apparatus is performed.
Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings.
The storage system 1, the host computer 3, and the management apparatus 4 are arranged in an on-premise environment 8 such as a data center of a customer to whom the storage system 1 provides services while the cloud system 2 is arranged in a cloud environment 9 provided at a separate location from the on-premise environment.
The storage system 1 controls read and write of data in response to an I/O request (a read request and a write request) that is an access request from the host computer 3. The storage system 1 has a volume 11, a storage pool 12, an internal volume 13, external volumes 14 and 15, control information 16, and a storage controller 17.
The volume 11 is a virtual volume which is provided to the host computer 3 and which is segmented from the storage pool 12. The storage pool 12 refers to the whole of pool volumes that can be provided as the volume 11 and, in the present embodiment, the internal volume 13 and the external volumes 14 and 15 are available as pool volumes. The internal volume 13 is a volume allocated to a storage area of an SSD 101 (refer to
The storage pool 12 has, as tiers, a plurality of types of volumes of which access performances (for example, read speeds and write speeds) differ from one another (more specifically, a plurality of types of volumes which correspond to respective storage areas of a plurality of types of storage apparatuses of which access performances differ from one another). In the present embodiment, the storage pool 12 has three tiers “Tier 1”, “Tier 2”, and “Tier 3” in a descending order of access performances. The internal volume 13 and the external volumes 14 and 15 belong to different tiers. In addition, the external volumes 14 and 15 may belong to a same tier or to different tiers. Specifically, the internal volume 13 belongs to “Tier 1” and the external volumes 14 and 15 respectively belong to either “Tier 2” or “Tier 3”.
The control information 16 is information for controlling the storage system 1 and includes a volume management table 161, an external volume management table 162, a storage pool management table 163, an externally-coupled apparatus management table 164, a schedule management table 165, and a page migration capacity management table 166. Detailed descriptions of the respective tables 161 to 166 will be provided later (refer to
The storage controller 17 is a control unit that controls the storage system 1. For example, the storage controller 17 loads a program (to be described later) and executes the loaded program to realize a volume managing unit 201, an external volume managing unit 202, a storage pool managing unit 203, an external apparatus control unit 204, and an I/O control unit 205.
The cloud system 2 is a service which is provided on a network such as a wide-area communication network and which provides a user with a storage resource (for example, a logical volume) via the network. The cloud system 2 has a gateway server 21, cloud volumes 22 and 23, and a cloud control unit 24.
The gateway server 21 communicates with the storage system 1. The cloud volumes 22 and 23 are volumes to be provided to the storage system 1 and are allocated to a storage area of a cloud storage apparatus 26 (
The cloud control unit 24 controls the cloud system 2. For example, the cloud control unit 24 performs automatic tier control of the cloud system 2. Automatic tier control is control for changing tiers of the cloud volumes 22 and 23 by rearranging data among cloud storage apparatuses 26 of different types in accordance with a state of volume utilization that refers to a state of utilization of the cloud volumes 22 and 23.
In the present embodiment, the cloud system 2 has two tiers “HOT” and “COLD” in a descending order of access performances, and the cloud control unit 24 changes tiers of the cloud volumes 22 and 23 based on the state of utilization of the cloud volumes 22 and 23 and a utilization requirement that refers to a predetermined condition. For example, when the state of utilization with respect to a HOT cloud volume does not satisfy the utilization requirement, the cloud control unit 24 changes the tier of the cloud volume to “COLD”.
Hereinafter, in order to differentiate tiers (“Tier 1”, “Tier 2”, and “Tier 3”) that are managed by the storage system 1 from tiers (“HOT” and “COLD”) that are managed by the cloud system 2, the tiers managed by the storage system 1 may be referred to as internal tiers and the tiers managed by the cloud system 2 may be referred to as external tiers. In addition, the storage system 1 manages the internal tier “Tier 2” as a tier of which an access performance is identical or similar to that of the external tier “HOT” and manages the internal tier “Tier 3” as a tier of which an access performance is identical or similar to that of the external tier “COLD”. Therefore, for example, when an external tier of the cloud volumes 22 and 23 is changed from “HOT” to “COLD” in the cloud system 2, the external volumes 14 and 15 that correspond to the changed cloud volumes 22 and 23 no longer satisfy an access performance that is required as the internal tier “Tier 2”.
The host computer 3 is a terminal apparatus that issues an I/O request to the storage system 1.
The management apparatus 4 is a terminal apparatus that is used by a storage manager who manages the storage system 1 and has a storage management GUI (Graphical User Interface) 41 and a cloud management GUI 42. The storage management GUI 41 is a GUI for managing the storage system 1 and the cloud management GUI 42 is a GUI for managing the cloud system 2.
The memory 31 is a recording apparatus for recording data that can be written and read and, for example, the memory 31 records a hypervisor 311 and an application program 312 as programs that define operations of the processor 32. The hypervisor 311 constructs a virtual machine. The application program 312 runs on the virtual machine and, for example, issues an I/O request.
The input unit 33 receives input of various kinds of information from a user of the host computer 3 or the like. Information input to the input unit 33 is used in processing performed by the processor 32 or the like. The output unit 34 outputs various kinds of information to the user. The network I/F 35 communicates with external apparatuses via the management network 7.
The HBA 36 is a communication device to be coupled to the volume 11 of the storage system 1 via the storage network 6. While the example shown in
The SSD 101 is a disk for storing data and functions as an internal storage apparatus that stores data to be a target of an I/O request from the host computer 3. The internal storage apparatus is not limited to the SSD 101 and may be a storage apparatus of another type such as an HDD (Hard Disk Drive). The SSD 101 may be provided in plurality.
The host I/F unit 102 is a host-side input/output unit having a plurality of I/Fs 1021 that are coupled so as to be capable of communicating with the host computer 3 and an example thereof is a FEPK (Front End Package). For example, the I/Fs 1021 accept an I/O request from the host computer 3 and output a result of the I/O request to the host computer 3.
The disk I/F unit 103 is a disk-side input/output unit having a plurality of I/Fs 1031 that are coupled so as to be capable of communicating with the SSD 101 and an example thereof is a BEPK (Back End Package). For example, each I/F 1031 is coupled to the SSD 101 via a cable and to the internal network 106 and mediates transfer processing of data that is a read and write target between the internal network 106 and the disk I/F unit 103.
The shared memory unit 104 is a temporary storage unit for storing data and information on a temporary basis and is, for example, a CMPK (Cache Memory Package). The shared memory unit 104 has a data cache memory 1041 and a control information memory 1042. The data cache memory 1041 and the control information memory 1042 are, for example, a volatile memory such as a DRAM (Dynamic Random Access Memory).
The data cache memory 1041 temporarily stores (caches) data to be written to the SSD 101 and temporarily stores data read from the SSD 101. The control information memory 1042 stores control information required by various types of processing to be performed by the storage system 1 and stores programs for executing the various types of processing to be performed by the storage system 1.
The control processing unit 105 controls the entire storage system 1 by cooperating with the host I/F unit 102, the disk I/F unit 103, and the shared memory unit 104 and an example thereof is an MPPK (Micro Processor Package). The control processing unit 105 has a plurality of MPs (Micro Processors) 1051, a local memory (LM) 1052, and a bus 1053 that couples each MP 1051 and the local memory 1052 so as to be capable of communicating with each other. The MP 1051 performs processing in accordance with an I/O request received by the host I/F unit 102. The local memory 1052 stores a portion required by the control processing unit 105 among control information stored in the control information memory 1042 and programs to be executed by the MP 1051 among programs stored in the control information memory 1042.
The host I/F unit 102, the disk I/F unit 103, the shared memory unit 104, and the control processing unit 105 shown in
The internal volume 13 is allocated to the storage area of the SSD 101 and the external volumes 14 and 15 are allocated to the storage area of the cloud storage apparatus 26 that is an external storage apparatus provided in the cloud system 2.
The cloud system 2 has the gateway server 21 and a cloud storage system 25. The cloud storage system 25 has the cloud storage apparatus 26 and the cloud volumes 22 and 23 that are allocated to the storage area of the cloud storage apparatus 26. The cloud volumes 22 and 23 are provided to the storage system 1 by being virtualized as a virtual volume 27 in the gateway server 21. Specifically, the external volumes 14 and 15 of the storage system 1 are allocated to the storage area of the cloud storage apparatus 26 via the virtual volume 27 and the cloud volumes 22 and 23. As described above, a plurality of types of the cloud storage apparatus 26 are provided and the various types of the cloud storage apparatuses 26 have different access performances.
The field 1611 stores a volume ID (VOL ID) that is identification information for identifying a volume. The field 1612 stores a capacity of the volume. The field 1613 stores a free capacity of the volume. The field 1614 stores a type (TYPE) of the volume. In this case, a type “DP-VVOL” indicates that the volume is the volume 11, a type “NORMAL” indicates that the volume is the internal volume 13, and a type “EXTERNAL” indicates that the volume is the external volumes 14 and 15. The field 1615 stores an affiliated storage medium indicating a storage apparatus that corresponds to the volume. In this case, the storage pool 12 is described as the affiliated storage medium of the volume 11. The field 1616 stores an allocation destination of the volume. The allocation destination of the volume 11 is the host computer 3 while the allocation destination of the internal volume 13 and the external volumes 14 and 15 is the storage pool 12.
The field 1621 stores a volume ID that is identification information for identifying the external volumes 14 and 15. The field 1622 stores a capacity of the external volumes 14 and 15. The field 1623 stores an external port ID (EXTERNAL PORT ID) that is identification information for identifying a port to which the external volumes 14 and 15 are to be coupled. The field 1624 stores an external group ID (EXTERNAL GROUP ID) that is identification information for identifying an external group to which the external volumes 14 and 15 belong.
The field 1625 stores a coupling destination volume ID (coupling destination VOL ID) that is identification information for identifying the cloud volumes 22 and 23 that are associated with the external volumes 14 and 15. The field 1626 stores a coupling destination apparatus ID that is identification information for identifying the cloud system 2 that includes the cloud volumes 22 and 23. The field 1627 stores a coupling destination affiliated tier that is a tier (an external tier) of the cloud volumes 22 and 23. The coupling destination affiliated tier indicates either “HOT” or “COLD”. The field 1628 stores an external volume performance indicating an access performance that is required of the external volumes 14 and 15. While the external volume performance is indicated using IOPS (Input/Output Per Second) in the example shown in
The field 1631 stores a pool ID (Pool ID) that is identification information for identifying the storage pool 12. The field 1632 stores a virtual capacity of the storage pool 12. The field 1633 stores an actual capacity of the storage pool 12. The field 1634 stores a type of the storage pool 12.
The fields 1635 and 1636 are provided for each tier that constitutes the storage pool 12. The field 1635 stores an allocated capacity that is a capacity of a target tier and the field 1636 stores an allocated volume (VOL) ID that is identification information for identifying an allocated volume being allocated to the target tier. In the example shown in
The field 1641 stores an apparatus ID that is identification information for identifying the cloud system 2. The field 1642 stores a management port to be coupled to the cloud system 2. The field 1643 stores tier information indicating an external tier that is a tier to be managed by the cloud system 2. In the present embodiment, the external tier is “HOT” and “COLD”. The field 1644 stores an I/O performance requirement that indicates an access performance of the external tier. Specifically, the field 1644 includes fields 1644A and 1644B, the field 1644A stores an I/O pattern (IO PATTERN) indicating a type of an I/O request that can be received by the cloud volumes 22 and 23 that belong to the external tier, and the field 1644B stores IOPS.
The field 1651 stores a volume ID of the external volumes 14 and 15. The field 1652 stores an I/O pattern indicating a type of an I/O request that can be received by the external volumes 14 and 15. The field 1653 stores IOPS as a required access performance indicating an access performance that is required of the external volumes 14 and 15. The field 1654 stores target area information indicating a target area that is a storage area of an access target of a control I/O request. For example, the target area information is LBA (Logical Block Addressing) of the target area.
The field 1655 stores an I/O issuance date/time that is a latest date and time at which a control I/O request had been issued to the external volumes 14 and 15. The field 1656 stores a repetition interval that is a time interval at which I/O requests for tier control are to be issued. The repetition interval is determined in accordance with a control condition of automatic tier control in the cloud system 2. The control condition is a predetermined condition related to a state of utilization of the cloud volumes 22 and 23 and an example thereof is to lower a tier of a cloud volume (change to a tier with lower access performance) when there is no access (no I/O request is issued) for a predetermined period to the cloud volumes 22 and 23. In this case, the repetition interval is a shorter period than the predetermined period. In the present embodiment, the repetition interval is set to 1 day.
The field 1657 stores a status (Status) of an external volume. Statuses of an external volume include a normal status (NORMAL) in which an actual access performance (tier) of the external volume matches an external volume performance, a warning status (WARNING) in which the actual access performance is lower than the external volume performance, and a notice state (NOTICE) in which the actual access performance is higher than the external volume performance.
The field 1661 stores an entry number (entry #) that is identification information for identifying a migration target. The field 1662 stores a migration source tier that is an external tier corresponding to an external volume being the migration target (a target of which an external tier is to be changed). The field 1663 stores a migration destination tier that is a tier after a migration of an external volume being the migration target. The field 1664 stores a migration capacity that is a capacity of the external target volume being the migration target. The field 1665 stores a free capacity of the tier being a migration destination.
Let us now return to the description of
Due to cooperation of the respective units 201 to 205, the storage controller 17 executes external tier control processing in which a tier to which the cloud volumes 22 and 23 associated with the external volumes 14 and 15 belong is controlled. Specifically, by adjusting a state of utilization of the external volumes 14 and 15, the storage controller 17 controls a tier to which the cloud volumes 22 and 23 associated with the external volumes 14 and 15 belong.
In addition, when an access performance of a tier to which the cloud volumes 22 and 23 belong does not match an external volume performance that is a predetermined access performance, the storage controller 17 may perform tier allocation status warning processing for notifying a warning message screen to that effect. Furthermore, when the access performance of the cloud volumes 22 and 23 does not satisfy the external volume performance, the storage controller 17 may perform tier adjustment processing for associating a cloud volume having been associated with the external volume to another cloud volume belonging to an external tier of which an access performance satisfies the external volume performance.
Hereinafter, processing to be performed by the storage controller 17 will be described in greater detail.
First, processing related to external tier control processing will be explained with reference to
In the tier control I/O formulation processing, first, the external volume managing unit 202 loads the external volume management table 162 from the control information memory 1042 (step S101). In addition, the external volume managing unit 202 loads the externally-coupled apparatus management table 164 from the control information memory 1042 (step S102). Furthermore, the external volume managing unit 202 loads the schedule management table 165 from the control information memory 1042 (step S103).
In addition, for each external volume identified by a volume ID included in the external volume management table 162, the external volume managing unit 202 executes loop processing LOOP 1 in which processing of steps S104 to S106 is repeated.
In the loop processing LOOP 1, the external volume managing unit 202 determines whether or not a coupling destination affiliated tier that is an external tier to which the external volume belongs has been changed (step S104). For example, the storage system 1 changes a coupling destination affiliated tier of the external volumes 14 and 15 according to a change request for changing the coupling destination affiliated tier via the storage management GUI 41 of the management apparatus 4 from the user, and the external volume managing unit 202 determines whether or not the coupling destination affiliated tier has been changed by monitoring change requests.
When the coupling destination affiliated tier has been changed, the external volume managing unit 202 acquires a coupling destination apparatus ID that is associated with the volume ID of the external volume from the external volume management table 162 (step S105). In addition, the external volume managing unit 202 acquires an I/O performance requirement that corresponds to a same apparatus ID as the acquired coupling destination apparatus ID from the externally-coupled apparatus management table 164 of the control information memory 1042 and updates the schedule management table 165 based on the I/O performance requirement (step S106).
On the other hand, when the affiliated tier has not been changed, the external volume managing unit 202 skips the processing of steps S105 and S106.
Once the processing of steps S104 to S106 is performed with respect to all external volumes, the external volume managing unit 202 ends the loop processing LOOP 1 and ends the tier control I/O formulation processing.
In the tier control processing, first, the external apparatus control unit 204 loads the schedule management table 165 from the control information memory 1042 (step S201).
In addition, for each external volume identified by a volume ID included in the schedule management table 165, the external apparatus control unit 204 executes loop processing LOOP 2 in which processing of steps S202 to S205 is repeated.
In the loop processing LOOP 2, the external apparatus control unit 204 acquires a present time point (step S202) and determines whether or not the present date/time is past an I/O issuance date/time that corresponds to the volume ID of the external volume in the schedule management table 165 (step S203).
When the present date/time is past the I/O issuance date/time, the external apparatus control unit 204 issues a control I/O request that is an I/O request for tier control to the external volume (step S204). In the present embodiment, the control I/O request is a write request with respect to a target area that corresponds to the volume ID of the external volume. For example, the target area is an area for storing management information that differs from data.
In addition, the external apparatus control unit 204 updates the I/O issuance date/time that corresponds to the volume ID of the external volume in the schedule management table 165 after an elapse of a repetition interval corresponding to the volume ID from the present time point (step S205).
When the present date/time has not passed the I/O issuance date/time, the external apparatus control unit 204 skips the processing of steps S204 and S205.
In addition, once the processing of steps S202 to S205 is performed with respect to all external volumes, the external apparatus control unit 204 ends the loop processing LOOP 2, and then ends the tier control processing.
Next, tier allocation status warning processing will be explained with reference to
In the tier allocation status warning processing, first, the external apparatus control unit 204 loads the schedule management table 165 from the control information memory 1042 (step S301).
In addition, for each external volume identified by a volume ID included in the schedule management table 165, the external apparatus control unit 204 executes loop processing LOOP 3 in which processing of steps S302 to S305 is repeated.
In loop processing LOOP 3, the external apparatus control unit 204 acquires a coupling destination apparatus ID associated with the volume ID of the external volume from the external volume management table 162 and acquires a coupling destination tier that is a tier of a cloud volume corresponding to the external volume from the cloud control unit 24 of the cloud system 2 with the coupling destination apparatus ID (step S302).
The external apparatus control unit 204 acquires an I/O performance requirement associated with a same apparatus ID as the coupling destination apparatus ID and with tier information indicating a coupling destination tier from the externally-coupled apparatus management table 164. In addition, the external apparatus control unit 204 acquires an external volume performance that is associated with the volume ID of the external volume from the external volume management table 162. Furthermore, the external apparatus control unit 204 determines whether or not the I/O performance requirement matches the external volume performance (step S303).
When the I/O performance requirement does not match the external volume performance, the external apparatus control unit 204 identifies the external volume as an external volume with non-matching performance (step S304). In addition, the external apparatus control unit 204 updates the schedule management table 165 (step S305). For example, the external apparatus control unit 204 updates a status that is associated with the volume ID of the external volume in the schedule management table 165 to “WARNING” or “NOTICE”.
On the other hand, when the I/O performance requirement matches the external volume performance, the external apparatus control unit 204 skips the processing of steps S304 and S305.
Once the processing of steps S302 to S305 is performed with respect to all external volumes, the external apparatus control unit 204 ends the loop processing LOOP 3 and determines whether or not an external volume with non-matching performance is present (step S306). For example, when an external volume of which a status is “WARNING” is present in the schedule management table 165, the external apparatus control unit 204 determines that an external volume with non-matching performance is present.
When an external volume with non-matching performance is present, the external apparatus control unit 204 outputs a warning message screen (step S307) and ends the processing. On the other hand, when an external volume with non-matching performance is not present, the external apparatus control unit 204 skips the processing of step S307 and ends the processing as it is.
Next, processing related to tier adjustment processing will be explained with reference to
In the tier match determination processing, first, the storage pool managing unit 203 loads the external volume management table 162 from the control information memory 1042 (step S401).
In addition, for each external volume identified by a volume ID included in the external volume management table 162, the external apparatus control unit 204 executes loop processing LOOP 4 in which processing of steps S402 to S405 is repeated.
In loop processing LOOP 4, the external apparatus control unit 204 acquires a coupling destination apparatus ID that is associated with the volume ID of the external volume from the external volume management table 162 (step S402). The external apparatus control unit 204 acquires, as a coupling destination affiliated tier, an external tier of a cloud volume associated with the external volume from the cloud control unit 24 of the cloud system 2 with the coupling destination apparatus ID (step S403).
The external apparatus control unit 204 acquires an I/O performance requirement associated with a same apparatus ID as the coupling destination apparatus ID and with tier information indicating a coupling destination affiliated tier from the externally-coupled apparatus management table 164. In addition, the external apparatus control unit 204 acquires an external volume performance that is associated with the volume ID of the external volume from the external volume management table 162. Furthermore, the external apparatus control unit 204 determines whether or not the I/O performance requirement matches the external volume performance (step S404).
When the I/O performance requirement does not match the external volume performance, the external apparatus control unit 204 adds a record to the page migration capacity management table 166 (step S405). Specifically, the external apparatus control unit 204 adds a record having a present tier of the external volume as a migration source tier and a tier of which an I/O performance requirement matches the external volume performance as a migration destination tier to the page migration capacity management table 166. In regards to a migration capacity and a free capacity, for example, the external apparatus control unit 204 adds 0 as an initial value.
On the other hand, when the I/O performance requirement matches the external volume performance, the external apparatus control unit 204 skips step S405.
Once the processing of steps S402 to S405 is performed with respect to all external volumes, the external apparatus control unit 204 ends the loop processing LOOP 4 and ends the tier match determination processing.
In the page migration capacity calculation processing, first, the storage pool managing unit 203 loads the page migration capacity management table 166 from the control information memory 1042 (step S501). Next, the storage pool managing unit 203 loads the storage pool management table 163 from the control information memory 1042 (step S502). In addition, the storage pool managing unit 203 loads the volume management table 161 from the control information memory 1042 (step S503). The storage pool managing unit 203 acquires a migration source tier and a migration destination tier from the page migration capacity management table 166 (step S504).
In addition, for each migration target pool volume identified by an allocated volume ID of the migration source tier among allocated volume IDs included in the storage pool management table 163, the storage pool managing unit 203 executes loop processing LOOP 5 in which processing of step S505 is repeated.
In the loop processing LOOP 5, the storage pool managing unit 203 adds a capacity of the migration target pool volume to a migration capacity t3 of a record that includes a tier of the migration target pool volume in the page migration capacity management table 166 as a migration source tier (step S505).
Once the processing of step S505 is performed with respect to all migration target pool volumes, the storage pool managing unit 203 ends the loop processing LOOP 5 and migrates to the promotion processing shown in
In the promotion processing, for each tier included in the storage pool management table 163, the storage pool managing unit 203 executes loop processing LOOP 6 in which processing of step S601 is repeated.
In the loop processing LOOP 6, the storage pool managing unit 203 calculates a free capacity that can be allocated to the tier (a free capacity of an allocated volume of the tier) and adds the calculated free capacity to a free capacity t4 of a record that includes the tier in the page migration capacity management table 166 as a migration destination tier (step S601).
Once the processing of step S601 is performed with respect to all tiers, the storage pool managing unit 203 ends the loop processing LOOP 6. Subsequently, for each entry number included in the page migration capacity management table 166, the storage pool managing unit 203 executes loop processing LOOP 7 in which processing of steps S602 to S603 is repeated.
In the loop processing LOOP 7, the storage pool managing unit 203 determines whether or not migration capacity t3<free capacity t4 is satisfied in the entry number (step S602). When migration capacity t3<free capacity t4 is not satisfied, the storage pool managing unit 203 outputs a warning message screen (step S603) and ends the processing.
Once the processing of steps S602 to S603 is performed with respect to all entry numbers, the storage pool managing unit 203 ends the loop processing LOOP 7. In addition, when step S603 is skipped, the storage pool managing unit 203 changes a tier of a promotion migration target pool volume of which an access performance in the page migration capacity management table 166 is higher with respect to a migration destination tier than a migration source tier among the migration target pool volume from the migration source tier to the migration destination tier (step S604) and migrates to demotion processing.
In the demotion processing, for each pool identified by a pool ID included in the storage pool management table 163, the storage pool managing unit 203 executes loop processing LOOP 8 in which processing of step S701 is repeated.
In the loop processing LOOP 8, since the free capacity of each allocated tier has changed in the promotion tier migration processing, the storage pool managing unit 203 once again calculates a free capacity that can be allocated to the tier and adds the calculated free capacity to a free capacity t5 of a record that includes the tier in the page migration capacity management table 166 as a migration destination tier (step S701).
Once the processing of step S701 is performed with respect to all tiers, the storage pool managing unit 203 ends the loop processing LOOP 8. Subsequently, for each entry number included in the page migration capacity management table 166, the storage pool managing unit 203 executes loop processing LOOP 9 in which processing of steps S702 to S703 is repeated.
In the loop processing LOOP 9, the storage pool managing unit 203 determines whether or not migration capacity t3<free capacity t5 is satisfied in the entry number (step S702). When migration capacity t3<free capacity t5 is not satisfied, the storage pool managing unit 203 outputs a warning message screen (step S703) and ends the processing.
Once the processing of steps S702 to S703 is performed with respect to all entry numbers, the storage pool managing unit 203 ends the loop processing LOOP 9. In addition, when step S703 is skipped, the storage pool managing unit 203 changes a tier of a demotion migration target pool volume of which an access performance in the page migration capacity management table 166 is lower with respect to a migration destination tier than a migration source tier among the migration target pool volume from the migration source tier to the migration destination tier (step S704) and ends the demotion processing.
As described above, according to the present embodiment, the storage system 1 is coupled to the cloud system 2 that provides cloud volumes 22 and 23 belonging to any of a plurality of tiers with different access performances. The cloud system 2 changes a tier to which an externally-provided volume belongs based on a state of volume utilization in which the cloud volumes 22 and 23 are utilized. The storage controller 17 of the storage system 1 provides the host computer 3 with the volume 11 created by allocating a page to an external volume corresponding to the cloud volumes 22 and 23. In addition, the storage controller 17 adjusts a state of volume utilization to control a tier to which the cloud volumes 22 and 23 belong. Therefore, desired service quality can be maintained even when automatic tier control with respect to an external storage apparatus is performed.
In addition, in the present embodiment, the storage controller 17 issues an access request to the cloud volumes 22 and 23 so that the state of volume utilization satisfies a predetermined utilization requirement. Therefore, since a change in a tier to which the cloud volumes 22 and 23 belong can be suppressed, desired service quality can be maintained.
Furthermore, in the present embodiment, since an access request is issued at a repetition interval in accordance with a utilization requirement, a change in a tier to which the cloud volumes 22 and 23 belong can be appropriately suppressed.
Moreover, in the present embodiment, since the access request is a write request with respect to a predetermined storage area in the cloud volumes 22 and 23, cost can be reduced when a fee is charged for every read request.
In addition, in the present embodiment, when a tier to which the cloud volumes 22 and 23 belong does not match a predetermined access performance, the storage controller 17 issues a notification to that effect. Therefore, a manager of the storage system 1 can take appropriate action when the tier to which the cloud volumes 22 and 23 belong does not have a predetermined access performance.
Furthermore, in the present embodiment, when a tier to which the cloud volumes 22 and 23 associated with an external volume belong does not match a predetermined access performance, the storage controller 17 associates the external volume with another externally-provided volume that has the predetermined access performance. Therefore, a change can be made to desired service quality.
The embodiment of the present disclosure described above merely represents an example for explaining the present disclosure, and it is to be understood that the scope of the present disclosure is not to be solely limited to the embodiment. It will be obvious to those skilled in the art that the present disclosure can be implemented in various other modes without departing from the scope of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2021-101785 | Jun 2021 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
20140351319 | Lee | Nov 2014 | A1 |
20170277443 | Deguchi et al. | Sep 2017 | A1 |
Number | Date | Country |
---|---|---|
6317524 | Apr 2018 | JP |
Number | Date | Country | |
---|---|---|---|
20220405010 A1 | Dec 2022 | US |