STORAGE SYSTEM AND METHOD FOR QoS MANAGEMENT IN STORAGE SYSTEM - Patent application

By creating virtual volume groups across multiple storage devices and dynamically adjusting QoS settings, the storage system addresses inefficiencies and operational cost issues, simplifying performance design and improving resource utilization.

JP7660468B2Active Publication Date: 2025-04-11HITACHI VANTARA LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021140747
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-31
Publication Date
2025-04-11
Estimated Expiration
2041-08-31

AI Technical Summary

Technical Problem

Existing storage systems struggle to provide Quality of Service (QoS) functions across multiple storage devices, leading to inefficiencies and increased operational costs due to fragmentation and the need for complex performance design.

Method used

A storage system that forms virtual volume groups across multiple storage devices, allowing for dynamic QoS setting adjustments and volume migration to ensure that QoS settings are met, thereby simplifying performance design and improving resource utilization.

Benefits of technology

The solution enables efficient use of storage resources, reduces operational costs, and enhances customer convenience by allowing performance design on a single virtual volume group basis, rather than multiple volume groups.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007660468000001
    Figure 0007660468000001
  • Figure 0007660468000002
    Figure 0007660468000002
  • Figure 0007660468000003
    Figure 0007660468000003
Patent Text Reader

Abstract

To implement a QoS function in a virtual volume group unit across a plurality of storage devices.SOLUTION: A management system 0100 of a storage system forms a virtual volume group 0001, using a plurality of volumes 0207 provided by a plurality of storage devices 0102 respectively, wherein QoS setting values including a data input / output quantity are set to the virtual volume group 0001, and IO processing capacities to be provided from the respective volumes 0207 to the virtual volume group 0001 are set so as to satisfy the QoS setting values, and the management system 0100 sets the IO processing capacities to be provided from the respective volumes 0207 to the virtual volume group 0001 on the basis of operation information of the respective volumes 0207.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a storage system and a QoS management method in a storage system. [Background technology]

[0002] In recent years, the use of STaaS (Storage-as-a-Service), a pay-per-use storage service, has been increasing in order to reduce the capital investment costs associated with the introduction of storage equipment. Customers who use STaaS do not pay for the purchase of storage equipment, but instead pay a fee according to the actual amount of usage for the storage service that inputs, outputs, and stores data.

[0003] On the other hand, storage vendors offering STaaS strive to improve the utilization efficiency of storage devices by accommodating as many customers as possible on a single storage device (by using the storage device for multi-tenancy) in order to reduce the costs of providing the service.

[0004] When multiple customers share a single device like this, technology is generally required to eliminate the impact between customers. In storage, a service level agreement (SLA) for IO processing capacity (IOPS (Input Output Per Second)) and response time is often concluded between the vendor and the customer, so even if one customer issues excessive IO requests, the impact is limited to that customer, and IO must be controlled so as not to violate the SLAs of other customers.

[0005] Some recent storage devices have a QoS (Quality of Service) function that allows you to set target response times and upper limits on IOPS for each volume or for each volume group that bundles multiple volumes. By using this QoS function to set target response times and upper limits on IOPS according to the SLA, you can easily guarantee the SLA.

[0006] Patent Document 1 also discloses a technology for guaranteeing SLA in a storage system consisting of multiple storage devices. According to Patent Document 1, in a storage system including multiple storage devices and a management computer, the management computer manages the amount of resources possessed by the storage devices and the amount of resources already allocated to existing volumes, and when a deployment request for a new volume is received from a customer, the management computer determines in advance whether or not it is possible to allocate the resources necessary to satisfy the SLA of the new volume without violating the SLA of the existing volume, thereby preventing violation of the SLA due to a lack of resources. By using this technology, the SLA can be guaranteed even in a storage system consisting of multiple storage devices. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] International Publication No. 2013 / 051056 Summary of the Invention [Problem to be solved by the invention]

[0008] The technology disclosed in Patent Document 1 allows a customer to set an SLA on a volume basis and guarantee it. However, in order for a customer to set an SLA on a volume basis, the customer needs to estimate the service level required on a volume basis. Specifically, the customer needs to design storage performance, such as estimating the IOPS required on a volume basis and the response time to be satisfied, according to higher-level application requirements and higher-level system requirements and business requirements. Such performance design requires a high level of specialized knowledge not only about storage but also about higher-level applications, etc., and is not something that a customer can easily perform.

[0009] On the other hand, when using the QoS function of a storage device, the SLA can be guaranteed for each volume group by setting the QoS for each volume group. With a volume group SLA, the customer only needs to estimate the IOPS required for the entire application and the response time to be met. Therefore, the performance design is less difficult than with a volume SLA that estimates these for each volume, and the customer's convenience is increased. However, the QoS function of a storage device is a function that controls IO within the storage device, and does not have the functionality to control IO across multiple storage devices when the storage system is expanded to multiple storage devices. In other words, the SLA guarantee using the QoS function of a storage device is limited to a single device, and scalability is low.

[0010] Below, we consider the problem caused by the lack of scalability by simply bundling multiple storage devices and operating them as one storage system. If a customer tries to deploy volumes that exceed the maximum storage capacity or IO processing capacity of a single storage device, the SLA cannot be guaranteed with only one volume group because the limit of a single device is exceeded. Therefore, the customer's deployment request is met by creating volume groups for each of the multiple storage devices and assigning multiple volume groups to one customer. However, the volume group of each storage device controls IO so that each storage device independently satisfies the QoS setting of the volume group, so the customer needs to perform performance design for each of the multiple volume groups. In other words, the lack of scalability impairs customer convenience.

[0011] In the above example, we have described a pattern in which only one volume group exceeds the limit of a single storage device, but in reality, multiple volume groups for multiple customers can exist in one storage device. Therefore, even if there is not a single huge volume group, the problem of the volume group being divided into multiple groups can easily occur. In addition, since the storage capacity and IOPS used by each volume group differ from one volume group to another, there is also the problem of fragmentation and fragmentation occurring because the storage capacity and IO processing capacity of the entire storage device cannot be used up neatly. This leads to a decrease in the utilization efficiency of the storage device and causes an increase in the operating costs of STaaS.

[0012] The present invention has been made in consideration of the above circumstances, and has as its object to provide a storage system and a QoS management method in a storage system that can realize a QoS function in units of virtual volume groups spanning a plurality of storage devices. [Means for solving the problem]

[0013] In order to solve the above problems, a storage system according to one aspect of the present invention is a storage system having a plurality of storage devices each having a processor, which provide volumes and process data input / output to the volumes, a storage device which physically stores the data, and a management system which manages the plurality of storage devices, wherein the management system forms a virtual volume group using a plurality of volumes provided by the plurality of storage devices, a QoS setting value including the amount of data input / output is set for the virtual volume group, and the IO processing capacity provided from each volume to the virtual volume group is set so as to satisfy the QoS setting value, and the management system sets the IO processing capacity provided from each volume to the virtual volume group based on operation information of each volume. Effect of the Invention

[0014] According to the present invention, it is possible to realize a storage system capable of realizing a QoS function in units of virtual volume groups spanning a plurality of storage devices, and a QoS management method in a storage system. Other objects, configurations and effects than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]

[0015] [Figure 1] 1 is a diagram showing an overview of a storage system according to an embodiment. [Diagram 2] FIG. 1 is a diagram illustrating an example of the configuration of a storage system according to an embodiment. [Diagram 3] 1 is a diagram illustrating an example of the configuration of a storage device in a storage system according to an embodiment. [Figure 4] FIG. 2 is a diagram illustrating an example of a memory configuration of a storage device in the storage system according to the embodiment. [Diagram 5] 1 is a diagram illustrating an example of the configuration of a management system in a storage system according to an embodiment. [Figure 6] 4 is a diagram showing an example of the configuration of capacity pool control information in the storage system according to the embodiment; FIG. [Figure 7] 4 is a diagram showing an example of the configuration of volume control information in the storage system according to the embodiment; FIG. [Figure 8] 4 is a diagram showing an example of the configuration of a path management table in the storage system according to the embodiment; [Figure 9] 4 is a diagram showing an example of the configuration of volume group control information in the storage system according to the embodiment; FIG. [Figure 10] 4 is a diagram showing an example of the configuration of storage device operation information in the storage system according to the embodiment; FIG. [Figure 11] 4 is a diagram showing an example of the configuration of volume operation information in the storage system according to the embodiment; FIG. [Figure 12] 4 is a diagram showing an example of the configuration of contract management information in the storage system according to the embodiment; FIG. [Figure 13] 4 is a diagram showing an example of the configuration of device management information in the storage system according to the embodiment; FIG. [Figure 14] 1 is a diagram showing an example of the configuration of virtual volume group management information in a storage system according to an embodiment. FIG. [Figure 15] 4 is a diagram showing an example of the configuration of volume performance information history information in the storage system according to the embodiment; FIG. [Figure 16] 1 is a diagram showing an example of the configuration of storage device information history information in a storage system according to an embodiment; [Figure 17] 11 is a sequence diagram showing an example of a storage device operation information transmission process in the storage system according to the embodiment. FIG. [Figure 18] 11 is a sequence diagram showing an example of an operation information receiving process of a management system in the storage system according to the embodiment; FIG. [Figure 19] 13 is a flowchart showing an example of a new volume deployment process by a management terminal in the storage system related to the embodiment. [Figure 20] 13 is a flowchart illustrating an example of a new volume deployment process performed by a management operation control unit of the management system according to the embodiment. [Figure 21] 13 is a flowchart illustrating an example of a new volume deployment preparation process performed by a management operation control unit of the management system according to the embodiment. [Figure 22] 13 is a flowchart showing an example of a QoS initial adjustment process performed by a QoS initial adjustment unit of the management system according to the embodiment. [Figure 23] 11 is a diagram showing an example of the overall flow of a QoS regular adjustment process performed by a QoS regular adjustment unit of the management system according to the embodiment; FIG. [Figure 24] 11 is a diagram showing an example of a QoS regular adjustment processing flow by a QoS regular adjustment unit of the management system according to the embodiment. FIG. [Diagram 25] 11 is a diagram showing an example of a processing flow of volume migration by a QoS regular adjustment unit of the management system according to the embodiment. FIG. [Figure 26]13 is a diagram showing an example of a preparation processing flow for volume migration by a QoS regular adjustment unit of the management system according to the embodiment; FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. However, the following description and drawings are merely examples for explaining the present invention, and have been omitted or simplified appropriately for clarity of explanation, and do not limit the technical scope of the present invention.

[0017] In the following explanation, various types of information will be explained using expressions such as "table," "list," and "queue," but the various types of information may be expressed in data structures other than these. Therefore, to indicate that it does not depend on the data structure, it may be simply called "information." When explaining the contents of various types of information, expressions such as "identification information," "identifier," "name," "ID," and "number" will be used, but these are interchangeable.

