WO2017085870A1 - Système informatique - Google Patents

Système informatique Download PDF

Info

Publication number
WO2017085870A1
WO2017085870A1 PCT/JP2015/082729 JP2015082729W WO2017085870A1 WO 2017085870 A1 WO2017085870 A1 WO 2017085870A1 JP 2015082729 W JP2015082729 W JP 2015082729W WO 2017085870 A1 WO2017085870 A1 WO 2017085870A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
resource
storage device
volume
target
Prior art date
Application number
PCT/JP2015/082729
Other languages
English (en)
Japanese (ja)
Inventor
良徳 大平
渡 岡田
晋広 牧
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/082729 priority Critical patent/WO2017085870A1/fr
Publication of WO2017085870A1 publication Critical patent/WO2017085870A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present invention relates to a performance management technique for a computer system.
  • a performance management technology of a computer system there is a technology that prevents a performance influence between applications by enabling a user to set a resource occupation amount for each physical resource (port, cache, etc.) possessed by the computer system.
  • storage virtualization technology such as thin provisioning technology and tearing technology, allows the storage system to be managed even by users without specialized knowledge by automatically determining the appropriate media for storing data. is there.
  • One of the challenges of performance management technology for virtual storage devices is the performance of the virtual storage device that occurs when the storage function is applied to the virtual volume when there are multiple virtual volumes in one virtual storage device There is no way to avoid the problem.
  • the storage function include a volume copy function for a virtual volume belonging to a virtual storage apparatus, a virtual volume deduplication function, a virtual volume compression function, and the like.
  • the virtual storage device virtual is affected by the temporary load for copying the volume. There may be a case where the amount of resources is temporarily insufficient, and the performance of other virtual volumes in the virtual storage apparatus is degraded.
  • the computer system includes a storage device, a memory, and a processor that executes a program stored in the memory.
  • the processor creates a first virtual storage device.
  • the processor secures the first resource from the physical resources in the computer system and allocates the first resource to the first virtual storage device.
  • the processor creates a plurality of virtual volumes in the first virtual storage device using the first resource.
  • the processor receives an I / O request for any of the plurality of virtual volumes, the processor executes processing related to the I / O request using the first resource.
  • the processor receives a request for execution of a target operation on a target virtual volume from among a plurality of virtual volumes, and a first resource amount that is a resource amount of a first resource used when the target operation is executed on the target virtual volume It is determined whether or not estimation is possible.
  • the processor generates the second virtual storage device when the first resource amount cannot be estimated.
  • the processor identifies the second resource used for the target virtual volume among the first resources, and allocates at least the second resource to the second virtual storage device.
  • the processor changes the affiliation of the target virtual volume from the first virtual storage device to the second virtual storage device.
  • the processor performs the target operation on the target virtual volume.
  • the performance impact on other virtual volumes due to the target operation on the target virtual volume can be reduced.
  • FIG. It is a 1st block diagram of the computer system which concerns on a present Example. It is a figure explaining allocation to the virtual resource of a physical resource. It is a figure explaining the correspondence of a physical volume and a virtual volume.
  • 3 is a diagram illustrating an example of a storage control program and a storage control table stored in a memory 142.
  • FIG. It is an example of a virtual storage configuration management table 411. It is an example of a virtual volume configuration management table 412. An example of the physical volume configuration management table 413 is shown. It is an example of a virtual volume monitor table 414. 4 is an example of a workload characteristic management table 420; An example of the physical resource amount management table 415 is shown. An example of the virtual resource amount management table 416 is shown.
  • 3 is an example of a resource allocation program 400. It is an example of a virtual volume creation program. 3 is an example of a host I / O program 401. It is a figure explaining a volume copy function. It is a figure explaining a deduplication function and a compression function. It is an example of a storage function state management table 417. It is an example of a default resource amount table 418. It is an example of a virtual resource amount learning table 419. An example of the setting screen 2301 displayed on the user computer is shown. It is an example of the process which the workload determination program 405 performs. It is an example of the flowchart of the process which the storage function application program 402 performs.
  • xxx table information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
  • xxx information information may be described using the expression “xxx table”, but the information may be expressed in any data structure. That is, “xxx table” can be referred to as “xxx information” to indicate that the information does not depend on the data structure.
  • the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of the two or more tables may be a single table. Good.
  • the components, functions, processing units, processing means, and the like described in the present embodiment may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Information such as programs, tables, and files that realize each function includes non-volatile semiconductor memory,
  • a storage device such as a hard disk drive or SSD (Solid State Drive), or a computer-readable non-transitory data storage medium such as an IC card, SD card or DVD.
  • a reference number or a common number in the reference number is used, and when a description is made by distinguishing the same type of element, the reference number of the element is used.
  • an ID assigned to the element may be used instead of the reference code.
  • the process may be described with “program” as the subject, but the program is executed by a processor (for example, a CPU (Central Processing Unit)) so that a predetermined process can be appropriately performed. Since processing is performed using a storage resource (for example, a memory) and / or an interface device (for example, a communication port), the subject of processing may be a processor.
  • the process described with the program as the subject may be a process or system performed by a processor or an apparatus having the processor.
  • the processor may include a hardware circuit that performs a part or all of the processing.
  • the program may be installed in a computer-like device from a program source.
  • the program source may be, for example, a storage medium that can be read by a program distribution server or a computer.
  • the program distribution server may include a processor (for example, a CPU) and a storage resource, and the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
  • a processor for example, a CPU
  • the storage resource may further store a distribution program and a program to be distributed. Then, the processor of the program distribution server executes the distribution program, so that the processor of the program distribution server may distribute the distribution target program to other computers.
  • two or more programs may be realized as one program, or one program may be realized as two or more programs.
  • FIG. 1 is a first configuration diagram of a computer system according to the present embodiment.
  • the computer system includes a host computer (hereinafter referred to as a host) 100, a server computer (hereinafter referred to as a server) 2501, a medium 150, and a management server computer (hereinafter referred to as a management server) 110.
  • the number of each of the host 100, media 150, and management server 110 included in the computer system is an arbitrary number of 1 or more. Further, the number of servers 2501 included in the computer system is not limited to two as in the illustrated example, and may be one or three or more.
  • the medium 150 stores data that the host 100 reads and writes.
  • the medium 150 may be of any type, such as an SSD (Solid State Drive) 151 or an HDD (Hard Disk Drive) 152. Further, the medium 150 may be configured as a single unit, or a plurality of media 150 may configure a RAID (Redundant Arrays of Inexpensive Disks) group.
  • the server 2501 is, for example, a general purpose computer.
  • the server 2501 performs data transfer control between the host 100 and the medium 150.
  • the host 100 is a computer that performs business using data stored in the medium 150.
  • the host 100 and the server 2501 are connected by a data network 130 and can communicate with each other.
  • the data network 130 uses a general technique such as Ethernet (registered trademark).
  • the servers 2501 are connected to each other via the interconnect network 2502 and can refer to information held by each other.
  • the interconnect network 2502 can be configured by using a general technique as with the data network 130.
  • the server 2503 is connected to the management server 110 via the management network 131.
  • the management server 110 and each computer 2501 can communicate with each other.
  • the management network 131 also uses a general technique such as Ethernet (registered trademark).
  • the management server 110 is a general-purpose computer, for example. In the management server 110, system management software operates.
  • the system management software is software that manages the server 2501.
  • the server 2501 includes devices such as a processor 141, a memory 142, a host interface 160, an inter-server interface 2502, a management interface 161, and a media interface 162.
  • Each interface 160, 2501, 161, 162 may be simply referred to as a port.
  • the devices in the server 2501 are connected to each other via an internal network (not shown) and can communicate with each other.
  • Each processor 141 in the server 2501 can execute a program that realizes various functions of the server 2501, such as a program that processes a command received from the host 100.
  • the host interface (host I / F) 160 is a device that is connected to the host 100 and communicates with the host 100.
  • the host I / F 160 is equipped with a communication protocol used for the data network 130 and can communicate data and commands with the host 100.
  • the inter-server interface (inter-server I / F) 2502 is a device that performs communication between the servers 2502.
  • the inter-server I / F 2502 is implemented with a communication protocol used for the interconnect network 2503, and data and commands can be communicated between the servers 2501.
  • the management interface (management I / F) 161 is a device that is connected to the management server 110 and communicates with the management server 110.
  • the management interface 161 is implemented with a communication protocol used for the management network 131 and can communicate data and commands with the management server 110.
  • the media interface (media I / F) 162 is a device that is connected to the media 150 and communicates with the media 150.
  • the media I / F 162 is implemented with standard communication protocols such as FC, Serial Attached SCSI (SAS), Serial Advanced Technology Attachment (SATA), and can communicate data and commands with the media 150.
  • FC Serial Attached SCSI
  • SAS Serial Attached SCSI
  • SATA Serial Advanced Technology Attachment
  • each device included in the computer system may be referred to as a “physical resource”.
  • the type of each device such as the memory 142 or the processor may be referred to as a “resource type”.
  • Each server 2501 generates a plurality of virtual resources (virtual processor, virtual memory, virtual port, etc.) by logically dividing one physical resource (processing capacity) using so-called virtual computer technology. Can do. Specifically, for example, one physical resource is logically divided by assigning the processing capacity of the physical resource to a plurality of virtual resources in a time division manner.
  • the maximum processing capacity is defined for each physical resource.
  • the maximum processing capacity of each physical resource may be referred to as “limit resource amount”.
  • the physical resource is consumed, for example, by executing an input / output (I / O) process based on a read or write command from the host 100 by a host I / O program 401 described later.
  • I / O input / output
  • configurations having different limit resource amounts are allowed even for the same resource type.
  • FIG. 2 is a diagram illustrating allocation of physical resources to virtual resources.
  • the virtual storage 200 is configured with physical resources (for example, processor 141, memory 142, ports 160, 2501, 161, 162, etc.) in the server 2501 or physical resources (for example, media 150) connected to the server 2501. It is a logical storage device, and a plurality of virtual storages 200 can be generated from one storage device.
  • each physical resource may be referred to as a physical processor 141, a physical memory 142, a physical medium 150, and a physical port.
  • the resource amount of each virtual resource may be referred to as a virtual resource amount
  • the resource amount of each physical resource may be referred to as a physical resource amount.
  • the virtual storage 200 includes “virtual resources” such as a virtual processor 201, a virtual memory 202, a virtual medium 203, and a virtual port 204.
  • Each virtual resource corresponds to a physical processor 141, a physical memory 142, a physical medium 150, and a physical port.
  • Virtual resources and physical resources have an N: M correspondence.
  • some or all of the physical resource amounts possessed by the plurality of processors 141 can be combined and assigned to one virtual processor 201.
  • the physical resource amount of one processor 141 can be allocated to a plurality of virtual processors.
  • FIG. 3 is a diagram for explaining the correspondence between physical volumes and virtual volumes.
  • the physical volume 301 is a logical volume that the computer system has.
  • the server 2501 generates one or more physical volumes 301 based on one or more physical media 150.
  • the virtual volume 300 is a virtual logical volume that the virtual storage 200 has.
  • the physical processor 141 generates the virtual volume 300 by executing the resource allocation program 400.
  • the server 2501 associates the physical volume 301 with the virtual volume.
  • the virtual storage 200 includes a plurality of virtual volumes 300 . This is for explaining the performance management technique when a plurality of virtual volumes 300 belong to one virtual storage 200 in the present embodiment, and one virtual volume 300 does not belong to one virtual storage 200. This is not a limitation.
  • the correspondence relationship between the virtual volume and the physical volume is 1: 1 and the volume size is the same is described.
  • the correspondence relationship between both volumes is not limited to 1: 1, and may be 1: N, N: 1, or N: M.
  • two physical volumes 301 having a half volume size may be associated with one virtual volume 300 having an arbitrary volume size.
  • FIG. 4 is a diagram illustrating an example of a storage control program and a storage control table stored in the memory 142.
  • the storage control program includes, for example, a resource allocation program 400, a host I / O program 401, a storage function application program 40O program 401, a storage function application program 402, a virtual resource amount learning program 403, a virtual resource amount relearning program 404, and a work A load determination program 405 is included. Details of each program will be described later.
  • the storage control table includes, for example, a virtual storage setting management table 410, a virtual storage configuration management table 411, a virtual volume configuration management table 412, a physical volume configuration management table 413, a virtual volume monitor table 414, a physical resource amount management table 415, and a virtual resource.
  • An amount management table 416, a storage function state management table 417, a default resource amount table 418, a virtual resource amount learning table 419, and a workload characteristic management table 420 are included.
  • the virtual storage setting management table 410 is a table for managing configuration information of the virtual storage 200. Details of the tables 411-419 will be described later.
  • the management server 110 may also have storage control tables 410-420.
  • the storage control tables 410-420 can be synchronized between the management server 110 and the server 2501.
  • the system management software on the management server 110 includes the functions 400, 402, 403, and 404 of the storage control program. Thereby, the functions of the programs 400, 402, 403, and 404 among the storage control programs can be operated on the management server 110.
  • the server 2501 controls the operation of the physical storage by referring to the storage control table and executing the storage control program.
  • FIG. 5 is an example of the virtual storage configuration management table 411.
  • the virtual storage configuration management table 411 is a table for managing configuration information of virtual resources for each virtual storage 200.
  • the virtual storage configuration management table 411 includes, for example, a virtual storage identifier (VS #) 501, a virtual storage virtual port configuration 502, a virtual storage virtual processor configuration 503, and a virtual storage configuration for each virtual storage 200. It includes columns for virtual memory configuration 504 and virtual storage virtual media configuration 505.
  • the virtual resource amount of the virtual port 204 is set. This virtual resource amount is indicated by, for example, the port performance (Gbps) and the number of ports (number) of one or more physical ports constituting the virtual port 204.
  • the virtual resource amount of the virtual processor 201 is set. This virtual resource amount is indicated by, for example, the processor performance (GHz) and the number of processors (pieces) of one or more physical processors 141 constituting the virtual processor 201.
  • the virtual resource amount of the virtual memory 202 is set.
  • This virtual resource amount is indicated by, for example, a memory amount (Byte) of one or more physical memories 142 constituting the virtual memory 202.
  • the virtual resource amount of the virtual media 203 is set.
  • the virtual resource amount of the media is indicated by, for example, the media type (SSD 151 or HDD 152) and the number of media (pieces) of one or more physical media 150 constituting the virtual media 203.
  • the physical resource amount of the physical medium 150 that is the basis of the virtual resource amount of the virtual medium 203 differs for each media type.
  • the physical resource amount per unit for each media type may be determined in advance in the system, such as 100 IOPS for HDD and 10000 IOPS for SSD. Naturally, media 150 of different media types with different physical resource amounts may be added.
  • the total virtual resource amount of the virtual port is 8 Gbps
  • the total virtual resource amount of the virtual processor is 2.3 GHz
  • the virtual resource amount of the virtual memory Is 200 GB in total
  • the virtual resource amount of the virtual media is 30000 IOPS in total.
  • the virtual storage configuration management table 411 is an example. For each virtual resource amount, a general unit indicating a physical resource amount related to processing performance can be used. Further, this table 411 can further include columns of other virtual resources of the virtual storage 200.
  • FIG. 6 is an example of the virtual volume configuration management table 412.
  • the virtual volume configuration management table 412 is a table showing the correspondence between the virtual volume 300 and the physical volume 301.
  • the virtual volume configuration management table 412 includes, for example, a virtual volume number (VVOL #) 601 that is an identifier of a virtual volume, a volume size 602 of the virtual volume, and a physical volume number of a physical volume associated with the virtual volume for each virtual volume. 603, a virtual volume label 604, a virtual storage number 605, a virtual volume learning virtual storage number 606, and a learning function application necessity 607 column.
  • VVOL # virtual volume number
  • the workload characteristics of the virtual volume are set.
  • the workload characteristics are set by a user or measured by the workload determination program 405, for example. Details of the workload determination program 405 will be described later.
  • VVOL # 000 has the workload characteristics of the first online transaction processing (OLTP) system.
  • OLTP online transaction processing
  • the first OLTP system has a workload characteristic that, for example, I / O to the virtual volume is a random access with a relatively small amount of data.
  • DWH is set in the label 604 of VVOL # 002. This indicates that VVOL # 002 has data warehouse (DWH) workload characteristics.
  • the DWH system has a workload characteristic that, for example, the I / O to the virtual volume is a sequential access with a relatively large amount of data.
  • N / A is set in the label 604 of VVOL # 001.
  • N / A is set in each column 601-606 of VVOL # 001. This indicates that no physical volume is associated with VVOL # 001.
  • the virtual storage number is an identifier of the virtual storage to which the virtual volume normally belongs.
  • the learning virtual storage number is a value used in the storage function application program 402, and is an identifier of a virtual storage that temporarily isolates the virtual volume when the learning function is applied.
  • the virtual storage number being learned is set. Note that “-” is set in the column 606 before and after learning.
  • the learning function application necessity is a value used in the storage function application program 402 and is a value indicating whether or not the virtual volume applies the learning function.
  • the virtual volume learning function is applied by the virtual resource amount learning program 403. Details of the storage function application program 402 and the virtual resource amount learning program 403 will be described later. The learning function and learning will be described later.
  • VVOL # 000 and # 002 belong to the virtual storage # 000.
  • the learning function is applied to both VVOL # 000 and # 002.
  • VVOL # 002 indicates that learning is in progress and the affiliation has been changed to virtual storage # 100.
  • the association with the physical volume # 002 is changed from VVOL # 002 in the virtual storage # 000 to VVOL # 002 in the virtual storage # 100.
  • each resource (columns 703-706) in charge of physical volume # 002 is virtual storage # 100. Will be assigned.
  • each resource (columns 703-706) in charge of the physical volume # 002 is reassigned to the virtual storage # 000.
  • the server 2501 uses the virtual storage set in the virtual storage number 605 as the access destination. However, when a number is set in the learning virtual storage number 606, the server 2501 sets the virtual storage set in the learning virtual storage number 606 as the access destination.
  • FIG. 7 shows an example of the physical volume configuration management table 413.
  • the physical volume configuration management table 413 is a table for managing information of physical resources that are in charge of processing (hereinafter referred to as assigned resources) for each physical volume 301.
  • the physical volume configuration management table 413 includes, for each physical volume, a physical volume number 701 that is an identifier of the physical volume, a volume size 702 of the physical volume, an assigned port number 703 that indicates an identifier of a port in charge of the physical volume, and a physical volume.
  • the unique identifier for each media type such as “HDD100” or “SSD100” is shown as the assigned media number 706, the identifier may be any as long as the storage medium can be specified.
  • N / A is stored in the volume size 702, it indicates that the physical volume is not defined.
  • FIG. 8 is an example of the virtual volume monitor table 414.
  • the virtual volume monitor table 414 is a table for managing monitor information for each virtual volume 300.
  • the virtual volume monitor table 414 indicates, for each virtual volume 300, a virtual volume number (VVOL #) 801 that is an identifier of the virtual volume, a throughput performance 802 that indicates the throughput performance of the virtual volume, and a response performance of the virtual volume.
  • the column includes a response performance 803, a read rate 804 indicating the read rate of the virtual volume, a sequential rate 805 indicating the sequential rate of the virtual volume, and a hit rate 806 indicating the hit rate of the virtual volume.
  • the monitor information may include an I / O size (I / O size) for the virtual volume. Note that the throughput performance, response performance, read rate, sequential rate, hit rate, and I / O size are self-explanatory and will not be described.
  • the values in the columns 802 to 806 are measured by the host I / O program 401 and updated. Although details of how to update these values are not described in this specification, they can be updated using a general monitoring technique. For example, the update of the throughput performance can be realized by a process of sequentially counting the number of I / O received by the host and totaling it every second.
  • FIG. 9 is an example of the workload characteristic management table 420.
  • the workload characteristic management table 420 is a table for managing characteristic information for each workload characteristic, for example.
  • the workload characteristic management table 420 includes, for each workload characteristic, a label 901 that is an identifier of the workload characteristic, a read rate 902, a sequential rate 903, an I / O size 904, and Hit as each characteristic information of the workload characteristic.
  • a column with a rate of 905 is included.
  • a response performance column for a virtual volume may be included.
  • Columns 902 to 905 include standard values (standard values) of characteristic information when a virtual volume having the workload characteristic is measured.
  • the standard value of a virtual volume with the workload characteristic “OLTP1” has a read rate of 10%, a sequential rate of 0%, an IO size of 8 KB, and a hit rate of 0%.
  • FIG. 10 shows an example of the physical resource amount management table 415.
  • the physical resource amount management table 415 is a table for managing the amount of physical resources (physical resource amount) of the physical storage.
  • the physical resource amount management table 415 includes, for example, a physical resource resource type 1001, a physical resource resource number 1002, a physical resource limit resource amount 1003, a physical resource resource allocation rate 1004, and a physical resource usage rate 1005 for each physical resource. , And a physical resource usage rate threshold 1006 column.
  • the type of the physical resource is set.
  • the type is, for example, a physical port, a physical processor, a physical memory, a physical medium, or the like.
  • an identifier of the physical resource is set.
  • the physical resource can be uniquely specified by the values set in the resource type 1001 and the resource number 1002.
  • the maximum processing capacity of the physical resource is set.
  • the ratio of the physical resource amount occupied by any virtual resource in the limit resource amount is set.
  • the physical resource usage rate 1005 a ratio of the physical resource amount used by any virtual resource in the limit resource amount is set.
  • the resource allocation rate and physical resource usage rate are values based on the processing performance of physical resources. In this specification, for convenience, a value obtained by subtracting the resource allocation rate 1004 from 100% is also expressed as a surplus resource rate.
  • the limit resource amount is 4 Gbps
  • the resource allocation rate is 10%
  • the physical resource usage rate is 1%.
  • 400 Mbps is occupied by the virtual port of any virtual storage 200
  • 40 Mbps is used by the virtual port.
  • the limit resource amount is 2 GHz
  • the resource allocation rate is 50%
  • the physical resource usage rate is 40%.
  • 1 GHz or 500 ms per second
  • any virtual processor of the virtual storage 200 of which 0.8 GHz (or 400 ms per second). Indicates that the virtual processor is using.
  • the limit resource amount is 100 MB
  • the resource allocation rate is 30%
  • the physical resource usage rate is 20%.
  • 30 MB of the limit resource amount 100 MB of the physical memory # 000 is occupied by the virtual memory of any one of the virtual storages 200, of which 20 MB is used by the virtual memory.
  • the capacity used for the virtual storage 200 may indicate a cache capacity referred to as a read cache per unit time.
  • the limit resource amount is 100 IOPS
  • the resource allocation rate is 60%
  • the physical resource usage rate is 50%.
  • the physical media # HDD002 indicates that 60 IOPS of the limit resource amount 100 IOPS is occupied by any virtual storage 200, and 50 IOPSMB is used for the virtual media.
  • each value is a value indicating the amount of resources targeted for the processing performance of each physical resource, it can be calculated by different calculation formulas or different units.
  • a threshold for determining that the physical resource is in a resource tight state is set.
  • the server 2501 operates the resource tightness improvement program regularly or irregularly. For example, this program refers to the threshold 1006 and determines that the physical resource is in a resource tight state when the physical resource usage rate exceeds the threshold 1006. Physical resources that are in a resource tight state can hinder the virtual storage 200 from achieving the target performance.
  • the resource tightness improvement program can improve the tightness of each physical resource.
  • FIG. 11 shows an example of the virtual resource amount management table 416.
  • the virtual resource amount management table 416 is a table for managing the allocation amount of physical resources of the virtual resources that the virtual storage 200 has.
  • the virtual resource amount management table 416 includes, for example, a virtual storage number (VS #) 1101 indicating a virtual storage identifier, a resource type 1102 indicating the type of a virtual resource belonging to the virtual storage, and an identifier of a physical resource allocated to the virtual resource.
  • Resource number 1103 indicating resource occupancy rate 1104 indicating the occupancy rate of the virtual resource allocated to the physical resource
  • shared resource occupancy rate 1105 indicating the proportion of the physical resource not allocated to the virtual resource
  • virtual of the physical resource It has columns for a resource usage rate 1106 and a storage function usage rate 1107.
  • the ratio of the virtual resources allocated (occupied) is set out of the limit resource amount of the physical resource.
  • the virtual processor included in VS # 000 occupies 50% of the limit resource amount of physical processor # 000 and 20% of the limit resource amount of processor # 001.
  • a ratio of virtual resources used by the virtual storage for the storage function among the virtual resources used by the virtual storage is set.
  • FIG. 12 is an example of the resource allocation program 400.
  • the server 2501 executes the resource allocation program 400 when receiving a virtual storage setting request from the management server 110.
  • This program 400 is a program for determining how much resource amount a virtual resource of a virtual storage is allocated to which physical resource of the physical storage.
  • the program 400 receives a virtual storage setting request (S1201).
  • This request includes, for example, the virtual storage number of the target virtual storage, the virtual volume number of the virtual volume belonging to the target virtual storage, the size, the target performance, and the configuration information of the virtual resources of the target virtual storage (virtual storage Each value of the configuration management table 411) and the like are included.
  • the virtual storage setting request may include the workload characteristics and learning policy of each virtual volume. These policies will be described later.
  • the program 400 sets an initial value of a virtual resource usage rate (hereinafter referred to as a target resource usage rate) targeted by the target virtual storage (S1202).
  • a target resource usage rate a virtual resource usage rate targeted by the target virtual storage
  • the target resource usage rate is a value used by the resource reallocation program 402, and is a value that controls the reserve amount of the virtual resource amount necessary to achieve the target performance. For example, if the target resource usage rate is set to 10%, the virtual storage can occupy 10 times the amount of virtual resources that the server 2501 has estimated to be necessary to achieve the target performance, and is set to 90%. Compared to the case, it is possible to reduce the risk of not achieving the target performance due to the change in the workload.
  • the target resource usage rate can be specified by the management server, but in this embodiment, an example in which the server 2501 automatically adjusts is shown.
  • the initial value is set to 20%, and an operation for securing a physical occupation amount five times the virtual resource amount set by the management server is illustrated. Thereafter, the target resource usage rate is raised in consideration of the virtual resource usage rate by the resource reallocation program 402, and is finally determined when the required minimum virtual resource amount is reached.
  • the program 400 executes a virtual volume creation program (S1203). Thereby, the creation of one virtual volume belonging to the virtual storage and the allocation of the virtual resource amount are executed. Details of the virtual volume creation program will be described later.
  • the program 400 determines whether or not the virtual volume has been successfully created (S1204). When the creation fails (S1204; No), the program 400 and the contents changed by the execution of the program 400 are rolled back (S1207), and the management server 110 is notified of the setting failure of the target virtual storage (S1208). The process is terminated.
  • the program 400 determines whether or not creation of all the virtual volumes specified in the virtual storage setting request is completed (S1205).
  • the program 400 If the creation of all virtual volumes has not been completed (S1205; No), the program 400 returns the process to S1203. On the other hand, when the creation of all virtual volumes is completed (S1205; Yes), the program 400 notifies the management server 110 of the successful setting of the target virtual storage (S1206), and the process ends.
  • a virtual storage is set according to the request from the management server 110, and a virtual volume belonging to it is created.
  • FIG. 13 shows an example of a virtual volume creation program.
  • This program 1202 is a part of the resource allocation program 400 and is executed in S1203.
  • This program creates one of the virtual volumes specified in the virtual storage setting request (hereinafter referred to as the target virtual volume in this description) and allocates virtual resources for the target virtual volume.
  • the program refers to the physical resource amount management table 415 and selects one of the resource types 1001 (S1301).
  • S1301 the resource types 1001
  • a case where a processor is selected as the resource type will be described with respect to S1302-1304. Similar steps are performed for other resource types.
  • the program selects the processor 141 having the smallest physical resource usage rate 1005 as the assigned resource (the assigned processor) from all the processors 141 in the physical storage (S1302). In the example of FIG. 10, “processor 001” is selected.
  • the program calculates the resource occupation rate according to the volume size of the target virtual volume (S1303).
  • the resource occupation rate of the target virtual volume is, for example, “(total virtual processor resource amount of the target virtual storage (value of virtual processor configuration 503)) ⁇ (total volume size of virtual volumes belonging to the target virtual storage) ⁇ ( (Volume size of target virtual volume) / (limit resource amount of processor in charge) ”
  • the purpose of S1303 is to determine a reasonable value as the initial value of the resource occupation rate of the target virtual volume. If this is the case, the resource occupancy of the target virtual volume may be calculated by different means. For example, it may be calculated simply by “(total amount of virtual resources specified by the management server) ⁇ (total number of virtual volumes belonging to the target virtual storage) ⁇ (limit resource amount of assigned virtual resource)”.
  • the program determines whether the calculated resource occupancy is less than or equal to the surplus resource ratio of the processor in charge (S1304). When the calculated resource occupancy exceeds the surplus resource rate of the processor in charge (S1304; No), the program responds to the resource allocation program 400 with a failure to create a virtual volume (1310) and ends the processing. To do.
  • the program determines whether the resource occupancy is calculated for all resource types (S1305). ).
  • the program returns to S1301, and selects one resource type for which the resource occupancy rate has not been calculated.
  • the program creates a physical volume (S1306) and associates each assigned resource with the created physical volume. Specifically, the program selects a physical volume that is not defined (for example, physical volume # 001) in the physical volume configuration management table 413, sets the volume size of the target virtual volume in the volume size 702, and calculates Each assigned resource identifier is set in the corresponding column 703-706.
  • the program allocates a virtual resource amount to each resource in charge (S1307). Specifically, the program adds the calculated resource occupancy rate to the resource allocation rate 1004 and resource occupancy rate 1104 of each assigned resource.
  • the program associates the created physical volume with the target virtual volume (S1308). Specifically, the program creates an entry for the target virtual volume in the virtual volume configuration management table 412 and sets the volume size 602, physical volume number 603, and virtual storage head 000 of the created physical volume.
  • the program responds to the resource allocation program that the virtual volume has been successfully created (S1309) and ends the process.
  • the program in response to a virtual storage setting request from the management server 110, it is possible to determine the resource in charge of the virtual volume to belong to the target virtual storage and assign an appropriate amount of virtual resource to each resource in charge.
  • FIG. 14 is an example of the host I / O program 401.
  • the host I / O program 401 is a program that processes a read or write command for the virtual volume 300 issued by the host 100 and received by the server 2501. Note that when the server 2501 receives a command, one arbitrarily selected processor 141 activates the host I / O program 401 corresponding to the command.
  • the program 401 receives a read or write command for the virtual volume from the host 100 (1401).
  • the virtual volume is referred to as a designated virtual volume
  • the command is referred to as a target command.
  • the program 401 refers to the virtual volume configuration management table 412 and the physical volume configuration management table 413, and identifies the resource in charge of the designated virtual volume (S1402).
  • the program 401 determines whether or not processing for the target command is being executed by the processor in charge (S1417). That is, it is determined whether or not the processor executing itself is a responsible processor. If not executed by the responsible processor (S1417; No), that is, the program 401 transfers the target command to the responsible processor in order to re-execute the program 401 by the responsible processor (S1418), and the process is terminated.
  • the program 401 determines whether the responsible port has received the target command (S1403). When a port other than the port in charge receives the target command (S1403; No), the program 401 returns an error to the host 100 (S1416) and ends the process.
  • the program 401 refers to the virtual resource amount management table 416, and the virtual resource usage rate 1106 of all the assigned resources is less than the upper limit of 100%. It is determined whether or not there is (S1404). When the virtual resource usage rate 1106 is 100% (S1404; Yes), the program 401 repeats the sleep for a predetermined time (S1415), and waits for the virtual resource usage rate to become less than 100%.
  • the program 401 analyzes the target command (S1405), and whether the target command is a read command. It is determined whether or not (S1406).
  • the program 401 determines whether target data (read data) based on the target command is stored in the responsible memory (S1419). When the target data is stored in the responsible memory (S1419; Yes), the program 401 transmits the target data on the responsible memory to the host 100 (S1409), updates the monitor information (S1413), and performs the processing. finish.
  • the program 401 reads the target data from the responsible medium (S1407) and stores the target data in the responsible memory (S1408). Next, the program 401 transmits the target data in the assigned memory to the host 100 (S1409), updates the monitor information (S1413), and ends the process.
  • the program 401 stores the target data in the responsible memory (S1410), and transmits a normal response to the host 100 (1411).
  • the program 401 writes the target data to the assigned medium at an arbitrary timing (S1412).
  • the monitor information is updated (S1413), and the process ends.
  • the monitor information includes throughput performance 802, response performance 803, read rate 804, sequential rate 805, hit rate 806, and the like for the specified virtual volume.
  • the monitor information also includes a physical resource usage rate 1005 and a virtual resource usage rate 1106 of each responsible resource used by the program 401.
  • the virtual resource usage rate the value of the virtual storage to which the virtual volume belongs is updated.
  • the host I / O program 401 can identify the resource assigned to the specified virtual volume based on the target command, and whether the virtual resource usage rate of the assigned resource has reached the upper limit (100% in this example). It is possible to determine whether or not the target command is processed only when it has not been reached. Further, when the virtual resource usage rate reaches the upper limit value, the processing of the target command can be quickly executed by allocating the shared resource.
  • the program 401 can acquire monitor information of processing for the target command.
  • the storage function of the physical storage will be described.
  • Examples of storage functions include a volume copy function, a deduplication function, and a compression function.
  • FIG. 15 is a diagram for explaining the volume copy function.
  • FIG. 15A is a diagram showing an overview of the volume copy function.
  • FIG. 15B is a state transition diagram in the volume copy function.
  • the volume copy function is a function for generating a virtual volume that is a copy of a certain virtual volume 300. Specifically, the data in the replication source virtual volume is copied to the replication destination virtual volume (volume copy; 1503).
  • the replication source virtual volume is a primary volume (PVOL) 1501
  • the replication destination virtual volume is a secondary volume (SVOL) 1502.
  • Init 1511 indicates an initial state.
  • the initial state is a state in which the volume copy 1503 between the PVOL 1502 and the SVOL 1502 is not executed.
  • the state transits to the state of Copying 1502 through an operation (create in the figure) for creating an SVOL from Init 1511.
  • Copying 1512 indicates a state in the middle of executing the volume copy 1503 from the PVOL 1501 to the SVOL 1502.
  • Paired 1513 is a state in which the contents of data in PVOL 1501 and SVOL 1502 match. Specifically, for example, a state immediately after the volume copy 1503 is completed, or a state in which write data is written in the PVOL 1501 and reflected in the SVOL 1502 after the volume copy 1503 is completed.
  • Suspended 1514 is in a state where the contents of the data in PVOL 1501 and SVOL 1502 do not match. Specifically, for example, the write data based on the write command is written only in the PVOL 1501 and is not reflected in the SVOL 1502. In this case, for example, a data difference portion between the PVOL 1501 and the SVOL 1502 is recorded.
  • an operation to temporarily suspend Paired 1513 is performed by writing to PVOL (Suspend in the figure)
  • the state transits to the state of Suspended 1514.
  • a resynchronization operation is performed from Suspended 1514 (Resync in the figure)
  • the state transits to Copying 1512.
  • Restoring 1515 is a state in which a data difference portion between the PVOL 1501 and the SVOL 1502 is reflected in the SVOL 1502.
  • the state transits to the Restoring state.
  • the reflection is completed, the state transits to the Paired 1513 state.
  • the amount of virtual resources required by PVOL 1501 and SVOL 1502 differs depending on each state. For example, when the status is Copying 1512, the SVOL 1502 requires a larger amount of virtual resources than when the status is Suspended 1514. That is, it is necessary to perform control for adding an appropriate amount of virtual resources to the SVOL 1502 when the state transition is made from the Suspended 1514 to the Copying 1511, that is, when the Resync operation is performed.
  • FIG. 16 is a diagram for explaining the deduplication function and the compression function.
  • FIG. 16A is a diagram illustrating an overview of the deduplication function and the compression function.
  • FIG. 16B is a state transition diagram in the deduplication function and the compression function.
  • FIG. 16A When there are areas 1601 where the same data is stored in a plurality of virtual volumes 300, the data in these areas 1601 overlap.
  • the deduplication function is a function for associating each of these areas (hereinafter referred to as duplication areas) 1601 with one physical area 1602 (duplication elimination 1610).
  • the deduplication function is a function that improves the capacity efficiency of the physical volume 301 by storing data in a plurality of overlapping areas 1601 together in one physical area 1602.
  • the overlapping area 1601 may be set in units of the virtual volume 300, or may be set in units of areas (for example, pages) smaller than the virtual volume 300.
  • the compression function is a function of improving capacity efficiency by compressing 1611 the data in the virtual area 1603 and storing it in the corresponding physical area storage 1604. It is possible to apply the function of compression 1611 together with deduplication 1610 to virtual areas 1601 in a plurality of virtual volumes 300 in which the same data is stored.
  • the compression function when the compression function is applied, it is necessary to perform a compression operation or an operation for releasing the compression (expansion / contraction operation) on the virtual area 1603 of the virtual volume 300, and the virtual volume compared to the case where the compression function is not applied 300 requires more virtual resources. That is, it is necessary to perform control for adding an appropriate virtual resource amount to the virtual volume 300 when the compression operation is executed.
  • Init 1605 indicates an initial state.
  • the initial state is a state where deduplication 1610 or compression 1604 is not executed.
  • Deduplicating (Compressing) 1606 is a state in which an operation (Deduplicate (Compress)) of deduplication 1610 (compression 1611) is being executed.
  • Dedicated (Compressed) 1608 is a state in which the process of deduplication 1610 (compression 1611) is completed.
  • Duplicating (De-Compressing) 1606 is a state in which an operation (Duplicate (De-Compress)) for releasing deduplication 1610 (compression 1611) is being executed.
  • FIG. 17 is an example of the storage function status management table 417.
  • the storage function status management table 417 is a table for managing storage functions for each virtual volume 300.
  • the storage function status management table 417 includes, for example, columns of a virtual volume virtual volume number (VVOL #) 1701, a virtual volume function type 1702, and a virtual volume status 1703 for each virtual volume.
  • VVOL # virtual volume virtual volume number
  • the type of storage function applied to the virtual volume is set. Specifically, for example, “volume copy ()”, “deduplication”, “compression”, and the like are set in the function type column 1702 as storage functions.
  • volume copy the parenthesis indicates whether the virtual volume is a replication source (PVOL) or a replication destination (SVOL).
  • the current status of the storage function of the virtual volume is set.
  • the status 1703 is set with the ratio of the overlapping area 1601 to the entire area of the virtual volume 300.
  • the state 1703 is set to either compressed or uncompressed as the compression state of the virtual volume.
  • FIG. 18 is an example of the default resource amount table 418.
  • the default resource amount table 418 is a table for managing the correction rate of the virtual resource amount of the virtual volume 300 when an operation is performed for each function type of the storage function.
  • the default resource amount table 418 includes, for example, a function type column 1801 indicating the type of storage function for each storage function, an operation 1802 for transitioning to each state of the storage function, and correction of the resource amount of the port when the operation is performed.
  • Port correction rate 1803 indicating the rate
  • processor 1804 indicating the rate of correction of the resource amount of the processor when the operation is performed
  • memory correction rate 1805 indicating the rate of correction of the resource amount of the memory when the operation is performed
  • operation Includes a column of media correction rate 1806 indicating the correction rate of the amount of resource of the media when performing.
  • the port correction rate 1803, the processor correction rate 1804, the memory correction rate 1805, and the media correction rate 1806 indicate the virtual resource amount when each operation is performed on the virtual resource amount of each virtual resource initially allocated to the virtual volume. A rate of increase may be set.
  • FIG. 19 is an example of the virtual resource amount learning table 419.
  • the virtual resource amount learning table 419 is a table for managing the learning result of the virtual volume for each workload when each operation of the storage function is performed.
  • the virtual resource amount learning table 419 includes, for example, a workload 1901 indicating the workload characteristics, a function type 1902 indicating the storage function type, and a storage function status for each operation in the workload characteristics of the virtual volume.
  • the column includes an operation 1903 indicating an operation, a learning state 1904, a learning result 1905, collected data 1906, and a learning count 1907.
  • learning refers to isolating a virtual volume to be learned into a learning virtual storage and monitoring the rate of increase in the amount of virtual resources allocated to the learning virtual storage.
  • the monitored data is calculated as collected data for each workload characteristic of the virtual volume, the function type of the storage function applied to the virtual volume, and each operation.
  • the collection data is calculated by executing the virtual resource amount learning program.
  • the workload 1901 in this figure corresponds to the label 901 in FIG.
  • the function type 1902 and the operation 1903 in this figure correspond to the function type 1801 and the operation 1802 in FIG.
  • the learning state 1904 an identifier for identifying whether or not the entry is valid is set.
  • the learning state 1904 is set with a plurality of learning states in the target workload characteristics, function types, and operations. Each learning state is, for example, “not learned”, “learning”, or “learning complete”.
  • “Unlearned” is a state where measurement has not yet started and collected data has not been acquired. “Learning” indicates that the measurement is started and the collected data is being acquired, but the required number of collected data has not yet been acquired and the learning result cannot be used. “Learning complete” indicates that the necessary number of collected data has been acquired and the learning result can be used.
  • the learning result 1905 stores the learning result.
  • the collected data 1906 stores the acquired collected data.
  • the learning count 1907 stores the number of acquired collected data.
  • the learning result and the collected data are, for example, the rate of increase of the resource amount for each virtual resource (virtual resource amount increase rate) as shown in the lower diagram of FIG.
  • the collection data of each virtual resource is collected in a preset number (specified number of times).
  • the learning result is an average value of the collected data of the specified number of times. That is, a value obtained by dividing the collected data of each virtual resource by the number of learnings is a learning result of each virtual resource.
  • CCC is an average value of data collected twice (CC1 and CC2) for each virtual resource.
  • the virtual resource amount learning table 419 can store learning results according to workload characteristics, storage function function types, and operations. In the virtual resource amount learning program 403 described below, appropriate learning of each virtual volume can be performed. You can refer to the results.
  • workload characteristics and learning policies are set for the virtual volume.
  • This policy is set for the virtual volume to which the storage function is applied.
  • the policy may be set when creating a virtual storage and a virtual volume, or may be set at any timing.
  • Policy setting is performed by a user computer connected to the management server 110 or the server 2501. Then, the server 2501 receives the policy setting from the user computer and sets it in the label 901 and the learning function application necessity 607 of the virtual volume configuration management table 412.
  • the management server 110 may receive a policy setting from the user computer and set the virtual resource amount learning table 419. As described above, the virtual resource amount learning table 419 is synchronized between the server 2501 and the management server 110.
  • FIG. 20 shows an example of the setting screen 2301 displayed on the user computer.
  • the user selects the virtual volume number of the virtual volume to which the storage function is applied on the setting screen 2301. Further, the user sets the workload characteristics and learning policy of the selected virtual volume according to the workload characteristics policy 2302.
  • the policy of the workload characteristic depends on, for example, selection of whether the user inputs or automatically identifies.
  • the learning policy specifies whether or not the specified virtual volume requires learning.
  • Either “label designation” or “automatic identification” can be selected as the workload characteristic policy 2302.
  • learning policy 2302 either “learning required” or “learning unnecessary” can be selected.
  • the virtual volume # 003 is selected, and the label designation “OLTP1” and “learning required” are set.
  • the requesting computer transmits the selection to the server 2501.
  • the server 2501 executes the workload determination program 405 to determine the workload characteristics of the selected virtual volume. Then, the server 2501 recognizes virtual volume groups with the same label as having the same workload characteristics.
  • the policy 2303 is “no learning required”, the server 2501 does not apply the learning function to the virtual volume in the storage function application program 402.
  • FIG. 21 shows an example of processing executed by the workload determination program 405.
  • the subject of this processing is the server 2501 (workload determination program 405), but is not limited thereto.
  • the subject of this processing may be the management server 110 (system management software).
  • the workload determination program 405 is executed when the server 2501 receives “automatic identification” as the workload characteristic policy 2302 of the selected virtual volume.
  • the selected virtual volume is referred to as a target virtual volume.
  • the program 405 refers to the virtual volume monitor table 414 and acquires monitor information 802-806 of the target virtual volume (S2401).
  • the program 405 classifies the workload characteristics of the target virtual volume based on the acquired monitor information 802-806 (S2402). Specifically, the program 405 calculates the similarity of the workload characteristics by calculating the similarity between the acquired monitor information 802-806 and each parameter 902-905 of each workload set in the virtual volume monitor table 414. Perform classification. For example, the least square method is used for calculating the similarity. In this classification, the difference between the collected monitor information 802 to 806 and the workload characteristic parameters 902 to 905 is calculated, and the workload characteristic with the smallest difference is regarded as the workload characteristic of the target virtual volume.
  • the program 405 sets the determined workload characteristics in the label 604 of the virtual storage configuration management table 412 (S2403).
  • the server 2501 can grasp the workload characteristics of each virtual volume belonging to the virtual storage. By grasping the workload characteristics of each virtual volume, a learning result for each workload characteristic when the storage function is applied to the virtual volume can be acquired.
  • FIG. 22 is an example of a flowchart of processing executed by the storage function application program 402.
  • the server 2501 executes the program 402 when it receives a storage function application request from the requesting computer.
  • the requesting computer designates the virtual volume to be requested, the type and operation of the storage function for the virtual volume, and transmits a storage function application request for requesting the operation to the server 2501.
  • This request indicates one operation of one function type of the storage function and the virtual volume number of the virtual volume that is the target of the operation.
  • the virtual volume to be requested is a target virtual volume
  • the virtual storage to which the target virtual volume currently belongs is the target virtual storage.
  • the request source computer may be a user computer or the management server 110 connected to the network 131 or 130.
  • the program 402 receives a storage function application request (S2001).
  • the program 402 refers to the virtual volume configuration management table 412 and determines whether or not the learning function needs to be applied to the target virtual volume (S2011).
  • the program 402 When learning of the target virtual volume is unnecessary (S2011; unnecessary), the program 402 applies the storage function specified for the target virtual volume (S2009), responds the completion of application to the requesting computer (S2010), and performs processing. Exit.
  • the server 2501 performs the operation of the applied storage function on the target volume asynchronously with the program 402 (asynchronous processing).
  • the program 402 determines the virtual resource amount of the target virtual storage when the function type and operation of the storage function included in the request are performed on the target virtual volume. It is determined whether estimation is possible (S2002). Specifically, the program 402 refers to the label 604 of the virtual volume configuration management table 412 and acquires the workload characteristics of the target virtual volume. Next, the program 402 refers to the virtual resource amount learning table 419 and determines whether the learning of the function type and operation of the storage function included in the request has been completed for the workload characteristics of the target virtual volume. In other words, this determination is a determination as to whether to create a learning virtual storage device.
  • the learning of the function type and operation of the storage function corresponding to the workload characteristics of the target virtual volume is completed. That is, in the virtual resource amount learning table 419, “learning complete” is set in the learning state 1904 corresponding to the combination of the acquired workload characteristic and the requested operation, and the learning result (virtual resource amount increase rate) is set. It is a memorized state. In this case, since the program 402 does not need to generate a learning virtual storage device, the program 402 acquires the virtual resource amount of the target virtual storage according to the learning result 1905 (S2007).
  • the program 402 increases the virtual resource amount increase rate of each virtual resource corresponding to the learning result 1905 and the configuration (virtual resource amount) 502-505 of each virtual resource of the target virtual storage in the virtual storage configuration management table 411. And get.
  • the program 402 multiplies the virtual resource amount of each virtual resource by the virtual resource increase rate to calculate the increase virtual resource amount.
  • the program 402 adds the virtual resource amount corresponding to the increase in the virtual resource amount of each virtual resource to each virtual resource of the target virtual storage (S2008). Note that the procedure for adding the increased virtual resource amount to each virtual resource of the target virtual storage is the same as the procedure shown in the virtual volume creation program, and therefore the details are omitted.
  • the program 402 executes the virtual resource configuration columns 502-505 of the virtual storage configuration management table 411, the resource allocation rate 1004 of the physical resource amount management table 415, and the resource occupation rate 1104 of the virtual resource amount management table 416. And the process proceeds to S2009.
  • the program 402 applies the storage function specified for the target virtual volume (S2009), responds to the requesting computer to the completion of application (S2010), and ends the processing.
  • the virtual resources of the target virtual storage are expanded by allocating the virtual resources of the virtual resources required for the requested operation to the target virtual storage.
  • the program 402 needs to generate a virtual storage for learning in order to learn the target virtual volume. Accordingly, the program 402 acquires the virtual resource amount of each virtual resource necessary for the learning virtual storage to which the target virtual volume belongs when learning (S2003). In this description, the virtual resource amount of each virtual resource in the learning virtual storage is referred to as a learning virtual resource amount.
  • the learning virtual resource amount includes a virtual resource amount (volume resource amount; V) of each virtual resource used by the target virtual volume, and a correction rate 1803 of the virtual resource amount of each virtual resource by executing the requested operation. Use the amount multiplied by -1806.
  • the learning virtual resource amount may be equal to the volume resource amount V.
  • the volume resource amount (V) is a value obtained by multiplying the resource usage P of the target virtual storage by the resource usage rate M of the target virtual volume.
  • the resource usage P is stored in the corresponding physical resource limit resource amount 1003 (physical resource amount management table 415), the virtual resource resource occupation rate 1104 and the virtual resource usage rate 1106 for the physical resource. This is a value obtained by multiplying (virtual resource amount management table 416).
  • the resource utilization rate M is the ratio of the throughput performance of the target virtual volume to the total value of the throughput performance of all virtual volumes belonging to the target virtual storage in the virtual volume monitor table 414.
  • the resource amount corresponding to the throughput performance of the target virtual volume can be estimated from the resource usage amount P of the target virtual storage. Further, the correction value of the virtual resource amount by execution of each operation can be estimated from the learning virtual resource amount with respect to the volume resource amount (V) which is the virtual resource amount when the operation is not applied.
  • the program 402 allocates a physical resource of the acquired learning virtual resource amount to each virtual resource, and newly creates a learning virtual storage (S2004). Creation of the learning virtual storage is basically the same as the resource allocation program 400 described above except that the virtual volume creation program 1203 is not performed.
  • each assigned resource of the physical volume corresponding to the target virtual volume of the learning virtual resource amount is allocated (the virtual volume configuration management table 412 and the physical volume configuration management table 413 are reference).
  • the allocation amount of each responsible resource to each virtual resource is changed according to the learning virtual resource amount. If the resource amount of the assigned resource is insufficient, the assigned resource of the virtual resource is added.
  • the assigned resource to be added may be a physical resource having the smallest physical resource usage rate among the physical resources in the computer system.
  • the program 402 changes the affiliation of the target virtual volume from the target virtual storage to the learning virtual storage (S2005). Next, the program 402 reduces the virtual resource amount of the target virtual storage (S2006), and advances the process to S2009. As a result, only the target virtual volume belongs to the learning virtual storage. Of the virtual resources allocated to the target virtual storage, the resource in charge of the target virtual volume is allocated to the learning virtual storage, so that the virtual resource amount of the target virtual storage is reduced.
  • the program 402 uses the virtual storage number of the target virtual storage as it is in the virtual storage number 605 of the virtual volume configuration management table 412. In the set state, the virtual storage number of the learning virtual storage is newly set in the learning virtual storage number 606. Next, the program 402 changes the learning state 1904 of the target workload characteristic to “under learning” for the virtual resource amount learning table 419.
  • the program 402 applies the storage function specified in the request to the target virtual volume (S2009), notifies the requesting computer of the application completion (S2010), and ends the processing.
  • the server 2501 performs the operation of the applied storage function on the target volume asynchronously with the program 402 (asynchronous processing).
  • the target volume In response to the storage function application request, it can be determined whether or not the target volume has been learned.
  • the virtual resource amount of the target virtual storage corresponding to the function type and operation of the storage function can be added based on the learning result.
  • An appropriate amount of virtual resources can be added without stopping the target virtual storage. Thereby, when the storage function is applied to the target virtual volume, the influence on other virtual volumes belonging to the target virtual storage can be reduced.
  • the affiliation of the target virtual volume is changed to the newly created virtual storage for learning.
  • learning can be performed when the operation included in the request is executed, and the increase in the virtual resource amount of the target virtual volume when the operation included in the request is executed is accurately estimated by learning. be able to.
  • the amount of virtual resources allocated to the target virtual storage is reduced. As a result, an appropriate virtual resource amount is allocated to both the target virtual storage and the learning virtual storage.
  • the subject of this processing is the server 2501 (storage function application program 402), but is not limited thereto.
  • the subject of this processing may be the management server 110 (system management software).
  • the subject of each step relating to the above description can be replaced with the management server 110.
  • the following steps are different from the above description.
  • the management server 110 When the management server 110 is the main body, for example, instead of S2004-S2005, the management server 110 creates a learning virtual storage that specifies the learning virtual resource amount acquired in S2003, and changes the affiliation of the target virtual volume.
  • the included instruction is transmitted to the server 2501.
  • the server 2501 creates a learning virtual storage based on the instruction, and allocates each virtual resource of the learning virtual resource amount.
  • the server 2501 changes the affiliation of the target virtual volume from the target virtual storage to the learning virtual storage, and reduces the target virtual storage.
  • the management server 110 transmits the acquired virtual resource amount and the target virtual storage expansion instruction to the server 2501.
  • the server 2501 adds each virtual resource of the virtual resource amount to the target virtual storage.
  • the management server 110 transmits a storage function application instruction for the target virtual volume to the controller.
  • the management server 110 transmits a response to the storage function application request to the requesting computer, and ends the process.
  • the server 2501 applies the storage function based on the instruction to the target virtual volume. Note that the management server 110 may collectively issue the instructions in S2004 to S2005 without performing each step.
  • FIG. 23 is an example of a flowchart of processing executed by the virtual resource amount learning program 403.
  • This program 403 is a program executed when it is determined that “estimation is impossible” in step 2002 of the storage function application program 402.
  • This program 403 is executed when a storage function operation (and learning about the operation) executed asynchronously with the storage function application program is completed, or when a specified time elapses after the execution of the operation starts. Program.
  • the program 403 refers to the virtual volume monitor table 414 and calculates the collection data of the target virtual volume from the monitoring information of the learning virtual storage (S2101).
  • the monitor information here is the virtual resource usage rate 1106 and the storage function usage rate 1107 of the learning virtual storage in the virtual resource amount management table 416.
  • the program 403 acquires monitor information and calculates a value obtained by multiplying these values as collected data.
  • the program 403 sets the virtual resource amount increase rate as the collected data in the column of each virtual resource in the entry corresponding to the workload (characteristic) 1901 of the target virtual volume and the executed operation 1903.
  • the program 403 determines whether or not the collection data of the preset number (specified number) has been collected (S2102). If the specified number of collection data has not been collected, the program 403 advances the process to S2104.
  • the program 403 calculates a learning result based on the specified number of collected data (S2103), and uses the calculated value as the target virtual volume of the virtual resource amount learning table 419. Are stored in the learning result column 1905 of the entry corresponding to the operation of the storage function.
  • the program 403 changes the learning state column 1904 of the entry corresponding to the workload characteristics and storage function operation of the target virtual volume in the virtual resource amount learning table 419 to “learning complete” (S2106).
  • the program 403 expands (restores) the target virtual storage for the amount reduced by the storage function application program (S2006) (S2104), and changes the affiliation of the target virtual volume from the learning virtual storage to the target virtual storage (S2105). ), The process is terminated. Specifically, the program 403 deletes the learning virtual storage number set in the learning virtual storage number 606 for the target virtual volume entry in the virtual volume configuration management table 412. In S2104, each virtual resource allocated to the learning virtual storage is again allocated to the target virtual storage (see the virtual volume configuration management table 412 and the physical volume configuration management table 413).
  • the virtual resource amount of the virtual resource allocated to the learning virtual storage can be calculated based on the learning result.
  • the target virtual storage can be expanded and the affiliation of the target virtual volume can be returned from the learning virtual storage to the target virtual storage.
  • the target virtual volume can be returned to an appropriate environment, and the required virtual resource amount can be allocated to the target virtual storage by returning the affiliation of the target virtual volume.
  • the subject of this processing is the server 2501 (virtual resource amount learning program 403), but is not limited thereto.
  • the subject of this processing may be the management server 110 (system management software).
  • the subject of each step relating to the above description can be replaced with the management server 110.
  • the server 2501 transmits monitor information to the management server 110 (including synchronization of tables between the server 2501 and the management server 110).
  • the server 2501 transmits a notification of completion of the target operation to the management server 110.
  • the following steps are different from the above description.
  • the management server 110 transmits to the server 2501 an instruction to expand the target virtual storage and return the affiliation of the target volume to the target virtual storage. Based on the instruction, the controller expands the target virtual storage, and returns the affiliation of the target virtual volume from the learning virtual storage to the target virtual storage.
  • FIG. 24 is an example of a flowchart of processing executed by the virtual resource relearning program 404.
  • the virtual resource relearning program 404 is a program for performing relearning when the result of virtual resource amount estimation using the learning result deviates from the subsequent monitoring result.
  • This program 404 is a program that is executed when it is determined that “estimation is possible” in step 2002 of the storage function application program 402.
  • This program 404 is executed when a storage function operation (and learning about the operation) executed asynchronously with the storage function application program is completed, or when a specified time elapses after the execution of the operation starts. Program.
  • the program 404 collects monitor information of the virtual resource amount increase rate of each virtual resource of the target virtual volume (S2201).
  • the monitor information here includes, for example, the virtual resource usage rate 1106 and the storage function usage rate 1107 (virtual resource amount management table 416) of the physical resource corresponding to each virtual resource of the target virtual storage, and the storage function application program 402.
  • the program 404 determines whether or not the collected monitor information is deviated from the learning result 1905 of the virtual resource amount learning table 419 (S2202).
  • the program 404 issues an alert to the requesting computer (2203) and changes the learning state 1904 to “unlearned”. (2204).
  • the virtual state is changed when the storage function is applied next time by changing the learning state to “unlearned”.
  • the resource amount learning program 403 can be activated.
  • the subject of this processing is the server 2501 (virtual resource relearning program 404), but is not limited thereto.
  • the subject of this processing may be the management server 110 (system management software). In this case, it is assumed that each table is synchronized between the server 2501 and the management server 110.
  • server 2501 has been described as one of the components of the computer system, any control computer including the server 2501 may be used.
  • the server 2501 can be replaced with a storage controller having each device (processor, memory, host interface, management interface, media interface, etc.).
  • a storage system may be configured by the storage controller and the medium 150 connected to the storage controller.
  • each process is performed by the server 2501 or the management server 110.
  • the storage controller may perform each process instead of the server 2501. An example of this is shown below.
  • FIG. 25 is a second configuration diagram of the computer system according to this embodiment.
  • the second configuration diagram is different from the first configuration diagram in that the computer system has a storage system.
  • Functions equivalent to the functions provided by software on the server 2501 may be provided by the storage controller. That is, also in this configuration, it is possible to provide functions equivalent to the various functions described above using the method shown by using the first configuration diagram.
  • the difference between the second configuration diagram and the first configuration diagram will be mainly described.
  • the computer system has an arbitrary number of one or more hosts 100, a management server 110, and a storage system.
  • the storage system includes a storage controller (hereinafter referred to as a controller) 120 and one or more media 150.
  • a storage controller hereinafter referred to as a controller
  • media 150 one or more media 150.
  • the controller 120 performs data transfer control between the host 100 and the medium 150.
  • the host 100 and the controller 120 are connected by a data network 130 and can communicate with each other.
  • the data network 130 is a network such as a SAN (Storage Area Network).
  • the data network 130 uses a general technology such as FC (Fibre Channel) or Ethernet (registered trademark).
  • the controller 120 is connected to the management server 110 via the management network 131.
  • the management server and the storage device can communicate with each other.
  • the management network 131 also uses a general technique such as Ethernet (registered trademark).
  • the controller 120 is configured to be operable even if a failure occurs in any of the modules 140, for example, by being made redundant by a plurality of modules 140.
  • the number of modules 140 in the controller 120 is not limited to a plurality and may be one. One module 140 will be briefly described.
  • the module 140 includes devices such as a processor 1410, a memory 1420, a host interface 1600, a management interface 1610, and a media interface 1620.
  • Module 140 may include any number of one or more devices.
  • Each device in the module 140 is the same as each device in the server 2501 (the processor 141, the memory 142, the host interface 160, the management interface 161, and the media interface 162).
  • information (such as various tables and programs) stored in the memory 1420 may be the same as that of the server 2501.
  • the processor 1410 can execute each process described above by executing the program in the memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Dans cette invention, un processeur génère un premier dispositif de mémoire virtuelle, obtient une première ressource provenant d'une ressource physique dans un dispositif de mémoire, attribue la première ressource au premier dispositif de mémoire virtuelle, et génère, à l'aide de la première ressource, une pluralité de volumes virtuels dans le premier dispositif de mémoire virtuelle. Si une demande visant à exécuter une opération spécifiée sur un volume virtuel spécifié parmi la pluralité de volumes virtuels est reçue, le processeur détermine si une estimation peut être effectuée pour un premier volume de ressource qui est le volume de la première ressource qui sera utilisé si l'opération spécifiée est exécutée sur le volume virtuel spécifié, et, si l'estimation du premier volume de ressource ne peut pas être effectuée, il génère un second dispositif de mémoire virtuelle. Le processeur identifie une seconde ressource, dans la première ressource, qui est utilisée dans le volume virtuel spécifié, attribue au moins la seconde ressource au second dispositif de mémoire virtuelle, et modifie l'affiliation du volume virtuel spécifié, qui passe du premier dispositif de mémoire virtuelle au second dispositif de mémoire virtuelle. Le processeur exécute l'opération spécifiée sur le volume virtuel spécifié.
PCT/JP2015/082729 2015-11-20 2015-11-20 Système informatique WO2017085870A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/082729 WO2017085870A1 (fr) 2015-11-20 2015-11-20 Système informatique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/082729 WO2017085870A1 (fr) 2015-11-20 2015-11-20 Système informatique

Publications (1)

Publication Number Publication Date
WO2017085870A1 true WO2017085870A1 (fr) 2017-05-26

Family

ID=58718610

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/082729 WO2017085870A1 (fr) 2015-11-20 2015-11-20 Système informatique

Country Status (1)

Country Link
WO (1) WO2017085870A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7473522B2 (ja) 2021-12-22 2024-04-23 株式会社日立製作所 ストレージ管理システム、及びストレージ管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122463A (ja) * 2005-10-28 2007-05-17 Fujitsu Ltd 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法
JP2013531283A (ja) * 2010-12-22 2013-08-01 株式会社日立製作所 ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
WO2015145664A1 (fr) * 2014-03-27 2015-10-01 株式会社日立製作所 Procédé de gestion de ressources et système de gestion de ressources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122463A (ja) * 2005-10-28 2007-05-17 Fujitsu Ltd 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法
JP2013531283A (ja) * 2010-12-22 2013-08-01 株式会社日立製作所 ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム
WO2015145664A1 (fr) * 2014-03-27 2015-10-01 株式会社日立製作所 Procédé de gestion de ressources et système de gestion de ressources

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7473522B2 (ja) 2021-12-22 2024-04-23 株式会社日立製作所 ストレージ管理システム、及びストレージ管理方法

Similar Documents

Publication Publication Date Title
US8984221B2 (en) Method for assigning storage area and computer system using the same
US9639277B2 (en) Storage system with virtual volume having data arranged astride storage devices, and volume management method
JP5438827B2 (ja) 記憶制御装置及び仮想ボリュームの制御方法
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP5323982B2 (ja) ボリューム管理装置及びストレージシステム
JP6340439B2 (ja) ストレージシステム
WO2010106574A1 (fr) Contrôleur de mémoire et procédé de commande de volume virtuel
CN111488241A (zh) 在容器编排平台实现无代理备份与恢复操作的方法和系统
JP2006505052A (ja) 記憶リソースのプロビジョニングのための方法および装置
JP2006277723A (ja) 少量配備システムにおけるデータコピーの方法と装置
US20180267713A1 (en) Method and apparatus for defining storage infrastructure
US10884622B2 (en) Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume
US20170220275A1 (en) Computer system and management program
JP2021026659A (ja) ストレージシステム及びリソース割当て制御方法
JP5547814B2 (ja) 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体
WO2015063859A1 (fr) Système informatique et procédé de commande
JP5957520B2 (ja) データ管理システム及び方法
JP2020052919A (ja) ストレージ装置、管理方法及びプログラム
WO2012035576A1 (fr) Système de stockage stockant des modules électroniques appliqués à des objets électroniques communs à plusieurs ordinateurs, et son procédé de commande de stockage
WO2015198441A1 (fr) Système informatique, ordinateur de gestion et procédé de gestion
WO2016006023A1 (fr) Dispositif de stockage, système informatique et procédé
JP2019124983A (ja) ストレージシステム及び記憶制御方法
WO2017085870A1 (fr) Système informatique
US9612769B1 (en) Method and apparatus for automated multi site protection and recovery for cloud storage
WO2018055686A1 (fr) Système de traitement d'informations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15908810

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15908810

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP