Storage system management system and management method

JP2025124414A5Pending Publication Date: 2026-02-24HITACHI VANTARA LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024020456
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-14
Publication Date
2026-02-24

AI Technical Summary

Technical Problem

In distributed storage systems, data copying across multiple nodes needs to be completed quickly without exceeding the performance limits of each node, while minimizing the impact on other processes.

Method used

A management system that includes processors and storage devices, which utilize node performance information, volume information, load monitoring, and data copy process information to identify target nodes and determine consumable IO performance values and upper limits for data copy processes.

Benefits of technology

This approach reduces the time required for data copying while minimizing the impact on other processes in the production environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a management system and a management method for a storage system that can reduce time required for data copying while suppressing influence on another processing.SOLUTION: A management system manages a storage system including a plurality of nodes. The management system refers to data copy processing information, application information, and volume information to identify a target node that provides a target volume for the data copy processing. The management system determines, on the basis of node performance information and monitoring information, a consumable IO performance value of the target node. The management system determines, on the basis of the consumable IO performance value of the target node, an upper limit of IO performance for the data copy processing.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to the management of storage systems. [Background technology]

[0002] There are distributed storage systems in the cloud or on-premise that cluster multiple general-purpose servers to function as a single storage system. There are also increasing cases of secondary use of data, such as copying part of the system data and using it for analysis. In some cases, it may be necessary to limit the IO performance of data copies to reduce the impact of data access for secondary use on the production system.

[0003] Background art of the present disclosure includes Japanese Patent Application Publication No. 2021-144662. Japanese Patent Application Publication No. 2021-144662 discloses that when copying data accompanying the migration of a virtual machine, the smaller of the consumable IOPS of the migration source and migration destination storage devices is set as the QoS value for the data copy in order to reduce the impact of performance degradation on virtual machines that are not being migrated. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2021-144662 Summary of the Invention [Problem to be solved by the invention]

[0005] A distributed storage system is a storage system made up of multiple nodes, so to achieve the required performance, volumes are created on multiple nodes and bundled together to appear as a single volume to the host. In this case, data for one application (for example, a database) is distributed across multiple nodes. In a distributed storage system, it is necessary to complete data copying as quickly as possible without exceeding the performance limit of each node. [Means for solving the problem]

[0006] One aspect of the present invention is a management system for managing a storage system, comprising one or more processors and one or more storage devices, wherein the storage system includes a plurality of nodes, and the one or more storage devices store node performance information indicating information on the maximum performance of each of the plurality of nodes, volume information indicating information on volumes provided by each of the plurality of nodes, monitoring information indicating information on the load of each of the plurality of nodes, application information indicating information on applications accessing the volumes, and data copy process information indicating a relationship between the applications and data copy processes, and the one or more processors refer to the data copy process information, the application information, and the volume information to identify a target node that provides a target volume for the data copy process, determine a consumable IO performance value of the target node based on the node performance information and the monitoring information, and determine an IO performance upper limit value for the data copy process based on the consumable IO performance value of the target node. [Effects of the Invention]

[0007] According to one aspect of the present invention, it is possible to reduce the time required for copying data while minimizing the impact on other processes. [Brief explanation of the drawings]

[0008] [Figure 1] 1 illustrates an example of the configuration of a computer system according to an embodiment of the present specification. [Figure 2] The configuration of the management system is shown. [Figure 3] 10 shows an example of the configuration of managed storage cluster information. [Figure 4] 10 shows an example of the configuration of managed volume information. [Figure 5] 10 shows an example of the configuration of managed snapshot information. [Figure 6] 10 shows an example of the configuration of managed storage monitoring information. [Figure 7] 10 shows an example of configuration information of a managed application server. [Figure 8] 10 shows an example of configuration information for management target data copy processing. [Figure 9] FIG. 1 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. [Figure 10] 10 shows a flowchart of an example of a process for determining an upper limit of data copy performance by a management system. [Figure 11] FIG. 1 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. [Figure 12] FIG. 1 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. [Figure 13] FIG. 1 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. [Figure 14] FIG. 1 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. [Figure 15] An example of grouping volumes is shown below. DETAILED DESCRIPTION OF THE INVENTION

[0009] In the following, when necessary for convenience, the description will be divided into multiple sections or examples, but unless otherwise specified, they are not unrelated to each other, and one is related to the other as a partial or complete modification, detail, supplementary explanation, etc. Furthermore, in the following, when the number of elements, etc. (including the number, numerical value, amount, range, etc.) is mentioned, it is not limited to that specific number, and may be more or less than the specific number, unless otherwise specified or when it is clearly limited in principle to a specific number, etc.

[0010] A computer system can be composed of one computer or multiple computers that can communicate with each other. A computer device, computer system, or group of computing resources includes one or more interface devices (including, for example, communication devices and input / output devices), one or more storage devices (including, for example, memory (main memory) and auxiliary storage devices), and one or more processors.

[0011] When a function is realized by executing a program by a processor, the defined processing is performed using a storage device and / or an interface device, etc., so the function may be considered to be at least a part of the processor. Processing described using a function as the subject may also be processing performed by a processor or a system having that processor.

[0012] The program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable storage medium (e.g., a computer-readable non-transitory storage medium). The description of each function is an example, and multiple functions may be combined into one function or one function may be divided into multiple functions.

[0013] An embodiment of this specification manages data copying in a storage system including multiple storage nodes. The management system of this embodiment of this specification references load information (performance information) and performance upper limit information of the storage nodes to calculate the IO performance value that can be consumed by data copying for each storage node. The management system also retains information on storage nodes in which volumes that are the targets of data copying are located. The management system determines the IO performance upper limit value for data copying from the consumable IO performance value of the storage nodes and the location of volumes that are the targets of data copying. According to this embodiment of this specification, it is possible to reduce the data copy time while suppressing the impact on the production environment of data copying for purposes different from the production environment. Example 1

[0014] 1 shows an example of the configuration of a computer system according to an embodiment of this specification. The computer system includes a distributed storage system (also simply referred to as a storage system) that includes multiple storage nodes (also simply referred to as nodes) 3A, 3B, and 3C, and multiple servers 2A, 2B, and 2C that access the storage system and use it to store data. The servers 2A, 2B, and 2C can write data to the storage nodes 3A, 3B, and 3C via a network 6, and can also read the stored data.

[0015] In the configuration example shown in FIG. 1, servers 2A, 2B, and 2C run relational database management systems (RDBMS) 21A, 21B, and 21C, respectively.

[0016] The RDBMSs 21A and 21B of servers 2A and 2B are systems in the production environment (production systems) that store data in logical volumes (sometimes simply referred to as volumes) provided by the storage system and read data from the logical volumes. The RDBMS 21C of server 2C copies data from the production environment for purposes other than the original business, such as secondary use (analysis, etc.) of the data in the production environment, backup, migration, etc. The data in the production environment can be copied from the logical volumes of the production environment, or a snapshot volume created from the logical volumes can be used.

[0017] The storage nodes 3A, 3B, and 3C constitute one storage cluster (also simply called a cluster), and function as one storage system for a higher-level device. The control node 4 is a node that controls the entire cluster. Note that the number of nodes that make up one cluster is arbitrary. It is also possible for a configuration to have no dedicated control node 4.

[0018] The storage nodes 3A, 3B, and 3C execute storage control programs 31A, 31B, and 31C, respectively. Furthermore, the control node 4 executes a storage control program 41. The storage control programs 31A, 31B, 31C, and 41 execute the processes required for the multiple storage nodes 3A, 3B, and 3C to operate as a single storage system.

[0019] In this example, the storage system is configured with multiple nodes, so in order to achieve the required I / O performance, logical volumes are created on the multiple storage nodes and bundled together to appear as a single drive to the host device (server). In other words, in the production environment, the RDMS 21 accesses multiple logical volumes distributed across multiple storage nodes.

[0020] 1, storage node 3A provides two logical volumes 33A and 33B to servers 2A, 2B, and 2C. Storage node 3B provides two logical volumes 33C and 33D, and storage node 3C provides one logical volume 33E to servers 2A, 2B, and 2C. Each storage node may create a snapshot volume in addition to the logical volumes and provide it to the server.

[0021] The nodes 3A, 3B, 3C, and 4 are physical nodes or virtual nodes. The storage nodes 3A, 3B, and 3C provide volumes to a server (host device). In response to an I / O request from the host device, the storage nodes 3A, 3B, and 3C store data received from the host device in the logical volume they manage, and also read data from the logical volume and send it to the host device. The nodes 3A, 3B, 3C, and 4 can communicate data with other nodes via the network 6 or another network not shown.

[0022] The management system 1 manages the entire computer system. The management system 1 can communicate with the servers 2A, 2B, and 2C and the nodes 3A, 3B, 3C, and 4 via a network 6.

[0023] Fig. 2 shows the configuration of the management system 1. The management system 1 can be configured with one or more computers. Fig. 2 shows an example of the configuration of one computer. Specifically, the management system 1 includes a processor 11, a memory 12, an auxiliary storage device 13, a network interface 14, an input device 15, and an output device 16. These components can communicate with each other via a bus.

[0024] The processor 11 is, for example, a CPU (Central Processing Unit) that performs various processes and calculations, controls the entire device, etc. The memory 12 is a main storage device that includes a volatile medium that stores programs executed by the processor 11 and referenced or calculated data. The auxiliary storage device 13 includes a non-volatile storage medium that stores various programs and data, and may be, for example, a hard disk drive or a solid state drive.

[0025] The network interface 14 is a communication device for communicating with other devices via the network 6. The input device 15 is a device for a user to input data into the management system 1 and may include a keyboard, mouse pointer, microphone, etc. The output device 16 is a device for presenting information to the user and may include a display device or printer. Some components such as the input device 15 and the output device 16 may be omitted, and other components may be added.

[0026] The processor 11 loads various programs from the auxiliary storage device 13 into the memory 12 and executes the predetermined programs to realize each processing unit. The predetermined programs that realize each processing unit may be stored in the auxiliary storage device 13 in advance, may be read from a portable non-transitory storage medium, or may be downloaded as needed from another device connected to the network interface 14 and stored in the auxiliary storage device 13.

[0027] 2, the memory 12 stores a management target information collection program 121, a data copy performance upper limit calculation program 122, and a performance upper limit setting instruction program 123. The auxiliary storage device 13 also stores management target storage cluster information 200, management target volume information 210, management target snapshot information 220, management target storage monitoring information 230, management target application server configuration information 240, and management target data copy process configuration information 250.

[0028] Servers 2A, 2B, and 2C may have the hardware configuration described with reference to Figure 2. Some components, such as input device 15 and output device 16, may be omitted, and other components may be added. As described above, the processor of each server executes the RDMS.

[0029] The storage nodes 3A, 3B, and 3C and the control node 4 may have the hardware configuration described with reference to FIG. 2. As described above, the processor of each node executes a storage control program. Some components, such as the input device 15 and output device 16, may be omitted, and other components may be added. The storage nodes 3A, 3B, and 3C include multiple storage drives (auxiliary storage devices), and volume data is stored on these storage drives. The storage drives are, for example, hard disk drives or solid-state drives. The storage nodes 3A, 3B, and 3C manage the storage areas of the multiple storage drives in association with the addresses of the volumes.

[0030] In this way, the storage nodes 3A, 3B, and 3C and the control node 4 are configured as computers (servers) on-premises. In another example, the storage nodes 3A, 3B, and 3C and the control node 4 may be configured on a public cloud. That is, the storage nodes 3A, 3B, and 3C and the control node 4 may be virtual machines. The nodes that are virtual machines are connected to virtual drives via a network (not shown).

[0031] The information held by the management system 1 will be described in detail below. Fig. 3 shows an example of the configuration of managed storage cluster information 200. The managed storage cluster information 200 manages information on each managed storage cluster (distributed storage system). More specifically, the managed storage cluster information 200 manages information on the nodes that make up each storage class and the maximum performance of each node. The managed storage cluster information 200 is node performance information that indicates information on the maximum performance of the nodes.

[0032] In the configuration example shown in FIG. 3, the managed storage cluster information 200 includes a storage cluster ID column 201, a node ID column 202, a random read maximum performance column 203, a random write maximum performance column 204, a sequential read maximum performance column 205, and a sequential write maximum performance column 206.

[0033] The storage cluster ID column 201 shows the ID that identifies each storage cluster to be managed. The node ID column 202 shows the ID of each node that makes up each storage class. The node ID uniquely identifies a node within each storage class. In the entire system, the combination of the storage cluster ID and the node ID uniquely identifies each node. The nodes included in a cluster are physical nodes or virtual nodes.

[0034] The random read maximum performance column 203 indicates the maximum random read performance of each node. In this example, the random read performance is expressed in IOPS (Input / Output Per Second). The random write maximum performance column 204 indicates the maximum random write performance of each node. In this example, the random write performance is expressed in IOPS.

[0035] The maximum sequential read performance column 205 indicates the maximum sequential read performance of each node. In this example, the sequential read performance is expressed as throughput (MB / S). The maximum sequential write performance column 206 indicates the maximum sequential write performance of each node. In this example, the sequential write performance is expressed as throughput (MB / S).

[0036] 4 shows an example of the configuration of the managed volume information 210. The managed volume information 210 manages information on the logical volumes that each managed storage cluster provides to its higher-level device. More specifically, the managed volume information 210 manages information on the nodes that provide and manage each logical volume. Such logical volumes are also simply called volumes.

[0037] 4, the managed volume information 210 includes a volume ID column 211, a storage cluster column 212, and a node ID column 213. The volume ID column 211 indicates an ID that uniquely identifies a volume within the storage system. The storage cluster column 212 and node ID column 213 indicate the ID of the storage class that provides and manages the volume and the ID of the node within the storage cluster.

[0038] Fig. 5 shows an example of the configuration of the management target snapshot information 220. The management target snapshot information 220 is volume information that manages information on snapshot volumes created and managed by each storage cluster that is a management target. More specifically, it manages the relationship between the snapshot volume and the copy source (generation source). A snapshot volume is a type of volume, and is simply called a snapshot.

[0039] 5, the managed snapshot information 220 includes a snapshot ID column 221 and a source volume / snapshot ID column 222. The snapshot ID column 221 indicates an ID that uniquely identifies a managed snapshot. The source volume / snapshot ID column 222 indicates the ID of the volume or snapshot that is the source of the snapshot. In this example, each snapshot can be generated from one logical volume or one snapshot, and is created and managed by the same node as the source.

[0040] FIG. 6 shows an example of the configuration of the managed storage monitoring information 230. The managed storage monitoring information 230 manages the monitoring results of the performance (load) of the storage system to be monitored. Specifically, the managed storage monitoring information 230 manages the performance history (load history) of each node to be monitored. Each row shows the performance monitoring results of each node at a certain time. Managed Storage Information The collection program periodically collects performance information from the managed nodes and updates the managed storage monitoring information 230 .

[0041] In the configuration example shown in Figure 6, the managed storage monitoring information 230 includes a time column 231, a read IOPS column 232, a write IOPS column 233, a read throughput column 234, a write throughput column 235, a storage cluster ID column 236, a node ID column 237, and a consumable read throughput column 238.

[0042] The time column 231 indicates the monitoring time. The read IOPS column 232 indicates the IOPS for read requests. The write IOPS column 233 indicates the IOPS for write requests. The read throughput column 234 indicates the throughput for read requests. The write throughput column 235 indicates the throughput for write requests. The storage cluster ID column 236 indicates the ID of the cluster to which each node belongs. The node ID column 237 indicates the ID of each node. The consumable read throughput column 238 indicates the read throughput (IO performance) of a node that can consume data copies. The method for calculating consumable read throughput will be described later.

[0043] 7 shows an example of the configuration of the managed application server configuration information 240. The managed application server configuration information 240 manages information about applications that access the storage system. In this example, all applications are assumed to be databases. More specifically, the managed application server configuration information 240 manages information about the servers that run each application and the volumes that each application accesses.

[0044] 7, the managed application server configuration information 240 includes a server ID column 241, an application ID column 242, and a volume ID column 243. The server ID column 241 indicates the ID of the server that runs the application. The server may be a physical server or a virtual server. The application ID column 242 indicates the ID of the application that uses the storage system. The volume ID column 243 indicates the ID of the volume that each application uses.

[0045] 8 shows an example of the configuration of the management target data copy processing configuration information 250. The management target data copy processing configuration information 250 manages copy processing in the storage system. More specifically, it manages the copy processing schedule and the application to be copied. The copy processing registered in the management target data copy processing configuration information 250 is, for example, copy processing for a purpose other than the original business (purpose in the production environment), such as secondary use or backup.

[0046] In the configuration example shown in FIG. 8, the management target data copy process configuration information 250 includes a copy process ID column 251, an execution start time column 252, and a target application ID column 253. The copy process ID column 251 indicates the ID of the copy process. The execution start time column 252 indicates the start time of each copy process. The execution start time column 252 can indicate the date and time of a periodic copy process or the date and time of a one-time copy process. The execution start time column 252 can also indicate immediate execution of a copy process. The target application ID column 253 indicates the ID of the application to be copied.

[0047] A method for managing and controlling data copying (data reading) from volumes (including logical volumes and snapshots) of a storage system according to an embodiment of the present specification will be described below. Fig. 9 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification.

[0048] Storage node 3A holds logical volumes 331A and 331B, as well as their snapshot volumes 332A and 332B. Storage node 3B holds logical volumes 331C and 331D, as well as a snapshot volume 332C of logical volume 331C. Here, the snapshot volume stores only differential data from the data of the corresponding logical volume at a specific time, and does not store the data at that specific time.

[0049] In the production environment, server 2A (RDMS 21A) accesses logical volumes 331A, 331B, and 331C. In other words, these three logical volumes are linked to one database application. Server 2B (RDMS 21B) accesses logical volume 331D. Only logical volume 331D is linked to another database application.

[0050] The storage node 3A creates snapshots 332A and 332B of the logical volumes 331A and 331B of the production system, and the storage node 3B creates a snapshot 332C of the volume 331C of the production system.

[0051] In response to a request from the analysis system 5 for secondary use, the server 2C (RDMS 21C) reads data from the snapshots 332A, 332B, and 332C and sends a copy of that data to the analysis system 5. In other words, the server 2C reads data from the storage nodes 3A and 3B. The analysis system 5 analyzes the received data.

[0052] As mentioned above, a snapshot stores only differential data from the source data. Therefore, reading data from a snapshot involves reading data from the source volume. Therefore, reading data from a snapshot can affect the production environment.

[0053] The management system 1 imposes an IO limit on data reads via snapshots. For example, the management system 1 sets an IO performance upper limit for data reads from each snapshot. The IO performance upper limit value may be set for a snapshot or the snapshot's copy source logical volume. Because reading for data copying is a sequential read, for example, an upper limit on throughput (MB / s) including read and write or read throughput (MB / s) can be set as the IO performance upper limit. This enables data reads via snapshots in a short time while minimizing the impact on the production environment.

[0054] 9, multiple snapshots 332A, 332B, and 332C are linked to one database application. Furthermore, the snapshots 332A, 332B, and 332C and copy source volumes 331A, 331B, and 331C are distributed and stored in multiple storage nodes 3A and 3B.

[0055] The management system 1 sets an IO performance upper limit for each volume so that the performance upper limit of each of the multiple storage nodes 3A and 3B to be accessed is not exceeded and data reading is completed in a short time. In the example of Fig. 9, the consumable IO performance (IO performance margin) of storage node 3A is 400 MB / s, and the consumable IO performance of storage node 3B is 100 MB / s. The consumable IO performance may be, for example, the difference between the IO performance upper limit of the storage node and the average IO performance predicted value for a predetermined period from the start of copying (data reading).

[0056] Server 2C reads data via the two snapshots 332A and 332B of storage node 3A. In other words, the two snapshots 332A and 332B are simultaneously subject to sequential read. Therefore, the consumable IO performance of storage node 3A, 400 MB / s, is apportioned between the two snapshots 332A and 332B. In other words, the IO performance upper limit of each of snapshots 332A and 332B is set to 200 MB / s.

[0057] Server 2C reads data via one snapshot 332C of storage node 3B. In other words, one snapshot 332C is the target of sequential read. Therefore, 100 MB / s of the consumable IO performance of storage node 3B is allocated to snapshot 332C. In other words, the IO performance upper limit of snapshot 332C is set to 100 MB / s.

[0058] Data copying via a snapshot can be used in cases where only part of the data in a database is copied, rather than all of the data in the database, such as when a table in the database is partially copied.

[0059] The following describes a process for determining the upper limit of data copy performance by the management system 1. Fig. 10 shows a flowchart of an example of a process for determining the upper limit of data copy (data read) performance by the management system 1.

[0060] This processing flow is executed, for example, when a copy processing record is added and registered in the management target data copy processing configuration information 250. Copy processing information is registered when it is decided to execute a copy processing of data in a specified production environment. This copy processing is a copy processing for a purpose other than the original business system, such as secondary use or backup. The registered copy processing can be a one-time temporary copy processing or a periodic copy processing.

[0061] This process flow may also be started at regular intervals. Periodic review is also possible when the load on the production environment changes. In another example, this process flow may be started when a significant change in the load trend on the production environment is detected after the copy process is set. For example, this process flow may be initiated when, in any node, the increase in all or a predetermined portion of the performance information 232 to 235 indicated by the managed storage monitoring information 230 exceeds a threshold value within a predetermined period.

[0062] First, the data copy performance upper limit calculation program 122 acquires information about the target data copy (S11), and further acquires information about the target application for the data copy (S12). The data copy performance upper limit calculation program can obtain the execution start time of the target copy process and information about the target application from the managed data copy process configuration information 250.

[0063] The data copy that is the target depends on the start trigger of this processing flow. For example, if this processing flow is executed periodically, all copy processes before the start of execution may be targeted. When a new copy process is registered, only that copy process may be targeted. When the load on a node suddenly increases, copy processes related to the logical volume or snapshot volume of that node may be targeted.

[0064] Next, the data copy performance upper limit calculation program 122 acquires information about the copy source volume of the data copy of the application (S13). The volume to be copied by the application may be specified in management information (not shown), or if a snapshot exists, the snapshot may be the copy target volume, or if a snapshot volume does not exist, the logical volume may be the target.

[0065] 9, the snapshot of a database application is the copy source volume. The data copy performance upper limit calculation program 122 acquires information about the target logical volume of the application from the managed application server configuration information 240, and can further acquire information about the snapshot of the target logical volume from the managed snapshot information 220. Note that even if the snapshot is the copy source volume, the information acquired here may be information about the logical volume.

[0066] The loop of steps S14 to S19 is repeatedly executed for each of the copy source volumes acquired in step S13. The data copy performance upper limit calculation program sequentially selects one volume from the volumes acquired in step S13, and executes steps S15 to S17 for each selected volume.

[0067] In step S15, the data copy performance upper limit calculation program 122 acquires information about the node where the selected volume is located. Specifically, if the copy source is a snapshot, the data copy performance upper limit calculation program 122 references the managed snapshot information 220 to identify the copy source volume of the target snapshot, and further references the managed volume information 210 to identify the node that holds the target snapshot. If the copy source is a logical volume, the managed volume information 210 can be referenced to identify the node that holds the target logical volume.

[0068] A loop of steps S16 to S18 is executed for each selected node. Specifically, the data copy performance upper limit calculation program 122 calculates the IO performance that can be consumed for data copying from the maximum performance of the selected node and the load on the node for a predetermined period after the data copy start time (S17).

[0069] Information on the maximum performance of a node can be obtained from the managed storage cluster information 220. Since data copying involves performing a sequential read from a volume, the maximum performance of a node for sequential reads is determined. The maximum sequential read performance column 205 of the managed storage cluster information 200 indicates the maximum sequential read performance of each node.

[0070] The node load for a predetermined period after the data copy start time can be estimated based on the managed storage monitoring information 230. The managed storage monitoring information 230 shows the load history of each node. Here, the read throughput and write throughput are referenced to estimate the node load. For example, the maximum node load value for a specific period in the past, 90% of the maximum value, (average + standard deviation), or (average + 2 * standard deviation) may be determined as the estimated load for the predetermined period after the data copy start time. The estimated load for each of the read throughput and write throughput is calculated.

[0071] The specific past period may be determined according to the data copy start time. If the data copy is executed immediately, for example, load information for a predetermined period from the present may be referenced. If the data copy start time is a specific date and time in the future, load information for a predetermined period from a similar date and time in the past, for example, the same date and time or the same time on the same day and week, may be referenced.

[0072] Various methods can be used to calculate the IO performance (MB / s) of a node that can consume data copies. In a storage system that simply stores data on a storage drive, the read and write performance are the same. In this case, the maximum performance of sequential read and sequential write is the same. Therefore, the IO performance (read throughput) (MB / s) of a node that can consume data copies can be calculated, for example, by (maximum performance - (node ​​load (read throughput) + node load (write throughput))).

[0073] For example, if the storage OS is executing a process to improve reliability, such as writing data to multiple nodes when writing data, the required performance for data writes will be b times greater. Furthermore, if a process to improve reliability is also performed for reads, the required performance will be a times greater. Therefore, the maximum sequential read performance is T / a, where T is the total performance of the hard disks, and the maximum sequential write performance is T / b. a and b may be constants, for example, and the managed storage cluster information 200 may store these T / a and T / b.

[0074] For example, in the case of a storage cluster in which the storage drive is the bottleneck in sequential processing, if the read throughput of a node is R and the write throughput is W, the consumable read throughput can be calculated as (T / a - (R + bW / a). This is just one example, and the calculation formula may differ depending on the storage system. For example, a and b may not be constants but may be variables. Also, the bottleneck may be located in a position other than the storage drive.

[0075] After executing the loop from steps S14 to S19 for all volumes and all nodes of all volumes, the data copy performance upper limit calculation program 122 acquires the number of copy source volumes for the data copy of the application for each node (S20). This information is included in the information on copy source volumes acquired in step S13.

[0076] Next, the data copy performance upper limit calculation program 122 calculates the upper limit of data copying from the consumable IO performance of each node and the number of copy source volumes of each node (S21). In this example, it is assumed that the performance upper limit can be set for each volume (each snapshot). The upper limit of volume m on node n can be calculated using the following formula: Upper limit = (consumable IO performance of node n) / (number of source volumes on node n)

[0077] The data copy performance upper limit calculation program 122 calculates this value for each copy source volume (snapshot) from which data is read during data copying. This calculation method provides a more accurate value when the data of a single database application is distributed across multiple volumes and data access is approximately uniform across those multiple volumes. A calculation formula different from the above formula can also be used. For example, a calculation formula that takes into account the data placement of volumes and the imbalance in data access can be used.

[0078] Next, the data copy performance upper limit calculation program 122 determines whether the time required for the data copy exceeds a predetermined period from the start of the data copy for which the consumable IO performance was calculated in step S17 (S22). Note that step S22 and the following step S23 may be omitted.

[0079] As described above, step S17 is performed by determining the maximum performance of the node and the time from the start of data copy. The consumable IO performance is calculated from the load on the node for a predetermined period. The predetermined period is a fixed period designated in advance. If the data copy performance upper limit value derived in step S21 is set, the data copy may be processed beyond this predetermined period. The data copy performance upper limit calculation program 122 checks to ensure that the maximum performance of the node is not exceeded even after the predetermined period from the data copy start time. This enables more appropriate data copy control.

[0080] The data copy performance upper limit calculation program 122 can estimate the time required for data copying using the following formula. Required time = Maximum (volume copy data amount / upper limit setting)

[0081] If the amount of data to be copied is included in the management information (known), the "amount of data to be copied" is that value. If the amount of data to be copied is unknown, the capacity (maximum data amount) of the source volume or the amount of data used by the source volume, which is included in the management information, can be used as the amount of data to be copied.

[0082] If the time required to copy data is less than the predetermined period (S22: N), the processing flow proceeds to step S24. If the time required to copy data is longer than the predetermined period (S22: Y), the data copy performance upper limit calculation program 122 determines whether the upper limit calculated in step S21 exceeds the consumable IO performance within the required time (S23). The data copy performance upper limit calculation program 122 calculates the consumable IO performance for the period from the data copy start time to the data copy required time. In the calculation method, the predetermined period may be replaced with the data copy required time in the explanation of step S17.

[0083] If the upper limit setting value exceeds the recalculated consumable IO performance (S23: Y), the data copy performance upper limit calculation program 122 sets the data copy required time=predetermined period and restarts the processing flow from step S16. If the upper limit setting value is equal to or less than the recalculated consumable IO performance (S23: N), the data copy performance upper limit calculation program 122 outputs the data copy performance upper limit value to the output device 16, for example, displays it on a display device (S24).

[0084] The administrator (user) can set a performance upper limit for the storage system based on the displayed information.

[0085] The performance upper limit setting instruction program 123 receives an upper limit value specified by an administrator via, for example, the input device 15, and instructs the control node 4 to set a performance upper limit for a volume, that is, a logical volume or a snapshot. In response to this instruction, the control node 4 sets the specified performance upper limit value for the specified volume and executes control in accordance with this setting. This enables more appropriate control of data copying. <Example 2>

[0086] Other embodiments of copying data from volumes in a storage system including multiple storage nodes will be described below. In the first embodiment, data is copied from a snapshot and utilized for secondary use. In this embodiment, the upper limit of IO performance for data reading can be appropriately determined in data backup. The flowchart shown in FIG. 10 can be applied to this embodiment. The method of calculating the upper limit of IO performance for data copying in step S21 differs between this embodiment and the first embodiment.

[0087] 11 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. Storage node 3A holds logical volumes 341A and 341B. Storage node 3B holds logical volumes 341C and 341D.

[0088] In the production environment, server 2A (RDMS 21A) accesses logical volumes 341A, 341B, and 341C. In other words, these three logical volumes are linked to one database application. Server 2B also accesses logical volume 341D. Only logical volume 341D is linked to another database application.

[0089] In this embodiment, a backup tool is used to copy data from the logical volume of the production system via a server. In the configuration example of FIG. 11, the server 2A executes a backup tool (program) 24A. The backup tool 24A controls the IO limit of the storage system in response to instructions from the management system 1. The IO performance upper limit value set by the backup tool 24A is set for each backup job 25A. The backup tool 24A controls data copying for each server.

[0090] In the first embodiment, an IO performance upper limit is set for each individual volume. In this embodiment, the IO performance upper limit value of the storage system is determined by a calculation method different from the calculation method described in the first embodiment. Specifically, the backup tool 24A calculates the upper limit value for the backup job 25A according to the following formula: Minimum (X = consumable IO performance of node n / number of source volumes on node n)

[0091] In other words, the management system 1 sets the IO performance upper limit to the minimum value of the consumable IO performance of the source volume. For example, in the example of Fig. 11, the consumable IO performance of storage node 3A is 400 MB / s, and two logical volumes 341A and 341B are the data source volumes from which data is read. Therefore, the upper limit calculated from storage node 3A alone is 200 MB / s.

[0092] The consumable IO performance of storage node 3B is 100 MB / s, and one logical volume 341C is the data copy source volume from which data is read. Therefore, the upper limit calculated from storage node 3B alone is 100 MB / s. Because the copy source storage nodes are these two storage nodes 3A and 3B, the minimum of their upper limit values, 100 MB / s, is determined to be the upper limit for backup job 25A.

[0093] Database data is distributed across multiple logical volumes. Access may be concentrated on a specific logical volume. The above calculation method sets the IO performance upper limit for backup job 25A so that data copying does not exceed the node's performance limit, even if data access is concentrated on only one logical volume.

[0094] The data copy performance upper limit calculation program 122 may further refer to the consumable IO (bandwidth) of the network interface (NIC) 23A of the production server 2A when determining the IO performance upper limit of the backup job 25A. Specifically, the IO performance upper limit of the backup job 25A may be determined according to the following formula: Minimum (X, Y = NIC's available bandwidth) The consumable bandwidth of the NIC is calculated as (maximum bandwidth of the NIC - bandwidth consumed by the NIC (predetermined period from the start time of data copy)).

[0095] When the backup tool 24A performs IO limitation (bandwidth control), the copy data passes through the server 2A of the production system. Therefore, by determining the IO performance upper limit value including the IO performance of the server 2A, data copying can be controlled more appropriately. For example, the data copy performance upper limit calculation program 122 sets the IO performance upper limit value so as not to exceed the consumable IO (bandwidth) of the network interface (NIC) 23A of the production server 2A.

[0096] In the example shown in Figure 11, the consumable IO performance of the NIC of production server 2A is 400 MB / s. This value is greater than 100 MB / s, which is the minimum consumable IO performance of the storage system. Therefore, the IO performance upper limit for backup job 25A is determined to be 100 MB / s. If the consumable IO performance of the NIC were less than 100 MB / s, the IO performance upper limit for backup job 25A would be determined to be the consumable IO performance of the NIC.

[0097] In addition, backup data can be used not only for normal data protection purposes, i.e., to restore data from production databases, but also as data for secondary use or migration.

[0098] In the above example, the data copy performance upper limit calculation program 122 refers to the throughput of the storage system and the bandwidth of the server's network interface when calculating the consumable IO performance. The data copy performance upper limit calculation program 122 may also refer to the performance of the server's memory.

[0099] A formula is set in advance that shows the relationship between the sequential read throughput required by the database and the amount of memory performance consumed. The upper limit of IO performance is determined from the smallest performance value among the storage system throughput, the server network interface bandwidth, and the memory performance.

[0100] In the configuration example shown in Fig. 11, backup data is sent to the backup destination via a server. In another configuration example, the backup data may be sent directly from the storage system to the backup destination without going through the server. In this configuration example, as described in the first embodiment, an IO performance upper limit value is determined for each storage node.

[0101] A cluster containing multiple storage nodes has the ability to automatically switch access to data that has been made redundant in a volume on another storage node if one storage node fails, and also has the ability to continue data services using data that has been made redundant in another storage node if one storage drive on a storage node is damaged.

[0102] Taking into consideration the occurrence of these switches, the consumable IO performance of the storage node on which the volume for redundancy is located may also be calculated, and the data copy performance upper limit calculation program 122 may set the upper limit of the job so as not to exceed the upper limit of the IO performance of the storage node. This point is also true for the setting of the upper limit of the job and the upper limit of the volume in other embodiments. Example 3

[0103] Other embodiments of copying data from volumes in a storage system including multiple storage nodes will be described below. In embodiment 1, data is copied from a snapshot to an external storage system for secondary use. This embodiment describes copying backup data within a storage system. In this embodiment, data copying can be performed appropriately within the storage without going through a server.

[0104] 10 can be applied to this embodiment. The method for calculating the IO performance upper limit value in this embodiment is the same as the calculation method in embodiment 1, but the target for setting the IO performance upper limit value in this embodiment is different from the target for setting the IO performance upper limit in embodiment 1. In this embodiment, the IO performance upper limit value is set in units of storage node or volume, and the IO performance upper limit is set for data copies within the storage node.

[0105] Data copying within a storage node involves reading data from a storage drive and writing data to another storage drive. The upper copy limit within a storage node may be, for example, selected from the read throughput or the write throughput, whichever has the smaller consumable IO performance, or may be one of the two specified in advance, or the throughput may not be differentiated between read and write.

[0106] FIG. 12 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. Storage node 3A holds logical volumes 345A and 345B. Storage node 3B holds logical volumes 345C and 345D. Server 2A accesses logical volumes 345A, 345B, and 345C in the production environment. In other words, these three logical volumes are linked to one database application. Server 2B also accesses logical volume 345D. Only logical volume 345D is linked to one database application.

[0107] The storage node 3A creates copy volumes 346A and 346B of the logical volumes 331A and 331B of the production system, and the storage node 3B creates a copy volume 346C of the logical volume 331C of the production system.

[0108] The management system 1 imposes restrictions on each of the storage nodes 3A and 3B. Here, the management system 1 sets an IO performance upper limit for reading data from each of the copy source logical volumes. As in the first embodiment, the upper limit of the IO performance may be calculated as the throughput (MB / s) including read and write or the upper limit of the read throughput (MB / s).

[0109] 12, the consumable IO performance of storage node 3A is 400 MB / s. Storage node 3A reads data from two logical volumes 345A and 345B and writes it to two logical volumes 346A and 346B. In other words, the two logical volumes 345A and 345B are targets of sequential reads, and the two logical volumes 346A and 346B are targets of sequential writes.

[0110] Therefore, the consumable IO performance of storage node 3A, 400 MB / s, is allocated proportionally to read and write. Here, it is assumed that the required performance for read and write is equal. The consumable IO performance for read is allocated proportionally to the two logical volumes 345A and 345B, and the consumable IO performance for write is allocated proportionally to the two logical volumes 346A and 346B. In other words, the IO performance upper limit value for each of logical volumes 345A, 345B, 346A, and 346B is set to 100 MB / s.

[0111] The consumable IO performance of storage node 3B is 100 MB / s. Storage node 3B reads data from one logical volume 345C and writes it to logical volume 346C. Furthermore, if the required read and write performance are equal, the consumable IO performance is apportioned between read and write, and therefore, 50 MB / s of the consumable IO performance of storage node 3B is allocated to logical volume 345C.

[0112] Furthermore, the management system 1 may determine the IO performance upper limit for the copy destination volumes 346A, 346B, 346C. Write throughput may be used as the IO performance instead of the read throughput in the above example.

[0113] In another configuration example, the storage system may copy data from a volume stored in a storage node to a volume in another production storage node. The management system 1 calculates the upper limit of copy performance, including IO due to write processing in the copy destination storage node. For example, when copying data from a first storage node to a second storage node, the management system 1 calculates the consumable IO performance of the second storage node in addition to the consumable IO performance of the first storage node. The minimum consumable IO performance is selected for the copy source and copy destination nodes.

[0114] For example, suppose that the destination volumes 346A and 346B are storage nodes different from the storage node 3A. The number of destination volumes in the destination storage node is two, and the consumable IO performance is 200 MB / s. This consumable IO performance may be, for example, sequential write throughput. The management system 1 allocates an IO performance upper limit of 100 MB / s to each of the destination volumes 346A and 346B, which is a proportional division of the consumable IO performance of 200 MB / s of the destination storage node. Since the IO performance upper limit value of each source volume is 200 MB / s, the IO performance upper limit value of the destination volume is presented to the administrator.

[0115] When a copy destination volume is made redundant, the management system 1 may set an IO performance upper limit for the volume or storage node so that the IO load, including the redundancy, does not exceed the consumable IO performance of the storage node. In the case of a storage that makes a copy destination volume redundant, not only the copy load within the same storage node but also the storage node where volume VOL3, which is used for redundancy of copy destination volume VOL2, is located is also loaded. An IO performance upper limit value is set so that this load does not exceed the consumable IO performance of the storage nodes of volumes VOL2 and VOL3.

[0116] The load on the storage node at the redundancy destination differs depending on the redundancy method, such as RAID 1 or RAID 5. For example, in RAID 1, the load caused by accessing volumes VOL2 and VOL3 is approximately equal.

[0117] 12, it is assumed that data in volume 346C of storage node 3B is further copied to a volume of a storage node not shown. In storage node 3B, the upper limit of copying from volume 345C to volume 346C and the upper limit of copying from volume 346C to the other storage nodes are determined.

[0118] For example, from the consumable IO performance of 100 MB / s of storage node 3B, 50 MB / s is allocated to each of volumes 345C and 346C. In addition, an IO performance upper limit is also determined for the copy destination volume of volume 346C according to the consumable IO performance of the storage node that holds that volume. Example 4

[0119] The following describes another embodiment of copying data from a volume in a storage system including multiple storage nodes. In this embodiment, a cloud migration tool can be used to properly migrate (copy) data from an on-premise production system to the cloud. Data migration involves copying data from a migration source to a migration destination. The migration source storage system is an on-premise storage system, and the migration destination storage system is a cloud storage system.

[0120] The flowchart shown in Fig. 10 can be applied to this embodiment. The calculation method of the IO performance upper limit in embodiment 4 is the same as the calculation method in embodiment 2, but the target for setting the IO performance upper limit is different. In embodiment 2, an IO performance upper limit is set for data copying by a backup tool, but in this embodiment, an IO performance upper limit is set for data copying by a data migration tool. As in the second embodiment, this embodiment selects the minimum value from among a plurality of IO performance upper limit values.

[0121] FIG. 13 is a diagram illustrating a data copy mode according to an embodiment of the present specification. The following describes the differences from the example shown in FIG. 11. Instead of the backup tool 24A shown in FIG. 11, a migration tool 27A is executed by the server 2A. In this embodiment, the migration tool 27A is used to copy data from the logical volume of the production system to the cloud 8 via the server. The cloud 8 includes a server 81 and a storage 82. The server 81 receives migration data from the server 2A and stores it in the storage 82.

[0122] The migration tool 27A controls the IO limits of the storage system. The migration tool 27A controls data copying on a server-by-server basis based on the IO performance upper limit specified by the management system 1. In this embodiment, the IO performance upper limit value of the storage system is determined using a calculation method similar to that described in the second embodiment. That is, the management system 1 selects, for example, the minimum value of the consumable IO performance of the copy source volume. As described above, the management system 1 may also refer to the performance values ​​of the server's NIC and memory. Furthermore, the data copy may be sent from the storage system to the cloud 8 without going through the server 2A. <Example 5>

[0123] Another embodiment of data copying from a volume in a storage system including multiple storage nodes will be described below. This embodiment describes data copying for data migration between storage nodes. This embodiment allows data copying to be performed appropriately between storage nodes without going through a server.

[0124] 10 can be applied to this embodiment. The method for calculating the IO performance upper limit value in this embodiment is the same as the calculation method in embodiment 1 or embodiment 2, but the target for setting the IO performance upper limit value in this embodiment is different from the target for setting the IO performance upper limit in embodiment 1. In other words, the IO performance upper limit value is set in units of storage node or volume, or the minimum value of multiple IO performance upper limit values ​​can be selected.

[0125] 14 is a diagram illustrating an aspect of data copying according to an embodiment of the present specification. Storage node 3A holds logical volumes 347A and 347B. Storage node 3B holds logical volumes 347C and 347D. Server 2A, which holds logical volumes 347A, 347B, and 347C in the production environment, accesses logical volumes 347A, 347B, and 347C. Server 2B accesses logical volume 341D.

[0126] In this embodiment, data in logical volumes 347A, 347B, and 347C of the production system is copied to the destination storage nodes 3F and 3G via the network between the storage nodes, without going through a server. Specifically, the logical volumes 347A and 347B are copied to logical volumes 348A and 348B of the storage node 3F. The logical volume 347C is copied to logical volume 348C of the storage node 3G.

[0127] In this embodiment, an IO performance upper limit value is determined for data copying of logical volumes 347A, 347B, and 347C. In the configuration example shown in Fig. 14, it is assumed that the destination storage nodes 3F and 3G have sufficient consumable IO performance. It is also assumed that an IO performance upper limit value can be set on a volume-by-volume basis.

[0128] The management system 1 determines an IO performance upper limit value for reading data from each of the copy source logical volumes 347A, 347B, 347C. As the IO performance upper limit value, an upper limit value for throughput (MB / s) including read and write or read throughput (MB / s) may be calculated.

[0129] 14, the consumable IO performance of storage node 3A is 400 MB / s. Storage node 3A reads data from two logical volumes 347A and 347B. The consumable IO performance of storage node 3A, 400 MB / s, is distributed proportionally between the two logical volumes 347A and 347B, and the IO performance upper limit (copy upper limit) for each is determined to be 200 MB / s.

[0130] The consumable IO performance of the storage node 3B is 100 MB / s. The consumable IO performance of the storage node 3B, 100 MB / s, is allocated to the logical volume 347C, and the IO performance upper limit (copy upper limit) is set to 100 MB / s.

[0131] The management system 1 may determine the IO performance upper limit value for the copy destination volumes 348A, 348B, 348C. The IO performance may be write throughput or throughput including read and write.

[0132] The IO performance upper limit may be set for each storage node instead of for each volume. Also, an IO performance upper limit may be set for a group of volumes associated with one application. In this case, as in the second embodiment, the smallest IO performance upper limit of any volume in the group of volumes is determined as the copy upper limit. Example 6

[0133] Another embodiment of copying data from a volume in a storage system including multiple storage nodes will be described below. Differences from the first embodiment will be mainly described below. In this embodiment, a volume group is created. The management system 1 groups multiple volumes (logical volumes or snapshots) and determines an upper limit for IO for the entire group. This enables appropriate copy processing on a group-by-group basis.

[0134] The management system 1 detects a combination of volumes to be copied, which are associated with one application and reside on the same storage node. The management system 1 groups the volumes in this combination and determines an IO performance upper limit for the group based on the consumable IO performance of each storage node. If the application is a database, volumes that store data from the same database and are located on the same storage node are grouped together.

[0135] 15 shows an example of grouping volumes. In storage node 3A, logical volumes 331A and 331B are grouped, and therefore snapshots 332A and 332B to be copied are also grouped. For group A, 400 MB / s is determined as the upper limit of the consumable IO performance of storage node 3A. The management system 1 can obtain information for determining groups from the managed application server configuration information 240, managed volume information 210, and managed snapshot information 220. <Other Examples>

[0136] When the source volume is migrated to another storage node, the management system 1 may recalculate the IO performance upper limit value for that volume. The recalculation of the IO performance upper limit values ​​for the source node and the destination node may be performed in the same manner as in the other embodiments described above. Information on the source and destination storage nodes of the volume is included in management information (not shown) of the management system 1. The configuration example of the sixth embodiment also regroups volumes in the source storage node and the destination storage node. In the above embodiments, the IO limit unit and the IO limit value are not limited to the above examples. IOPS may be used.

[0137] The present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, or to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.

[0138] Furthermore, the above-mentioned components, functions, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. Furthermore, the above-mentioned components, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the programs, tables, and files that realize each function can be stored in a memory, a recording device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card or SD card.

[0139] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be assumed that almost all components are interconnected. [Explanation of symbols]

[0140] 3 Storage Nodes 4. Control Node 2 Server 21 Relational Database Management System 1 Management System 11 processors 12 Memory 13 Auxiliary storage device 14 Network Interface 15 Input Devices 16 Output Devices 121 Controlled Information Collection Programs 122 Data copy performance upper limit calculation program 123 Performance upper limit setting instruction program 200 Managed Storage Cluster Information 210 Managed Volume Information 220 Managed Snapshot Information 230 Managed Storage Monitoring Information 240 Managed application server configuration information 250 Managed Data Copy Process Configuration Information

Claims

1. A management system for managing a storage system, one or more processors; one or more storage devices; the storage system includes a plurality of nodes; The one or more storage devices include: Node performance information indicating information on the maximum performance of each of the plurality of nodes; volume information indicating information on volumes provided by each of the plurality of nodes; monitoring information indicating load information of each of the plurality of nodes; application information indicating information of an application that accesses the volume; data copy process information indicating a relationship between the application and a data copy process; Store The one or more processors: Identifying a target node that provides a target volume for the data copy process by referring to the data copy process information, the application information, and the volume information; determining a consumable IO performance value of the target node based on the node performance information and the monitoring information; a management system that determines an upper limit of IO performance for the data copy process based on the consumable IO performance value of the target node.

2. The management system according to claim 1, The one or more processors present the IO performance upper limit value to a user.

3. The management system according to claim 1, The one or more processors set the IO performance upper limit value in the storage system.

4. The management system according to claim 1, A management system in which the one or more processors determine the IO performance upper limit value in the data copy process on a volume-by-volume basis.

5. The management system according to claim 1, The one or more processors determine the IO performance upper limit value for the data copy process.

6. The management system according to claim 1, The one or more processors: determining a group of volumes of the same application and the same node by referring to the application information and the volume information; A management system that determines the IO performance upper limit value in the data copy process for each group.

7. The management system according to claim 1, The one or more processors: In a data copy process via a server that executes the application, a consumable IO performance value of the server is calculated; a management system that determines the IO performance upper limit value in the data copy process based on the consumable IO performance value of the target node and the consumable IO performance value of the server.

8. The management system according to claim 1, The one or more processors: In a data copy process for a copy destination node of the storage system, a consumable IO performance value of the copy destination node is calculated based on the node performance information and the monitoring information; a management system that determines an IO performance upper limit value for the target node based on a consumable IO performance value of the target node and a consumable IO performance value of the copy destination node.

9. The management system according to claim 1, The one or more processors: In the data copy process, a consumable IO performance value of a node on which a volume for redundancy of the target volume is arranged is calculated based on the node performance information and the monitoring information; A management system that determines an IO performance upper limit value for the target node based on a consumable IO performance value of the target node and a consumable IO performance value of a node on which a volume for making the target volume redundant is located.

10. The management system according to claim 1, The one or more processors: In a data copy process for a copy destination node of the storage system, a consumable IO performance value of a node on which a volume for redundancy of the copy destination volume is arranged is calculated based on the node performance information and the monitoring information; a management system that determines an IO performance upper limit value for the copy destination node based on a consumable IO performance value of a node on which a volume for making the copy destination volume redundant is located;

11. The management system according to claim 1, A management system wherein the one or more processors, after a data copy process of volume migration, recalculate an IO performance upper limit value of the data copy process for the target node and the volume migration destination node.

12. A method for managing a storage system by a management system, comprising: the storage system includes a plurality of nodes; The management system includes: Node performance information indicating information on the maximum performance of each of the plurality of nodes; volume information indicating information on volumes provided by each of the plurality of nodes; monitoring information indicating load information of each of the plurality of nodes; application information indicating information of an application that accesses the volume; data copy process information indicating a relationship between the application and a data copy process; Store The management method includes: Identifying a target node that provides a target volume for the data copy process by referring to the data copy process information, the application information, and the volume information; determining a consumable IO performance value of the target node based on the node performance information and the monitoring information; A management method for determining an upper limit of IO performance for the data copy process based on a consumable IO performance value of the target node.