[0018] In the following explanation, the "program" may be used as the subject, but since a program is executed by a processor (e.g., a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit)) to perform the defined processing while appropriately using storage resources (e.g., memory) and interface devices (e.g., a communication device), the explanation may also be based on the processor. Similarly, the subject of the processing performed by executing a program may be, for example, a controller, device, system, computer, node, storage device, server, client, or host having a processor. In addition, part or all of the program may be processed using hardware circuits.

[0019] The various programs may be installed in each computer by a program distribution server or a storage medium. In the following description, two or more programs may be realized as one program, and conversely, one program may be realized as two or more programs.

[0020] In the drawings explaining the embodiments, the same reference numerals are used to designate parts having the same functions, and repeated explanations thereof will be omitted.

[0021] In addition, in the following description, when describing elements of the same type without distinguishing between them, reference signs (or common signs among the reference signs) may be used, and when describing elements of the same type with distinction between them, the identification numbers (or reference signs) of the elements may be used.

[0022] In order to facilitate understanding of the invention, the position, size, shape, range, etc. of each component shown in the drawings may not represent the actual position, size, shape, range, etc. Therefore, the present invention is not necessarily limited to the position, size, shape, range, etc. disclosed in the drawings.

[0023] The storage system of this embodiment has the following configuration, as an example.

[0024] That is, in the storage system of this embodiment, which is made up of multiple storage devices and a management system, multiple volume groups created in each storage device are virtually managed as one virtual volume group, and a QoS function is realized for each virtual volume group. The customer performs performance design for this virtual volume group and then sets the SLA and QoS. The management system monitors the operation information of the actual volume groups that make up the virtual volume group, and dynamically adjusts the QoS settings of each volume group and performs volume migration between volume groups so as to satisfy the QoS settings for the virtual volume group set by the customer.

[0025] According to this embodiment, even in a storage system composed of multiple storage devices, the customer only needs to design the performance for a single virtual volume group, improving the convenience of the customer's STaaS usage. In addition, by creating one virtual volume group from multiple volume groups, it becomes possible to use the storage capacity and IOPS of each storage device without waste, making it possible to increase the utilization efficiency of the storage devices, which ultimately leads to a reduction in the operation costs of STaaS.

[0026] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.

[0027] First, an overview of an embodiment of the present invention will be described with reference to Fig. 1. Details of each component and each process will be described later with reference to other figures.

[0028] 1 includes a plurality of storage devices 0102, a management system 0100, and a management terminal 0101. The storage devices 0102, the management system 0100, and the management terminal 0101 are connected to a management network 0104.

[0029] The storage device 0102 provides a logical storage area called a volume 0207 to the host 0103 (see FIG. 2). In this embodiment, the storage device 0102 has a QoS function in units of a volume group 0208 in which one or more volumes 0207 are grouped, and can limit the number of IOs (IOPS=IO Per Second) that the host 0103 can issue to the storage device 0102 per unit time in units of volume group 0208.

[0030] The management system 0100 is composed of an operation information analysis unit 0405, a storage device communication unit 0404, a QoS regular adjustment unit 0403, a QoS initial adjustment unit 0402, and a management operation control unit 0406, and in addition to these, has contract management information 0407, virtual volume group management information 0409, etc. as management information 401 used for various processes.

[0031] The management system 0100 virtually bundles and manages volume groups 0208 of a plurality of storage devices 0102 as a virtual volume group 0001. Then, by dynamically adjusting the QoS settings of each volume group 0208 constituting the virtual volume group 0001, a QoS function is provided for each virtual volume group 0001 to the administrator and customers of the storage system 0000. An example of a means for realizing the QoS function for each virtual volume group 0001 in steps S1 to S9 will be described below.

[0032] Step S1 is a communication process between the management system 0100 and the storage device 0102. Although details will be described later, the management network 0104 may include not only a LAN (Local Area Network) in a data center but also a WAN (Wide Area Network) such as the Internet, so that communication tunneling process and the like are performed to ensure safe communication between the management system 0100 and the storage device 0102. The storage device communication unit 0404 is responsible for termination process on the management system 0100 side in this tunneling. Therefore, basically all communication with the storage device 0102 is performed via the storage device communication unit 0404.

[0033] Step S2 is a process of instructing the operation information analysis unit 0405 to analyze the operation information received from the storage device 0102 via the storage device communication unit 0404. Step S3 is a process of performing various analyses such as data shaping, aggregation, noise removal, and downsampling on the operation information instructed in step S2, and then storing the data in the management system 0100 as management information.

[0034] Step S4 is a process in which the administrator or the customer of the storage system 0000 instructs the management operation control unit 0406 of the management system 0100 to deploy the new volume 0207 via the management terminal 0101. The management operation control unit 0406 performs a process of updating management information on the management system 0100 based on the received instruction to deploy the new volume 0207 (step S5), a process of instructing the storage device 0102 to deploy the new volume 0207 via the storage device communication unit 0404 (step S6), and a process of instructing the QoS initial adjustment unit 0402 to perform initial adjustment of the QoS setting for the new volume 0207 (step S7). The QoS initial adjustment unit 0402 performs a process of adjusting the QoS setting of the new volume 0207 based on the management information on the management system 0100 (step S8), and a process of reflecting the adjusted QoS setting value in the storage device 0102 via the storage device communication unit 0404 (step S9).

[0035] Step S10 is a process of adjusting the QoS settings of the existing volume 0207 by the QoS regular adjustment unit 0403, which is periodically executed on the management system 0100. Step S11 is a process of reflecting the adjustment results of the QoS settings in the storage device 0102 via the storage device communication unit 0404.

[0036] By the above-mentioned processing, the QoS function is realized for each virtual volume group 0001 made up of a plurality of volume groups 0208 by a plurality of storage devices 0102.

[0037] 2 is a diagram showing an example of the configuration of a storage system 0000 according to this embodiment. The storage system 0000 is made up of one or more storage devices 0102, one or more hosts, one or more management terminals 0101, and a management system 0100.

[0038] The storage device 0102, the management system 0100, and the management terminal 0101 are connected via a management network 0104 and can communicate with each other. The management network 0104 is realized by any communication line such as optical fiber, LTE (Long Term Evolution), 5G (fifth generation mobile communication system), or wireless LAN (Local Area Network) or a combination thereof, and may include not only a LAN (Local Area Network) closed within a data center, but also a WAN (Wide Area Network) such as the Internet, or a virtual network inside a computer.

[0039] The management system 0100 is a system that assists an administrator of the storage system 0000 in managing the operation of the storage system 0102 by collecting operation information from the storage device 0102 and adjusting the settings of the storage device 0102 based on the collected operation information, and receives instructions from a customer via a management terminal 0101 and controls the storage device 0102 based on the instructions. This management system 0100 generally operates on a cloud prepared by a vendor that provides the storage device 0102 or STaaS. However, it may be configured to operate on, for example, a private cloud prepared by a customer or a normal server device. Also, the management system 0100 may be configured to operate inside the storage device 0102.

[0040] The management terminal 0101 is a device that enables an administrator or a customer of the storage system 0000 to give instructions to the storage system 0000, and is specifically a laptop computer, tablet, smartphone, or the like.

[0041] Management software for managing the storage system 0000 is installed in the management terminal 0101, and an administrator or customer of the storage system 0000 communicates with the management system 0100 via the management software to issue configuration change instructions, such as deploying a new volume 0207, and monitor whether the storage system 0000 and storage device 0102 are operating normally.

[0042] Although not specifically mentioned in this embodiment, the management terminal 0101 may directly issue configuration change instructions to the storage device 0102 and may monitor the storage device 0102 .

[0043] The management software may be a Web application. In this case, the administrator or customer of the storage system 0000 performs various processes by accessing the Web application from a Web browser or the like installed in the management terminal 0101. The management system 0100 also has a Web server function and distributes programs that constitute the management software in response to access from the management terminal 0101.

[0044] The host 0103 is a computer for performing various business processes by executing installed application programs. The host 0103 transmits a data read request or a data write request to the storage device 0102 in response to a request from the application program being executed.

[0045] As shown in the figure, the host 0103 is connected to the storage device 0102 via a storage network 0105. The storage network 0105 is generally a storage area network (SAN) using a fibre channel (FC), but a network using iSCSI, SCSI RDMA Protocol (SRP), Non-Volatile Memory Express over Fabrics (NVMeoF), or the like may also be configured using Ethernet, InfiniBand, or the like.

[0046] The storage device 0102 is a device that provides a storage area for reading and writing data to the host 0103. The storage device 0102 is connected to the management system 0100 and the management terminal 0101 via a management network 0104, and is also connected to the host 0103 via a storage network 0105.

[0047] 3 is a diagram showing an example of the configuration of the storage device 0102 in this embodiment. The storage device 0102 is a device that provides a storage area for reading and writing data to the host 0103. The storage device 0102 is composed of one or more CPUs 0202, one or more memories 0203, one or more FE-IFs (Frontend Interfaces) 0200, one or more MGMT-IFs (Management Interfaces) 0201, one or more BE-IFs (Backend Interfaces) 0204, and one or more physical disks 0205, which are connected to each other via a bus inside the storage device 0102. The CPU 0202 is a control device that controls the operation of the storage device 0102, and executes various programs stored in the memory 0203 to perform various processes.

[0048] The memory 0203 stores, for example, the various programs described above, control information required to execute various processes, and operation information such as CPU utilization rate and IO volume. The memory 0203 is generally configured with DRAM (Dynamic RAM (Random Access Memory)) and connected using SDRAM (Synchronous DRAM) or its successor memory standard, but may be configured using storage media such as MRAM (Magnetoresitive RAM), ReRAM (Resistive RAM), PCM (Phase Change MEmory), etc.

[0049] The FE-IF0200 is a network interface for connecting to the host 0103 via the storage network 0106 described above, and includes a network interface conforming to the communication standard of the storage network 0106. Although PCI Express is generally used to connect the CPU 0202 and the FE-IF0200, other communication standards may also be used.

[0050] The MGMT-IF0201 is a network interface for connecting to the management system 0100 or the management terminal 0101 via the above-mentioned management network 0104, and includes a network interface conforming to the communication standard of the management network 0104. Although PCI Express is generally used to connect the CPU0202 and the MGMT-IF0201, other communication standards may also be used.

[0051] The physical disk 0205 is a device having a physical storage area, and is configured from a non-volatile storage device such as a hard disk drive (HDD), a solid state drive (SSD), a storage class memory (SCM), or an optical disk, and is connected to the BE-IF 0204 by an interface such as a serial attached SCSI (SAS), a serial ATA (SATA), or a non-volatile memory express (NVMe). Although not shown, a configuration may be adopted in which a plurality of BE-IFs 0204 are connected to one physical disk 0205, or conversely, a configuration in which a plurality of physical disks 0205 are connected to one BE-IF 0204. Although PCI Express is generally used to connect the CPU 0202 and the BE-IF 0204, other communication standards may be used.

[0052] Within the storage device 0102, one or more capacity pools 0206 are configured by logically bundling one or more physical disks 0205. The technology for bundling the physical disks 0205 may be JBOD (Just a Bunch Of Disks), which simply connects the storage areas of the physical disks 0205, or a high-reliability technology such as RAID (Redundant Arrays of Independent Disks).

