Storage system, node control method, and program

By distributing secondary logical volumes across multiple storage nodes, the storage system addresses the issue of load concentration during failover, enhancing standby storage performance and energy efficiency.

JP2026109195APending Publication Date: 2026-07-01HITACHI VANTARA LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HITACHI VANTARA LTD
Filing Date
2024-12-19
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Existing storage systems concentrate load on specific nodes during failover, leading to underutilization of standby storage performance due to additional read and write operations, even with multiple nodes available in the cloud environment.

Method used

A storage system with a placement control unit that distributes secondary logical volumes across multiple storage nodes based on the number of pairs and nodes, ensuring balanced load distribution during failover.

Benefits of technology

This approach effectively utilizes the performance of secondary storage nodes by distributing load across multiple nodes, maximizing performance and reducing energy consumption during failover.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026109195000001_ABST
    Figure 2026109195000001_ABST
Patent Text Reader

Abstract

This invention provides a storage system, node control method, and program that can better utilize the performance of the standby storage when the operational storage switches from the operational system to the standby system. [Solution] A secondary storage system connected to a primary storage system having multiple primary logical volumes on which data is stored, wherein each storage node has at least one secondary logical volume, and the system comprises multiple storage nodes, and a placement control unit that, when there are multiple pairs of primary and secondary logical volumes belonging to the same consistency group, distributes and places each secondary logical volume of a pair across multiple storage nodes based on the number of pairs and the number of multiple storage nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a technique for associating data stored in an operating system storage with data stored in a standby system storage.

Background Art

[0002] Conventionally, when a failure occurs in a storage device operating in an on-premises environment, there is known a technique called failover that enables continuous writing and reading of data by taking over the operation to an alternative storage device.

[0003] An example of a system that enables failover when a failure occurs in a server operating in an on-premises environment is disclosed in Patent Document 1. The data management device disclosed in Patent Document 1 identifies the operations used by a user, forms a pair of the usage volume in the on-premises environment and the copy volume in the cloud environment for the identified operations, and manages the configuration of the formed pair.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] When the data management device described in Patent Document 1 creates pairs of usage volumes and copy volumes for the same business unit, it may end up creating multiple copy volumes belonging to the same business group on the same storage node. In this case, for example, during failover, the storage node to which multiple copy volumes are assigned will have an additional load from read I(Input) / O(Output) operations in addition to the write operations due to data copying. Therefore, even if multiple storage nodes are provided in the cloud environment, the load will be concentrated on a specific node. As a result, when the operation of the storage switches from the operational system to the standby system, the overall performance of the standby system's storage cannot be fully utilized.

[0006] One of the purposes included in this disclosure is to provide a storage system, node control method, and program that can better utilize the performance of the standby storage when the operational storage switches from the operational system to the standby system. [Means for solving the problem]

[0007] A storage system according to one aspect of the present disclosure is a secondary storage system connected to a primary storage system having a plurality of primary logical volumes on which data is stored, the secondary storage system comprising a plurality of storage nodes, each having at least one secondary logical volume, and a placement control unit that, if there are a plurality of pairs of primary logical volumes and secondary logical volumes belonging to the same consistency group, distributes and places each of the plurality of pairs of secondary logical volumes among the plurality of storage nodes based on the number of pairs and the number of the plurality of storage nodes. [Effects of the Invention]

[0008] According to one aspect of this disclosure, multiple secondary logical volumes belonging to the same consistency group are distributed across multiple storage nodes. Therefore, even if data processing operations are taken over and data processing increases, the load is distributed across multiple storage nodes. As a result, the performance of the secondary storage nodes can be utilized more effectively. [Brief explanation of the drawing]

[0009] [Figure 1] This is a block diagram showing an example configuration of a data processing system including the storage system of Example 1. [Figure 2] This block diagram shows an example configuration of a secondary storage system. [Figure 3] This figure shows an example of a node management table for a secondary system. [Figure 4] This figure shows an example of a group management table for a secondary system. [Figure 5] This figure shows an example of a volume management table for a secondary system. [Figure 6] This figure shows an example of a pair management table. [Figure 7] This figure shows an example of a storage performance management table for the primary system. [Figure 8] This figure shows an example of a storage performance management table for a secondary system. [Figure 9] This figure shows an example of a volume performance management table for the main system. [Figure 10] This figure shows an example of a volume performance management table for a secondary system. [Figure 11] Figure 1 shows an example of the hardware configuration of the secondary storage system. [Figure 12] This figure shows an example of the hardware configuration of the secondary server shown in Figure 1. [Figure 13] This flowchart shows an example of the operation procedure for the storage system in Example 1. [Figure 14] This flowchart shows an example of the operation procedure for the storage system in Example 1. [Figure 15] It is a diagram showing an example of an image displayed on the display of an information processing terminal operated by a user. [Figure 16] It is a flowchart showing an example of the operation procedure of the storage system of Example 2. [Figure 17] It is a flowchart showing an example of the operation procedure of the storage system of Example 2. [Figure 18] It is a flowchart showing an example of the operation procedure of the storage system of Example 3. [Figure 19] It is a flowchart showing an example of the operation procedure of the storage system of Example 3.

Mode for Carrying Out the Invention

[0010] The storage system of the present embodiment is a system including a standby (subordinate) storage device that stores a copy of data stored in an operation system (main system) storage device. In the present embodiment, as an example of the storage system, a case of a system installed in a cloud environment will be described, but the installation location of the system is not limited to the cloud environment. Hereinafter, examples of the storage system of the present embodiment will be described.

Examples

[0011] The configuration of the storage system of this example will be described. FIG. 1 is a block diagram showing a configuration example of a data processing system including the storage system of Example 1. As shown in FIG. 1, the data processing system 1 has a main storage system P1 and a standby storage system S1.

[0012] Storage system P1 is located in the on-premises environment of the user utilizing storage system S1. Storage system S1 is located in a cloud environment. Storage system P1 is connected to the primary server 2p via network 301p. Storage system S1 is connected to the secondary server 2s via network 301s. Networks 301p and 301s are connected via signal lines. Storage system P1 is connected to network 303 of storage system S1 via network 302. One or both of networks 301p and 301s are networks including, for example, the Internet.

[0013] Data processing system 1 is a failover (hereinafter referred to as F / O) system. F / O means that if a failure occurs in the primary system, it will automatically switch to the secondary system and continue processing. Normally, server 2p and storage system P1 are in operation, but if a failure occurs in server 2p or storage system P1, operation will switch to the standby system, server 2s and storage system S1.

[0014] In the following, a logical volume, which is the unit of logical storage area where data is stored, will be denoted as VOL. A VOL created on the storage device of the primary storage system P1 will be called the primary logical volume and will be denoted as PVOL. A VOL created on the secondary storage system S1 will be called the secondary logical volume and will be denoted as SVOL.

[0015] When data processing system 1 copies data stored in PVOL to SVOL, it performs asynchronous remote copying. When performing remote copying, copy pairs of PVOL and SVOL used for the same business, such as identical application software programs, are managed by a Consistency Group (CTG), a group that guarantees consistency in the write order. This group is referred to as the consistency group. Hereafter, the consistency group will simply be referred to as the group.

[0016] In addition to PVOLs and SVOLs, there is also a type of VOL called a Journal VOL (JVOL). A JVOL acts as a differential VOL, storing the difference between the data stored in a PVOL and the data stored in an SVOL. For example, if data stored in a PVOL is copied to an SVOL, and then new data is added to the PVOL, a difference will occur in the data stored in these VOLs until the next copy is performed. The JVOL stores this difference data until the next copy is performed. This ensures that no matter when a Forwarding Operation (F / O) occurs, the user will be provided with the same data as before the F / O occurred.

[0017] During normal operation, server 2p performs I / O operations to write and read data to storage system P1 in response to data write and read requests from users. When storage system P1 receives a write request from server 2p via network 301p, it stores the data received from server 2p in the storage device. When storage system P1 receives a read request from server 2p via network 301p, it reads the data from the storage device and sends it to server 2p. Storage system P1 also sends copies of the data stored in multiple PVOLs to storage system S1 via network 302.

[0018] When a failover occurs, server 2s takes over data processing operations from server 2p. Specifically, when a failover occurs, server 2s executes I / O operations to write and read data to storage system S1 in response to data write and read requests from users.

[0019] Storage system S1 is Software Defined Storage (SDS). SDS is a distributed storage system with multiple storage nodes. SDS automatically creates SVOLs and JVOLs. When creating SVOLs and / or JVOLs, SDS creates them on storage nodes with available capacity among the multiple storage nodes.

[0020] As shown in Figure 1, storage system S1 has multiple storage nodes N1 to N3. Hereafter, storage nodes will be simply referred to as nodes. Nodes N1 to N3 are connected to network 302 via network 303. When storage system S1 receives copy data from storage system P1 via network 302, it stores the received copy data in the SVOL of one of the nodes N1 to N3 via network 303.

[0021] Figure 2 is a block diagram showing an example configuration of a secondary storage system. The storage system S1 includes a control unit 10, a storage unit 20, and a storage device 30. The storage device 30 has nodes N1 to N3. The control unit 10 and the storage unit 20 correspond to information processing devices such as computers that control nodes N1 to N3 of the storage device 30. The control unit 10 includes a storage control unit 11, a placement control unit 12, a management API (Application Programming Interface) unit 13, and a storage monitoring unit 14.

[0022] The storage unit 20 stores a node management table, a group management table, a volume management table, a pair management table, a storage performance management table, and a volume performance management table. The storage performance management table has separate tables for the primary and secondary systems. The volume performance management table also has separate tables for the primary and secondary systems.

[0023] The various tables stored in the storage unit 20 will now be described. Figure 3 shows an example of a node management table for a secondary system. The node management table is a table that manages multiple nodes installed in the storage system S1. The node management table registers a node ID, which is a different identifier for each node corresponding to the storage ID, the total capacity of the node, and the free capacity of the node. Figure 3 shows the case where there is one secondary storage system, but there may be multiple storage systems. The node management table shown in Figure 3 is stored in the storage unit 20 in advance.

[0024] Figure 4 shows an example of a group management table for a secondary system. Figure 4 shows the group management table for storage system S1. The group management table registers the storage ID, node ID, and VOLID corresponding to the group ID. The group ID is a different identifier for each group. The VOLID is a different identifier for each SVOL.

[0025] Figure 5 shows an example of a volume management table for a secondary system. Figure 5 shows the volume management table of storage system S1. The volume management table registers a different VOLID for each SVOL corresponding to the node ID, and the node's capacity. The volume management table shown in Figure 5 is pre-stored in the storage unit 20.

[0026] Figure 6 shows an example of a pair management table. The pair management table is used to manage pairs of PVOLs and SVOLs belonging to the same group. The pair management table registers the primary PVOL and secondary SVOL that form a pair, corresponding to the group ID. For example, for the group with group ID CTG1, the primary PVOL of Vol1 and the secondary SVOL of Vol1 form a pair. For the group with group ID CTG2, the primary PVOL of Vol6 and the secondary SVOL of Vol7 form a pair.

[0027] Figure 7 shows an example of a storage performance management table for the primary system. The primary system's storage performance management table registers the performance and usage history of storage system P1. Performance includes maximum IOPS (Input / Output Per Second) and maximum throughput [MiB / sec]. Usage history includes processor utilization [%], average write IOPS history, average read IOPS, average write throughput history [MiB / sec], and average read throughput history [MiB / sec]. The processor is, for example, a CPU (Central Processing Unit).

[0028] Figure 8 shows an example of a secondary storage performance management table. The secondary storage performance management table registers the performance and usage history of storage system S1. Performance includes maximum IOPS and maximum throughput [MiB / sec]. Usage history includes processor utilization [%], average write IOPS history, average read IOPS, average write throughput history [MiB / sec], and average read throughput history [MiB / sec].

[0029] Figure 9 shows an example of a volume performance management table for the primary system. The primary system's volume performance management table registers the usage history of storage system P1, corresponding to VOLID. The usage history includes average write IOPS history, average read IOPS, average write throughput history [MiB / sec], and average read throughput history [MiB / sec].

[0030] Figure 10 shows an example of a volume performance management table for the secondary system. The volume performance management table for the secondary system registers the usage history of storage system S1, corresponding to the node ID and VOLID. The usage history includes average write IOPS history, average read IOPS, average write throughput history [MiB / sec], and average read throughput history [MiB / sec].

[0031] Next, the configuration of the control unit 10 shown in Figure 2 will be explained. The storage control unit 11 is responsible for performing basic processing within the storage. Specifically, the storage control unit 11 creates SVOLs or JVOLs using the VOLs of each node. For each group, the storage control unit 11 creates SVOLs on the nodes that form pairs with PVOLs. The storage control unit 11 sets a logical path that shows the correspondence between the two VOLs that form a pair. In Figure 1, the dashed arrows schematically represent the logical path. For example, the storage control unit 11 places SVOLs corresponding to PVOLs belonging to the same group on one of the nodes N1 to N3, depending on the available capacity of each node. As a result, SVOLs are created on the nodes among nodes N1 to N3 that have available capacity, and pairs of PVOLs and SVOLs are formed. The storage control unit 11 creates the tables shown in Figures 4 and 6.

[0032] The placement control unit 12 determines whether there are multiple pairs of PVOLs and SVOLs belonging to the same group, based on the number of pairs and the number of nodes N1 to N3, in order to equalize the load across nodes N1 to N3. The placement control unit 12 updates the tables shown in Figures 4 and 6.

[0033] The management API unit 13 acts as an interface for receiving requests from users. Requests include, for example, pair creation requests that instruct the creation of a pair between a PVOL and an SVOL. The management API unit 13 instructs the storage control unit 11 and the placement control unit 12 to receive requests for VOLs from nodes N1 to N3.

[0034] The storage monitoring unit 14 monitors nodes N1 to N3. Specifically, the storage monitoring unit 14 monitors how much data is written from the storage system P1 per unit time. After an F / O occurs, the storage monitoring unit 14 monitors how much data is written from server 2s to nodes N1 to N3 per unit time. Also, after an F / O occurs, the storage monitoring unit 14 monitors how much data is read from nodes N1 to N3 to server 2s per unit time. The storage monitoring unit 14 monitors processor utilization. The storage monitoring unit 14 monitors the performance of nodes N1 to N3. Performance refers to, for example, capacity or write or read processing speed. The storage monitoring unit 14 records the monitoring results for the processor and nodes N1 to N3 as usage history in the tables shown in Figures 8 and 10.

[0035] Furthermore, the storage monitoring unit 14 acquires storage and processor information from the storage system P1 at predetermined intervals and creates and updates the tables shown in Figures 6, 7, and 9. Storage information includes, for example, the VolID of each VOL contained in the storage, the storage performance, and usage history. Processor information includes, for example, the utilization rate. The storage monitoring unit 14 also monitors logical paths corresponding to groups. When an SVOL is moved between nodes by the placement control unit 12, the storage monitoring unit 14 continues to monitor the logical path according to the updated table in Figure 6.

[0036] Here, we will describe an example of the hardware configuration of storage system S1. Figure 11 is a diagram showing an example of the hardware configuration of the secondary storage system shown in Figure 1. Storage system S1 has a processor 101, memory 102, management communication IF 103, communication IF 104, and storage device 105. Nodes N1 to N3 shown in Figure 1 correspond to storage device 105.

[0037] The processor 101 is, for example, a logic circuit such as a CPU or MPU (Micro Processing Unit). The memory 102 is, for example, a non-volatile memory such as flash memory. The memory 102 stores the program executed by the processor 101. When the processor 101 executes the program stored in the memory 102, the functions of the storage control unit 11, placement control unit 12, management API unit 13, and storage monitoring unit 14 shown in Figure 2 are executed.

[0038] The management communication IF 103 controls communication between components within the storage system S1. The communication IF 104 controls communication with external devices. The communication IF 104 sends and receives data with external devices according to a communication protocol such as IP (Internet Protocol). The storage device 105 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive). Note that some or all of the functions of the control unit 10 shown in Figure 2 may be performed by a dedicated circuit such as an ASIC (Application Specific Integrated Circuit).

[0039] Furthermore, an example of the hardware configuration of server 2s shown in Figure 1 will be described. Figure 12 is a diagram showing an example of the hardware configuration of the secondary server shown in Figure 1. Server 2s has a processor 201, memory 202, management communication IF 203, communication IF 204, input device 205, and output device 206. The processor 201 is, for example, a logic circuit such as a CPU or MPU. The memory 202 is, for example, a non-volatile memory such as flash memory. The memory 202 may also be an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The memory 202 stores the program executed by the processor 201.

[0040] The various functions of server 2s are executed by the processor 201 executing programs stored in memory 202. The management communication IF 203 controls communication between components within server 2s. The communication IF 204 controls communication with external devices. The communication IF 204 sends and receives data with external devices according to a communication protocol such as IP. The input device 205 is, for example, a keyboard, mouse, or touch panel. The output device 206 is, for example, a display or speaker.

[0041] The hardware configuration of storage system P1 is the same as the configuration example described with reference to Figure 11, so a detailed explanation is omitted. The hardware configuration of server 2p is the same as the configuration example described with reference to Figure 12, so a detailed explanation is omitted. In addition, in the data processing system 1 shown in Figure 1, an information processing terminal such as a PC (Personal Computer) for users to access storage system S1 may be connected to network 301p or 301s. The hardware configuration of the information processing terminal operated by the user is the same as the configuration example described with reference to Figure 12, so a detailed explanation is omitted. The number of nodes in storage system S1 is not limited to three. Also, although Figure 1 shows a configuration in which networks 302 and 303 are provided for the communication of copy data, the communication of copy data may be performed via networks 301p and 301s. In this case, networks 302 and 303 may not be provided.

[0042] Next, the operation of the storage system S1 in this embodiment will be described. The operation of the storage system S1 in distributing the data when creating consistency pairs will be described. Figures 13 and 14 are flowcharts of an example of the operation procedure of the storage system in Embodiment 1.

[0043] In step S101, the storage control unit 11 receives a pair creation request. A pair creation request is a request to create pairs of PVOLs and SVOLs. The pair creation request may be sent to the storage system S1 by a user entering the request into the information processing terminal, or it may be sent automatically by the user's information processing terminal executing a program. The storage control unit 11 identifies the number of PVOLs for each group and the number of SVOLs required for pair creation for each group. This determines the number of PVOL and SVOL pairs. The storage control unit 11 maintains information sorted in descending order of the VOL capacities of the SVOLs required for each group. In step S102, the placement control unit 12 obtains information for each node from the node management table and maintains the free capacity of each node as temporary free capacity information. Node information includes, for example, the number of nodes for each group, or the free capacity of the nodes for each group.

[0044] In step S103, the placement control unit 12 determines whether the pair creation request includes information about an existing group. The group information is, for example, a group ID. The group information may also be information that specifies the VOL corresponding to the group at each node. The following explanation assumes that the group information is a group ID. If the determination in step S103 shows that the pair creation request does not include information about the group ID of an existing group, the placement control unit 12 proceeds to step S105. If the determination in step S103 shows that the pair creation request includes information about the group ID of an existing group, the placement control unit 12 proceeds to step S104. In step S104, the placement control unit 12 obtains information about the VOL of the existing group identified by the group ID from the group management table. The placement control unit 12 then stores the number of VOLs for each node as temporary VOL number information.

[0045] In steps S105 to S105R, the placement control unit 12 executes a loop process in descending order of the VOL capacities for which pair creation was requested in the pair creation request. In step S106, the placement control unit 12 determines whether there are any nodes that satisfy the condition "VOL capacity < temporary free space of the node" for the nodes for which a logical path has been set. If, as a result of the determination in step S106, there are no nodes that satisfy the condition "VOL capacity < temporary free space of the node", the placement control unit 12 proceeds to the process in step S110. In step S110, the placement control unit 12 notifies the user of an error. Specifically, the placement control unit 12 notifies the user of an error indicating insufficient capacity. Furthermore, the placement control unit 12 may suggest to the user that additional nodes be added.

[0046] On the other hand, if the result of the determination in step S106 is that there is a node that satisfies the condition "VOL capacity < temporary free capacity of the node", the placement control unit 12 proceeds to the process in step S107. In step S107, the placement control unit 12 plans to allocate a VOL to the node with the largest temporary free capacity among the nodes with the fewest temporary VOLs in the same group. A specific example is given. Suppose that in group 2, one temporary SVOL is allocated to node N1, two temporary SVOLs are allocated to node N2, and one temporary SVOL is allocated to node N3. In this case, nodes N1 and N3 correspond to the nodes with the fewest temporary VOLs. If the temporary free capacity of node N1 is greater than the temporary free capacity of node N3, the placement control unit 12 plans to allocate the SVOL to node N1. Furthermore, in step S107, the placement control unit 12 may extract nodes using the parameters of whether or not there is available capacity and the number of VOLs, rather than the size of the available capacity, and if there are multiple nodes with the same parameter values, it may select one node from among the multiple nodes.

[0047] In step S108, the placement control unit 12 calculates the provisional free capacity and provisional number of VOLs for the nodes if allocated as planned, and stores the calculation results. In step S105R, the placement control unit 12 returns to the process in step S106 and performs the above process for the next group. After performing steps S105 to S105R for each group, the placement control unit 12 proceeds to step S109. In step S109, the placement control unit 12 places all SVOLs on the nodes to which allocation has been planned. In this way, multiple SVOLs that form pairs with multiple PVOLs are distributed and placed on nodes N1 to N3.

