WO2016121066A1 - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- WO2016121066A1 WO2016121066A1 PCT/JP2015/052568 JP2015052568W WO2016121066A1 WO 2016121066 A1 WO2016121066 A1 WO 2016121066A1 JP 2015052568 W JP2015052568 W JP 2015052568W WO 2016121066 A1 WO2016121066 A1 WO 2016121066A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual
- resource
- volume
- resources
- amount
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Definitions
- the present invention relates to a storage system performance management technology.
- storage system performance management technology there is a technology that prevents the performance impact between applications by allowing the user to set the resource occupancy for each physical resource (port, cache, etc.) of the storage 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 is that the user decides which physical resource requires how much resource occupancy when performing performance management by setting the resource occupancy That is difficult. That is, it is difficult for the user to set the minimum necessary resource occupation amount for achieving the target performance.
- Another issue with performance management technology for virtual storage is that if the virtual storage consists of multiple physical resources, the minimum required resource occupancy can be set for each physical resource. However, when the bias of the processing load on each physical resource changes, the resource occupation amount of a specific physical resource may be insufficient and the target performance may not be achieved.
- the storage system in the present invention has a storage controller having a plurality of types of physical resources used for processing an I / O request from a host, and a media resource for storing data.
- the types of physical studies include at least processor resources, memory resources, and port resources connected to the host.
- the storage system can form one or more virtual storage apparatuses to which virtual resources obtained by logically dividing the processing capacity of physical resources are allocated, and creates a virtual volume that accepts I / O requests from the host in the virtual storage apparatus When a virtual resource is allocated to the virtual volume and an I / O request for the virtual volume is received from the host, the process related to the I / O request is performed using the allocated virtual resource.
- the storage system also increases the usage rate of the virtual resource allocated to the virtual volume in a stepwise manner after allocating the virtual resource to the virtual volume.
- Performance management for virtual storage becomes easy and performance management costs can be reduced.
- the system block diagram in this invention is shown. It is a block diagram of the virtual storage in this invention. It is a block diagram of the virtual volume in a 1st Example. It is a figure which shows the example of a control program and the example of a control table in this invention. It is a block diagram of the virtual storage setting management table in a 1st Example. It is a block diagram of the virtual storage configuration management table in the first embodiment. It is a block diagram of the virtual volume structure management table in a 1st Example. It is a block diagram of the physical volume structure management table in a 1st Example. It is a block diagram of the virtual volume monitor table in a 1st Example. It is a block diagram of the physical resource amount management table in a 1st Example.
- FIG. 1 is a block diagram schematically illustrating a schematic configuration of a computer system according to the first embodiment.
- the computer system includes a host 100, a management server 110, and a storage system 120.
- the number of hosts, management servers, and storage systems that can be included in the computer system is an arbitrary number of 1 or more.
- the host is a computer that performs business using data stored in the storage system.
- the host and the storage system are connected by a data network 130 and can communicate with each other.
- the data network is also called a SAN (Storage Area Network), and is configured using a general technology such as FC (Fibre Channel) or Ethernet.
- the management server is a computer that manages the storage system, such as setting various functions provided by the storage system.
- the management server and the storage system are connected by a management network 131 and can communicate with each other.
- the management network is also configured using a general technique such as Ethernet.
- the storage system includes one or more media 150 that store data read and written by the host, and one or more storage controllers 140 that perform data transfer control between the host and the media.
- media general technologies such as SSD (Solid State Drive) 151 and HDD (Hard Disk Drive) 152 can be used.
- the storage controller includes devices such as a processor 141, a memory 142, a host interface 160 (sometimes simply referred to as a port), a management interface 161, and a media interface 162.
- the storage controller can include any number of one or more devices.
- the devices in the storage controller are connected to each other via an internal network and can communicate.
- the storage controllers in the storage system are also connected to each other via an internal network and can communicate with each other.
- the processor can execute a program that realizes various functions of the storage controller, such as a program that processes a command received from the host. However, at least a part of the functions of the storage controller may be executed by a device (dedicated hardware or the like) other than the processor.
- the host interface and the management interface are devices connected to the host and the management server, respectively, for communication.
- Each of the host interface and the management interface is implemented with a communication protocol used for the data network and the management network, and can communicate data and commands with the host and the management server.
- Media interface is a device connected to media and communicating with each other.
- Standard communication protocols such as FC, Serial Attached SCSI (SAS), and Serial Advanced Technology Attachment (SATA) are implemented in the media interface, and data and commands can be communicated with the media.
- SAS Serial Attached SCSI
- SATA Serial Advanced Technology Attachment
- each device used to process an I / O request from the host such as a processor, memory, media, and host interface, included in the storage controller is referred to as a “physical resource”.
- a device type such as a processor or a memory is called a “resource type”.
- the storage controller according to the present embodiment generates a plurality of virtual resources (virtual processors, virtual ports, etc.) by logically dividing one physical resource (processing capacity) using so-called virtual computer technology. be able to.
- 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.
- Each physical resource has a maximum processing capacity.
- the maximum processing capacity of each physical resource is referred to as “limit resource amount”.
- the resource is consumed by executing processing such as I / O processing.
- configurations having different limit resource amounts are allowed even for the same resource type.
- FIG. 2 is a diagram showing a configuration example of the virtual storage.
- the virtual storage 200 has a logical resource (virtual processor 201, virtual memory 201, virtual media 203, virtual port 204) obtained by virtualizing the physical resources (processor 141, memory 142, medium 150, port 160) of the storage system 120.
- Storage can constitute a plurality of virtual storages. Each virtual resource corresponds to a processor, memory, media, and port that the storage system has.
- FIG. 3 is a diagram showing a configuration example of a virtual volume in the first embodiment.
- the virtual volume 300 is a virtual logical volume provided by the virtual storage 200 and includes a physical volume 301.
- the virtual volume is created by the resource allocation program 400.
- the physical volume is a logical volume that directly corresponds to the medium 150.
- FIG. 4 is a block diagram illustrating an example of a storage control program and a storage control table stored in the memory 142.
- the storage control program includes at least a resource allocation program 400, a host I / O program 401, a resource reallocation program 402, a resource tightness improvement program 403, a shared resource release program 404, and a storage function status change program 405. Details of each program will be described later.
- the storage control table includes at least 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, and a storage function state correction table 418 are included. Details of each control table will be described later.
- the storage control program shown in FIG. 4 controls the operation of the storage system 120 with reference to the storage control table shown in FIG.
- various types of management information are called “tables”, but the data structure of these management information is not limited to tables.
- Each management information does not depend on the data structure, and can be expressed by an appropriate data structure such as a list or a queue.
- FIG. 5 is an example of the virtual storage setting management table 410.
- the virtual storage setting management table is a table for managing the configuration information of the virtual storage 200 designated by the management server 110, and a plurality of virtual storage setting management tables may exist per storage system 120.
- the virtual storage setting management table includes at least a virtual storage number (hereinafter also abbreviated as VS #) column 501, a virtual volume number (hereinafter also abbreviated as VVOL #) column 502, and a target resource usage rate column 504. , And a priority column 505.
- the virtual storage number column 501 stores virtual storage identifiers provided by the storage system.
- the virtual volume number column 502 stores the identifier of the virtual volume 300 belonging to the virtual storage. There may be a plurality of virtual volume numbers stored in this column.
- the target resource usage rate column 504 stores the resource usage rate targeted by the virtual storage.
- the target resource usage rate is a value used by the resource reallocation program 402, and is a setting value that controls the reserve amount of the virtual resource amount necessary to achieve the target performance.
- the virtual storage can occupy 10 times the amount of virtual resources estimated by the storage system 120 to be necessary to achieve the target performance. Compared to the case of setting, it is possible to reduce the risk that the target performance will not be reached due to the change in the workload.
- the target resource usage rate 504 can be specified by the management server, but in this embodiment, an example in which the storage system 120 automatically adjusts is shown. The definition of the virtual resource amount in this embodiment will be described later.
- the priority order column 505 stores a value indicating the priority order between the virtual storages regarding the performance guarantee level.
- the priority 505 is a value used in the resource tightness improvement program 403, and means that the priority is higher as the priority 505 approaches 1. Then, the virtual storage with higher priority 505 is preferentially processed by the resource tightness improvement program 403. By executing the resource tightness improvement program 403, it is possible to reduce the risk of not reaching the target performance due to the change of the resource in charge.
- FIG. 6 is an example of the virtual storage configuration management table 411.
- the virtual storage configuration management table is a table indicating the configuration information of each virtual resource configuring each virtual storage 200, and includes at least a VS # column 601, a virtual port configuration column 602, a virtual processor configuration column 603, a virtual memory configuration 604, A virtual media configuration column 605.
- the virtual port configuration column 602 indicates the virtual resource amount of the virtual port 204 configured from a plurality of ports 160.
- the virtual resource amount of the virtual port 204 is expressed by, for example, port performance (Gbps) and the number of ports (number).
- the virtual processor configuration column 603 indicates the virtual resource amount of the virtual processor 201 configured by a plurality of processors 141.
- the virtual resource amount of the virtual processor 201 is expressed by, for example, processor performance (GHz) and the number of processors (pieces).
- the virtual memory configuration column 604 indicates the virtual resource amount of the virtual memory 202 configured from a plurality of memories 142.
- the virtual resource amount of the virtual memory 202 is expressed by, for example, a memory amount (Byte).
- the virtual media configuration column 605 indicates the virtual resource amount of the virtual media 203 configured from a plurality of media 150.
- the virtual resource amount of the virtual medium 203 is expressed by, for example, a media type (SSD 151 or HDD 152) and the number of media (pieces). Note that it is assumed that a unique resource value for each media type (media type resource amount) is determined in advance by the system, such as 100 IOPS for HDD and 10000 IOPS for SSD. Of course, media types with different media type resource amounts may be added.
- the values in columns 602 to 605 are hereinafter also referred to as virtual total resource amount.
- the total virtual port resource amount (virtual port configuration 602) of VS # 001 is 8 Gbps
- the virtual processor total resource amount (virtual processor configuration 603) is 2.3 GHz
- the total virtual memory resource amount (virtual memory configuration) 604) is 200 GB
- the total resource amount of the virtual media (virtual media configuration 605) is 30000 IOPS.
- a part (eg, several tens of percent) of one specific physical resource allocated to the virtual storage is called a virtual resource amount. For example, when 10% of a physical processor with a performance of 2 GHz (that is, 0.2 GHz) is allocated to a certain virtual storage, the virtual resource amount of the processor allocated to the virtual storage is expressed as 0.2 GHz.
- each virtual total resource amount stored in the virtual storage configuration management table 411 is an example, and a general unit indicating the resource amount related to processing performance can be used.
- a column of the virtual storage configuration management table 411 it is also possible to define the virtual total resource amount of virtual resources configured with other resource types that the storage system 120 has.
- FIG. 7 is an example of the virtual volume configuration management table 412.
- the virtual volume configuration management table 412 is information indicating the correspondence between each virtual volume 300 and the physical volume 301.
- the virtual volume configuration management table 412 includes at least a VVOL # column 701, a volume size column 702, a physical volume number column 703, and a target performance column 704.
- “N / A” stored in the physical volume number column 703 indicates that the virtual volume is unused.
- the target performance column 704 stores the target performance of the virtual volume.
- throughput performance IOPS or the like
- response performance ms or the like
- Throughput and response can be specified as a range. That is, it can be specified by “100 IOPS or more”, “200 IOPS or less”, or a combination thereof.
- FIG. 7 shows an example in which the lower limit value of the throughput performance is designated.
- throughput performance when set as the target performance, it is applied to all virtual volumes belonging to the virtual storage. For example, when 100 IOPS is set as the target performance, it indicates that the total of each virtual volume is 100 IOPS.
- a performance management method when response performance is set as the target performance is shown in the third embodiment.
- the unit of the target performance is not limited to the above, and may be a unit that can specify the throughput performance and the response performance.
- FIG. 8 shows an example of the physical volume configuration management table 413.
- the physical volume configuration management table 413 is a table that holds, for each physical volume 301 included in the storage system 120, information on a physical resource in charge of processing the physical volume (hereinafter referred to as a responsible resource).
- the physical volume configuration management table 413 includes at least information of a physical volume number column 801, a volume size column 802, a responsible port number column 803, a responsible processor number column 804, a responsible memory number column 805, and a responsible media number column 806.
- identifiers of resources in charge of physical volumes are stored.
- a unique identifier such as “HDD100” or “SSD100” is shown for each media type.
- the identifier may be any as long as the storage medium can be specified. If “N / A” is stored in the volume size column 802, this indicates that the physical volume number is undefined.
- FIG. 9 is an example of the virtual volume monitor table 414.
- the virtual volume monitor table 414 is a table that stores monitoring information of each virtual volume 300, and includes at least a VVOL # column 901, a throughput performance column 902, and a response performance column 903. Detailed description of each column is omitted for the sake of clarity.
- the values in the columns 902 and 903 are updated by the host I / O program 401. 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. 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 resource amount of each physical resource included in the storage system 120.
- the physical resource amount management table 415 includes at least a resource type column 1001, a resource number column 1002, a limit resource amount column 1003, a resource allocation rate column 1004, a physical resource usage rate column 1005, and a usage rate threshold value column 1006.
- the resource type column 1001 stores resource types such as the port 160, the processor 140, the memory 142, and the medium 150, and uniquely identifies each physical resource in the storage system 120 together with an identifier for each resource type stored in the resource number column 1002. It becomes information to identify.
- the limit resource amount column 1003 stores a value indicating the processing capability of each physical resource.
- the resource allocation rate column 1004 indicates the ratio of the total resource amount occupied by all virtual storages 200 that use the physical resource in the limit resource amount 1003 of the physical resource.
- the physical resource usage rate column 1005 indicates the amount of resources used by all the virtual storages 200 that use the physical resource that occupy the limit resource amount 1003 of the physical resource for executing the I / O processing. Shows the total percentage.
- the resource allocation rate 1004 and the physical resource usage rate 1005 in the table are values based on the processing performance of physical resources. In this specification, for the sake of convenience, “100% ⁇ (resource allocation rate 1004)” is also expressed as a surplus resource rate.
- “resource allocation rate 10%” is occupied (allocated) by 400 Mbps by the virtual storage 200
- “physical resource usage rate 1%” is 40 Mbps by the virtual storage 200.
- the limit resource amount 1003 is a processor of 2 GHz
- “resource allocation rate 50%” is occupied by 1 GHz (or 500 ms per second) by the virtual storage 200
- “physical resource usage rate 40%” is 0.8 GHz.
- the minutes (or 400 ms per second) indicate that the virtual storage 200 is used (operated) to perform I / O processing.
- the limit resource amount 1003 is a 4 GB memory
- “resource allocation rate 50%” is occupied by 2 GB of virtual storage 200
- “physical resource usage rate 40%” is referred to as read cache per unit time by virtual storage 200 Indicates that the cache capacity is 1.6 GB.
- the limit resource amount 1003 is 100 IOPS
- the “resource allocation rate 50%” is occupied by 50 IOPS by the virtual storage 200
- the “physical resource usage rate 10%” is 10 IOPS by the I / O of the virtual storage 200. Indicates that it is being used in processing.
- 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.
- the usage rate threshold column 1006 indicates thresholds for determining that the physical resource is in a resource tight state. For example, when the usage rate threshold is 80% and the physical resource usage rate 1005 exceeds 80%, the physical resource is determined to be in a resource tight state. A physical resource that is in a resource tight state can be hindered from achieving the target performance of the virtual storage 200, and is improved by the resource tightness improvement program 403.
- 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 virtual resource amount of each resource allocated to the virtual storage 200.
- the virtual resource amount management table 416 includes at least a VS # column 1100, a VVOL # column 1101, a resource type column 1102, a resource number column 1103, a resource occupancy rate column 1104, a shared resource occupancy rate column 1105, and a virtual resource usage rate column 1106. Have.
- the resource occupancy column 1104 indicates the configuration of each virtual resource allocated to the virtual volume in the virtual storage. As an example, it is shown that a virtual resource (virtual processor) allocated to VVOL # 000 in VS # 000 is configured by occupying 50% of the limit resource amount 1003 of the processor 000.
- the shared resource occupation rate 1105 stores the surplus resource amount that the virtual storage has. Details of the shared resource will be described later.
- FIG. 12 is an example of the resource allocation program 400.
- the resource allocation program 400 is a program that is executed in response to a virtual storage setting request from the management server 110, and is executed by any one of the plurality of processors 141. Further, the resource allocation program 400 sets the virtual total resource amount (602 to 605) in the virtual storage 200, and which physical resource among the physical resources of the storage system 120 is allocated to the virtual storage 200. And a program for determining how much resource amount is allocated to the allocated physical resource.
- the program receives a virtual storage setting request (1201).
- the virtual storage number, the virtual volume number, the virtual volume size, the target performance of the virtual volume, and the virtual storage configuration table 410 and the virtual storage configuration table 411 should be stored.
- Each value is included.
- a virtual volume creation program is executed (1203), and creation of each virtual volume belonging to the virtual storage and allocation of a virtual resource amount are started. Details of the virtual volume creation program will be described later.
- the program after executing the virtual volume creation program for all virtual volumes belonging to the virtual storage (1205), responds to the management server with a successful setting and ends (1206). If the virtual volume creation has failed (1204: No), all the changes executed in the program are rolled back (1207), and then the management server 110 is responded with a setting failure and terminated (1208).
- the initial value of the target resource usage rate 504 is set.
- the initial value of the target resource usage rate 504 is arbitrary, but may be set to a low value (for example, 20%).
- the target resource usage rate 504 is raised stepwise in consideration of the virtual resource usage rate 1106 in the resource reallocation program 402, and finally the minimum necessary virtual resource amount is allocated. It is because it is decided by.
- FIG. 13 is an example of the virtual volume creation program 1203.
- the virtual volume creation program creates a virtual volume and allocates a virtual resource amount for the virtual volume.
- the program selects one of the resource types (1301), and executes the processing of steps 1302 to 1304 for the selected resource type.
- a processor is selected as the resource type, and the processing from steps 1302 to 1304 will be described.
- the virtual volume creation program 1203 selects the physical processor 141 having the smallest physical resource usage rate 1005 as the assigned resource from all the physical processors 141 of the selected resource type (1302). In the example of FIG. 10, “processor 001” is selected.
- the virtual volume creation program 1203 calculates a resource occupancy 1104 for the virtual volume (1303).
- An example of a method for calculating the resource occupancy 1104 of a certain virtual volume is “(virtual total resource amount of the processor (that is, the value of the virtual processor configuration 603)) ⁇ (total volume size of virtual volumes belonging to the virtual storage) ⁇ (Volume size of the virtual volume) ⁇ (limit resource amount of the processor in charge) ”.
- the limit resource amount of the processor in charge is the limit resource amount 1003 of the physical processor 141 selected in step 1302.
- the purpose of step 1303 is to determine a reasonable resource occupancy as an initial value of the resource occupancy for the virtual volume. If the purpose is met, the resource occupancy may be calculated by different means. For example, it may be calculated simply by “(total virtual resource amount specified by the management server) ⁇ (total number of virtual volumes belonging to the virtual storage) ⁇ (limit resource amount of assigned resource)”.
- step 1301 to step 1304 the virtual volume creation program 1203 responds with a virtual volume creation failure and ends (1310). The processing from step 1301 to step 1304 is repeated for all resource types (1305).
- the virtual volume creation program 1203 For each resource type, after determining the resource occupancy rate for the virtual volume, the virtual volume creation program 1203 creates a physical volume (1306) and associates the determined responsible resource with the physical volume. Specifically, the virtual volume creation program 1203 selects a physical volume number for which the physical volume is undefined in the physical volume configuration management table 413, stores the volume size of the virtual volume in the volume size 802, and then determines the assigned Resource identifiers are stored in the corresponding columns 803 to 806 for each resource type.
- the virtual volume creation program 1203 adds the resource occupancy rate determined in step 1303 to the resource allocation rate 1004 and the resource occupancy rate 1104 of each associated resource, and allocates the virtual resource amount (1307). Finally, the virtual volume creation program 1203 associates the physical volume with the virtual volume (1308). Specifically, the VVOL # of the created virtual volume is stored in the VVOL # 701 with respect to the virtual volume configuration management table 412. The physical volume number of the physical volume created in step 1306 is stored in the physical volume number 703 of this row, and the physical volume number of the physical volume created in step 1306 is stored in the volume size 702. Finally, a virtual volume creation success response is returned (1309), and the process is terminated.
- the program in response to a virtual storage setting request from the management server, it is possible to determine a resource in charge of each virtual volume belonging to the virtual storage and allocate 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 is a program that processes a Read / Write command for the virtual volume 200 issued by the host 100 and received by the storage system 120.
- execution of the host I / O program 401 for the command is started in one physical processor 141 arbitrarily selected by the storage system 120.
- the storage system 120 uses the virtual volume configuration management table 412 and the physical volume configuration management table 413 to identify the resource in charge of the virtual volume (1402).
- the host I / O program 401 determines whether or not the own processor is a responsible processor (1417). If it is not the responsible processor, the responsible processor starts execution of the host I / O program 401 corresponding to the command (1418), and ends the processing in the own processor.
- the host I / O program 401 checks whether the request is for the responsible port of the virtual volume (1403). If it is not a request for the assigned port, an error response is sent to the host (1416), and the process is terminated.
- the host I / O program 401 uses the virtual resource amount management table 416 to check whether the virtual resource usage rate 1106 of each responsible resource is less than 100% (1404). If the virtual resource usage rate 1106 of any assigned resource is 100%, it is determined that the amount of virtual resources for processing the virtual volume is insufficient, and the virtual resource usage rate of all the assigned resources is less than 100%. Wait until.
- the storage system 120 shown in the present embodiment has a function of temporarily allocating shared resources in order to eliminate the risk of target performance not being achieved due to standby.
- the shared resource is a resource amount of each physical resource that is not allocated to any virtual storage. Since shared resources cannot always be allocated, the risk that the target performance is not achieved cannot be completely eliminated, which is a difference from the allocation of the virtual resource amount in the virtual volume creation program.
- the program determines whether or not there is a shared resource for a resource of the resource type whose virtual resource usage rate 1106 is 100% based on whether or not the resource occupancy rate 1104 is less than 100% (1414). If the shared resource exists, the shared resource is allocated to the virtual storage (1415). In the present embodiment, the resource amount of the shared resource to be assigned is a predetermined fixed amount.
- the allocation of shared resources is performed by adding a certain ratio (a ratio corresponding to the above-mentioned fixed amount) to the physical resource usage rate 1005 and the shared resource occupation rate 1105 of the assigned resource, and then the virtual resource usage rate 1106 is restored. Is to calculate.
- a certain ratio a ratio corresponding to the above-mentioned fixed amount
- the program analyzes the command request by the processor in charge (1405) and confirms the request type (Read or Write) (1406). If it is a Read request, it is determined whether the request data is stored in the responsible memory (1419). If it is stored, the data stored in the memory in charge is returned to the host, and a response is sent to the host that the processing has been completed normally (1409). If it is not stored, the request data is read from the responsible medium (1407), stored in the responsible memory (1408), then the data on the responsible memory is sent to the host, and a response indicating that the processing has been completed normally is sent to the host. (1409).
- the request is a write request
- the received data is stored in the responsible memory (1410)
- a normal response is returned to the host (1411)
- the requested data is written to the responsible medium (1412).
- the monitoring information is updated (1413), and the process ends.
- the monitoring information updated in this step specifically includes the throughput performance 902 and response performance 903 of the virtual volume, the physical resource usage rate 1005 of the responsible resource used in the program, and the virtual resource usage rate 1106. It is.
- FIG. 15 is a diagram for explaining the processing outline of the resource reallocation program 402.
- the resource reallocation program performs resource reallocation for two purposes.
- One of the purposes of the resource reallocation program is to change the resource occupancy 1104 so that the virtual resource usage 1106 of each responsible resource in the virtual storage 200 is leveled, thereby changing the virtual resource usage of any physical resource. Is to eliminate the risk that the target performance will not be achieved.
- Another purpose of the resource reallocation program is to control the virtual resource usage rate so that the target resource usage rate 504 is gradually increased, thereby reducing the amount of virtual resources necessary to achieve the target performance. It is to limit.
- the virtual storage has two virtual volumes 200 (# 1 and # 2). Further, the target throughput performance 704 of each virtual volume is 100 IOPS and 300 IOPS, respectively, and the responsible processors 804 are (physical) processor # 1 and (physical) processor # 2, respectively.
- the responsible processors 804 are (physical) processor # 1 and (physical) processor # 2, respectively.
- the virtual resource usage rate of the processor assigned to each virtual volume is 40% and 60%, respectively.
- the program sets the resource occupancy rate of the processor # 1 to 40% so that the virtual resource usage rate of each assigned resource is made uniform (for example, all virtual resource usage rates are 50%).
- the resource occupancy of processor # 2 is changed to 60% (1501). Details of this process will be described when the process of FIG. 16 is described.
- the virtual resource usage of resources (such as processors) allocated to each virtual volume is adjusted so as not to fluctuate. Therefore, when the virtual resource usage rate is raised, the resource occupancy rate decreases, and when the virtual resource usage rate is lowered, the resource occupancy rate increases.
- the storage system 120 next increases the target resource usage rate 504 of the virtual processor (virtual storage) from 50% to 60% (1502), and reduces the estimate of the amount of virtual resources necessary to achieve the target performance. That is, by changing the resource occupancy rate of processor # 1 to 33% and the resource occupancy rate of processor # 2 to 50%, the virtual resource usage rate of the virtual processor is set to 60% (1503). Details of this processing will also be described when the processing of FIG. 16 is described. This process is repeated, and when shared resources are finally allocated to the virtual storage, it is determined that no further increase is possible (the amount of virtual resources is the minimum necessary), and the target resource usage rate is determined. To do.
- FIG. 16 is an example of the resource reallocation program 402.
- the resource reallocation program 402 is executed for each virtual storage 200.
- the resource reallocation program 402 uses the values of the virtual volume monitor table 414 and the virtual resource amount management table 416 for each virtual volume 300 belonging to the virtual storage 200, so that the performance value of each virtual volume, The virtual resource usage rate 1106 of the resource in charge of the volume is specified (1601). Subsequently, the resource reallocation program 402 calculates the average value of the virtual resource usage rate 1106 of the resource in charge of each virtual volume for each resource type.
- FIG. 15 An explanation will be given by taking FIG. 15 as an example.
- the resource reallocation program 402 calculates a virtual resource amount to be allocated for each assigned resource of the virtual volume.
- the storage system 120 has a function of calculating the virtual resource amount necessary to achieve the target performance 704 based on the virtual resource amount currently used for the virtual volume and the performance ratio. is doing. For example, by giving the resource reallocation program 402 a function that takes the virtual resource amount and performance ratio currently used as input values and outputs the virtual resource amount necessary to achieve the target performance 704, This function can be realized.
- the amount of virtual resources currently used for virtual volumes is (Limit resource amount of assigned resource 1003 ⁇ resource occupation rate 1104 ⁇ virtual resource usage rate 1106) Is obtained by calculating.
- the storage system 120 has this function for each resource type (processor, port, memory, medium).
- the resource reallocation program 401 uses this function to calculate the amount of virtual resources to be allocated to each assigned resource.
- the performance value of the virtual volume identified in step 1601, the target performance 704, and the amount of virtual resources currently used are used as input values to achieve the target performance 704. It is also possible to use a function that outputs the amount of virtual resources required to do this.
- the resource reallocation program 401 uses the resource amount calculated in step 1604, the average value of the virtual resource usage rate calculated in step 1602, and the limit resource amount 1003 of the assigned resource to determine the resource of each assigned resource.
- the occupation ratio 1104 is calculated and set in the virtual resource amount management table 416. A specific example of a method for calculating the resource occupancy 1104 will be described in the case where the resource type is a processor.
- the virtual resource amount of the processor in charge of a certain virtual volume (for example, virtual volume # 1) calculated in step 1604 (this is the processor resource amount necessary to achieve the target performance) is 0.4 GHz, Assume that the average value of the virtual resource usage rate calculated in step 1602 is 50%, and the limit resource amount of the processor in charge of virtual volume # 1 is 2 GHz.
- the resource reallocation program 401 determines whether or not there is a shared resource by determining whether or not the shared resource occupation ratio 1104 of the virtual storage is 0% (1607). When there is a shared resource (the shared resource occupancy 1104 is not 0%), the resource reallocation program 401 determines that there is a target performance unachieved risk due to an increase in the target resource usage rate, determines the target resource usage rate, and performs processing. Exit. On the other hand, if there is no shared resource, it is determined that there is no risk of not reaching the target performance due to the increase in the target resource usage rate, and the resource reallocation program 401 increases the target resource usage rate 504 by a certain amount (for example, 10%) (1608). ).
- the resource reallocation program 401 calculates the resource occupancy rate 1104 of each responsible resource so that the virtual resource usage rate 1106 of each responsible resource is equal to the value of the target resource usage rate 504, and stores it in the virtual resource amount management table 416. Then, the processing is terminated (1609).
- the resource occupation rate 1104 of each responsible resource here will be described below.
- step 1605 the resource occupancy rate allocation method of the processor resources allocated to the virtual volume # 1 has been described.
- the virtual resource occupancy of the processor (the processor in charge) assigned to the virtual volume # 1 is 50%
- the resource occupancy 1104 is 40%.
- the limit resource amount of the processor in charge is 2 GHz
- the processor resource amount required by the virtual volume # 1 is 0.4 GHz.
- the resource occupancy 1104 is adjusted so that this resource amount (the amount of processor resources required for the virtual volume # 1 to achieve the target performance) does not fluctuate.
- the resource occupancy 1104 is calculated using the same calculation formula as in Step 1605, that is, (virtual resource amount required for the virtual volume # 1 to achieve the target performance / target resource usage rate 504) / limit resource amount 1003. It is calculated by the following formula.
- the risk of failure to achieve target performance due to changes in workload can be eliminated by dynamically adjusting the resource occupancy of each assigned resource using monitoring information.
- the virtual resource amount for achieving the target performance can be minimized by raising the target resource usage rate step by step while referring to the virtual resource usage rate.
- a part of the program may be executed by the management server 110.
- FIG. 17 is an example of the resource tightness improvement program 403.
- the resource tightness improvement program detects that a certain physical resource has changed to a resource tight state, changes the resource in charge of the virtual storage 200 that uses the physical resource, improves the resource tightness state, and It is a program that eliminates the risk that the virtual storage that uses is not achieving the target performance.
- the resource tightness improvement program selects one physical resource belonging to the storage system 120 (1701), and uses the physical resource amount management table 415 to determine whether the physical resource usage rate exceeds the usage rate threshold 1006. Determination is made (1702). When the usage rate threshold value 1006 is exceeded, the resource tightness state is improved by changing the assigned resource.
- the program selects a target resource change target so as not to affect the performance of the host 100 as much as possible. Therefore, the program selects the virtual storage with the highest priority 505 among the virtual storages using the physical resource (1703), and selects the virtual volume with the smallest volume size 702 belonging to the virtual storage. (1704). If the purpose of reducing the performance impact on the host is the same, the method for selecting the assigned resource change target may be different.
- the program selects a new resource in charge of the virtual volume selected in step 1704.
- a physical resource that is not in a resource tight state and has the smallest physical resource usage rate is selected as a new candidate resource candidate (1705). If there is a new assigned resource candidate (step 1705: No), the assigned resource of the virtual volume is changed to the assigned resource selected in step 1705 (1707). Thereafter, the processing from Steps 1702 to 1707 is repeatedly executed until the resource tightness state is improved.
- the method of changing the resource in charge differs depending on the resource type.
- the following describes how to change the resource in charge for the resource types targeted by this specification.
- the processor in charge can be changed by interrupting the processing of the virtual volume being executed on the migration source physical processor and restarting the processing on the migration destination physical processor.
- the memory in charge can be changed by purging the data cache of the virtual volume stored on the migration source physical memory and switching the subsequent data storage destination to the migration destination physical memory.
- the assigned media can be changed by reading all the data of the virtual volume stored on the migration source physical media, writing it to the migration destination physical media, and then changing the data access destination to the migration destination physical media. it can.
- to change the assigned port permit access from the destination physical port, manually change the setting of the host 100 to switch the destination to the destination port, confirm the access to the destination port, This can be achieved by prohibiting access to the source physical port.
- the method for changing the resource in charge is not limited to the above, and a general method can be used.
- a general method can be used.
- a general method of automatically switching to a physical port can be used.
- the management server If there is no candidate resource in charge (1706), the management server is notified of the impossibility of improvement (1709), and requests the management server to improve the resource tightness state. Thereafter, after confirming all physical resources in the storage system (1708), the program is terminated.
- the program it is possible to eliminate the risk that the target performance of the virtual storage will not be achieved by detecting the resource tightness status of the physical resource and improving the resource tightness status by changing the assigned resource.
- resource reallocation is not limited to the method described above. Various methods other than those described above can be adopted as long as the method can increase the virtual resource usage rate comfortably.
- FIG. 35 shows another example of the resource reallocation program.
- the program described in FIG. 35 is referred to as a resource reallocation program 402 '.
- step 1601 ′ the resource reallocation program 402 ′ uses the value of the virtual resource amount management table 416 for each virtual volume 300 belonging to the virtual storage 200 to set the virtual resource usage rate 1106 of the resource in charge of each virtual volume. Identify. Subsequently, the resource reallocation program 402 calculates the average value of the virtual resource usage rate 1106 of the resource in charge of each virtual volume for each resource type (1602 '). This process is the same as step 1602 in FIG.
- the resource reallocation program 402 ′ calculates the currently used virtual resource amount for each resource in charge of the virtual volume. This can be calculated from the resource occupancy rate 1104 and the virtual resource usage rate 1106 managed by the limit resource amount 1003 and the virtual resource amount management table 416.
- Step 1605 ′ the resource reallocation program 402 ′ uses the virtual resource amount calculated in Step 1604 ′, the average value of the virtual resource usage rate calculated in Step 1602, and the limit resource amount 1003 of the assigned resource,
- the resource occupancy 1104 of the assigned resource is calculated and set in the virtual resource amount management table 416.
- the resource reallocation program 402 ′ (Virtual resource amount calculated in step 1604 ′ ⁇ average value of virtual resource usage rate) ⁇ limit resource amount 1003 of the assigned resource Calculate
- Steps 1606 'to 1608' are the same as steps 1606 to 1608 in FIG.
- step 1609 ′ the resource reallocation program 402 ′, like step 1609 in FIG. 16, makes the resource occupancy rate of each responsible resource so that the virtual resource usage rate 1106 of each responsible resource is equal to the target resource usage rate 504. 1104 is adjusted and set in the virtual resource amount management table 416, and the process ends. (1609).
- the calculation formula of the adjustment method here is as follows. (Virtual resource amount calculated in step 1604 ′ ⁇ target resource usage rate 504) ⁇ limit resource amount
- step 1609 of FIG. 16 the virtual resource amount required for the virtual volume to achieve the target performance is used.
- step 1609 ′ instead of this, the calculation is performed in step 1604 ′.
- the amount of virtual resources used that is, the amount of virtual resources currently used is used.
- the resource occupancy rate can be adjusted in the same manner as the resource reallocation program 402 even if the resource reallocation program 402 ′ is used.
- the second embodiment a method for managing the performance of the virtual storage in a configuration in which a responsible resource exists for each divided area in the virtual volume belonging to the virtual storage will be described.
- FIG. 18 is a schematic diagram showing the correspondence between the virtual volume 300 and the physical volume 301 in the second embodiment.
- the correspondence between the virtual volume and the physical volume is managed in units of fixed length that are finer than the volume.
- a unit obtained by dividing a virtual volume into fixed lengths is called a divided area 1901
- a unit obtained by dividing a physical volume into fixed lengths is called a page 1902.
- Some divided areas and pages are not related to each other (1904 and 1905).
- FIG. 19 shows an example of the virtual volume configuration management table 413.
- the virtual volume configuration management table of this embodiment newly manages the correspondence relationship between the virtual volume divided areas and the physical volume pages.
- the virtual volume configuration management table manages a virtual LBA column 2203 indicating the LBA range of each divided area and a physical LBA column 2205 indicating the LBA range of each page. Description of other columns is omitted.
- the thin provisioning technique is a technique for associating a page with a divided area only after receiving a write request to a specific divided area from the host 100. By applying this technology, the capacity efficiency of the storage system can be increased.
- pages may not correspond to divided areas.
- Such a divided area is expressed by storing “N / A” in the physical LBA column in the virtual volume management table.
- the description of the present embodiment will be described in the case where the thin provisioning technology is applied.
- FIG. 20 is an example of the physical volume configuration management table 414.
- a physical LBA column 2103 is added, and the assigned resource can be managed for each page. Description of other columns is omitted.
- the required number of physical volumes is created in advance.
- FIG. 21 is an example of the virtual volume monitor table 415. Similarly, a virtual LBA column 2202 is added to the virtual volume monitor table of this embodiment, and the performance value for each divided area can be managed. Description of other columns is omitted.
- FIG. 22 is an example of the virtual volume creation program 1202.
- the processing from step 2302 to step 2308 is changed so that a resource in charge is determined for each divided area and a virtual resource is allocated to the resource in charge.
- the virtual resource allocation method varies depending on whether or not a corresponding page exists for each divided area in the virtual volume. This is to determine a more appropriate resource in charge by determining the resource in each divided area when the corresponding page is determined.
- the program first, it is determined whether or not a corresponding page exists in each divided area (2303). If the corresponding page exists, the resource in charge is determined by the same method as in FIG. 13 (2304), and the resource occupation rate 1104 is calculated (2305). In this embodiment, the size of each divided area is a fixed length, and the resource occupancy rate is “(virtual total resource amount) / (total number of divided areas of virtual volumes belonging to the virtual storage) / (resource resource Limit resource amount) ”. Thereafter, the virtual resource amount is assigned to the assigned resource in the same manner as in FIG. 13 (2306, 2307).
- the divided area is once counted as the number of unallocated areas (2314).
- the resource occupancy ratio for the number of unallocated areas is expressed as “(virtual total resource amount) ⁇ (virtual volume divided areas belonging to the virtual storage” (Total number) ⁇ (number of unallocated areas) ⁇ (limit resource amount of assigned resource) ”(2309), and then temporarily equalized for all physical resources belonging to the resource type selected in step 2301
- the resource occupancy rate is allocated to the number of unallocated areas (2311).
- FIG. 23 is an example of the host I / O program 401. Similarly, the processing of the host I / O program in this embodiment is changed so as to identify the resource in charge for each divided area (2402). In addition, with the application of the thin provisioning technology, processing is added so that pages are associated with the divided areas only when a write request to the divided areas is received (steps 2417 and 2418).
- Step 2418 includes a responsible resource determination process for the divided area and a resource occupancy setting process for the responsible resource. Since these details are the same as the processing from steps 2304 to 2307 in FIG. 22, detailed description thereof is omitted.
- FIG. 24 is an example of the resource reallocation program 402. Similarly, in the resource reallocation program in this embodiment, the processing is changed so as to determine the virtual resource amount of the assigned resource for each divided area (steps 2502 to 2506).
- the performance of virtual storage can be managed even when thin provisioning technology is applied in a configuration in which a virtual volume is managed in units of divided areas.
- the third embodiment a method for managing the performance of the virtual storage in a configuration in which the tearing technology is applied to each virtual volume in addition to the configuration of the second embodiment will be described.
- Tearing technology is a technology that associates each divided area of a virtual volume with a physical volume page configured with different media types. Further, by automatically rearranging divided areas with high throughput performance to high-speed media types, it is possible to improve the performance of the virtual volume.
- the high-speed media type indicates the SSD 151.
- FIG. 25 is an example of a virtual storage configuration management table.
- the virtual storage configuration management table in this embodiment can specify a media type in which HDD 151 and SSD are mixed as virtual media 2705.
- the storage system dynamically adjusts the resource occupancy of the HDD and the resource occupancy of the SSD using a tearing technique, and minimizes the resource occupancy of the SSD for achieving the target performance. Description of other columns is omitted.
- 26 and 27 are process outline diagrams of the resource reallocation program 203 in this embodiment.
- the virtual storage 200 has one virtual volume 300.
- the target performance of the virtual storage is set to “less than 5 ms”.
- the assigned medium 2107 of each divided area 1901 included in the virtual volume is either SSD # 1 or HDD # 1, and the divided area having SSD # 1 as the assigned resource.
- the sum total of the throughput performance 2203 is 100 IOPS, and the sum of the throughput performances of the divided areas having HDD # 1 as the resource in charge is 200 IOPS.
- the response performance of the virtual storage can be calculated as approximately 4.3 ms.
- the sum of the throughput performances 2203 of the divided areas having SSD # 1 as the resource in charge is 60IPS, and the divided areas having HDD # 1 as the resource in charge are divided.
- the total throughput performance may be 240 IOPS.
- the program selects the 40 IOPS in descending order of the throughput performance in the divided area where the assigned resource is SSD # 1, and changes the assigned resource to the HDD, thereby reducing the SSD resource allocation minimum. Limit.
- the reason why the low throughput performance is selected is to effectively use the capacity resource of the SSD, and different selection criteria may be used as long as it is 40 IOPS.
- FIG. 28 is an example of the resource reallocation program 402.
- the resource reallocation program in this embodiment shows a resource reallocation method when response performance is set.
- the program calculates the target throughput performance of the SSD that is the minimum necessary to achieve the target performance (2801).
- An example of the calculation method of the processing is as shown in FIG. After that, based on the current target resource usage rate, “target throughput performance ⁇ SSD target throughput performance” is calculated and calculated as the required virtual resource amount (2802).
- the program needs to be moved to the HDD by summing up the throughput performance (2803) and calculating the difference from the calculated virtual resource amount for the divided areas whose media type is SSD.
- a throughput performance amount (scheduled performance amount) is calculated (2804).
- the resource in charge is changed from the SSD to the HDD is shown, but the same calculation can be made when the resource in charge is changed from the HDD to the SSD.
- the divided areas whose media type is SSD are sorted in ascending order of throughput performance (2805), and the assigned medium is changed from SSD to HDD by the scheduled performance amount in order from the first divided area (2806). 2807).
- the method shown in FIG. 17 can be applied as an example of a method for changing the assigned media.
- the program adds the throughput performance of the divided area where the assigned medium is changed as the moved performance amount (2808), and terminates the processing when the moved performance amount exceeds the scheduled performance amount (2809).
- the program adjusts the target resource usage rate in accordance with the presence / absence of shared resources (step 2810 to step 2812), as in FIG. As described above, according to the program, the amount of SSD resources necessary to achieve the target performance can be minimized.
- the fourth embodiment shows a method for managing the performance of the virtual storage in a configuration in which the storage function is applied to the virtual volume belonging to the virtual storage.
- various storage functions can be applied to each virtual volume constituting the virtual storage.
- the storage function indicates a volume copy function, a deduplication function, a compression function, or the like.
- the amount of virtual resources that achieves the target performance varies depending on the function state of the storage function, and thus the amount of virtual resources must be adjusted according to the function state.
- FIG. 29 shows an overview of the volume copy function targeted by this embodiment.
- the volume copy function is a function for copying a copy of data stored in a certain virtual volume 300 to another virtual volume.
- the replication source virtual volume is distinguished as the Primary Volume 2901 and the replication destination virtual volume is identified as the Secondary Volume 2902.
- the volume copy function has a function state indicating a copy creation status between the primary volume and the secondary volume.
- FIG. 30 is an example of a state transition diagram of the functional state. “Init” indicates an initial state in which no copy is created (2911), and “Copying” indicates a state in the middle of copying data from the primary volume to the secondary volume (2912).
- “Paired” indicates a state in which the write request is written to both the primary volume and the secondary volume and the copy is maintained after the data replication is completed once (2913), and “Suspended” indicates that the write request is a primary volume. This is a state in which the data difference portion from the Secondary Volume is recorded (2914). “Restoring” indicates a state in which the data of the data difference portion is copied from the Secondary Volume to the Primary Volume (2915).
- the amount of virtual resources for the Secondary Volume to achieve the target performance is larger than that of Suspended. That is, the amount of virtual resources can be minimized by performing control to add an appropriate amount of virtual resources to the Secondary Volume when the state is changed from Suspended to Copying.
- FIG. 31 shows an overview of the deduplication function and the compression function targeted by this embodiment.
- the deduplication function is a function for improving capacity efficiency by associating a common page 1902 with a divided area 1901 having the same stored data (deduplicating).
- the compression function is a function for improving the capacity efficiency by storing data obtained by compressing divided areas in a page. It should be noted that both deduplication and compression can be applied to the same divided area.
- the compression function when the compression function is applied, it is necessary to perform compression processing and decompression processing for I / O for the data, and the amount of virtual resources for achieving the target performance is increased. That is, by performing control to add an appropriate virtual resource amount to the virtual volume when compression is executed, the physical resource amount allocated to the virtual volume can be minimized.
- FIG. 32 is an example of the storage function status management table 417.
- the function status management table is a table for managing the function type applied to each virtual volume 300 and its function status.
- the function status management table includes at least a virtual volume number column 3101, a function type column 3102, and a function status column 3103.
- the function type column the function type applied to the virtual volume is stored.
- values such as “Volume Copy (Primary Volume)”, “Volume Copy (Secondary Volume)”, “Deduplication”, “Compression” are stored.
- the function status column stores the function status of the function provided by each function type.
- volume copy the statuses such as Init and Copying shown in FIG. 30 are stored.
- deduplication the ratio of the pages that have been deduplicated in the divided areas included in the virtual volume is stored, and in the compression, the state of “compressed” or “uncompressed” is stored. .
- FIG. 33 is an example of the storage function state correction table 418.
- the storage function state correction table is a table for managing the correction rate of the virtual resource amount when the storage function applied to the virtual volume 300 transitions to a specific function state.
- the table includes at least a function type column 3201, a function state column 3202, a port correction rate column 3203, a processor correction rate column 3204, a memory correction rate column 3205, and a media correction rate column 3206.
- the storage system 120 adjusts the virtual resource amount occupied by the virtual storage 200 with the correction rate indicated by the columns 3203 to 3006. For example, when a volume copy (Primary Volume) is applied to a certain virtual volume belonging to the virtual storage and the storage function status transitions to Copying, the resource occupancy calculated in step 1605 of the resource reallocation program 402 is obtained. Correct by adding the correction factor. For example, when the processor correction rate 3204 is 10%, after the resource occupancy rate of the processor is calculated in step 1605, correction is performed by multiplying the calculated resource occupancy rate by 1.1.
- FIG. 34 shows an example of the storage function status change program 406.
- the storage function status change program is executed every time the storage function status of the virtual volume is changed, and is a program that corrects the resource occupancy according to the changed storage function status.
- the storage function state change program detects a change in the function state of the virtual volume (3301), and updates the storage function state (3302).
- the change of the function state generally occurs in response to a request from the management server 110. However, depending on the function type, the state change may occur due to a command reception trigger or a failure trigger from the host 100. .
- the program selects one of the function types applied to the virtual volume (3303), and each resource corresponding to the updated function status is based on the function status correction table 418.
- a correction factor is calculated (3304).
- all the calculated resource correction rates are added up and calculated as the total correction rate (3306).
- the physical resource is corrected for the virtual storage (3307).
- the correction described in the description of FIG. 33 is performed.
- the above-described configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them, for example, with an integrated circuit.
- Information such as programs, tables, and files that realize each function is stored in a non-volatile semiconductor memory, a hard disk drive, a storage device such as an SSD (Solid State Drive), or a computer-readable information such as an IC card, SD card, or DVD. It can be stored on a temporary data storage medium.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
(ステップ1601で特定した仮想ボリュームの性能値÷目標性能704)
を計算する(1603)。本明細書ではこの値を「性能比率」と呼ぶ。
(担当資源の限界資源量1003×資源占有率1104×仮想資源使用率1106)
を計算することで求められる。
(仮想ボリュームが目標性能を達成するために必要となる仮想資源量÷仮想資源使用率の平均値)÷担当資源の限界資源量1003
を計算することで求められる。
(仮想ボリューム#1が目標性能を達成するために必要とする仮想資源量÷目標資源使用率504)÷限界資源量1003
の計算式によって算出される。上で説明した例では、資源占有率1104は
(0.4[GHz]÷60%)÷2[GHz]=33.3...%
と算出される。以上が、図15の1503に相当する処理である。
(ステップ1604’で算出した仮想資源量÷仮想資源使用率の平均値)÷担当資源の限界資源量1003
を計算する。
(ステップ1604’で算出した仮想資源量÷目標資源使用率504)÷限界資源量
Claims (10)
- ホストからのI/O要求を処理するために用いられる複数種類の物理資源を有するストレージコントローラと、データを格納するためのメディア資源を有するストレージシステムにおいて、
前記物理資源の種類には、少なくともプロセッサ資源、メモリ資源、前記ホストと接続されるポート資源とが含まれており、
前記ストレージ装置は、前記物理資源の処理能力を論理的に分割した仮想資源が割り当てられた仮想ストレージ装置を1以上形成可能に構成されており、
前記仮想ストレージ装置は、前記仮想ストレージ装置内に前記ホストからのI/O要求を受け付ける仮想ボリュームを作成する際、前記仮想資源を前記仮想ボリュームに割り当て、前記仮想ボリュームに対するI/O要求を前記ホストから受け付けると、前記割り当てられた前記仮想資源を用いて前記I/O要求に係る処理を実施し、
前記ストレージシステムは、前記仮想資源を前記仮想ボリュームに割り当てた後、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させる、
ことを特徴とする、ストレージシステム。 - 前記ストレージシステムは、前記仮想ボリュームのボリュームサイズと前記仮想ストレージ装置の全ボリュームのサイズの合計値との比に基づいて、前記仮想資源を前記仮想ボリュームに割り当てる、
ことを特徴とする、請求項1に記載のストレージシステム。 - 前記ストレージシステムは、前記仮想資源を前記仮想ボリュームに割り当てた後、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させる前に、
A) 前記仮想ストレージ装置内の各前記仮想ボリュームに割り当てられている前記仮想資源の使用率の平均値を算出し、
B) 前記各仮想ボリュームの現時点の性能とあらかじめ定められた目標性能と、現時点で使用されている前記仮想資源の資源量に基づいて、前記目標性能を達成するために必要とされる前記仮想資源の資源量を算出し、
C) 前記目標性能を達成するために必要とされる仮想資源量÷前記仮想資源使用率の平均値÷前記物理資源の最大処理能力を算出することで、前記物理資源のうち前記仮想ボリュームに対して割り当てる資源量の比率を決定する、
ことを特徴とする、請求項2に記載のストレージシステム。 - 前記ストレージシステムは、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させるとき、
D) 前記仮想資源の使用率の平均値に所定量を加算することで、目標資源使用率を算出し、
E) 前記目標性能を達成するために必要とされる仮想資源量÷前記目標資源使用率÷前記物理の最大処理能力を算出することで、前記物理資源のうち前記仮想ボリュームに対して割り当てる資源量の比率を決定する、
ことを特徴とする、請求項3に記載のストレージシステム。 - 前記ストレージシステムは、前記仮想資源を前記仮想ボリュームに割り当てた後、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させる前に、
A) 前記仮想ストレージ装置内の各前記仮想ボリュームに割り当てられている前記仮想資源の使用率の平均値を算出し、
B) 現時点で使用されている前記仮想資源の資源量÷前記仮想資源使用率の平均値÷前記物理資源の最大処理能力を算出することで、前記物理資源のうち前記仮想ボリュームに対して割り当てる資源量の比率を決定する、
ことを特徴とする、請求項2に記載のストレージシステム。 - 前記ストレージシステムは、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させるとき、
C) 前記仮想資源の使用率の平均値に所定量を加算することで、目標資源使用率を算出し、
D) 現時点で使用されている前記仮想資源の資源量÷前記目標資源使用率÷前記物理の最大処理能力を算出することで、前記物理資源のうち前記仮想ボリュームに対して割り当てる資源量の比率を決定する、
ことを特徴とする、請求項5に記載のストレージシステム。 - ホストからのI/O要求を処理するために用いられる複数種類の物理資源を有するストレージコントローラと、データを格納するためのメディア資源を有するストレージシステムの制御方法であって、
前記物理資源の種類には、少なくともプロセッサ資源、メモリ資源、前記ホストと接続されるポート資源とが含まれており、
前記ストレージ装置は、前記物理資源の処理能力を論理的に分割した仮想資源が割り当てられた仮想ストレージ装置を1以上形成可能なストレージ装置であって、
前記ストレージシステムは、
1) 前記仮想ストレージ装置内に前記ホストからのI/O要求を受け付ける仮想ボリュームを作成する際、前記仮想資源を前記仮想ボリュームに割り当て、前記仮想ボリュームに対するI/O要求を前記ホストから受け付けると、前記割り当てられた前記仮想資源を用いて前記I/O要求に係る処理を実施し、
2) 前記仮想資源を前記仮想ボリュームに割り当てた後、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させる、
ことを特徴とする、ストレージシステムの制御方法。 - 前記ストレージシステムは、前記仮想ボリュームのボリュームサイズと前記仮想ストレージ装置の全ボリュームのサイズの合計値との比に基づいて、前記仮想資源を前記仮想ボリュームに割り当てる、
ことを特徴とする、請求項7に記載のストレージシステムの制御方法。 - 前記ストレージシステムは、前記仮想資源を前記仮想ボリュームに割り当てた後、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させる前に、
A) 前記仮想ストレージ装置内の各前記仮想ボリュームに割り当てられている前記仮想資源の使用率の平均値を算出し、
B) 前記各仮想ボリュームの現時点の性能とあらかじめ定められた目標性能と、現時点で使用されている前記仮想資源の資源量に基づいて、前記目標性能を達成するために必要とされる前記仮想資源の資源量を算出し、
C) 前記目標性能を達成するために必要とされる仮想資源量÷前記仮想資源使用率の平均値÷前記物理資源の最大処理能力を算出することで、前記物理資源のうち前記仮想ボリュームに対して割り当てる資源量の比率を決定する、
ことを特徴とする、請求項8に記載のストレージシステムの制御方法。 - 前記ストレージシステムは、前記仮想ボリュームに割り当てられた前記仮想資源の使用率を段階的に上昇させるとき、
D) 前記仮想資源の使用率の平均値に所定量を加算することで、目標資源使用率を算出し、
E) 前記目標性能を達成するために必要とされる仮想資源量÷前記目標資源使用率÷前記物理の最大処理能力を算出することで、前記物理資源のうち前記仮想ボリュームに対して割り当てる資源量の比率を決定する、
ことを特徴とする、請求項9に記載のストレージシステムの制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016571608A JP6340439B2 (ja) | 2015-01-29 | 2015-01-29 | ストレージシステム |
PCT/JP2015/052568 WO2016121066A1 (ja) | 2015-01-29 | 2015-01-29 | ストレージシステム |
US15/543,308 US10664182B2 (en) | 2015-01-29 | 2015-01-29 | Storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/052568 WO2016121066A1 (ja) | 2015-01-29 | 2015-01-29 | ストレージシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016121066A1 true WO2016121066A1 (ja) | 2016-08-04 |
Family
ID=56542717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/052568 WO2016121066A1 (ja) | 2015-01-29 | 2015-01-29 | ストレージシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10664182B2 (ja) |
JP (1) | JP6340439B2 (ja) |
WO (1) | WO2016121066A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022541261A (ja) * | 2019-07-17 | 2022-09-22 | 華為技術有限公司 | リソース割振り方法、記憶デバイス、および記憶システム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9971548B1 (en) * | 2017-03-06 | 2018-05-15 | Nutanix, Inc. | Storage resource management employing performance analytics |
US10853307B2 (en) * | 2017-07-28 | 2020-12-01 | Dell Products, L.P. | System and method for a host application to access and verify contents within non-volatile storage of an information handling system |
US11249852B2 (en) | 2018-07-31 | 2022-02-15 | Portwonx, Inc. | Efficient transfer of copy-on-write snapshots |
US11354060B2 (en) | 2018-09-11 | 2022-06-07 | Portworx, Inc. | Application snapshot for highly available and distributed volumes |
US11494128B1 (en) | 2020-01-28 | 2022-11-08 | Pure Storage, Inc. | Access control of resources in a cloud-native storage system |
WO2022105473A1 (en) * | 2020-11-17 | 2022-05-27 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for data storage and computing |
US11531467B1 (en) | 2021-01-29 | 2022-12-20 | Pure Storage, Inc. | Controlling public access of resources in a secure distributed storage system |
US11520516B1 (en) | 2021-02-25 | 2022-12-06 | Pure Storage, Inc. | Optimizing performance for synchronous workloads |
US11733897B1 (en) | 2021-02-25 | 2023-08-22 | Pure Storage, Inc. | Dynamic volume storage adjustment |
US11726684B1 (en) | 2021-02-26 | 2023-08-15 | Pure Storage, Inc. | Cluster rebalance using user defined rules |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008257572A (ja) * | 2007-04-06 | 2008-10-23 | Hitachi Ltd | 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法 |
JP2011128706A (ja) * | 2009-12-15 | 2011-06-30 | Fujitsu Ltd | 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020194251A1 (en) * | 2000-03-03 | 2002-12-19 | Richter Roger K. | Systems and methods for resource usage accounting in information management environments |
JP4847272B2 (ja) * | 2006-10-18 | 2011-12-28 | 株式会社日立製作所 | 論理区画ごとに電源を管理する計算機システム、ストレージ装置及びそれらの制御方法 |
US20100030877A1 (en) * | 2007-02-23 | 2010-02-04 | Mitsuru Yanagisawa | Virtual server system and physical server selecting method |
US8185909B2 (en) * | 2007-03-06 | 2012-05-22 | Sap Ag | Predictive database resource utilization and load balancing using neural network model |
US8190844B2 (en) * | 2008-12-02 | 2012-05-29 | Lsi Corporation | Efficient alert mechanism for overutilization of storage resources |
WO2011069705A1 (en) * | 2009-12-10 | 2011-06-16 | International Business Machines Corporation | Data storage system and method |
US9047135B2 (en) * | 2010-01-22 | 2015-06-02 | International Business Machines Corporation | Qualitative assignment of resources to a logical partition in a multipartitioned computer system |
JP5544967B2 (ja) * | 2010-03-24 | 2014-07-09 | 富士通株式会社 | 仮想マシン管理プログラム及び仮想マシン管理装置 |
US8612989B1 (en) * | 2010-10-04 | 2013-12-17 | Teradata Us, Inc. | Assigning resources among multiple groups of workloads in a database system |
US9038068B2 (en) * | 2012-11-15 | 2015-05-19 | Bank Of America Corporation | Capacity reclamation and resource adjustment |
KR101540631B1 (ko) * | 2012-12-28 | 2015-07-30 | 삼성에스디에스 주식회사 | 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체 |
-
2015
- 2015-01-29 JP JP2016571608A patent/JP6340439B2/ja active Active
- 2015-01-29 WO PCT/JP2015/052568 patent/WO2016121066A1/ja active Application Filing
- 2015-01-29 US US15/543,308 patent/US10664182B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008257572A (ja) * | 2007-04-06 | 2008-10-23 | Hitachi Ltd | 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法 |
JP2011128706A (ja) * | 2009-12-15 | 2011-06-30 | Fujitsu Ltd | 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022541261A (ja) * | 2019-07-17 | 2022-09-22 | 華為技術有限公司 | リソース割振り方法、記憶デバイス、および記憶システム |
US11861196B2 (en) | 2019-07-17 | 2024-01-02 | Huawei Technologies Co., Ltd. | Resource allocation method, storage device, and storage system |
JP7467593B2 (ja) | 2019-07-17 | 2024-04-15 | 華為技術有限公司 | リソース割振り方法、記憶デバイス、および記憶システム |
Also Published As
Publication number | Publication date |
---|---|
US20180004447A1 (en) | 2018-01-04 |
JPWO2016121066A1 (ja) | 2017-11-30 |
US10664182B2 (en) | 2020-05-26 |
JP6340439B2 (ja) | 2018-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6340439B2 (ja) | ストレージシステム | |
JP5439581B2 (ja) | ストレージシステム、ストレージ装置、ストレージシステムの記憶領域の最適化方法 | |
JP5981563B2 (ja) | 情報記憶システム及び情報記憶システムの制御方法 | |
JP4684864B2 (ja) | 記憶装置システム及び記憶制御方法 | |
JP5314772B2 (ja) | 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法 | |
US8612704B2 (en) | Storage system with virtual areas and method for managing storage system | |
JP5973089B2 (ja) | ストレージシステムの移行方式および移行方法 | |
US20150095555A1 (en) | Method of thin provisioning in a solid state disk array | |
WO2011042940A1 (en) | Storage system and control method thereof, implementing data reallocation in case of load bias | |
WO2011135635A1 (ja) | 計算機システム及びその記憶制御方法 | |
JP5531091B2 (ja) | 計算機システム及びその負荷均等化制御方法 | |
US20120297156A1 (en) | Storage system and controlling method of the same | |
US20150006722A1 (en) | Computing device system and information managing method for rearrangement of data based on access characteristic related to a task | |
US20110283078A1 (en) | Storage apparatus to which thin provisioning is applied | |
US20150089129A1 (en) | Computer system and storage management method | |
JP6234557B2 (ja) | ストレージシステム | |
WO2015198441A1 (ja) | 計算機システム、管理計算機、および管理方法 | |
US8572347B2 (en) | Storage apparatus and method of controlling storage apparatus | |
US9690693B2 (en) | Storage system, storage apparatus, and computer product | |
JP4871758B2 (ja) | ボリューム割当方式 | |
WO2017085870A1 (ja) | 計算機システム | |
US20150363128A1 (en) | Computer system and management system and management method of storage system | |
WO2018116392A1 (ja) | 情報処理システム、及び、情報処理方法 |
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: 15879963 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15543308 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2016571608 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15879963 Country of ref document: EP Kind code of ref document: A1 |