[0053] The storage device 0102 configures one or more volumes 0207 by carving out a portion of storage area from the capacity pool 0206. The volume 0207 is a storage area that the storage device 0102 provides to the host 0103, and stores data written from the host 0103. The volume 0207 itself does not have a physical storage area, and data written to the volume 0207 by the host 0103 is written to a drive via the capacity pool 0206.

[0054] A volume group 0208 is a type of management unit for volumes 0207 that is composed of one or more volumes 0207. In this embodiment, the storage device 0102 has a QoS function for each volume group 0208, and can limit the number of IOs (IOPS=IO Per Second) that the host 0103 can issue to the storage device 0102 per unit time for each volume group 0208.

[0055] Although details are omitted, these data input / output processes may include a thin provisioning function that allocates physical storage space only to the area where IO occurs, a data compression function that compresses data written from the host 0103 before storing it on the drive, and a deduplication function that detects and removes duplicate data within the storage device 0102.

[0056] The processing of the storage device 0102 when a data write request or read request is received from the host 0103 is not related to the essence of the present invention, so further detailed explanation will be omitted. In the following explanation, unless otherwise specified, the processing flow and data structure related to these data input / output processes will be omitted, but it is assumed that they are configured to perform appropriate processing.

[0057] In addition, although not shown, the storage device 0102 may be equipped with a non-volatile storage device, such as an HDD, SSD, or eMMC (embedded multi media card), for storing an OS (Operating System) image and operation logs of the storage device 0102.

[0058] The host 0103 and the storage device 0102 do not necessarily have to be physical components, and may be configured using virtualization technologies such as a virtual machine or a container. In addition, using these virtualization technologies, the virtualized host 0103 and storage device 0102 may coexist in one physical device, and a virtual switch may be used as the storage network 0106.

[0059] 4 shows a storage device control program 0300, control information 0301, and operation information 0302 stored in the memory 0203 of the storage device 0102. The storage device control program 0300 is executed by the CPU 0202 of the storage device 0102, and refers to or updates the control information 0301 and operation information 0302 depending on the processing. Note that in reality, storage device control programs 0300, control information 0301, operation information 0302 other than those shown in the figure, and even part of the data read and written by the host 0103, such as a cache, may also be stored, but only those related to this embodiment are shown.

[0060] The IO control unit 0303 is a program for providing the volume 0207 to the host 0103 and processing a data input request for the volume 0207. The IO control unit 0303 also performs operations such as deploying a new volume 0207, creating a new volume 0207 group, and changing the QoS setting value of the volume group 0208 in accordance with an operation instruction for the storage device 0102 received from the management system 0100 via the management system communication unit 0305. Furthermore, when the IO control unit 0303 receives an instruction for volume migration between the storage devices 0102, it performs operations such as transferring data and control information 0301 stored in the volume 0207 from the migration source storage device 0102 to the migration destination storage device 0102 via the storage network 0106 or the management network 0104 as necessary. 3, the process of bundling a plurality of physical disks 0205 to configure a capacity pool 0206, and the process of configuring a volume 0207 from the capacity pool 0206. While performing these processes, the IO control unit 0303 refers to or updates the control information 0301 as necessary.

[0061] The information collection unit 0304 is a program that monitors the operation status of the IO control unit 0303, and periodically stores the monitoring results in the operation information 0302. In addition, the operation information 0302 is transmitted to the management system 0100 via the management system communication unit 0305.

[0062] The management system communication unit 0305 is a program for the storage device 0102 to communicate with the management system 0100. In this embodiment, it is assumed that the management system 0100 is constructed in a cloud and uses an unsafe communication path such as the Internet as the management network 0104. In addition, depending on the environment, it is assumed that the direction of communication is limited to one direction from the storage device 0102 to the management system 0100 due to a firewall in a data center. Therefore, the management system communication unit 0305 tunnels the communication by using a technology such as encryption or VPN (Virtual Private Network) as necessary, and establishes a communication path between the management system 0100 and the storage device 0102. In addition, when any instruction is received from the management system 0100, the management system communication unit 0305 starts an appropriate program according to the instruction, or relays the instruction to a program that has already been started. For example, when an instruction to deploy a new volume 0207 is received, the management system communication unit 0305 relays a creation request to the IO control unit 0303.

[0063] The control information 0301 is made up of capacity pool control information 0306 , volume control information 0307 , path control information 0308 , and volume group control information 0309 .

[0064] The capacity pool control information 0306 is control information related to the capacity pool 0206, and is composed of information such as the capacity of the capacity pool 0206 and the drives that constitute the capacity pool 0206. The volume control information 0307 is control information related to the volume 0207, and is composed of information such as information on the capacity pool 0206 in which the data of the volume 0207 is stored, and the capacity of the volume 0207. The path control information 0308 is control information related to the connection between the host 0103 and the volume 0207, and is composed of information such as the WWN and LUN of the host 0103 connected to the volume 0207. The volume group control information 0309 is control information related to the QoS function for each volume group 0208, and is composed of information such as information on the volumes 0207 that constitute the volume group 0208, and the QoS setting value of the volume group 0208.

[0065] The performance information 0302 is made up of storage device performance information 0310 and volume performance information 0311. The storage device performance information 0310 is performance information related to the entire storage device 0102, and stores information such as CPU utilization rate and memory utilization rate. The volume performance information 0311 is performance information related to the volume 0207, and stores information such as the average IOPS, average transfer speed, and average response of the volume 0207.

[0066] Although not shown, the memory 0203 may also store operation information for each component that makes up the storage device 0102, such as the host 0103, physical disk 0205, FE-IF, BE-IF, and management-IF, as well as information used for communication between the management system 0100 and the storage device 0102.

[0067] 5 is a diagram showing the configuration of the management system 0100. The management system 0100 runs on some kind of computer in a cloud prepared by a storage device 0102 or a vendor that provides STaaS. This computer may be a physical server, a virtual machine, or a container. Furthermore, the management system 0100 may be configured using a service provided by a cloud vendor that executes a program without being aware of the computing environment, such as FaaS (Function-as-a-Service) or Serverless Computing.

[0068] The management system 0100 is composed of various control programs 0400 and various management information 0401. In addition, although not shown, it is equipped with some kind of interface that is connected to the management network 0104 and communicates with the management terminal 0101 and the storage device 0102. The control program 0400 is held in some kind of storage device on the management system 0100, and is executed in response to communication from the management terminal 0101 or the storage device 0102, a time, or the like. The management information 0401 is held in some kind of storage device on the management system 0100, and the control program reads and writes information as necessary.

[0069] The QoS initial adjustment unit 0402 is a program for adjusting the QoS setting value for the volume group 0208 including the newly deployed volume 0207. The QoS initial adjustment unit 0402 is called and executed by the management operation control unit 0406. Since the newly deployed volume 0207 does not have the operation information 0302, the QoS initial adjustment unit 0402 adjusts the QoS setting value when the new volume 0207 is deployed. Thereafter, an instruction is given to the storage device 0102 via the storage device communication unit 0404 to reflect the adjusted QoS setting value.

[0070] The QoS regular adjustment unit 0403 is a program for periodically adjusting the QoS setting values ​​of existing volume groups 0208. The QoS regular adjustment unit 0403 is executed periodically, triggered by the current time, and adjusts the QoS setting values ​​of each volume group 0208. Thereafter, it instructs the storage device 0102 via the storage device communication unit 0404 to reflect the adjusted QoS setting values.

[0071] The storage device communication unit 0404 is a program for the management system 0100 to communicate with the storage device 0102, similar to the management system communication unit 0305 in the storage device 0102, and tunnels communication using technologies such as encryption and VPN (Virtual Private Network) as necessary to establish a communication path between the management system 0100 and the storage device 0102. When the storage device communication unit 0404 receives some information from the storage device 0102, it starts an appropriate program depending on the type of information, or relays the information to a program that has already been started. For example, when the storage device communication unit 0404 receives the operation information 0302 of the storage device 0102, it starts the operation information analysis unit 0405 and instructs it to analyze the received operation information.

[0072] The performance information analysis unit 0405 is a program that performs various analyses, such as data formatting and aggregation, on the performance information 0302 received from the storage device 0102, and updates the management information 0401 based on the results of the analyses.

[0073] The management operation control unit 0406 is a program that controls the storage device 0102 in response to storage operation instructions received from the management terminal 0101 via the management network 0104. The control of the storage device 0102 is realized by issuing operation instructions to the storage device 0102 via the storage device communication unit 0404. At this time, the management information 0401 is referred to or updated as necessary. Depending on the operation content, another program may be started and the processing may be handed over to the started program.

[0074] The management information 0401 is information used by the management system 0100 to manage the storage device 0102 , and is made up of contract management information 0407 , device management information 0408 , virtual volume group management information 0409 , volume performance information history information 0410 , and storage device performance information history information 0411 .

[0075] The contract management information 0407 is made up of information on SLA with the customer, such as contract capacity, contract performance, RAID level, etc. The device management information 0408 is made up of information for managing the storage device 0102, such as operation information of the storage device 0102, total capacity and used capacity for each capacity pool 0206, and RAID level. The virtual volume group management information 0409 is made up of information for managing the virtual volume group 0001, such as the used capacity and operation information of the volume group 0208 that constitutes the virtual volume group 0001, and QOS setting values. The volume operation information history information 0410 is made up of the chronological history of the operation information for each volume 0207. The storage device operation information history information 0411 is made up of the chronological history of the operation information for each storage device 0102.

[0076] Although not shown in the figure, a customer or an administrator of the storage system 0000 may also store information regarding authentication and authorization for logging in to the management system 0100, and information used for communication between the management system 0100 and the storage device 0102.

[0077] Various types of information for controlling the storage system 0000 according to this embodiment will be described below.

[0078] 6 is a diagram showing information held by the capacity pool control information 0306. The capacity pool control information 0306 indicates the capacity of the capacity pool 0206 and information on the drives that make up the capacity pool 0206. Each entry of the capacity pool control information 0306 includes a capacity pool ID 0500, a total capacity 0501, a used capacity 0502, a physical disk ID 0503, and a RAID level 0504.

[0079] The capacity pool ID 0500 is an ID for uniquely identifying the capacity pool 0206 within the storage device 0102. In the figure, the numbers are consecutive, but they do not have to be consecutive, and the ID may use characters other than numbers. The total capacity 0501 is information indicating the capacity of data that can be stored in the capacity pool 0206. The used capacity 0502 is information indicating the capacity of data already stored in the capacity pool 0206. The physical disk ID 0503 is information indicating the physical disk 0205 that constitutes the capacity pool 0206. Although numbers are used in the figure, a character string such as an address indicating the position of the physical disk 0205 on the bus may be used as the ID. The RAID level 0504 is information indicating the method used to bundle the physical disks 0205 that constitute the capacity pool 0206. RAID6 and RAID5 in the figure are types of high reliability technologies described above, and have different fault tolerance.

[0080] In the example shown in the figure, the capacity pool 0206 with the capacity pool ID 0500 of "0" bundles the physical disk IDs 0503 of "0, 1, 2, 3, 4" using RAID6, and the total capacity 0501 is "100 TB," of which "30 TB" has been used.

[0081] When a new storage device 0102 is introduced, the administrator of the storage system 0000 adds an entry to the capacity pool control information 0306 in accordance with the hardware configuration of the storage device 0102. As for the used capacity 0502, when a new volume 0207 is deployed, the IO control unit 0303 adds the capacity of the volume 0207.

[0082] 7 is a diagram showing information held by the volume control information 0307. The volume control information 0307 is control information related to the volume 0207, and indicates information such as information on the capacity pool 0206 in which the data of the volume 0207 is stored, and the capacity of the volume 0207. Each entry of the volume control information 0307 includes a volume ID 0600, a pool ID 0601, and a capacity 0602.

[0083] The volume ID 0600 is an ID for uniquely identifying the volume 0207 within the storage device 0102. Although consecutive numbers are used in the figure, they do not have to be consecutive numbers and an ID using characters other than numbers may also be used. The capacity pool ID 0601 is information indicating the capacity pool 0206 that is the data storage destination for the volume 0207. The capacity 0602 is information indicating the amount of data that can be stored in the volume 0207.

[0084] In the example shown in the figure, the volume 0207, whose volume ID 0600 is "0", stores data in the capacity pool 0206, whose capacity pool ID 0601 is "0", and is capable of storing "100 GB" of data.

[0085] When the IO control unit 0303 receives a request to deploy a new volume 0207, an entry is added to the volume control information 0307 according to the configuration of the volume 0207 to be deployed.

[0086] 8 is a diagram showing information held by the path control information 0308. The path control information 0308 is control information related to the connection between the host 0103 and the volume 0207, and indicates information such as the WWN and LUN of the host 0103 connected to the volume 0207. Each entry of the path control information 0308 includes a volume ID 0700, a host WWN 0701, and a LUN 0702.

[0087] The host WWN 0701 is identification information unique to the HBA (Host Bus Adapter) of the host 0103, and is information used by the storage device 0102 to communicate with the host 0103. The host WWN 0701 shown in the figure is information used mainly when using the FC protocol with the host 0103, but if it supports other protocols, it stores information indicating the protocol and information necessary for communication of that protocol. The LUN (Logical Unit Number) 0702 is identification information used by the host 0103 to identify each individual volume 0207 when multiple volumes 0207 are assigned to one host 0103.

[0088] In the example shown in the figure, volume 0207, whose volume ID 0700 is "0", is connected to host 0103, which has an HBA whose WWN 0701 is "0011223344556677", and its LUN 0702 is "0".

[0089] When the IO control unit 0303 receives a request to deploy a new volume 0207 or a request to register a path, an entry is added to the path control information 0308 based on the content of the request.

[0090] 9 is a diagram showing information held by the volume group control information 0309. The volume control information 0307 is control information related to the volume 0207, and indicates information such as information on the capacity pool 0206 in which the data of the volume 0207 is stored, and the capacity of the volume 0207. Each entry of the volume control information 0307 includes a volume group ID 0800, a QoS setting 0801, and a volume ID 0802.

[0091] The volume group ID 0800 is an ID for uniquely identifying the volume group 0208 within the storage device 0102. In the figure, consecutive numbers are used, but they do not have to be consecutive numbers and an ID using characters other than numbers may also be used. The QoS setting 0801 is information indicating the upper limit of the amount of IO (IOPS) that the host 0103 can issue per unit time for the volume group 0208.

[0092] In the example shown in the figure, volume group 0208, whose volume group ID 0800 is "0", is composed of volumes whose volume IDs 0802 are "0" and "1", indicating that a maximum of "6k IOPS" in total can be issued to these volumes 0207.

[0093] The volume group control information 0309 adds an entry when the IO control unit 0303 receives a request to create a new volume group 0208. In addition, when a new volume 0207 is deployed or a volume migration is performed, a constituent volume ID 0802 is added or deleted, and when a request to reflect QoS settings is received, the QoS settings 0801 are updated according to the received setting value.

[0094] 10 is a diagram showing information held by the storage device operation information 0310. The storage device operation information 0310 is operation information related to the entire storage device 0102, and indicates information such as CPU usage rate and memory usage rate. The storage device operation information 0310 includes a CPU usage rate 1000 and a memory usage rate 1001.

[0095] The CPU usage rate 1000 is the percentage of time that the CPU 0202 constituting the storage device 0102 is executing processing per unit time. The memory usage rate 1001 is the percentage of the capacity of the memory 0203 constituting the storage device 0102 that is used to store some kind of data.

[0096] In the example shown in the figure, CPU usage 1000 is "40%" and memory usage 1001 is "60%."

[0097] In the storage device operation information 0310, the information collection unit 0304 monitors the IO control unit 0303 and periodically updates the CPU usage rate 1000 and the memory usage rate 1001.

[0098] 11 is a diagram showing information held by the volume performance information 0311. The volume performance information 0311 is performance information related to a volume 0207, and indicates information such as the average IOPS, average transfer speed, and average response of the volume 0207. Each entry of the volume performance information 0311 includes a volume ID 0900, an average IOPS 0901, an average transfer speed 0902, and an average response 0903.

[0099] The average IOPS 0901 is the average number of IOs (IOPS) issued per unit time by the host 0103 to the volume 0207. The average transfer speed 0902 is the average amount of data transferred by the IOs issued per unit time by the host 0103 to the volume 0207. The average response 0903 is the average time it takes for the storage device 0102 to return a response to the IOs issued by the host 0103 to the volume 0207 during a unit time.

[0100] In the example shown in the figure, volume 0207, whose volume ID 0900 is "0", is receiving an average of "3k IOPS" and "12 MB / s" of IO from host 0103, and it takes an average of "0.5 ms" to return a response to these IOs.

[0101] The volume performance information 0311 is generated by an information collection unit 0304 monitoring the IO control unit 0303 and periodically updating the average IOPS 0901 , average transfer speed 0902 and average response 0903 for each volume 0207 .

[0102] 12 is a diagram showing information held by the contract management information 0407. The contract management information 0407 indicates information related to SLAs with customers, such as contracted capacity, contracted performance, RAID level, etc. Each entry of the contract management information 0407 includes a customer ID 1100, a virtual volume group ID 1101, a contracted capacity 1102, a contracted performance 1103, and a contracted RAID level 1104.

[0103] The customer ID 1100 is an ID for uniquely identifying a customer who uses the storage system 0000. In the figure, consecutive numbers are used, but they do not have to be consecutive numbers and an ID using characters other than numbers may be used. For example, the customer's email address may be used as the ID. Also, the customer in the contract management information 0407 may be an organization. In this case, information for managing the correspondence between organizations and users may be prepared.

[0104] The virtual volume group ID 1101 is an ID for the management system 0100 to uniquely identify the virtual volume group 0001. In the figure, the numbers are consecutive, but they do not have to be consecutive and IDs using characters other than numbers may be used. Two or more virtual volume groups 0001 may be assigned to one customer. A customer having two or more virtual volume groups 0001 means that the customer has multiple contracts. This may be the case, for example, when a production environment and a development environment are to be separated, or when the storage system 0000 is to be used for multiple independent purposes. A customer having two or more virtual volume groups 0001 can select which virtual volume group 0001 the volume 0207 is to be deployed to when deploying a new volume 0207.

[0105] The contracted capacity 1102 is the maximum capacity that the customer can use in the virtual volume group 0001. The customer can deploy new volumes 0207 to the virtual volume group 0001 until the total capacity of the volumes 0207 reaches the contracted capacity 1102.

[0106] The contract performance 1103 is an SLA for the IO performance that the customer requests for the virtual volume group 0001. In this embodiment, the SLA for the IO performance includes an upper limit IOPS and an average response. The upper limit IOPS indicates the maximum number of IOs that the customer can issue per unit time to the volume 0207 that constitutes the virtual volume group 0001. The average response is the average time it takes for the storage device 0102 to return a response to IOs issued by the customer during a unit time to the volume 0207 that constitutes the virtual volume group 0001.

[0107] The contracted RAID level 1104 is an SLA for the RAID level that the customer requests for the virtual volume group 0001. There are SLAs for fault tolerance and availability in addition to SLAs for IO performance such as the contracted performance. The contracted RAID level 1104 is a type of SLA for fault tolerance, and is an example of an SLA for something other than IO performance.

[0108] In this embodiment, the contracted RAID level 1104 is not essential, and there may be an SLA other than the contracted RAID level 1104. For example, an SLA may be an index related to recovery when data is lost due to a hardware failure or the like and is restored from a backup, such as an RPO (Recovery Point Objective) or an RTO (Recovery Time Objective). These SLAs related to things other than IO performance can be met by creating a capacity pool 0206 in the storage device 0102 that is compatible with each SLA, and using the capacity pool 0206 when deploying a new volume 0207.

[0109] In the example of the figure, a customer whose customer ID 1100 is "0000" has subscribed to two virtual volume groups 0001, each with a virtual volume group ID 1101 of "0" and "2". The virtual volume group 0001 whose virtual volume group ID 1101 is "0" can store a total of "10 TB" of data, has guaranteed IO performance of "upper limit IOPS = 15k IOPS, average response < 2 ms", and stores data in a capacity pool 0206 whose RAID level 1104 is "RAID6". The virtual volume group 0001 whose virtual volume group ID 1101 is "1" can store a total of "5 TB" of data, has guaranteed IO performance of "upper limit IOPS = 3k IOPS, average response < 2 ms", and stores data in a capacity pool 0206 whose RAID level 1104 is "RAID5".

[0110] The customer or administrator of the storage system 0000 issues an instruction to add or change the contract management information 0407 to the management operation control unit 0406 via the management terminal 0101, and the management operation control unit 0406 adds or changes an entry in accordance with the instruction.

[0111] 13 is a diagram showing information held by the device management information 0408. The device management information 0408 indicates information used by the management system 0100 to manage the storage device 0102, such as operation information of the storage device 0102, the total capacity and used capacity for each capacity pool 0206, and the RAID level. Each entry of the device management information 0408 includes a device ID 1200, a CPU usage rate 1201, a memory usage rate 1202, a capacity pool ID 1203, a total capacity 1204, a used capacity 1205, and a RAID level 1206.

[0112] The device ID 1200 is an ID for the management system 0100 to uniquely identify the storage device 0102 within the storage system 0000. In the figure, consecutive numbers are used, but they do not have to be consecutive numbers and an ID using characters other than numbers may also be used. For example, the serial number of the storage device 0102 may be used as the ID.

[0113] The capacity pool ID 1203 is an ID for uniquely identifying the capacity pool 0206 within the storage device 0102 , and the management system 0100 uniquely identifies the capacity pool 0206 within the storage system 0000 using a combination of the device ID 1200 and the capacity pool ID 1203 .

[0114] In the example shown in the figure, the storage device 0102, whose device ID 1200 is "0", has two capacity pools 0206, and their respective capacity pool IDs 1203 are "0" and "1". The capacity pool 0206, whose capacity pool ID 1203 is "0", has a total capacity 1204 of "10TB", a used capacity 1205 of "30TB", and a RAID level 1206 of "RAID6", while the capacity pool 0206, whose capacity pool ID 1203 is "1", has a total capacity 1204 of "40TB", a used capacity 1205 of "10TB", and a RAID level 1206 of "RAID6".

[0115] When a new storage device 0102 is introduced, the administrator of the storage system 0000 adds an entry for that storage device 0102 to the device management information 0408. The CPU utilization rate 1201, memory utilization rate 1202, capacity pool ID 1203, total capacity 1204, used capacity 1205, and RAID level 1206 are registered or updated based on the control information 0301 and operation information 0302 received by the operation information analysis unit 0405 from the storage device 0102.

[0116] 14 is a diagram showing information held by the virtual volume group management information 0409. The virtual volume group management information 0409 shows information for managing the virtual volume group 0001, such as the capacity used, operation information, and QoS setting values ​​of the volume groups 0208 that make up the virtual volume group 0001. The virtual volume group management information 0409 includes a virtual volume group ID 1300, a device ID 1301, a volume group ID 1302, a capacity used 1303, an average IOPS 1304, an average transfer speed 1305, an average response 1306, and a QoS setting value 1307.

[0117] The volume group ID 1302 is an ID for uniquely identifying the volume group 0208 within the storage device 0102 , and the management system 0100 uniquely identifies the volume group 0208 within the storage system 0000 by using a combination of the device ID 1301 and the volume group ID 1302 .

[0118] In the example shown in the figure, virtual volume group 0001, whose virtual volume group ID 1300 is "0", is made up of two volume groups 0208. Volume group 0208 No. 1 has a device ID 1301 of "0", a volume group ID 1302 of "0", a used capacity 1303 of "2TB", an average IOPS 1304 of "4kIOPS", an average transfer speed 1305 of "16MB / s", an average response 1306 of "0.5ms", and a QoS setting value 1307 of "6k IOPS". Volume group 0208 No. 1 has a device ID 1301 of "1", a volume group ID 1302 of "1", a used capacity 1303 of "3TB", an average IOPS 1304 of "6kIOPS", an average transfer speed 1305 of "24MB / s", an average response 1306 of "0.6ms", and a QoS setting value 1307 of "9k IOPS". Indicates that the number of IOPS is 1.

[0119] An entry is added to the virtual volume group management information 0409 when the management operation control unit 0406 receives an instruction to add contract information. The device ID 1301, volume group ID 1302, and used capacity 1303 are added or updated as necessary when the management operation control unit 0406 receives a deployment request for a new volume 0207. The QoS setting value 1307 is updated when the QoS initial adjustment unit 0402 or the QoS regular adjustment unit 0403 receives an adjustment instruction. The average IOPS 1304, average transfer speed 1305, and average response 1306 are registered or updated based on the control information 0301 and performance information 0302 received by the performance information analysis unit 0405 from the storage device 0102.

[0120] 15 is a diagram showing information held by the volume performance information history information 0410. The volume performance information history information 0410 is information showing the chronological history of performance information for each volume 0207. Each entry of the volume performance information history information 0410 includes a device ID 1400, a volume group ID 1401, a volume ID 1402, a timestamp 1403, a capacity 1404, an average IOPS 1405, an average transfer speed 1406, and an average response 1407.

[0121] The volume group ID 1401 is an ID for uniquely identifying the volume group 0208 within the storage device 0102, and the management system 0100 uniquely identifies the volume group 0208 within the storage system 0000 using the pair of the device ID 1400 and the volume group ID 1401. The volume ID 1402 is an ID for uniquely identifying the volume 0207 within the storage device 0102, and the management system 0100 uniquely identifies the volume 0207 within the storage system 0000 using the pair of the device ID 1400 and the volume ID 1402. The timestamp 1403 is information indicating the time at which the operation information was received.

[0122] In the example shown in the figure, volume operation information 0311 for volume group 0208 whose volume group ID 1401 is "0" has been received from storage device 0102 whose device ID 1400 is "0", and for volume 0207 whose volume ID 1402 is "0", operation information has been received at the times "10:00:00", "10:00:30", and "10:01:00", and the operation information received at "10:00:00" shows that capacity 1404 is "100GB", average IOPS 1405 is "2k IOPS", average transfer speed 1406 is "8MB / s", and average response 1407 is "0.4ms".

[0123] The volume performance information history information 0410 adds entries based on the control information 0301 and performance information 0302 received by the performance information analysis unit 0405 from the storage device 0102. Note that an entry of the performance information 0302 may be deleted if a predetermined period of time has passed since it was received.

[0124] 16 is a diagram showing information held by the storage device information history information. The storage device operation information 0310 history information is information showing the chronological history of operation information for each storage device 0102. Each entry of the storage device information history information includes a device ID 1500, a timestamp 1501, a CPU usage rate 1502, and a memory usage rate 1503.

[0125] In the example shown in the figure, operation information 0302 was received from a storage device 0102 having a device ID 1500 of "0" at the times "10:00:00", "10:00:30", and "10:01:00", and the CPU usage 1502 of the operation information 0302 received at "10:00:00" is "40%", and the memory usage 1503 is "57%".

[0126] The storage device performance information history information 0411 adds entries based on the performance information 0302 received by the performance information analysis unit 0405 from the storage device 0102. Note that entries of the performance information 0302 that have been received for a predetermined period of time may be deleted.

[0127] The above describes various types of information handled by the storage system 0000 in this embodiment. The above description shows the management information 0401 that is often included in a general storage device 0102 and is used for control in this embodiment. If necessary, columns may be added to each table to add information, or columns may be deleted if there is unnecessary information. For example, if the storage device 0102 has a thin provisioning function, a data compression function, and a deduplication function, a column indicating whether each function is enabled or disabled may be added to the volume management information, and a column indicating the amount of data reduction achieved by each function may be added to the volume operation information 0311.

[0128] 17 is a diagram showing the flow of operation information transmission processing in the storage device 0102. Steps S1700 to S1701 are included in the information collection unit 0304 in the memory 0203 of the storage device 0102, and steps S1702 to S1703 are included in the program of the management system communication unit 0305. In addition, both are executed by the CPU 0202 of the storage device 0102.

[0129] In this embodiment, it is assumed that the collection of operation information is performed using push-type communication in which the storage device 0102 starts the processing and transfers the information to the management system 0100, and this processing is started at regular intervals by the storage device 0102. Note that a pull-type processing may also be used in which the management system 0100 starts the processing and requests the storage device 0102 to transfer information, in which case the management system 0100 instructs each storage device 0102 to start this processing via the storage device communication unit 0404 at regular intervals.

[0130] In this process, the information collecting unit 0304 first monitors the operation status of the IO control unit 0303, and updates the storage device operation information 0310 and the volume operation information 0311 using the result (S1700). When updating the operation information 0302 based on the operation status, any data processing may be performed. For example, the IO control unit 0303 may convert the cumulative number of IOs processed since the previous collection process and the elapsed time into IOPS, and may also smooth the operation information 0302 using, for example, a moving average.

[0131] Next, the information collection unit 0304 starts the management system communication unit 0305 and instructs the management system 0100 to transmit the operation information 0302 and part of the control information 0301 (S1701). The started management system communication unit 0305 receives the instruction (S1702) and transmits the storage device operation information 0310, volume operation information 0311, capacity pool control information 0306, and volume group control information 0309 to the management system 0100 in accordance with the instruction (S1703).

[0132] 18 is a diagram showing the flow of an operation information reception process in the management system 0100. Steps S1800 to S1801 are included in a program of the storage device communication unit 0404 in some storage device of the management system 0100, and steps S1802 to S1806 are included in a program of the operation information analysis unit 0405. In addition, both are executed by some computer constituting the management system 0100.

[0133] 17, this embodiment assumes that the operation information 0302 is transmitted from the storage device 0102 to the management system 0100 by push-type communication. Therefore, this process is started when the operation information 0302 arrives from the storage device 0102. When the operation information 0302 is acquired by pull-type communication, this process is started at regular time intervals, and instructs each storage device 0102 constituting the storage system 0000 to acquire the operation information 0302. More specifically, it refers to the device management information 0408, and instructs each entry of the storage device 0102 to acquire the operation information 0302 via the storage device communication unit 0404.

[0134] In this process, the storage device communication unit 0404 receives the storage device performance information 0310, volume performance information, capacity pool control information 0306, and volume group control information 0309 from the storage device 0102 (S1800). Next, the storage device communication unit 0404 starts the performance information analysis unit 0405 and instructs it to analyze the received performance information 0302 and control information 0301 (S1801).

[0135] The performance information analysis unit 0405 receives the analysis instruction and executes the following process (S1802). First, based on the received storage device performance information 0310, volume performance information 0311, and volume group control information 0309, an entry is added to the storage device performance information history information 0411 and the volume performance information history information 0410 (S1803). Specifically, for the entry of the device in the storage device performance information history information 0411, the current time is added as the timestamp 1501, and the received storage device performance information 0310 is added to the CPU utilization rate 1502 and memory utilization rate 1503. For the volume performance information history information 0410, first, the ID of the volume group 0208 to which the volume 0207 corresponding to each entry of the received volume performance information 0311 belongs is obtained from the received volume group control information 0309. Then, the current time is added as the timestamp 1403 to the entry for the volume group 0208 of the device in the volume performance information history information 0410, and the average IOPS 1405, average transfer speed 1406, and average response 1407 from the received volume performance information 0311 are added.

[0136] Next, the device management information 0408 is updated based on the received capacity pool control information 0306 and the storage device operation information history information 0411 updated in step S2003 (S1804). Specifically, some kind of aggregation processing or analysis processing is performed in the time axis direction for each entry of the storage device 0102 in the storage device operation information history information 0411, steady-state values ​​of the CPU utilization rate and memory utilization rate of the storage device 0102 are calculated, and these values ​​are used to update the CPU utilization rate 1201 and memory utilization rate 1202 in the entry of the storage device 0102 in the device management information 0408. Also, using each entry of the capacity pool 0206 included in the received capacity pool control information 0306, the capacity pool ID 1203, total capacity 1204, used capacity 1205, and RAID level 1206 of the storage device 0102 in the device management information 0408 are updated or added.

[0137] Next, performance information 0302 for each volume group 0208 is calculated based on the volume performance information history information 0410 updated in step S2003 (S1805). Specifically, some sort of aggregation or analysis is performed in the time direction on the entries of each volume 0207 of the storage device 0102 in the volume performance information history information 0410 to calculate steady-state values ​​of the average IOPS, average transfer speed, and average response of the volume 0207, and these are further averaged in volume group 0208 units to calculate steady-state values ​​of the average IOPS 0901, average transfer speed 0902, and average response 0903 for each volume group 0208.

[0138] Next, the virtual volume group management information 0409 is updated (S1806) based on the performance information 0302 for each volume group 0208 calculated in step S2005. Specifically, the entry for the volume group 0208 of the device in the virtual volume group management information 0409 is updated using the steady-state values ​​of the average IOPS 0901, average transfer speed 0902, and average response 0903 for each volume group 0208 calculated in step S1805.