[0048] Traditionally, when multiple VOL pairs were formed in groups based on the same application software program, multiple SVOLs from the same group were sometimes concentrated on the same node. In this case, when F / O occurred, the load of read I / O was concentrated on the node to which multiple SVOLs were assigned. Therefore, even if multiple nodes were provided in the secondary system, the load would be concentrated on a specific node. As a result, when data processing operations switched from the primary system to the secondary system, the overall performance of the secondary system's storage could not be fully utilized.

[0049] In contrast, the storage system S1 of this embodiment, as explained with reference to Figures 13 and 14, distributes multiple SVOLs belonging to the same group across multiple nodes N1 to N3. Therefore, it is possible to suppress the concentration of load on a particular node among nodes N1 to N3. As a result, the performance of the secondary nodes N1 to N3 can be effectively utilized.

[0050] Next, we will explain an example of how a user can check the distributed configuration and change the configuration. Figure 15 shows an example of an image displayed on the screen of an information processing terminal operated by a user. Here, we will explain the case where the hardware configuration of the information processing terminal operated by the user is the same as the configuration shown in Figure 12, and the output device 206 is a display. The image shown in Figure 15 is an example of a distributed configuration.

[0051] In step S101 shown in Figure 13, when the user operates the information processing terminal and inputs a pair creation request, the storage system S1 executes the flow shown in Figures 13 and 14 and sends the processing result to the information processing terminal. The information processing terminal displays the image shown in Figure 15 on the output device 206. As shown in Figure 15, the image displayed on the output device 206 shows a state in which multiple pairs of SVOLs are distributed and placed across multiple nodes N1 to N3. By referring to the image shown in Figure 15, the user can determine whether the automatically configured distributed arrangement is appropriate or not. If the user determines that the configured distributed arrangement is not appropriate, they may change the pair configuration by operating the input device 205 of the information processing terminal.

[0052] The storage system S1 of this embodiment has a plurality of nodes N1 to N3, each node having at least one SVOL, and a placement control unit 12. When there are multiple pairs of PVOLs and SVOLs belonging to the same consistency group, the placement control unit 12 distributes and places each SVOL of the plurality of pairs among the plurality of nodes N1 to N3 based on the number of pairs and the number of plurality of nodes N1 to N3.

[0053] In this embodiment, multiple secondary logical volumes (SVOLs) belonging to the same consistency group are distributed and placed across multiple storage nodes N1 to N3. Therefore, even if data read requests increase when storage system S1 takes over data processing operations from the primary system due to F / O, the load is distributed across multiple storage nodes N1 to N3, and the load is equalized across the multiple storage nodes N1 to N3. As a result, the performance of secondary storage nodes N1 to N3 can be utilized more effectively.

[0054] In asynchronous remote copy configurations, particularly those used for Disaster Recovery (DR), when switching from primary to secondary operation via F / O, the performance of the entire secondary storage node can be maximized, suppressing a decrease in business performance during secondary operation. Furthermore, users can utilize the VOL-distributed remote copy function without needing to be aware of the storage nodes installed in the secondary storage system S1, thus simplifying the design and operation of cloud DR.

[0055] Furthermore, according to this embodiment, when data processing operations are transferred to the secondary storage system S1 after F / O occurs, data read operations are distributed across multiple storage nodes, allowing data processing to be completed in a shorter time. As a result, storage system S1 can perform data processing with less energy, improving energy efficiency. Consequently, this contributes to improving the global environment. [Examples]

[0056] Example 2 describes a case where the user specifies the required performance for a secondary storage system S1 that is operated after a failure (F / O) occurs. In this example, the same reference numerals are used for the same components as in Example 1, and their detailed descriptions are omitted. In this example, detailed descriptions of the same configuration and operation as in Example 1 are omitted, and the differences from Example 1 are explained in detail.

[0057] The user inputs the required performance to the storage system S1 via an information processing terminal. The required performance is, for example, the minimum performance standard value that the user requires in the event of a failure (F / O). Note that the configuration of the storage system S1 in this embodiment is the same as the configuration described in Embodiment 1, so a detailed explanation is omitted.

[0058] The operation of the distributed placement process performed by the storage system S1 in this embodiment will be explained. Figures 16 and 17 are flowcharts showing an example of the operation procedure of the storage system in Embodiment 2.

[0059] In step S201, the storage control unit 11 receives a pair creation request. The processing in step S201 is the same as in step S101, which was explained with reference to Figure 13, so a detailed explanation is omitted. In step S202, the placement control unit 12 obtains information on each node from the node management table. The placement control unit 12 then holds the free capacity of each node as temporary free capacity information. In step S203, the placement control unit 12 determines whether or not there is input for required performance. Required performance is input, for example, from an information processing terminal operated by a user. Here, we will explain the case where the required performance is a performance standard value that indicates the minimum required performance specified by the user. If, as a result of the determination in step S203, there is no input for required performance, the placement control unit 12 proceeds to the processing in step S103 shown in Figure 13.

[0060] On the other hand, if the result of the determination in step S203 indicates that there is input for required performance, the placement control unit 12 proceeds to the process in step S205. In step S205, the placement control unit 12 compares the available performance value of the node group with the performance standard value specified by the user. The placement control unit 12 determines whether the available performance value of the node group is greater than the performance standard value. Three specific examples of the available performance value of the node group are described below. The first is the maximum performance value of each node group according to the specifications. The second is the sum of the measured write performance of each node group in this flow processing stage. The third is the sum of the measured write performance of the SVOL operating on each node group and the measured read performance of the PVOL corresponding to this SVOL in this flow processing stage. For the third, the placement control unit 12 may calculate the sum for each group. If the result of the determination in step S205 indicates that the available performance value of the node group is less than or equal to the performance standard value, the placement control unit 12 proceeds to the process in step S206. On the other hand, if the available performance value of the node group is greater than the performance standard value, the placement control unit 12 proceeds to the process in step S207.

[0061] In step S206, the placement control unit 12 issues warnings and suggestions to the user. Specifically, the placement control unit 12 warns the user that the performance is insufficient. The placement control unit 12 suggests to the user that additional nodes be added. In step S207, the placement control unit 12 lists combinations of nodes that meet the required performance.

[0062] In steps S208 to S208R, the placement control unit 12 performs loop processing for each combination of nodes that meet the required performance. In steps S209 to S209R, the placement control unit 12 performs loop processing in order of the largest VOL capacities requested for pair creation in the pair creation list. In step S210, the placement control unit 12 determines whether there are any nodes that satisfy the condition that the VOL capacity is greater than the temporary free capacity of the node. If there are no nodes that satisfy the condition in step S210, the placement control unit 12 returns to the processing in step S208. On the other hand, if there are nodes that satisfy the condition in step S210, the placement control unit 12 proceeds to the processing in step S211.

[0063] In step S211, the allocation control unit 12 plans to allocate SVOL to the node with the largest provisional free capacity. This plan is called the VOL allocation plan. In step S212, the allocation control unit 12 calculates the provisional free capacity of the target node if allocated as planned. The allocation control unit 12 maintains the provisional free capacity information of the target node within the loop processing steps S208 to S208R. In step S213, the allocation control unit 12 maintains the provisional free capacity information of the target node along with the VOL allocation plan as a combination of deployable nodes that meet the required performance. Specifically, as SVOL allocation progresses through the loop processing, the target node with the largest free capacity changes in step S211. Therefore, the loop processing creates a VOL allocation plan in which SVOL is allocated to the nodes with the largest free capacity first.

[0064] In step S214, the placement control unit 12 determines whether there is a combination of deployable nodes that meets the required performance. If no combination of deployable nodes exists, the placement control unit 12 proceeds to step S215. On the other hand, if a combination of deployable nodes exists, the placement control unit 12 proceeds to step S216. In step S215, the placement control unit 12 notifies the user of an error. Specifically, the placement control unit 12 notifies the user of an error indicating insufficient capacity and suggests adding nodes.

[0065] In step S216, the allocation control unit 12 selects a combination of nodes based on the number of nodes, available capacity, and the number of VOLs per node. Specific examples of node combination methods are described below. The first is a combination in which SVOLs are allocated to minimize the number of target nodes. In this case, the processing required to ensure consistency between nodes is reduced. The second is a combination in which SVOLs are allocated so that available capacity is equalized for each node and each VOL allocation. The third is a combination in which SVOLs are allocated so that the number of VOLs per node is equalized. In step S217, the allocation control unit 12 allocates all SVOLs to the nodes for which allocation has been planned.

[0066] Furthermore, if the user adds a node in step S215, the storage control unit 11 may create a JVOL on the added node. In this case, since the JVOL is created when the node is added, the added node can be used smoothly.

[0067] In this embodiment, when the storage system S1 receives performance requirements from the user, it estimates the number of nodes required when F / O occurs based on those requirements, and distributes multiple SVOLs across the estimated number of nodes. Furthermore, if the storage system S1 determines, based on the estimation, that the number of nodes is insufficient, it proposes to the user that additional nodes be added.

[0068] In this embodiment, when a user provides performance requirements, multiple secondary logical volumes are distributed across multiple storage nodes to meet those requirements. Therefore, even if a failure (F / O) occurs, the storage system S1 can deliver the performance required by the user. Furthermore, if the capacity is insufficient even after distributing multiple SVOLs across nodes N1 to N3, the user is offered the option to add nodes. Thus, the user can pre-add nodes to ensure that the storage system S1 can deliver the required performance when a failure (F / O) occurs. [Examples]

[0069] Example 3 describes a case where the performance history of each VOL is monitored after the start of operation and appropriately rearranged. In this example, the same reference numerals are used for the same components as in Example 1, and their detailed descriptions are omitted. In this example, detailed descriptions of the same configuration and operation as in Example 1 are omitted, and the differences from Example 1 are explained in detail.

[0070] The configuration of the storage system S1 in this embodiment will now be described. The storage monitoring unit 14 monitors the usage history for each of the multiple PVOLs of the storage system P1. The usage history is, for example, the performance usage history shown in the tables in Figures 7 to 10. Based on the usage history of the storage system P1, the placement control unit 12 rearranges the multiple SVOLs belonging to the same group as the multiple PVOLs being monitored to nodes N1 to N3 so that the load on nodes N1 to N3 is evenly distributed.

[0071] This section describes the distributed relocation operation performed by the storage system S1 in this embodiment. Figures 18 and 19 are flowcharts illustrating an example of the operation procedure of the storage system in Embodiment 3. Here, the explanation is given for the case where the VOL performance is capacity, but performance is not limited to capacity. The VOL performance may include other parameters besides capacity, such as processing speed.

[0072] In steps S301 to S301R, the placement control unit 12 performs loop processing for each node. In step S302, the placement control unit 12 calculates the total value of the performance history values of the SVOL of the target node. The performance history value of the SVOL means, for example, the average write IOPS history shown in FIG. 10. In steps S303 to S303R, the placement control unit 12 performs loop processing for each group. In step S304, the placement control unit 12 acquires the read performance history value of the PVOL corresponding to the SVOL of the target group and adds it to the total value calculated in step S302. The read performance history value of the PVOL is, for example, the average read IOPS history shown in FIG. 9. The placement control unit 12 holds the value calculated in step S304 as the predicted performance after F / O of the target node and the target group.

