Storage system and volume path switching method for storage system
The storage system addresses network load imbalances by switching paths between on-premise and cloud storage based on load conditions and cost, enhancing network performance and reducing delays.
Patent Information
- Application Number
- JP2024080917
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-11-28
AI Technical Summary
Conventional methods of load balancing within an on-premises storage system fail to reduce network load when cloud storage is externalized, leading to delays in I/O operations due to increased network load during busy periods.
A storage system with on-premise and cloud storage components, managed by a server that switches paths based on load conditions and cloud service usage fees to distribute I/O operations across different networks, reducing overall network load.
The solution effectively reduces network load in on-premises environments by dynamically switching paths between on-premise and cloud storage, minimizing delays and optimizing network performance.
Smart Images

Figure 2025174503000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a storage system and a volume path switching method in a storage system. [Background technology]
[0002] Conventionally, in a storage system in an on-premise environment, when the load of IO (Input / Output) from a host to a volume becomes high, a path is changed among the multiple paths from the host to the volume to distribute the load. For example, Patent Document 1 discloses a conventional technology that changes the network switch through which IO from a host to a volume passes, based on load information obtained from the network switch connecting the host and the volume. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] U.S. Patent No. 9,882,805 Summary of the Invention [Problem to be solved by the invention]
[0004] In recent years, cloud storage built in cloud environments has become popular. When used in conjunction with an on-premises storage system, cloud storage is sometimes externalized to the on-premises storage system to avoid complex management. When cloud storage is externalized to an on-premises storage system, all I / O to the cloud storage volume must go through the on-premises storage system. This increases the load on the on-premises network not only due to I / O to the on-premises volume itself, but also due to an increase in I / O related to batch processing to the cloud storage volume via the on-premises environment during busy periods.
[0005] However, when the network load in an on-premises environment increases, changing the network switches in the on-premises environment, as in the conventional technology described above, only rebalances the load within the on-premises environment, but does not reduce the network load in the entire on-premises environment. If the network load in the on-premises environment is not reduced, inconveniences such as delays in I / O to volumes in the on-premises storage system, which is a real-time process, occur.
[0006] The present invention has been made in consideration of the above-mentioned problems, and aims to reduce the load on the network of a storage system in an on-premise environment to which a cloud storage volume is externally connected. [Means for solving the problem]
[0007] In order to achieve the above object, the present invention provides a storage system having a first storage on-premise, a second storage in the cloud, and a server that manages the host, the first storage, and the second storage via a second network, wherein the first storage is connected via a first network for I / O from the host and provides a plurality of volumes including a first volume to the host, and the second storage is connected via a first path that passes through the first network and the first storage for I / O from the host and provides a second volume to the host, and the server manages first mapping information that maps the second volume to the host via the first path and second mapping information that maps the second volume to the host via a second path that passes through the second network, and when a predetermined condition is satisfied, performs path switching to switch from the first path based on the first mapping information to the second path based on the second mapping information. [Effects of the Invention]
[0008] According to the present invention, it is possible to reduce the load on the network of a storage system in an on-premise environment to which a cloud storage volume is externally connected. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing the configuration of a storage system according to an embodiment. [Figure 2] FIG. 10 is a diagram showing the configuration of a path transition threshold table according to the embodiment. [Figure 3] FIG. 4 is a diagram showing the configuration of a volume management table according to the embodiment. [Figure 4] FIG. 4 is a diagram showing the configuration of an access volume management table according to the embodiment. [Figure 5] FIG. 4 is a sequence diagram showing a path switching process according to the embodiment. [Figure 6] 10 is a flowchart showing a process performed by a threshold setting unit according to the embodiment. [Figure 7] FIG. 10 is a sequence diagram showing processing by a volume configuration monitoring unit and processing by an access volume information updating unit according to the embodiment. [Figure 8] 10 is a flowchart showing a process of a path load monitoring unit according to the embodiment. [Figure 9] FIG. 10 is a sequence diagram showing processing by a path switching volume selection unit and processing by a cloud service usage fee calculation unit according to the embodiment. [Figure 10] FIG. 10 is a sequence diagram showing a path switching unit process according to the embodiment. [Figure 11] FIG. 10 is a sequence diagram showing a process performed by a path recovery unit according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] In the following description, an "interface device" may refer to one or more communication interface devices. The one or more communication interface devices may be one or more homogeneous communication interface devices (e.g., one or more NICs (Network Interface Cards)) or two or more heterogeneous communication interface devices (e.g., an NIC and an HBA (Host Bus Adapter)).
[0011] In the following description, "memory" refers to one or more memory devices, which are an example of one or more storage devices, and may typically be a primary storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.
[0012] In the following description, a "storage device" is an example of one or more persistent storage devices. A persistent storage device may typically be a non-volatile storage device (e.g., an auxiliary storage device), specifically, for example, a hard disk drive (HDD), a solid state drive (SSD), or a non-volatile memory express (NVMe) drive.
[0013] Furthermore, in the following description, a "processor" may refer to one or more processor devices. The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit), but may also be another type of processor device such as a GPU (Graphics Processing Unit). The at least one processor device may be a single-core or multi-core. The at least one processor device may also be a processor core. The at least one processor device may also be a processor device in a broader sense, such as a hardware circuit that performs part or all of the processing (e.g., an FPGA (Field-Programmable Gate Array), a CPLD (Complex Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit)).
[0014] In the following explanation, information that provides an output in response to an input may be described using expressions such as "xxx table." This information may be data of any structure (for example, structured data or unstructured data). Therefore, an "xxx table" may be referred to as "xxx information." In the following explanation, the structure of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table.
[0015] In the following description, processing may be described using a "program" as the subject. A program is executed by a processor to perform a predetermined process using a storage device and / or an interface device, etc., as appropriate. Therefore, the subject of processing may be the processor (or a device such as a controller having the processor). A program may be installed in a device such as a computer from a program source. The program source may be, for example, a program distribution server or a computer-readable (e.g., non-transitory) recording medium. In the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.
[0016] Hereinafter, an embodiment of the present invention will be described with reference to FIGS.
[0017] (Configuration of storage system S according to the embodiment) 1 is a diagram showing the configuration of a storage system S according to an embodiment. The storage system S includes an on-premise storage 10, a cloud storage 20, a host 30, a storage management server 40, and a path switching server 50.
[0018] The on-premise storage 10, cloud storage 20, host 30, storage management server 40, and path switching server 50 are connected via a network N2. The network N2 is an IP (Internet Protocol) network, but is not limited to this.
[0019] The on-premise storage 10 is a storage device constructed in an on-premise environment. The on-premise storage 10 has a processor, a memory, and a storage device (none of which are shown). The on-premise storage 10 has a volume 11 and a volume 12. The volumes 11 and 12 are collectively referred to as a volume 13.
[0020] Volume 12 is a logical storage area that is extracted from a pool volume (not shown), which is a logical storage area created from the physical storage area of a storage device (not shown) of on-premise storage 10, and provided to host 30.
[0021] Volume 11 is a volume that allows the host 30 to recognize the cloud volume 21 of the cloud storage 20, which is externally connected as external storage via a specified port and communication line L, via the on-premise storage 10 and the communication line L.
[0022] Cloud storage 20 is a storage device built in a public or private cloud environment. Cloud storage 20 has a processor, memory, and a storage device (none of which are shown). Cloud storage 20 has cloud volume 21. Cloud volume 21 is a logical storage area created from the physical storage area of a storage device (not shown) of cloud storage 20. Cloud volume 21 is an external volume of volume 11 and is managed integrally with volume 11.
[0023] The host 30 includes a processor and a memory (neither of which are shown). The host 30 and the on-premise storage 10 are connected via a network N1. The network N1 is assumed to be a SCSI network, but is not limited to this and various protocols can be adopted.
[0024] The cloud volume 21 of the cloud storage 20 is mapped to the host 30 via the network N1 and the volume 11, using the SCSI-via-virtual volume 11a as mapping information. The cloud volume 21 is also mapped to the host 30 via the network N2, using the IP-via-virtual volume 21a as mapping information.
[0025] Furthermore, the host 30 causes the application to recognize the SCSI-via-virtual volume 11a and the IP-via-virtual volume 21a as a single virtual volume, an application volume 31. The application volume 31 is a virtual volume for each application that is executed on the host 30 and issues an IO request.
[0026] The host 30 issues an IO request to the volume 11 of the on-premise storage 10 and the cloud volume 21 of the cloud storage 20. Reading and writing of data related to the IO request from the host 30 to the cloud volume 21 is performed via a path P1 via the on-premise storage 10 and the communication line L or a path P2 via the network N2.
[0027] 1 shows one each of on-premise storage 10, volumes 11 and 12, cloud storage 20, cloud volume 21, host 30, application volume 31, SCSI-via virtual volume 11a, and IP-via virtual volume 21a. However, this is not limiting, and there may be multiple of these.
[0028] The storage management server 40 has a processor 41, a memory 42, and an external storage device 43. The processor 41 executes a predetermined program to realize various processing functions stored in the memory 42. The memory 42 has a threshold setting unit 42a, a volume configuration monitoring unit 42b, a path load monitoring unit 42c, a path switching volume selecting unit 42d, a path switching unit 42e, and a path restoring unit 42f. The processing functions of the threshold setting unit 42a, the volume configuration monitoring unit 42b, the path load monitoring unit 42c, the path switching volume selecting unit 42d, the path switching unit 42e, and the path restoring unit 42f will be described later with reference to FIGS. 5 to 11.
[0029] The external storage device 43 has a path transition threshold table 43a and a volume management table 43b. Details of the path transition threshold table 43a and the volume management table 43b will be described later with reference to FIGS.
[0030] The path switching server 50 has a processor 51, a memory 52, and an external storage device 53. The processor 51 executes a predetermined program to realize various processing functions stored in the memory 52. The memory 52 has an access volume information update unit 52b, a cloud service usage fee calculation unit 52d, a path switching unit 52e, and a path restoration unit 52f. The processing functions of the access volume information update unit 52b, the cloud service usage fee calculation unit 52d, the path switching unit 52e, and the path restoration unit 52f will be described later with reference to FIGS. 5, 7, and 9 to 11.
[0031] The external storage device 53 has an access volume management table 53b, the details of which will be described later with reference to FIG.
[0032] (Path transition threshold table 43a according to the embodiment) 2 is a diagram showing the configuration of a path transition threshold table 43a according to an embodiment. The path transition threshold table 43a manages thresholds and periods for executing path transitions that are preset by the user. The path transition threshold table 43a has columns for "ID," "Start Date and Time," "End Date and Time," "Threshold," and "Path Restoration."
[0033] "ID" is identification information for the "threshold." "Start date and time" is the start date and time of the period during which path switching is performed based on the IO load judgment of the corresponding "threshold." "End date and time" is the end date and time of the period during which path switching is performed based on the load judgment of the corresponding "threshold." The "period during which path switching is performed based on load judgment" is, for example, the closing business period when batch processing occurs intensively.
[0034] The "threshold" is a threshold of the IO load from the host 30 to the on-premise storage 10, which is used as a criterion for switching the path from the host 30 to the cloud volume 21. In this embodiment, the IO load is IOPS, but other load indicators may be used. When the IO load from the host 30 to the on-premise storage 10 exceeds the "threshold," the path from the host 30 to the cloud volume 21 is switched for any cloud volume 21 for which path switching is possible. In other words, path switching is performed from path P1 via the on-premise storage 10 and communication line L to path P2 via network N2.
[0035] "Path restoration" indicates whether or not a path restoration (path P2 → path P1) was performed to restore the path before the path switching (path P1 → path P2) for the corresponding cloud volume 21.
[0036] (Volume management table 43b according to the embodiment) 3 is a diagram showing the configuration of a volume management table 43b according to an embodiment. The volume management table 43b manages information related to the IO performance of the volume 13 of the on-premise storage 10 and the cloud volume 21. The volume management table 43b has columns for "Volume ID," "IOPS," "Cloud volume," "Direct access to cloud volume available or unavailable," and "Path switching availability determination result based on cloud billing."
[0037] "Volume ID" is identification information for a volume 13 in the on-premise storage 10. "IOPS" is the IO load for the corresponding volume 13. "IOPS" is measured and updated periodically for each volume.
[0038] "Cloud volume" is information on whether a cloud volume 21 is circumscribed to the corresponding volume 13. "Cloud volume 21 is circumscribed to the corresponding volume 13" corresponds to the case where the volume 13 is volume 11. "Cloud volume" is set to "YES" when a cloud volume 21 is circumscribed to the volume 13.
[0039] "Direct access to cloud volume" is information on whether cloud volume 21 can be directly accessed from host 30 via IP when cloud volume 21 is externally connected to the volume 13 in question. "Direct access to cloud volume" is set by the user to "YES" or "NO" when cloud volume 21 is externally connected to volume 13.
[0040] The "path switching feasibility determination result based on cloud charging" is the result of determining whether path switching is possible based on cloud charging when the "direct access to cloud volume possible" is "possible" (host 30 can directly access cloud volume 21). The path switching feasibility determination result is "possible" if the usage fee for cloud storage 20 charged for path switching from path P1 to path P2 (see Figure 1) is within the user's tolerance range, and is "not possible" if it is outside the tolerance range. If the "path switching feasibility determination result based on cloud charging" is "possible", path switching is performed, and if it is "not possible", path switching is not performed. "possible" is stored as the initial value for the "path switching feasibility determination result based on cloud charging" when an entry is created.
[0041] (Access Volume Management Table 53b According to the Embodiment) 4 is a diagram showing the configuration of an access volume management table 53b according to this embodiment. The access volume management table 53b manages volume information and paths associated with application volumes 31 accessed by applications on the host 30 side. The access volume management table 53b has columns for "application volume," "virtual volume information via SCSI," "virtual volume information via IP," "cloud volume information," "status," and "path."
[0042] The "application volume" is identification information of the application volume 31 that is accessed by the application executed by the host 30.
[0043] The "virtual volume information via SCSI" is identification information of the virtual volume 11a via SCSI when accessing the cloud volume 21 linked to the corresponding application volume 31 via SCSI (via the on-premise storage 10). The "virtual volume information via SCSI" is generated as mapping information via SCSI to the host 30 when the cloud volume 21 is externally connected to the volume 11 for the first time. Furthermore, when the configuration of the cloud volume 21 is changed, the "virtual volume information via SCSI" is updated in accordance with the change in configuration.
[0044] The "IP-via virtual volume information" is identification information of the IP-via virtual volume 21a when accessing the cloud volume 21 linked to the corresponding application volume 31 via IP (via network N2). The "IP-via virtual volume information" is generated as IP-via mapping information to the host 30 when the cloud volume 21 is externally connected to the volume 11 for the first time. Furthermore, when a configuration change such as migration of the cloud volume 21 is made, the "IP-via virtual volume information" is updated in accordance with the configuration change.
[0045] In this embodiment, the change in the configuration of the cloud volume 21 is assumed to be migration, but it may also be a site change in which the connection destination is changed to a cloud volume at another site.
[0046] "Cloud volume information" is identification information of the cloud volume 21 linked to the corresponding application volume 31. "Status" indicates whether the information of the cloud volume 21 linked to the corresponding application volume 31 is "latest" or "updating." "Path" indicates whether the path for accessing the cloud volume 21 linked to the corresponding application volume is via "SCSI" (network N1 and on-premise storage 10) or via "IP" (network N2).
[0047] (Path switching process according to the embodiment) 5 is a sequence diagram showing the path switching process according to the embodiment. The path switching process is executed by the storage management server 40 and the path switching server 50 in cooperation with each other.
[0048] First, in step S41, the threshold setting unit 42a of the storage management server 40 executes threshold specifying unit processing. Details of the threshold specifying unit processing will be described later with reference to FIG.
[0049] Next, in steps S42 and S52, the volume configuration monitoring unit 42b of the storage management server 40 and the access volume information updating unit 52b of the path switching server 50 cooperate to execute volume configuration monitoring unit processing and access volume information updating unit processing. The volume configuration monitoring unit processing and access volume information updating unit processing will be described in detail later with reference to FIG.
[0050] Next, in step S43, the path load monitor 42c of the storage management server 40 executes a path load monitor process. Details of the path load monitor process will be described later with reference to FIG.
[0051] Next, in steps S44 and S54, the path switching volume selection unit 42d of the storage management server 40 and the cloud service usage fee calculation unit 52d of the path switching server 50 cooperate to execute path switching volume selection unit processing and cloud service usage fee calculation unit processing. Details of the path switching volume selection unit processing and cloud service usage fee calculation unit processing will be described later with reference to FIG. 9.
[0052] Next, in steps S45 and S55, the path switching unit 42e of the storage management server 40 and the path switching unit 52e of the path switching server 50 cooperate to execute path switching unit processing. Details of the path switching unit processing will be described later with reference to FIG.
[0053] Next, in steps S46 and S56, the path restoration unit 42f of the storage management server 40 and the path restoration unit 52f of the path switching server 50 cooperate to execute path restoration unit processing. Details of the path restoration unit processing will be described later with reference to FIG.
[0054] (Threshold setting unit processing according to the embodiment) FIG. 6 is a flowchart showing the process of the threshold setting unit according to the embodiment.
[0055] First, in step S41a, the threshold setting unit 42a accepts (or changes to) the path transition period and threshold by a user operating a predetermined input / output screen (not shown). Next, in step S41b, the threshold setting unit 42a updates the path transition threshold table 43a based on the input in step S41a.
[0056] (Volume Configuration Monitoring Unit Processing and Access Volume Information Update Unit Processing According to the Embodiment) 7 is a sequence diagram showing the volume configuration monitoring unit processing and the access volume information updating unit processing according to an embodiment. The volume configuration monitoring unit processing and the access volume information updating unit processing are processes for managing configuration information related to paths so that, when a configuration change occurs in cloud volume 21, the configuration change can be followed when switching paths. In FIG. 7, steps S42a to S42d show details of step S42 in FIG. 5, and steps S52d to S52h show details of step S52 in FIG. 5.
[0057] First, in step S42a, the path switching volume selector 42d of the storage management server 40 determines whether it has detected that migration of the cloud volume 21 has been executed in the cloud storage 20. The migration of the cloud volume 21 is instructed by an operator, or is instructed by the cloud infrastructure (not shown) of the cloud storage 20 when the conditions for migration execution are met. If the path switching volume selector 42d detects that migration of the cloud volume 21 has been executed (YES in step S42a), it proceeds to step S42b. On the other hand, if the path switching volume selector 42d has not detected that migration of the cloud volume 21 has been executed (NO in step S42a), it repeats step S42a.
[0058] In step S42b, the path switching volume selector 42d detects that migration of the cloud volume 21 has been performed, and switches the connection relationship between the migrated cloud volume 21 and the volume 11 of the on-premise storage 10. Specifically, for example, if the "cloud volume information" of the cloud volume 21 is changed from "5" to "5'" due to migration, the "virtual volume information via SCSI" related to the volume 11 on the on-premise storage 10 side is changed.
[0059] Next, in step S42c, the path switching volume selector 42d maps the post-migration cloud volume 21 to the host 30 via the network N2. Then, the path switching volume selector 42d acquires the "IP-routed virtual volume information" related to the IP-routed virtual volume 21a on the host 30 side as mapping information.
[0060] Next, in step S42d, the path switching volume selector 42d notifies the path switching server 50 of the following information: That is, the path switching volume selector 42d notifies the execution of migration of the cloud volume 21, and the “cloud volume information,” “virtual volume information via SCSI,” and “virtual volume information via IP” after migration.
[0061] Next, in step S52d, the access volume information update unit 52b of the path switching server 50 receives the notification sent from the storage management server 40 in step S42d.
[0062] Next, in step S52e, access volume information update unit 52b refers to access volume management table 53b and determines whether cloud volume 21 notified in step S52 has a direct access path between it and host 30. "Having a direct access path" means that a value is stored in "IP-via virtual volume information" in access volume management table 53b that corresponds to cloud volume 21 notified in step S52.
[0063] If there is a direct access path between the host 30 (YES in step S52e), the access volume information update unit 52b proceeds to step S52f. On the other hand, if there is no direct access path (NO in step S52e), the access volume information update unit 52b ends the volume configuration monitoring unit processing and the access volume information update unit processing.
[0064] In step S52f, the access volume information update unit 52b updates the via-SCSI virtual volume information and cloud volume information in the access volume management table 53b with the information received in step S52d, and sets the status to "updating." Next, in step S52g, the access volume information update unit 52b updates the via-IP virtual volume information in the access volume management table 53b with the information received in step S52d, and sets the status to the latest.
[0065] (Path Load Monitoring Process According to the Embodiment) 8 is a flowchart showing the process of the path load monitor unit according to the embodiment. The process of the path load monitor unit monitors whether or not a path change is necessary to reduce the load on the path.
[0066] First, in step S43a, the path load monitor 42c of the storage management server 40 refers to the volume management table 43b, obtains the IOPS of all volumes 13 in the on-premise storage 10, and calculates the total. The total IOPS is the IOPS of the on-premise storage 10. Next, in step S43b, the path load monitor 42c determines whether the IOPS of the on-premise storage 10 calculated in step S43a exceeds the "path transition threshold." If the IOPS of the on-premise storage 10 exceeds the "path transition threshold" (YES in step S43b), the path load monitor 42c terminates the path load monitor process and proceeds to step S44 in FIG. 5. On the other hand, if the IOPS of the on-premise storage 10 does not exceed the "path transition threshold" (NO in step S43b), the path load monitor 42c returns the process to step S42 in FIG. 5.
[0067] (Path switching volume selection processing, cloud service usage fee calculation processing) 9 is a sequence diagram showing the path switching volume selection unit processing and cloud service usage fee calculation unit processing according to an embodiment. The path switching volume selection unit processing and cloud service usage fee calculation unit processing are processing for selecting which cloud volume path to switch when path switching is required due to an IOPS "path transition threshold" or the like. In FIG. 9, steps S44a to S44d show details of step S44 in FIG. 5, and steps S54b to S54d show details of step S54 in FIG. 5.
[0068] First, in step S44a, the path switching volume selection unit 42d of the storage management server 40 refers to the volume management table 43b and selects a candidate volume 13 for which a path to the cloud volume 21 can be switched. Specifically, among the volumes 13 of the on-premise storage 10, a volume 13 for which "cloud volume" is "YES" (switchable to the cloud volume 21) is selected.
[0069] Next, in step S44b, the path switching volume selector 42d selects one volume 13 from the candidates selected in step S44a that has the highest IO load and for which the "direct access to cloud volume availability" and "path switching availability determination result based on cloud billing" are "available." The path switching volume selector 42d then notifies the path switching server 50 of the volume information related to the selected volume 13 as volume information of the path switching candidate.
[0070] Next, in step S54b, the cloud service usage fee calculation unit 52d of the path switching server 50 receives the volume information of the path switching candidate sent in step S44b from the storage management server 40. Next, in step S54c, the cloud service usage fee calculation unit 52d calculates the cloud service usage fee when the cloud volume 21 related to the volume information received in step S54b is directly accessed from the host 30 via IP. The cloud service usage fee calculation unit 52d calculates the cloud service usage fee from a fee table or the like based on the capacity of the cloud volume 21, the communication volume and communication speed via the network N2, etc.
[0071] Next, in step S54d, the cloud service fee calculation unit 52d determines whether the user has permitted direct access to the cloud volume for the cloud service fee calculated in step S54c. The cloud service fee calculation unit 52d accepts input of permission or denial by the user operating a predetermined input / output screen (not shown). If the user has permitted direct access to the cloud volume (step S54d YES), the cloud service fee calculation unit 52d proceeds to step S55 of the path switching process (FIG. 5). On the other hand, if the user has not permitted direct access (step S54d NO), the cloud service fee calculation unit 52d proceeds to step S44d (FIG. 9) of the path switching process (FIG. 5).
[0072] In step S44d, the path switching volume selector 42d updates the “path switching availability determination result based on cloud billing” in the volume management table 43b to “unavailable” for the volumes determined in step S54d to not permit direct access. After step S44d is completed, the path switching volume selector 42d returns the process to step S44b.
[0073] (Path switching unit processing according to the embodiment) 10 is a sequence diagram showing the path switching unit processing according to the embodiment. The path switching unit processing is processing for switching the path from the host 30 to the cloud volume 21 from via SCSI (via the network N1 and the on-premise storage 10) to via IP (via the network N2). In FIG. 10, steps S45c to S45h show details of step S45 in FIG. 5, and steps S55a to S55h show details of step S55 in FIG. 5.
[0074] First, in step S55a, the path switching unit 52e of the path switching server 50 stops IO via SCSI to the cloud volume 21 for which the path is to be switched, and sets the "path" in the access volume management table 53b to "updating".
[0075] Next, in step S55b, the path switching unit 52e instructs the host 30 to store the IO continuing from the application of the host 30 in a cache on the host 30 side. Next, in step S55c, the path switching unit 52e notifies the storage management server 40 of the “cloud volume information” of the cloud volume 21 for which path switching is to be performed.
[0076] Next, in step S45c, the path switching unit 42e of the storage management server 40 receives the cloud volume information of the cloud volume 21 for which path switching is to be performed, which was sent by the path switching server 50 in step S55c. Next, in step S45d, the path switching unit 42e synchronizes the cache data in the on-premise storage 10 related to the cloud volume 21 for which the cloud volume information was received in step S45c with the cloud volume 21.
[0077] Next, in step S45e, after completing the synchronization of the cache data in step S45e, the path switching unit 42e notifies the path switching server 50 of the completion of the synchronization of the cache data.
[0078] Next, in step S55e, path switching unit 52e of path switching server 50 receives a cache data synchronization completion notification from storage management server 40. Next, in step S55f, path switching unit 52e synchronizes the cache data of host 30 with cloud volume 21. Next, in step S55g, path switching unit 42e resumes IO from host 30 via network N2 (via IP) and updates the "path" of the corresponding volume in access volume management table 53b to "IP." Step S55g completes the path switching from path P1, which accesses cloud volume 21 via on-premise storage 10 (via SCSI), to path P2, which directly accesses cloud volume 21 via network N2.
[0079] Next, in step S55h, the path switching unit 52e notifies the storage management server 40 that the path switching has been completed.
[0080] Next, in step S45h, upon receiving a path switching completion notification from the path switching server 50, the path switching unit 42e of the storage management server 40 executes the following process. That is, the path switching unit 42e refers to the volume management table 43b and determines whether there is a volume 13 in the on-premise storage 10 whose IOPS exceeds the "threshold" in the path migration threshold table. If there is a volume 13 whose IOPS exceeds the "threshold" in the path migration threshold table, the path switching unit 42e proceeds to step S43 of the path switching process (FIG. 5); if there is no volume 13, the path switching unit 42e proceeds to step S46 of the path switching process (FIG. 5).
[0081] (Path restoration processing according to the embodiment) 11 is a sequence diagram showing the path restoration unit processing according to the embodiment. The path restoration unit processing is processing for restoring the access path from the host 30 to the cloud volume 21 from path P2 via IP to path P1 via SCSI (via the on-premise storage 10) after the end of the busy period set in the path transition threshold table 43a. In FIG. 11, steps S46a to S46j show details of step S46 in FIG. 5, and steps S56b to S56i show details of step S56 in FIG. 5.
[0082] First, in step S46a, the path restoration unit 42f of the storage management server 40 detects the path restoration time from the current time and the path transition threshold table 43a. Next, in step S46b, the path restoration unit 42f designates the cloud volume 21 corresponding to the restoration time in step S46a, and notifies the path switching server 50 to restore path P2 to path P1.
[0083] Next, in step S56b, the path restoration unit 52f of the path switching server 50 receives an instruction to restore the path P2 of the specified cloud volume 21 to the path P1.
[0084] Next, in step S56c, the path restoration unit 52f determines whether any cloud volume 21 included in the instruction received in step S56b has "IP" as its "path" in the access volume management table 53b. If a cloud volume 21 has "IP" as its "path" in the access volume management table 53b (YES in step S56c), the path restoration unit 52f proceeds to step S56d. On the other hand, if no cloud volume 21 has "IP" as its "path" in the access volume management table 53b (NO in step S56c), the path restoration unit 52f proceeds to step S56i.
[0085] In step S56d, path restoration unit 52f selects one cloud volume 21 for which it determined in step S56c that the "path" in access volume management table 53b is "IP." Next, in step S56e, path restoration unit 52f stops I / O via the IP of the cloud volume 21 selected in step S56d, and changes the "path" in access volume management table 53b to "updating."
[0086] Next, in step S56f, the path restoration unit 52f instructs the host 30 to store the IO continuing from the application of the host 30 in the cache on the host 30 side. Next, in step S56g, the path restoration unit 52f synchronizes the cache data of the host 30 instructed in step S56f with the corresponding cloud volume 21. Next, in step S56h, the path restoration unit 52f resumes IO via SCSI to the corresponding cloud volume 21, and changes the "path" in the access volume management table 53b to "SCSI." When step S56h ends, the path restoration unit 52f returns the process to step S56c.
[0087] In step S56i, the path restoration unit 52f notifies the storage management server 40 that the paths of all the relevant cloud volumes 21 have been restored to via SCSI.
[0088] Next, in step S46i, the path restoration unit 42f of the storage management server 40 receives notification that the paths have been restored from the path switching server 50. Next, in step S46j, the path restoration unit 42f updates the "path restoration" of all relevant cloud volumes 21 in the path transition threshold table 43a to "completed." When step S46i ends, all processing in the path switching process (FIG. 5) ends.
[0089] (Modification of the embodiment) (1) The timing of changes to the configuration information related to the cloud volume path In the above embodiment, the migration of the cloud volume 21 in the volume configuration monitoring unit processing and access volume information updating unit processing (FIG. 7) is used as a trigger to change the configuration information related to the path of the cloud volume 21. However, the change of the configuration information related to the path of the cloud volume 21 may be triggered not only by migration but also by other timing.
[0090] For example, this may be triggered by a change in the location of the cloud storage 20. A change in location occurs due to a change in the cloud vendor, etc. When the location where the cloud volume 21 is located is changed, the storage management server 40 recognizes the location information and volume information of the cloud volume 21 at the time of the location change and notifies the path switching server 50. Therefore, the path switching server 50 manages which cloud volume 21 path to switch when switching paths, and can follow the location change of the cloud volume 21.
[0091] (2) Dynamic determination of whether or not to allow direct access to cloud volumes In the above embodiment, the "direct access to cloud volume" in the volume management table 43b (FIG. 3) is determined in advance by the user and is fixed once determined. However, this is not limiting, and the "direct access to cloud volume" may be determined dynamically or may change depending on the determination at any time.
[0092] For example, the storage management server 40 records the past loads of the cloud volumes 21, such as IOPS, and calculates a load prediction based on the past loads. Based on the load prediction, the storage management server 40 estimates cloud volumes 21 whose loads will exceed a threshold during busy periods, etc. Then, the storage management server 40 proposes to the user, as path switching candidates, cloud volumes 21 whose loads will be reduced to below the threshold by path switching. The storage management server 40 may then determine that the "Direct access to cloud volume" of the cloud volume 21 approved by the user is "allowed."
[0093] Furthermore, the storage management server 40 may perform the above-mentioned load prediction, estimation of cloud volume 21, proposal of path switching candidates, and determination of "direct access to cloud volume availability" at any time. This allows, for example, even if further path switching is required after path switching but no cloud volume 21 for which path switching is possible exists, an additional cloud volume 21 for which path switching is possible can be secured.
[0094] (3) Path restoration timing In the above-described embodiment, path restoration is performed at a predetermined restoration time, such as the end of a busy period. However, this is not limiting, and storage management server 40 and path switching server 50 may perform path restoration when a predetermined condition is met. For example, if the IOPS load state remains at, for example, 60% of a threshold for a certain period of time (for example, one week), path restoration may be performed by selecting a cloud volume 21 from among the cloud volumes 21 for which path switching has been performed, within a range that does not exceed the threshold.
[0095] (4) Path switching timing In the above embodiment, when the IO load on path P1 from the host 30 to the on-premise storage 10 exceeds a threshold, the path from the host 30 to the cloud volume 21 is switched from path P1 to path P2. However, the timing of the path switching is not limited to when the IO load on path P1 exceeds a threshold, and may be triggered by the establishment of another condition. For example, it may be triggered by a user instruction.
[0096] (5) Storage management server 40 and path switching server 50 In the above embodiment, the storage management server 40 and the path switching server 50 are separate servers, but this is not limiting and they may be integrated servers. For example, the path switching server 50 may be provided as an add-in that adds functions to the storage management server 40.
[0097] (Effects of the embodiment) In the above embodiment, path switching is performed to switch the path from the first path based on the first mapping information to the second path based on the second mapping information, thereby reducing the IO load on the on-premise storage 10 and the network N1 externally connected to the cloud storage 20.
[0098] Furthermore, in the above-described embodiment, when the IO load on the first path from the host 30 to the on-premise storage 10 exceeds a threshold during a period in which path switching is executable, path switching is executed from the first path to the second path. Therefore, for example, during a busy period in which the IO load on the first path from the host 30 to the on-premise storage 10 increases, the IO load on the on-premise environment can be reduced when the IO to the on-premise storage 10 increases.
[0099] Furthermore, in the above-described embodiment, when the cloud volume 21 is changed due to a change related to the cloud storage 20, the mapping information mapped to the host 30 via the path P1 and the mapping information mapped to the host 30 via the path P2 are changed. This allows the mapping information to follow the configuration change of the cloud.
[0100] In the above-described embodiment, the change related to the cloud storage 20 is migration from the cloud volume 21 to another cloud volume, or a change in the cloud volume to which the connection is made. Therefore, the mapping information can be made to follow the migration of the cloud volume or the configuration change of the Availability Zone of AWS (registered trademark).
[0101] Furthermore, in the above-described embodiment, after path switching is performed, data related to IO from host 30 to cloud volume 21 via path P1 is cached in on-premise storage 10 and host 30. Then, after the cached data in on-premise storage 10 is reflected in cloud volume 21, the cached data in host 30 is reflected in cloud volume 21. Therefore, when path switching is performed, data related to IO can be reflected in cloud volume 21 without omission.
[0102] Furthermore, in the above-described embodiment, whether path switching can be performed is managed for each of the multiple cloud volumes 21, and path switching is performed for the cloud volumes 21 for which path switching can be performed. Therefore, path switching can be performed only for appropriate cloud volumes 21 in accordance with the user's intentions, etc.
[0103] Furthermore, in the above-described embodiment, the possibility of executing path switching is set to "yes" for cloud volumes 21 for which the predicted value of the IO-related load from host 30 exceeds a predetermined threshold, and the possibility of executing path switching is set to "no" for cloud volumes 21 for which the predicted value of the IO-related load is equal to or less than the predetermined threshold. Therefore, path switching can be executed only for appropriate cloud volumes 21 according to the predicted value of the IO-related load.
[0104] In the above-described embodiment, the cloud usage fee incurred when path switching is performed for a cloud volume 21 for which path switching is possible is calculated, and path switching is performed for cloud volumes 21 for which the cloud usage fee is determined to be within an acceptable range. Therefore, path switching can be performed only for cloud volumes 21 for which the cloud usage fee is appropriate and permitted by the user.
[0105] In the above-described embodiment, when the path transition condition is no longer satisfied, path restoration is performed to restore the original path from path P2 to path P1. For example, path restoration is performed based on the expiration of the period during which path switching can be performed or the situation where the load related to IO to cloud volume 21 falls below a threshold. This makes it possible to prevent unlimited increases in the usage fee for cloud storage 20.
[0106] Furthermore, in the above-described embodiment, after path restoration is performed, data related to IO from host 30 to cloud volume 21 via path P2 is cached in host 30, and the cached data is reflected in cloud volume 21. Therefore, when path restoration is performed, data related to IO can be reflected in cloud volume 21 without omission.
[0107] The present invention is not limited to the above-described embodiments, but includes various modifications. Furthermore, the above-described embodiments have been described in detail to clearly explain the present invention, and are not necessarily limited to those having all of the described configurations. Furthermore, not only are such configurations removed, but also configurations can be replaced or added. Furthermore, configurations in which some or all of the above-described embodiments are appropriately combined to be consistent are also included in the embodiments of the present invention.
[0108] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be implemented by software program code that implements the functions of the embodiments. In this case, a recording medium on which the program code is recorded is provided to a computer, and a processor within the computer reads the program code stored in the recording medium.
[0109] In this case, the program code itself read from the recording medium will realize the functions of the above-described embodiment, and the program code itself and the recording medium on which it is stored constitute the present invention. Examples of recording media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, etc.
[0110] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, and Java (registered trademark).
[0111] In the above-described embodiment, the control lines and information lines are those that are considered necessary for the explanation, and not all control lines and information lines in the product are necessarily shown. All components may be interconnected. [Explanation of symbols]
[0112] S: Storage system, 1: On-premise storage, 11, 12, 13: Volume, 11a: Virtual volume via SCSI, 20: Cloud storage, 21: Cloud volume, 21a: Virtual volume via IP, 30: Host, 31: Application volume, 40: Storage management server, 50: Path switching server.
Claims
1. A storage system including a first storage on-premise, a second storage in a cloud, and a server that manages the host, the first storage, and the second storage via a second network, the first storage is connected to the host via a first network for I / O from the host, and provides the host with a plurality of volumes including a first volume; the second storage is connected to the host via a first path that passes through the first network and the first storage for I / O from the host, and provides a second volume to the host; The server managing first mapping information that maps the second volume to the host via the first path and second mapping information that maps the second volume to the host via a second path that passes through the second network; When a predetermined condition is satisfied, a path switching is performed to switch the path from the first path based on the first mapping information to the second path based on the second mapping information. A storage system comprising:
2. 2. The storage system according to claim 1, The server managing a threshold value of an IO load from the host to the first storage and a period during which the path switching can be performed; monitoring whether an IO load from the host to the first storage exceeds the threshold; When the IO load exceeds the threshold during the switching executable period, the predetermined condition is considered to be satisfied, and the path switching is executed. A storage system comprising:
3. 2. The storage system according to claim 1, The server When the second volume is changed to a third volume due to a configuration change related to the second storage, updating the first mapping information to third mapping information that maps the third volume to the host via the first path; updating the second mapping information to fourth mapping information that maps the third volume to the host via the second path; When the predetermined condition is satisfied, a path switch is performed from the first path based on the third mapping information to the second path based on the fourth mapping information. A storage system comprising:
4. 4. The storage system according to claim 3, The configuration change related to the second storage is migration from the second volume to the third volume or a change of volume. A storage system comprising:
5. 2. The storage system according to claim 1, The server After the path switching is performed, data related to IO from the host to the second volume via the first path is cached in the first storage and the host; After the data cached in the first storage is reflected in the second volume, the data cached in the host is reflected in the second volume. A storage system comprising:
6. 3. The storage system according to claim 2, the second storage provides a plurality of the second volumes to the host; The server managing whether or not the path switching can be performed for each of the second volumes; Execute the path switching for the second volume for which the execution of the path switching is possible. A storage system comprising:
7. 7. The storage system according to claim 6, The server Based on past IO loads from the host to each of the second volumes via the first path, the IO loads in the future switching executable period are predicted, and the feasibility of path switching is set to "yes" for the second volumes whose predicted IO load values exceed a predetermined threshold, and the feasibility of path switching is set to "no" for the second volumes whose predicted IO load values are equal to or less than the predetermined threshold. A storage system comprising:
8. 7. The storage system according to claim 6, The server calculating a fee for the cloud that will be incurred when the path switching is performed for the second volume for which the path switching is possible; The path switching is performed for the second volume for which the calculated fee is determined to be within an acceptable range. A storage system comprising:
9. 2. The storage system according to claim 1, The server When the predetermined condition is no longer satisfied, a path restoration is performed to restore a path from the second path related to the second mapping information to the first path related to the first mapping information. A storage system comprising:
10. 3. The storage system according to claim 2, The server Execute a path restoration to restore a path from the second path related to the second mapping information to the first path related to the first mapping information based on the end of the switching executable period or the situation where the load becomes equal to or less than the threshold. A storage system comprising:
11. 10. The storage system according to claim 9, The server After the path restoration is performed, data relating to IO from the host to the second volume via the second path is cached in the host; The data cached in the host is reflected in the second volume. A storage system comprising:
12. 1. A volume path switching method in a storage system, the method being executed by a storage system having a first on-premise storage, a second cloud storage, and a server that manages the host, the first storage, and the second storage via a second network, the method comprising: the first storage is connected to the host via a first network for I / O from the host, and provides the host with a plurality of volumes including a first volume; the second storage is connected to the host via a first path that passes through the first network and the first storage for I / O from the host, and provides a second volume to the host; The server: managing first mapping information that maps the second volume to the host via the first path and second mapping information that maps the second volume to the host via a second path that passes through the second network; When a predetermined condition is satisfied, a path switching is performed to switch the path from the first path based on the first mapping information to the second path based on the second mapping information. A volume path switching method in a storage system, comprising the steps of:
Citation Information
Patent Citations
Dynamic path selection policy for multipathing in a virtualized environment
US9882805B2