[0139] 19 is a diagram showing the flow of new volume deployment processing in the management terminal 0101. This processing is included in management software installed in the management terminal 0101, and is executed by the management terminal 0101. If the management software is a Web application, this processing is executed by a Web browser installed in the management terminal 0101. This processing is started when the customer uses the management software installed in the management terminal 0101 to instruct the storage system 0000 to deploy a new volume 0207.

[0140] In this process, first, contract information, information on the volume 0207 to be deployed, and information on the host 0103 to be connected to the volume 0207 are received from the customer (S1900). The contract information includes a customer ID and the ID of the virtual volume group 0001 to which the volume 0207 is to be deployed. Also, instead of specifying the virtual volume group ID, it is possible to instruct the creation of a new virtual volume group 0001 together with the deployment of the new volume 0207 by including the contract capacity, contract performance, and contract RAID level. The volume 0207 information includes the volume capacity. The host 0103 information includes the host WWN and LUN. In addition to this, it is also possible to specify the OS (Operating System) type of the host 0103, the communication protocol used to connect to the host 0103, and information associated therewith.

[0141] Next, a deployment request for the new volume 0207 is sent to the management system 0100 together with the information received in step S3000, and the processing result is received (S1901). The management system 0100 that has received the deployment request executes the process of Fig. 20 and reports the processing result to the management terminal 0101. Finally, the management terminal 0101 displays the received processing result of the new volume deployment to the customer (S1902).

[0142] 20 is a diagram showing the flow of new volume deployment processing by the management operation control unit 0406 of the management system 0100. This processing is included in the program of the management operation control unit 0406, and is executed by some computer constituting the management system 0100. This processing is started when a deployment request for a new volume 0207 is received from the management terminal 0101 via the management network 0104.

[0143] In this process, first, a deployment request for a new volume 0207, contract information, information on the volume 0207 to be deployed, and information on the host 0103 to be connected to the volume 0207 are received from the management terminal 0101 via the management network 0104 (S2000). The information received here is the information entered by the customer in step S3000.

[0144] Next, a preparation process for deploying the volume 0207 is executed (S2001). This preparation process executes the process shown in Fig. 21, and performs processes such as judging whether the prerequisites for deploying the volume 0207 are satisfied, selecting the storage device 0102 to which the volume is to be deployed, selecting the capacity pool 0206, selecting or creating the virtual volume group 0001, and selecting or creating the volume group 0208, and reports the device ID, virtual volume group ID, capacity pool ID, and volume group ID to the caller. Then, if this preparation process is successful, the process proceeds to step S4003, and if it fails, the process proceeds to step S4009 (S2002).

[0145] In step S2003, the QoS initial adjustment unit 0402 is started, and instructs the adjustment of the QoS settings of each volume group 0208 constituting the virtual volume group 0001 in preparation for the deployment of the new volume 0207. At this time, the capacity of the new volume 0207, the ID of the virtual volume group 0001, and the ID of the volume group 0208 to which the new volume 0207 belongs are also specified. The reason for adjusting the QoS settings before actually deploying the volume 0207 is that there is a possibility that an IO will be issued from the host 0103 immediately after the host 0103 and the volume 0207 are connected. By adjusting the QoS settings before actually deploying the volume 0207, it is possible to prevent an IO request issued to another volume 0207 belonging to the volume group 0208 to which the new volume 0207 belongs from being adversely affected by an IO request issued to the new volume 0207 in a situation where the QoS settings have not been adjusted. If the initial adjustment process is successful, the process proceeds to step S2005, and if it fails, the process proceeds to step S2009.

[0146] In step S2005, the storage device 0102, which is the volume deployment destination selected in the preparation process in step S4002, is instructed to deploy a new volume 0207. Specifically, information on the volume 0207 to be deployed and information on the host 0103 to be connected to the volume 0207 are sent to the management system communication unit 0305 of the storage device 0102 via the storage device communication unit 0404, and the processing result is received. The information on the volume 0207 includes the volume capacity and the ID of the volume group 0208 to which the volume 0207 belongs. The information on the host 0103 includes the host WWN and LUN. In addition to this, it may be possible to specify the OS (Operating System) type of the host 0103, the communication protocol used to connect to the host 0103, and information associated therewith. The management system communication unit 0305 that has received the volume deployment instruction instructs the IO control unit 0303 to create a new volume 0207, and the IO control unit 0303 that has received the instruction creates the new volume 0207, updates the volume control information 0307, ​​the volume group control information 0309, and the host control information, and reports the processing result. If the deployment of the volume 0207 is successful, the process proceeds to step S4007, and if it fails, the process proceeds to step S4009 (S2006).

[0147] In step S2007, the capacity of the new volume 0207 is reflected in the device management information 0408 and the virtual volume group management information 0409 as the used capacities 1205 and 1303. Specifically, the capacity of the new volume 0207 is added as the used capacity of the entry for the capacity pool 0206 in which the volume 0207 is stored in the device management information 0408. In addition, the capacity of the new volume 0207 is added to the used capacity of the entry for the volume group 0208 to which the new volume 0207 belongs in the virtual volume group management information 0409.

[0148] Next, the successful deployment is reported to the management terminal 0101 that sent the deployment request (S2008).

[0149] Step S2009 is executed when some kind of problem occurs during the series of processes, and rolls back the state of the storage system 0000 to the state before the series of processes started. After that, a deployment failure is reported to the management terminal 0101 that sent the deployment request (S2010).

[0150] Fig. 21 is a diagram showing the preparation processing flow for new volume deployment by the management operation control unit 0406 of the management system 0100. This processing is included in the program of the management operation control unit 0406, and is executed by some computer constituting the management system 0100. This processing is called in step S2001 of Fig. 20.

[0151] This process first checks whether the volume deployment instruction received from the management terminal 0101 includes an instruction to create a virtual volume group 0001, and if so, proceeds to step S2101, and if not, proceeds to step S2102 (S2100).

[0152] In step S9001, an entry for the new virtual volume group 0001 is added to the contract management information 0407 and the virtual volume group management information 0409 using information such as the contract capacity, contract performance, and contract RAID level contained in the contract information received from the management terminal 0101. At this stage, the entry for the virtual volume group 0001 added to the virtual volume group management information 0409 does not contain any registered volume groups 0208.

[0153] In step S2102, it is determined whether the capacity obtained by adding the capacity of the volume 0207 to be deployed to the used capacity of the virtual volume group 0001 to which the volumes are to be deployed is less than the contracted capacity, and if it is less than the contracted capacity, the process proceeds to step S2103, and if it is equal to or greater than the contracted capacity, the process proceeds to step S2109. The used capacity of the virtual volume group 0001 is obtained by searching the virtual volume group management information 0409 based on the virtual volume group ID included in the volume deployment instruction or the ID of the virtual volume group 0001 newly created in step S2101, and calculating the sum of the used capacity 1303 of each volume group 0208 that constitutes the virtual volume group 0001. The contracted capacity is obtained by referring to the contracted capacity 1102 of the entry for the virtual volume group 0001 in the contract management information 0407.

[0154] In step S2103, the storage device 0102 and capacity pool 0206 to which the new volume 0207 is to be deployed are determined based on the device management information 0408, the storage device operation information history information 0411, and the contract information. As a method of this determination, for example, first, SLA conditions other than IO performance, such as the contract RAID level 1104, are obtained from the entry of the virtual volume group 0001 in the contract management information 0407, and the device management information 0408 is searched using this SLA condition and the information on the capacity of the volume 0207 to be deployed, to obtain a list of storage devices 0102 and capacity pools 0206 that satisfy the SLA conditions and can store the volume 0207 to be deployed. After that, for each storage device 0102 included in the list, the CPU usage rates 1201, 1502 and memory usage rates 1202, 1503 in the device management information 0408 and the storage device operation information history information 0411 are referenced to determine the storage device 0102 and capacity pool 0206 with the lowest load.

[0155] In step S2104, by referencing the entry for the virtual volume group 0001 in the virtual volume group management information 0409, it is confirmed whether the storage device 0102 determined in step S2103 is included as a volume group 0208 or storage device 0102 that constitutes the virtual volume group 0001.If not, the process proceeds to step S2105 to create a new volume group 0208, and if included, the process proceeds to step S2108.

[0156] In step S2105, the management system communication unit 0305 of the storage device 0102 determined in step S2103 is instructed to create a new volume group 0208. Specifically, the management system communication unit 0305 of the storage device 0102 is instructed to create a new volume group 0208 via the storage device communication unit 0404, and receives the ID of the volume group 0208 created as a processing result. The management system communication unit 0305 that has received the instruction to create the new volume group 0208 instructs the IO control unit 0303 to create the new volume group 0208, and the IO control unit 0303 that has received the instruction creates the new volume group 0208, updates the volume group control information 0309, and reports the volume group ID 0800 created as a processing result. If the creation of the volume group 0208 is successful, the process proceeds to step S2107, and if it fails, the process proceeds to step S2109 (S2106).

[0157] In step S 2107 , the new volume group 0208 created in step S 9005 is added to the entry for the virtual volume group 0001 in the virtual volume group management information 0409 .

[0158] Next, the virtual volume group ID included in the volume deployment instruction or the ID of the virtual volume group 0001 newly created in step S2101, the ID of the storage device 0102 and the ID of the capacity pool 0206 determined in step S2103, and the ID of the volume group 0208 confirmed in step S2104 or the ID of the volume group 0208 newly created in step S9005 are reported to the caller process (S2108).

[0159] Step S2109 is executed when some kind of problem occurs during the series of processes, and rolls back the state of storage system 0000 to the state before the series of processes started. After that, a processing failure is reported to the caller process (S2110).

[0160] 22 is a diagram showing the flow of QoS initial adjustment processing by the QoS initial adjustment unit 0402 of the management system 0100. This processing is included in the program of the QoS initial adjustment unit 0402, and is executed by some computer constituting the management system 0100. This processing is started up by step S2003 in FIG.

[0161] This process first receives the capacity of the new volume 0207, the ID of the virtual volume group 0001, and the ID of the volume group 0208 to which the new volume 0207 belongs as a QoS initial adjustment instruction from the caller (S2200). Next, the entry for the virtual volume group 0001 in the virtual volume group management information 0409 is referenced, and if the number of volume groups 0208 that make up the virtual volume group 0001 is 1, the process proceeds to step S2202, and if it is 2 or more, the process proceeds to step S2203 (S2201).

[0162] If the process proceeds to step S2202, the entry for the virtual volume group 0001 in the contract management information 0407 is referenced to obtain the upper limit IOPS of the contracted performance 1103, and the obtained upper limit IOPS is set as the QoS setting value 1307 of the entry for the virtual volume group 0001 in the virtual volume group management information 0409. This is because there is only one volume group 0208, so the upper limit IOPS of the contracted performance 1103 may be consumed only by that volume group 0208. Note that if there are two or more volume groups 0208, the upper limit IOPS must be distributed to each volume group 0208, which will be explained in step S2203. When the process ends, the process proceeds to step S2207.