[0073] In steps S305 to S305R, the placement control unit 12 performs loop processing for each group. In step S306, the placement control unit 12 determines whether there is a node that satisfies the condition that the maximum performance of the node < the predicted performance after F / O. The "predicted performance after F / O" means the "predicted performance after F / O" of each group of each node calculated in step S304. As a result of the determination in step S306, if there is no node that satisfies the condition, the placement control unit 12 proceeds to the processing of the next group. On the other hand, as a result of the determination in step S306, if there is a node that satisfies the condition, the placement control unit 12 proceeds to the processing of step S307.

[0074] In step S307, the placement control unit 12 determines whether there is a node that contains a plurality of SVOLs of the group in the node. As a result of the determination in step S307, if there is no node that contains a plurality of SVOLs of the group, the placement control unit 12 proceeds to the processing of step S308. In step S308, the placement control unit 12 holds warning information indicating that the target group is a warning target. Specifically, the placement control unit 12 holds, as warning information, information indicating that the target group has a risk of performance degradation after F / O.

[0075] On the other hand, if the determination in step S307 indicates that there are nodes containing multiple SVOLs of the group, the placement control unit 12 proceeds to the processing in step S309. In steps S309 to S309R, the placement control unit 12 loops through the target SVOLs in descending order of capacity. Data processing that is likely to use large-capacity VOLs is considered to be a temporary process. Therefore, it is desirable to move the large-capacity VOLs. In step S310, the placement control unit 12 determines whether there are any nodes that satisfy conditions 1 to 3. Condition 1 is that the node does not contain any SVOLs of the target group. Condition 2 is that the relationship is SVOL capacity < node free capacity. Condition 3 is that after F / O, the relationship is SVOL capacity < node temporary free capacity. If there are no nodes that satisfy the three conditions in step S310, the placement control unit 12 returns to the processing in step S309 and then processes the next largest SVOL.

[0076] On the other hand, if there is a node that satisfies the three conditions of step S310, the placement control unit 12 proceeds to the processing of step S311. In step S311, the placement control unit 12 plans the movement of the SVOL. Moving an SVOL means, for example, moving an SVOL that was assigned to node N1 for group 1 to node N2. Let's explain the case where there are multiple options for the destination of the SVOL. In this case, the placement control unit 12 can plan the movement of the SVOL according to any rule, as long as there is a node that meets the conditions, such as the node with the largest free capacity or the node with the largest free performance (here, for example, processing speed). In step S312, the placement control unit 12 calculates the provisional free capacity of the node after the planned assignment and holds the calculation result. In step S313, if there is a VOL movement plan, the placement control unit 12 rearranges the SVOL according to the plan.

[0077] The trigger for the execution of the flow shown in Figures 18 and 19 is, for example, when a node is added by a user. The flow shown in Figures 18 and 19 may be executed at regular intervals, not limited to when a node is added, or when an alarm is notified by the storage monitoring unit 14. Also, steps S301 to S301R shown in Figure 18 may be executed at a different time than steps S305 to S313 shown in Figure 19. Furthermore, in step S313, the placement control unit 12 basically prioritizes moving SVOLs with larger capacities, but may prioritize moving other SVOLs. For example, from a performance standpoint, it is preferable not to move SVOLs that are likely to be frequently used by users.

[0078] In this embodiment, the distribution of multiple SVOLs across multiple nodes N1 to N3 is reviewed based on the usage history of the storage system P1. Therefore, considering the I / O load on each node and the specifications of each node, the SVOLs are moved to equalize the load across nodes N1 to N3. When F / O occurs and the storage system S1 actually begins operation, the load is distributed across multiple nodes N1 to N3, allowing for more effective utilization of the performance of nodes N1 to N3.

[0079] The embodiments described above are illustrative for explaining the present invention and are not intended to limit the scope of the invention to those embodiments only. Those skilled in the art can implement the present invention in various other forms without departing from the scope of the invention.

[0080] Furthermore, the embodiments described above include the following items. However, the items included in these embodiments are not limited to those listed below.

[0081] (Item 1) A secondary storage system connected to a primary storage system having multiple primary logical volumes on which data is stored, Each storage node has at least one secondary logical volume, and multiple storage nodes If there are multiple pairs of primary and secondary logical volumes belonging to the same consistency group, the placement control unit distributes and places each of the secondary logical volumes of the multiple pairs across the multiple storage nodes based on the number of pairs and the number of the multiple storage nodes, A storage system having the following features.

[0082] According to this, multiple secondary logical volumes belonging to the same consistency group are distributed across multiple storage nodes. Therefore, for example, if a failover occurs and the storage system takes over data processing operations from the primary system, and data read requests from users increase, the load is distributed across multiple storage nodes, and the load is equalized across the multiple storage nodes. As a result, the performance of the secondary storage nodes can be utilized more effectively.

[0083] (Item 2) In the storage system described in item 1, The aforementioned arrangement control unit, When the required performance is input, the system estimates the number of storage nodes required when a failover occurs based on the required performance, and distributes the multiple secondary logical volumes across the estimated number of storage nodes. Storage system.

[0084] According to this, when a user provides performance requirements, multiple secondary logical volumes are distributed across multiple storage nodes to meet those requirements. Therefore, even if a failover occurs, the secondary storage system can still deliver the performance required by the user.