[0163] In step S2203, the entry for the virtual volume group 0001 in the virtual volume group management information 0409 is referenced, and the used capacity 1303 and average IOPS 1304 are respectively summed for each volume group 0208 constituting the virtual volume group 0001, and the average IOPS per used capacity is calculated by dividing the total average IOPS 1304 by the total used capacity 1303. Next, the average IOPS of the new volume 0207 is estimated by multiplying the average IOPS per used capacity by the capacity of the new volume 0207 (S2204).

[0164] Next, the entry for the virtual volume group 0001 in the contract management information 0407 is referenced to obtain the upper limit IOPS of the contract performance 1103, and the upper limit IOPS is distributed to each volume group 0208 in proportion to the average IOPS of each volume group 0208 constituting the virtual volume group 0001 (S2205). At this time, the volume group 0208 to which the new volume 0207 belongs is calculated on the assumption that the average IOPS of the new volume 0207 estimated in step S2204 will be additionally generated. Note that the distribution method described in steps S2203 to S2205 is just an example, and distribution may be performed using other methods.

[0165] Next, the QoS setting value 1307 of the entry for the virtual volume group 0001 in the virtual volume group management information 0409 is updated with the upper limit IOPS allocated to each volume group 0208 in step S2205 as the QoS setting value for that volume group 0208 (S2206). When the process ends, the process proceeds to step S2207.

[0166] In step S2207, a reflection instruction of the QoS setting value of each volume group 0208 is sent to each storage device 0102 constituting the virtual volume group 0001. Specifically, the ID of the volume group 0208 and the QoS setting value are sent to the management system communication unit 0305 of each storage device 0102 via the storage device communication unit 0404, and the processing result is received. The management system communication unit 0305 that has received the reflection instruction of the QoS setting value instructs the IO control unit 0303 to change the QoS setting value, and the IO control unit 0303 that has received the instruction updates the QoS setting 801 of the volume group 0208 in the volume group control information 0309 and reports the processing result. If the reflection of the QoS setting value for all storage devices 0102 is successful, the process proceeds to step S2209, and if there is a storage device 0102 that has failed, the process proceeds to step S2210 (S2208).

[0167] In step S2209, the success of the process is reported to the caller. Step S2210 is executed when some problem occurs during the series of processes, and the state of the storage system 0000 is rolled back to the state before the series of processes started. After that, the deployment failure is reported to the management terminal 0101 that sent the deployment request (S2211).

[0168] 23 is a diagram showing the overall processing flow of QoS regular adjustment by the QoS regular adjustment unit 0403 of the management system 0100. This processing is included in the program of the QoS regular adjustment unit 0403, and is executed by some kind of computer constituting the management system 0100. This processing is started at regular time intervals.

[0169] In this process, first, the virtual volume group management information 0409 is referenced, and each virtual volume group 0001 is selected in order as a processing target for the following process (S2300).

[0170] Next, the process of FIG. 24 is executed for the selected virtual volume group 0001, and the QoS setting value is adjusted (S2301).

[0171] Next, it is confirmed whether processing has been completed for all virtual volume groups 0001 in the virtual volume group management information 0409, and if completed, the processing is terminated, and if not completed, the processing returns to step S2300 and the next virtual volume group 0001 is selected (S2302).

[0172] Fig. 24 is a diagram showing the processing flow of QoS regular adjustment by the QoS regular adjustment unit 0403 of the management system 0100. This processing is included in the program of the QoS regular adjustment unit 0403, and is executed by some computer constituting the management system 0100. This processing is called for each virtual volume group 0001 constituting the storage system by step S2301 in Fig. 23.

[0173] In this process, first, the entry for the virtual volume group 0001 in the virtual volume group management information 0409 and the entry for the virtual volume group 0001 in the contract management information 0407 are referenced to determine whether the sum of the average IOPS 1304 of each volume group 0208 that makes up the virtual volume group 0001 is smaller than the upper limit IOPS of the contracted performance 1103, and if it is smaller, the process proceeds to step S2402, and if not, the process proceeds to step S2401 (S2400).

[0174] In step S2401, the entry for the virtual volume group 0001 in the virtual volume group management information 0409 is referenced, and the QoS setting value 1307 is adjusted so that the average response 1306 of each volume group 0208 constituting the virtual volume group 0001 is uniform. Specifically, for example, a conceivable method is to reduce the QoS setting value 1307 of the volume group 0208 with the lowest average response 1306 by a predetermined amount, and then increase the QoS setting value 1307 of the volume group 0208 with the highest average response 1306 by the amount of the reduction. When the process ends, the process proceeds to step S2405.

[0175] The reason why the average response 1306 of each volume group 0208 is made uniform in this step is as follows. If this step is reached as determined in step S2400, the host 0103 has issued IOs to each connected storage device 0102 that are equal to or greater than the upper limit IOPS of the contract performance 1103. Since QoS is set for each volume group 0208, the storage device 0102 intentionally delays IO processing issued to the volume 0207 belonging to the volume group 0208, thereby controlling the IOPS so that it does not exceed the upper limit. As a result of the processing delay due to this QoS control, the average response 1306 of the volume group 0208 increases according to the degree of excess of the upper limit IOPS of the IO issued by the host 0103. In this step, the upper limit IOPS of each volume group 0208 is distributed so that the average response 1306 of each volume group 0208 is uniform, in order to make the intentional IO processing delay due to the QoS control of each storage device 0102 operate uniformly for each volume group 0208.

[0176] In step S2402, the virtual volume group management information 0409 is referenced to check whether there is a volume group 0208 whose average IOPS 1304 is greater than or equal to the QoS setting value 1307 for each volume group 0208 that constitutes the virtual volume group 0001. If there is a volume group 0208, the process proceeds to step S2404; if there is not, the process proceeds to step S2403.

[0177] In this step, if there is a volume group 0208 whose average IOPS 1304 is equal to or greater than the QoS setting value 1307, this means that the distribution of the upper limit IOPS to each volume group 0208 is not appropriate, and an intentional IO processing delay is occurring in some volume groups 0208 due to the QoS control of the storage device 0102. Since the average IOPS 1304 of the entire virtual volume group 0001 is less than the upper limit IOPS of the contracted performance as determined in step S2400, the IO processing delay can be eliminated by appropriately distributing the upper limit IOPS.

[0178] In step S2403, the virtual volume group management information 0409 and the contract management information 0407 are referenced to determine, for each volume group 0208 that constitutes the virtual volume group 0001, whether or not there is a volume group 0208 whose average response 1306 exceeds the average response of the contracted performance 1103; if there is, the process proceeds to step S2408; if there is not, the process proceeds to step S2404.

[0179] If this step has been reached as determined in step S2402, no IO processing delay due to QoS control has occurred in any of the volume groups 0208. If, despite this, there exists a volume group 0208 whose average response 1306 exceeds the average response of the contracted performance 1103, it is presumed that an overload has occurred in the storage device 0102 itself. Conversely, if there is no exceeding volume group 0208, it can be said that all of the contracted performance 1103 are being satisfied.

[0180] In step S2408, in order to eliminate the overload of the storage device 0102 itself, the process of Fig. 25 is called to migrate the volumes 0207 belonging to the volume group 0208 whose average response 1306 exceeds the average response of the contracted performance 1103 to another storage device 0102. Note that if there are multiple volume groups 0208 whose average response exceeds the contracted performance 1103, the process of Fig. 25 may be called for each of them, or may be called only for the volume group 0208 with the highest average response 1306.

[0181] In step S2404, the upper limit IOPS of the contract information is distributed to each volume group 0208 in proportion to the average IOPS of each volume group 0208 that constitutes the virtual volume group 0001, and the entry for the virtual volume group 0001 in the virtual volume group management information 0409 is updated with the distributed upper limit IOPS as the QoS setting value 1307 for the volume group 0208.

[0182] Next, an instruction to reflect the QoS setting value of each volume group 0208 is sent to each storage device 0102 constituting the virtual volume group 0001 (S2405). Specifically, the ID of the volume group 0208 and the QoS setting value are sent to the management system communication unit 0305 of each storage device 0102 via the storage device communication unit 0404, and the processing result is received.

[0183] The management system communication unit 0305, which has received the instruction to reflect the QoS setting value, instructs the IO control unit 0303 to change the QoS setting value, and the IO control unit 0303, which has received the instruction, updates the QoS setting 801 of the volume group 0208 in the volume group control information 0309 and reports the processing result. If the reflection of the QoS setting value for all storage devices 0102 is successful, this processing ends, and if there is a storage device 0102 that has failed, the processing proceeds to step S2407 (S2406).

[0184] Step S2407 is executed when some kind of problem occurs during the series of processes, and rolls back the state of storage system 0000 to the state before the series of processes started. Then, this process ends.

[0185] 25 is a diagram showing the flow of volume migration processing by the QoS regular adjustment unit 0403 of the management system 0100. This processing is included in the program of the QoS regular adjustment unit 0403, and is executed by some computer constituting the management system 0100. This processing is called by step S2408 in FIG.

[0186] This process first calls the process of Figure 26 to prepare for volume migration, and receives as process results the ID of the volume 0207 to be migrated, the ID of the destination storage device 0102, the ID of the destination capacity pool, the ID of the destination volume group 0208, and the distribution result of the upper limit IOPS to each volume group 0208 (S2500).

[0187] If the preparation process is successful, the process proceeds to step S2502, and if it is unsuccessful, the process proceeds to step S2509 (S2501).

[0188] In step S2502, the destination storage device 0102 is instructed to reflect the distribution result of the upper limit IOPS as a QoS setting value. Specifically, the ID of the volume group 0208 and the QoS setting value are transmitted to the management system communication unit 0305 of the destination storage device 0102 via the storage device communication unit 0404, and the processing result is received. The management system communication unit 0305 that has received the instruction to reflect the QoS setting value instructs the IO control unit 0303 to change the QoS setting value, and the IO control unit 0303 that has received the instruction updates the QoS setting 801 of the volume group 0208 in the volume group control information 0309, and reports the processing result.

[0189] The reason why the QoS setting values ​​are reflected only in the destination storage device 0102 prior to the actual volume migration is to prevent adverse effects on other volumes 0207 belonging to the destination volume group 0208 due to IO requests issued from the host 0103 to the volume 0207 to be migrated during or immediately after the volume migration.

[0190] If the update is successful, the process proceeds to step S2504; if it is unsuccessful, the process proceeds to step S2509 (S2503).

[0191] In step S2504, the storage device 0102 (source storage device) to which the volume 0207 to be migrated belongs is instructed to execute volume migration. Specifically, the management system communication unit 0305 of the source storage device 0102 transmits the ID of the volume to be migrated, the ID of the destination storage device 0102, and the ID of the destination capacity pool 0206 to the management system communication unit 0305 of the source storage device 0102 via the storage device communication unit 0404, and receives the processing result. The management system communication unit 0305 that has received the volume migration instruction instructs the IO control unit 0303 to execute volume migration. The IO control unit 0303 that has received the instruction communicates with the IO control unit 0303 of the destination storage device 0102 via the storage network 0106 or the management network 0104 as necessary, transfers control information and data stored in the volume 0207, executes processing related to the volume migration, and reports the processing result. The specific processing content of the volume migration is not related to the present invention and is a well-known technology, so further detailed explanation will be omitted.

[0192] If the volume migration is successful, the process proceeds to step S2506, and if it is unsuccessful, the process proceeds to step S2509 (S2505).

[0193] Next, an instruction to reflect the upper limit IOPS allocated to each volume group 0208 as a QoS setting value is sent to each storage device 0102 constituting the virtual volume group 0001 (S2506). Specifically, the ID of the volume group 0208 and the upper limit IOPS allocated to the volume group 0208 as a QoS setting value are sent to the management system communication unit 0305 of each storage device 0102 via the storage device communication unit 0404, and the processing result is received. The management system communication unit 0305 that has received the instruction to reflect the QoS setting value instructs the IO control unit 0303 to change the QoS setting value, and the IO control unit 0303 that has received the instruction updates the QoS setting 801 of the volume group 0208 in the volume group control information 0309 and reports the processing result. If the reflection of the QoS setting value for all storage devices 0102 is successful, the process proceeds to step S2508, and if there is a storage device 0102 that has failed, the process proceeds to step S2509 (S2507).

[0194] In step S2508, the QoS setting value 1307 of each volume group 0208 constituting the virtual volume group 0001 in the virtual volume group management information 0409 is updated using the upper limit IOPS allocated in step S2500. Then, this process ends.

[0195] Step S2509 is executed when some kind of problem occurs during the series of processes, and rolls back the state of storage system 0000 to the state before the series of processes started. Then, this process ends.

[0196] 26 is a diagram showing the flow of volume migration preparation processing by the QoS regular adjustment unit 0403 of the management system 0100. This processing is included in the program of the QoS regular adjustment unit 0403, and is executed by some computer constituting the management system 0100. This processing is called by step S2500 in FIG.

[0197] In this process, first, a volume 0207 to be moved by volume migration is selected from the source volume group 0208 of the source storage device 0102 (S2600). Specifically, for example, based on the volume operational information history information 0410, the volume 0207 with the largest average response 1407 is selected as the volume to be moved from the volumes 0207 belonging to the volume group 0208. At this time, a steady value of the average response calculated by performing some kind of aggregation or analysis process on a time axis for each volume 0207 may be used.

[0198] Next, the storage device 0102 and capacity pool 0206 to which the volume migration is to be performed are selected based on the contract management information 0407, device management information 0408, storage device operation information history information 0411, and volume operation information history information 0410 (S2601). Specifically, for example, first, SLA conditions other than IO performance, such as the contract RAID level 1104, are obtained from the entry of the virtual volume group 0001 in the contract management information 0407, and the device management information 0408 is searched using this SLA condition and information on the capacity of the volume 0207 to be moved, to obtain a list of storage devices 0102 and capacity pools 0206 that satisfy the SLA conditions and can store the volume 0207 to be moved. The capacity of the volume 0207 to be moved can be obtained by referring to the entry with the most recent timestamp 1403 for the volume 0207 in the volume operation information history information 0410. Then, for each storage device 0102 included in the list, the CPU utilization rate 1502 and memory utilization rate 1503 in the device management information 0408 and storage device operation information history information 0411 are referenced to determine the storage device 0102 and capacity pool 0206 with the lightest load.

[0199] Next, by referencing the entry for the virtual volume group 0001 in the virtual volume group management information 0409, it is confirmed whether the storage device 0102 determined in step S2601 is included as a volume group 0208 or storage device 0102 that constitutes the virtual volume group 0001.If not, the process proceeds to step S2603 to create a new volume group 0208, and if included, the process proceeds to step S2606.

[0200] In step S2603, the storage device 0102 determined in step S2601 is instructed to create a new volume group 0208. Specifically, the management system communication unit 0305 of the storage device 0102 is instructed to create a new volume group 0208 via the storage device communication unit 0404, and the ID of the volume group 0208 created as a processing result is received. The management system communication unit 0305 that has received the instruction to create the new volume group 0208 instructs the IO control unit 0303 to create the new volume group 0208, and the IO control unit 0303 that has received the instruction creates the new volume group 0208, updates the volume group control information 0309, and reports the volume group ID created as a processing result. If the creation of the volume group 0208 is successful, the process proceeds to step S2605, and if it fails, the process proceeds to step S9010 (S2604).

[0201] In step S 2605 , the new volume group created in step S 2603 is added to the entry for the virtual volume group 0001 in the virtual volume group management information 0409 .

[0202] In step S2606, the volume operational information history information 0410 is referenced to obtain the average IOPS 1405 of the migration target volume 0207. At this time, a steady value of the average IOPS calculated by performing some kind of aggregation or analysis processing in the time direction may be used.

[0203] Next, the average IOPS of each volume group 0208 after volume migration is executed is estimated based on the average IOPS 1405 of the migration target volume 0207 acquired in step S2606 (S2607). Specifically, assuming that the average IOPS of the migration target volume 0207 acquired in step S2606 is moved from the volume group 0208 of the migration source storage device 0102 to the volume group 0208 of the migration destination storage device 0102, the average IOPS of each volume group 0208 after volume migration is estimated to be the average IOPS of each volume group 0208 after volume migration is executed, calculated by adding or subtracting the average IOPS value of each volume group 0208 in the virtual volume group management information 0409.

[0204] Next, the entry for the virtual volume group 0001 in the contract management information 0407 is referenced to obtain the upper limit IOPS of the contract performance 1103, and the upper limit IOPS is distributed to each volume group 0208 in proportion to the average IOPS of each volume group 0208 estimated in step S2607 (S2608).

[0205] Finally, as results of this process, the ID of the volume to be moved selected in step S2600, the ID of the destination storage device 0102 and the ID of the capacity pool 0206 selected in step S2601, the ID of the destination volume group 0208 confirmed in step S2602 or the ID of the volume group 0208 created in step S2605, and the distribution result of the upper limit IOPS to each volume group 0208 in step S2608 are reported to the calling process.

[0206] According to this embodiment configured in this way, it is possible to realize a QoS function in units of virtual volume groups spanning a plurality of storage devices.

[0207] Although the main embodiment of the present invention has been described above, this is merely an example for the purpose of explaining the present invention, and it is not intended to limit the scope of the present invention to only this embodiment. It is not necessary to have all of the configurations described, and it is also possible to replace part of the configuration of one embodiment with or add to the configuration of another embodiment. Similarly, it is also possible to change or delete part of the configuration of each embodiment as necessary.

[0208] In addition, each of the above configurations, functions, processing units, processing means, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that realizes the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-mentioned embodiments, and the program code itself and the storage medium storing it constitute the present invention. Examples of storage media for supplying such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs (Solid State Drives), optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, etc.

[0209] In addition, the program code for realizing the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, Go, perl, Shell, PHP, Java (registered trademark), and Python.

[0210] In the above-mentioned embodiment, the control lines and information lines are shown as those considered necessary for the explanation, and not all the control lines and information lines are shown in the product. All the components may be connected to each other. [Explanation of symbols]

[0211] 0000...storage system 0001...virtual volume group 0100...management system 0101...management terminal 0102...storage device 0103...host 0202...CPU 0203...memory 0205...physical disk 0206...capacity pool 0207...volume 0208...volume group 0300...storage device control program 0301...control information 0302...operation information 0303...IO control unit 0304...information collection unit 0305...management system communication unit 0306...capacity pool control information 0307...volume control information 0308...path control information 0309...volume group control information 0310...storage device operation information 0311...volume operation information 0400...control program 0401...management information 0402...QoS initial adjustment unit 0403...QoS regular adjustment unit 0404: storage device communication unit; 0405: performance information analysis unit; 0406: management operation control unit; 0407: contract management information; 0408: device management information; 0409: virtual volume group management information; 0410: volume performance information history information; 0411: storage device performance information history information

Claims

1. a plurality of storage devices each having a processor, each providing volumes and processing data input / output to / from the volumes; A storage device for physically storing the data; a management system for managing the plurality of storage devices; A storage system having: the management system forms a virtual volume group using the multiple volumes provided by the multiple storage devices, A contract performance including an upper limit IOPS is set for the virtual volume group, a QoS setting value including an upper limit of IOPS is set for each of the volumes constituting the virtual volume group so as to satisfy the contracted performance, The management system adjusts the QoS setting value based on the operation information of each of the volumes. A storage system comprising:

2. A physical volume group is set by one or more of the volumes operating in the same storage device, The QoS setting value is set on a per physical volume group basis.

2. The storage system according to claim 1.

3. The operational information includes an average response for each of the volumes, The management system adjusts the QoS setting based on the average response of each of the volumes in the virtual volume group.

3. The storage system according to claim 2.

4. When the IOPS to the virtual volume group exceeds the upper limit IOPS of the contracted performance, the QoS setting value is adjusted.

4. The storage system according to claim 3.

5. The operational information includes an average IOPS for each of the volumes. When the IOPS to the virtual volume group is below the upper limit IOPS of the contracted performance, and for each volume group constituting the virtual volume group, there is a physical volume group whose average IOPS is equal to or greater than the QoS setting value, Adjusting the QoS settings within the virtual volume group based on the average IOPS for each physical volume group.

3. The storage system according to claim 2.

6. The contract performance includes a target average response; The operational information includes an average IOPS and an average response for each of the volumes. When the IOPS to the virtual volume group is below the upper limit IOPS of the contracted performance, and there is no physical volume group whose average response is longer than the target average response included in the contracted performance, Adjusting the QoS setting within the virtual volume group based on the average IOPS for each physical volume group.

3. The storage system according to claim 2.

7. The contract performance includes a target average response; The operational information includes an average IOPS and an average response for each of the volumes. When the IOPS to the virtual volume group is below the upper limit IOPS of the contracted performance and the physical volume group exists in which the average response is longer than the target average response included in the contracted performance, A volume belonging to the physical volume group is migrated to another storage device.

3. The storage system according to claim 2.

8. a plurality of storage devices each having a processor, each providing volumes and processing data input / output to / from the volumes; A storage device for physically storing the data; a management system for managing the plurality of storage devices; A method for managing QoS in a storage system comprising: the management system forms a virtual volume group using the multiple volumes provided by the multiple storage devices, A performance contract including an upper limit of IOPS is set for the virtual volume group, setting a QoS setting value including an upper limit of IOPS for each of the volumes constituting the virtual volume group so as to satisfy the performance contract; The management system adjusts the QoS setting value for each of the volumes based on the operation information of each of the volumes. A QoS management method in a storage system comprising:

Citation Information

Patent Citations

  • Volume selection method and information processing system

    JP2008084253A

  • Storage system and operation method thereof

    JP2010122814A

  • Storage device and storage control method

    JP2015520426A

  • Multi-client storage system and storage system management method

    WO2013051056A1

  • Computer system and volume allocation control method

    WO2017017775A1