[0085] (Item 3) In the storage system described in item 1 or 2, The storage monitoring unit monitors the usage history of the multiple primary logical volumes, The aforementioned arrangement control unit, Based on the usage history, rearrange the multiple secondary logical volumes on the multiple storage nodes. Storage system.

[0086] According to this, the distribution of multiple secondary logical volumes across multiple storage nodes is reviewed and rearranged based on the usage history of the primary storage system. Therefore, when a failover occurs and the secondary storage system actually starts operating, the load is distributed across multiple storage nodes, allowing for more effective utilization of the secondary storage node's performance.

[0087] (Item 4) In a storage system described in any one of items 1 to 3, The aforementioned arrangement control unit, The system estimates the number of storage nodes required when a failover occurs, and if the estimate determines that the number of storage nodes is insufficient, it proposes to the user the addition of storage nodes. Storage system.

[0088] According to this, if the capacity is insufficient even after distributing multiple secondary logical volumes across multiple nodes, the user will be offered the option to add nodes. Therefore, the user can take proactive measures to add nodes so that the storage system can deliver the required performance when a failover occurs.

[0089] (Item 5) In a storage system described in any one of items 1 to 4, The storage control unit creates the secondary logical volume and the differential volume for storing the differential data between the primary logical volume and the secondary logical volume on the storage node. The storage control unit, When the aforementioned storage node is added, the differential volume is created on the added storage node. Storage system.

[0090] This ensures that differential volumes are created when a storage node is added, allowing for a smooth transition to using the added storage node.

[0091] (Item 6) In a storage system described in any one of items 1 to 5, A storage control unit sets a logical path indicating the correspondence between the two logical volumes, the primary logical volume and the secondary logical volume that form the pair, The system includes a storage monitoring unit that monitors the logical path in accordance with the consistency group, Storage system.

[0092] This ensures that even if the placement control unit moves secondary logical volumes between storage nodes, the logical path is maintained in accordance with the consistency group.

[0093] (Item 7) In a storage system described in any one of items 1 to 6, It has a display that shows images, The aforementioned arrangement control unit, The display shows an image indicating that the multiple pairs of secondary logical volumes are distributed across the multiple storage nodes. Storage system.

[0094] This allows users to determine whether the distributed configuration is appropriate by referring to an image showing multiple secondary logical volumes belonging to the same consistency group distributed across multiple secondary nodes. [Explanation of Symbols]

[0095] 1 Data processing system, 2p, 2s Server, 10 Control unit, 11 Storage control unit, 12 Placement control unit, 13 Management API unit, 14 Storage monitoring unit, 20 Memory unit, 30 Storage device, 101 Processor, 102 Memory, 103 Management communication interface, 104 Communication interface, 105 Storage device, 201 Processor, 202 Memory, 203 Management communication interface, 204 Communication interface, 205 Input device, 206 Output device, 301p, 301s, 302, 303 Network, N1~N3 Storage nodes, P1, S1 Storage system.

Claims

1. A secondary storage system connected to a primary storage system having multiple primary logical volumes on which data is stored, Each storage node has at least one secondary logical volume, and If there are multiple pairs of primary and secondary logical volumes belonging to the same consistency group, the placement control unit distributes and places each of the secondary logical volumes of the multiple pairs across the multiple storage nodes based on the number of pairs and the number of the multiple storage nodes, A storage system having the following features.

2. In the storage system according to claim 1, The aforementioned arrangement control unit, When the required performance is input, the system estimates the number of storage nodes required when a failover occurs based on the required performance, and distributes the multiple secondary logical volumes across the estimated number of storage nodes. Storage system.

3. In the storage system according to claim 1, The storage monitoring unit monitors the usage history of the multiple primary logical volumes, The aforementioned arrangement control unit, Based on the usage history, rearrange the multiple secondary logical volumes on the multiple storage nodes. Storage system.

4. In the storage system according to claim 1, The aforementioned arrangement control unit, The system estimates the number of storage nodes required when a failover occurs, and if the estimate determines that the number of storage nodes is insufficient, it proposes to the user the addition of storage nodes. Storage system.

5. In the storage system according to claim 1, The storage control unit creates the secondary logical volume and the differential volume for storing the differential data between the primary logical volume and the secondary logical volume on the storage node. The storage control unit, When the aforementioned storage node is added, the differential volume is created on the added storage node. Storage system.

6. In the storage system according to claim 1, A storage control unit sets a logical path indicating the correspondence between the two logical volumes, the primary logical volume and the secondary logical volume that form the pair, The system includes a storage monitoring unit that monitors the logical path in accordance with the consistency group, Storage system.

7. In the storage system according to claim 1, It has a display that shows images, The aforementioned arrangement control unit, The display shows an image indicating that the multiple pairs of secondary logical volumes are distributed across the multiple storage nodes. Storage system.

8. A node control method by an information processing device connected to a primary storage system having multiple primary logical volumes on which data is stored, wherein each storage node controls multiple storage nodes having at least one secondary logical volume, A pair of the primary logical volume and the secondary logical volume belonging to the same consistency group is created, If there are multiple pairs, the subsystem logical volumes of each of the multiple pairs are distributed and placed across the multiple storage nodes based on the number of pairs and the number of multiple storage nodes. Node control method.

9. A computer is connected to a primary storage system having multiple primary logical volumes on which data is stored, and each storage node controls multiple storage nodes, each having at least one secondary logical volume. A pair of the primary logical volume and the secondary logical volume belonging to the same consistency group is created, If there are multiple pairs, the subsystem logical volumes of each of the multiple pairs are distributed and placed across the multiple storage nodes based on the number of pairs and the number of multiple storage nodes. A program to perform a task.