WO2014128910A1 - ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 - Google Patents
ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 Download PDFInfo
- Publication number
- WO2014128910A1 WO2014128910A1 PCT/JP2013/054463 JP2013054463W WO2014128910A1 WO 2014128910 A1 WO2014128910 A1 WO 2014128910A1 JP 2013054463 W JP2013054463 W JP 2013054463W WO 2014128910 A1 WO2014128910 A1 WO 2014128910A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- page
- volume
- target
- virtual logical
- logical volume
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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
-
- 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0653—Monitoring storage devices or 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Definitions
- the present invention relates to a technique for managing a virtual logical volume to which a physical page is allocated from a pool that is a storage area based on a plurality of storage devices and configured with a plurality of physical pages.
- the real storage area necessary for storing data is dynamically allocated to virtual logical volumes (virtual logical volumes) in units called real pages when a write request occurs.
- virtual logical volumes virtual logical volumes
- a technique is known (see, for example, Patent Document 1).
- an I / O request when received, it is determined whether or not it is an I / O request for the storage area of the own storage device.
- a technique for transferring an I / O request is known (for example, see Patent Document 2).
- the storage area of one virtual logical volume can be distributed and arranged in a plurality of storage apparatuses, and the storage area of the virtual logical volume can be accessed from any storage apparatus. .
- a virtual logical volume based on a pool composed of storage areas of a plurality of storage devices may have its real storage area distributed and arranged in the storage areas of the plurality of storage devices.
- the storage area of the virtual logical volume is distributed and arranged in the storage areas of a plurality of storage devices as described above, when an I / O request for this virtual logical volume is generated, an I / O request is issued from the host computer. If there is no storage area for the virtual logical volume that is the target of the I / O request on the storage device that received the I / O request, it is necessary to transfer the I / O request from this storage device to another storage device. There is a possibility that the transfer of I / O requests to the apparatus occurs frequently. As described above, when the transfer of I / O requests frequently occurs, the response performance of the virtual logical volume deteriorates.
- the storage system has a plurality of storage devices and a management computer that manages the storage devices.
- a plurality of storage apparatuses provide a virtual logical volume composed of a plurality of logical pages to a host computer, receive an I / O request from the host computer, and if the I / O request is a write request, A physical page is allocated to a specified logical page, and write target data is written to the allocated physical page.
- the management computer has access path information that allows the host computer to identify the storage device that receives the I / O request specifying the virtual logical volume, the actual volume response performance of the virtual logical volume to be processed, and the target volume.
- page response performance of the logical page of the virtual logical volume To achieve the target volume performance based on the target performance, page response performance of the logical page of the virtual logical volume, and storage location information that can identify the storage device in which the physical page allocated to the logical page exists.
- the logical page to be moved is determined, and the data in the physical page allocated to the target logical page is separated from the storage device having the physical page allocated to the target logical page. Move to the physical page of the device.
- FIG. 1 is a diagram showing an overview of a storage system according to an embodiment.
- FIG. 2 is a hardware configuration diagram of the storage system according to the embodiment.
- FIG. 3 is a configuration diagram of a host computer according to an embodiment.
- FIG. 4 is a configuration diagram of a physical storage device according to an embodiment.
- FIG. 5 is a configuration diagram of a management computer according to an embodiment.
- FIG. 6 is a configuration diagram of the internal memory of the management computer according to the embodiment.
- FIG. 7 is a configuration diagram of a virtual logical volume table according to an embodiment.
- FIG. 8 is a configuration diagram of a path management table according to an embodiment.
- FIG. 9 is a configuration diagram of a target virtual logical volume table according to an embodiment.
- FIG. 10 is a configuration diagram of a page table according to an embodiment.
- FIG. 11 is a configuration diagram of a path-specific performance information table according to an embodiment.
- FIG. 12 is a configuration diagram of a page movement management table according to an embodiment.
- FIG. 13 is a configuration diagram of a pool volume table according to an embodiment.
- FIG. 14 is a configuration diagram of a RAID group table according to an embodiment.
- FIG. 15 is a configuration diagram of an inter-device transfer rate table according to an embodiment.
- FIG. 16 is a flowchart of virtual logical volume management processing according to an embodiment.
- FIG. 17 is a flowchart of page selection processing according to an embodiment.
- FIG. 18 is a flowchart of an improvement effect prediction process according to an embodiment.
- FIG. 19 is a flowchart of the exclusion target pool volume search process according to an embodiment.
- FIG. 20 is a flowchart of travel time prediction processing according to an embodiment.
- FIG. 21 is a flowchart of route-specific response performance calculation processing according to an embodiment.
- FIG. 22 is a flowchart of access path search processing according to an embodiment.
- FIG. 23 is a configuration diagram of a virtual logical volume selection screen according to an embodiment.
- FIG. 24 is a configuration diagram of a virtual logical volume handling order determination screen according to an embodiment.
- FIG. 25 is a configuration diagram of a target response performance editing screen according to an embodiment.
- aaa table various types of information may be described using the expression “aaa table”, but the various types of information may be expressed using a data structure other than the table.
- the “aaa table” can be referred to as “aaa information”.
- the process may be described using “program” as the subject, but the program is executed by a processor (for example, a CPU (Central Processing Unit)) included in the controller, so that a predetermined process is performed. Is performed using a storage resource (for example, a memory) and / or a communication interface device (for example, a SAN port or a LAN port) as appropriate, so that the subject of the processing may be a processor.
- the processing described with the program as the subject may be processing performed by the controller.
- the controller may be the processor itself, or may include a hardware circuit that performs part or all of the processing performed by the processor instead of or in addition to the processor.
- the computer program may be installed from the program source to the storage control device.
- the program source may be, for example, a program distribution server or a storage medium that can be read by a computer.
- FIG. 1 is a diagram showing an overview of a storage system according to an embodiment.
- the storage system includes a host computer 200, a plurality of physical storage devices 300, and a management computer 400 (see FIG. 2).
- the host computer 200 and the physical storage device 300 are connected via a communication network 170.
- the plurality of physical storage devices 300 are connected via the communication network 180.
- the physical storage device 300 has one or more physical storage devices (PDEV) 340.
- PDEV physical storage devices
- one virtual storage device 100 is formed based on a plurality of physical storage devices 300.
- a pool 110 that is a storage area composed of a plurality of physical pages 160 is formed. Since the pool 110 extends over a plurality of physical storage devices 300, the pool 110 may be referred to as a “cross-device pool 110”.
- the cross-device pool 110 includes a plurality of logical volumes 140 that a plurality of physical storage devices 300 have. Each logical volume 140 is divided into two or more physical pages 160.
- the cross-device pool 110 is composed of a plurality of physical pages 160.
- the logical volume 140 may be based on one or more PDEVs 340 of the physical storage device 300, or storage resources (for example, logical volumes) of an external storage device (not shown) connected to the physical storage device 300 are stored in the logical volume 140.
- a virtual logical volume virtualized according to the virtualization technology may be used.
- the virtual storage apparatus 100 has a virtual logical volume 120 configured by a plurality of logical pages 150 used by the application program 250 of the host computer 200.
- the virtual logical volume 120 may be each of a plurality of virtual logical volumes that each of the plurality of physical storage apparatuses 300 has the same volume ID (for example, LUN (Logical Unit Number)) or a plurality of physical logical volumes.
- the storage device 300 may be a set of a plurality of virtual logical volumes.
- a pool 110 is associated with the virtual logical volume 120, and a physical page is allocated to the virtual logical volume 120 from the associated pool 110.
- one virtual logical volume 120 is assigned a physical page from the pool 110 with which the virtual logical volume 120 is associated, and the virtual logical volume 120 A physical page may not be allocated from the pool 110 to which the volume 120 is not associated.
- the physical page 160 is allocated from the cross-device pool 110 to the write destination logical page 150, The write target data is stored in the allocated physical page 160.
- the data of the plurality of logical pages 150 of the virtual logical volume 120 are distributed and stored in different physical storage devices 300.
- the fragment storage area constituting the pool 110 is referred to as “physical page” and the fragment storage area constituting the virtual logical volume 120 is referred to as “logical page”.
- This is a storage area that can be specified by a logical address such as Block Address.
- the storage system selects a logical page to which a physical page storing data to be moved between physical storage devices 300 is assigned from among a plurality of logical pages 150 of the virtual logical volume 120, The response performance of the virtual logical volume 120 is improved by moving the data in the physical page allocated to this logical page to another physical storage device 300.
- the data allocated to the logical page 150 is moved from the migration source physical page in the migration source physical storage device to the migration destination physical page in the migration destination physical storage device.
- a logical page to which a physical page storing data to be moved by “moving a page” is assigned is referred to as a “movable logical page”. In moving the page, any of the following may be performed.
- FIG. 2 is a hardware configuration diagram of the storage system according to the embodiment.
- the storage system includes one or more host computers 200, a plurality of physical storage devices 300, one or more management computers 400, and one or more management clients 500.
- the host computer 200 and the physical storage apparatus 300 are connected via a communication network 170 such as a host communication SAN (Storage Area Network).
- the plurality of physical storage apparatuses 300 are connected via a communication network 180 such as a SAN for inter-device communication.
- the host computer 200, the plurality of physical storage apparatuses 300, the management computer 400, and the management client 500 are connected via a communication network 190 such as a management LAN (Local Area Network).
- a communication network 190 such as a management LAN (Local Area Network).
- the management client 500 is, for example, a PC (Personal Computer), and is used when a storage system administrator executes various operations on the management computer 400.
- the storage system shown in FIG. 2 shows an example in which the physical storage device 300 and the management computer 400 are separate from each other. However, the management computer 400 and any one physical storage device 300 are combined into one computer. You may make it comprise.
- FIG. 3 is a configuration diagram of a host computer according to an embodiment.
- the host computer 200 has a CPU 210, a memory 220, a SAN port 230, a LAN port 240, and a bus 250.
- the CPU 210, the memory 220, the SAN port 230, and the LAN port 240 are communicably connected via a bus 250.
- the SAN port 230 is a communication interface device for communicating with the physical storage device 300 via the communication network 170.
- the LAN port 240 is a communication interface device for communicating with the management computer 400 or the like via the communication network 190.
- the CPU 210 executes various processes by executing various programs stored in the memory 220.
- the memory 220 stores various programs and various information.
- the memory 220 stores, for example, an application program 221, a multipath management program 222, and a path management table 223.
- the application program 221 is a program for performing data I / O.
- the I / O destination is the virtual logical volume 120.
- the multipath management program 222 is a program that manages which of a plurality of paths to a plurality of physical storage devices 300 connected to the host computer 200 is used.
- the path management table 223 stores information indicating a path in which the host computer 200 is connected to a plurality of physical storage apparatuses 300, and information indicating which path is used (which path is active). To do.
- the path management table 223 includes, for example, port identification information (port number) of the physical storage device 300, host computer 200 identification information (for example, WWN (World Wide Name)), and whether or not this path is active. The information shown is associated and stored.
- FIG. 4 is a configuration diagram of a physical storage device according to an embodiment.
- the physical storage device 300 includes a CPU 310, a cache memory 320, a memory 330, one or more PDEVs 340, a SAN port 350, a LAN port 360, a SAN port 370, and a bus 380.
- the CPU 310, the cache memory 320, the memory 330, the SAN port 350, the LAN port 360, and the SAN port 370 are communicably connected via a bus 380.
- the SAN port 350 is a communication interface device for communicating with the host computer 200 via the communication network 170.
- the LAN port 360 is a communication interface device for communicating with the management computer 400 or the like via the communication network 190.
- the SAN port 370 is a communication interface device for communicating with the physical storage device 300 via the communication network 180.
- the cache memory 320 temporarily stores data to be written to the PDEV 340 or data read from the PDEV 340.
- the PDEV 340 is a non-volatile storage medium, and is, for example, a magnetic disk, a flash memory, or other semiconductor memory. In this embodiment, for example, a plurality of PDEVs 340 form a group (RAID group) that stores data at a predetermined RAID level according to RAID (Redundant ARRAY of Independent Disks).
- the CPU 310 executes various processes by executing various programs stored in the memory 330.
- the memory 330 stores various programs and various information.
- the memory 330 stores, for example, a control program 331.
- the control program 331 is a program that executes various processes in accordance with an I / O request. In this embodiment, when the control program 331 receives an I / O request for data stored in its own PDEV 340, the control program 331 performs I / O processing on its own PDEV 340, and performs other physical storage. If the request is an I / O request to the PDEV 340 of the device 300, the I / O request is transmitted to another physical storage device 300.
- FIG. 5 is a configuration diagram of a management computer according to an embodiment.
- the management computer 400 includes a CPU 410 as an example of a control device, a memory 420 as an example of a storage device, a LAN port 430, and a bus 440.
- the CPU 410, the memory 420, and the LAN port 430 are communicably connected via a bus 440.
- the LAN port 430 is a communication interface device for communicating with the host computer 200, the physical storage device 300, and the management client 500 via the communication network 190.
- the CPU 410 executes various processes by executing various programs stored in the memory 420.
- the memory 420 stores various programs and various information. Various programs and various information stored in the memory 420 will be described later.
- FIG. 6 is a configuration diagram of the internal memory of the management computer according to an embodiment.
- a plurality of some tables are displayed, but this is displayed for convenience and does not mean that there are a plurality of tables.
- the memory 420 of the management computer 400 includes a virtual logical volume table 610, a page table 611, a pool volume table 612, a RAID group table 613, an inter-device transfer rate table 614, a RAID group threshold table 615, a path management table 620, and priority for handling.
- a degree table 642, a target virtual logical volume table 643, a migration destination storage device table 650, a narrowed page table 651, a path-specific performance information table 652, a page migration management table 653, and a sorted page migration management table 643 are stored.
- the RAID group threshold value table 615 stores the threshold value of the RAID group usage rate. Specifically, the RAID group threshold value table 615 stores the identification information (physical storage device ID) of the physical storage device 300 and the threshold value of the RAID group usage rate in association with each other. For example, the RAID group threshold value table 615 stores the threshold value of the usage rate of the RAID group of the “Storage-1” physical storage device 300 as 50%.
- the handling priority table 642 stores the priority related to handling for improving the performance of the virtual logical volume. Specifically, the handling priority table 642 stores virtual logical volume identification information (virtual logical volume ID) and priority for the virtual logical volume.
- the migration destination storage device table 650 stores information for specifying a migration destination physical storage device (migration destination physical storage device) to which the migration target logical page data of the virtual logical volume is to be migrated. Specifically, the migration destination storage device table 650 stores a virtual logical volume ID and identification information (physical storage device ID) of the migration destination physical storage device.
- the narrowed-down page table 651 stores information on the logical page of the virtual logical volume to be dealt with for performance improvement in the information of the page table 611.
- the sorted page movement management table 654 is a table in which the entries of the page movement management table 653 are sorted in descending order of the response performance improvement effect. Note that tables other than those described above will be described later with reference to the drawings.
- the memory 420 includes, as program modules, a host computer information collection unit 601, a storage device information collection unit 602, a page migration control unit 605, a port change control unit 606, a migration destination storage device selection unit 630, and a path-specific response performance calculation unit.
- a host computer information collection unit 601 a storage device information collection unit 602, a page migration control unit 605, a port change control unit 606, a migration destination storage device selection unit 630, and a path-specific response performance calculation unit.
- 631, page selection unit 632, target unachieved virtual logical volume search unit 633, exclusion target pool volume search unit 634, page movement time prediction unit 635, access path search unit 636, target response performance setting unit 660, handling priority setting unit 661, a virtual logical volume selection unit 662, and a virtual logical volume handling order ranking unit 663 are stored.
- the host computer information collection unit 601 is activated at a predetermined timing (for example, a regular timing according to the scheduling setting) or by a request from the management client 500 or another program module, and the host computer 200 stores the path management table 620. Various necessary information is collected and a path management table 620 is created.
- the storage device information collection unit 602 is activated at a predetermined timing (for example, a periodic timing according to the scheduling setting) or by a request from the management client 500 or another program module, and from each physical storage device 300, a virtual logical volume Necessary information is acquired in the table 610, the page table 611, the RAID group table 613, and the inter-device transfer rate table 614, and each of these tables is created. Some information in the table may not be acquired from each physical storage device 300.
- the target unachieved virtual logical volume search unit 633 is requested at a predetermined timing (for example, a periodic timing according to the scheduling setting) or by the management client 500 or another program module (for example, the virtual logical volume selection unit 662). Based on the information in the virtual logical volume table 610, a virtual logical volume that has not reached the target response performance (target response performance) is searched, and information about the target failure of the virtual logical volume is obtained as the virtual logical volume.
- a predetermined timing for example, a periodic timing according to the scheduling setting
- the management client 500 or another program module for example, the virtual logical volume selection unit 662.
- FIG. 7 is a configuration diagram of a virtual logical volume table according to an embodiment.
- the virtual logical volume table 610 is a table for storing volume response performance information and volume target performance information, and for each virtual logical volume, a virtual logical volume ID 610a, a front physical storage device 610b, a front port 610c, and a host computer.
- An entry including fields of ID 610d, capacity 610e, response performance 610f, IOPS 610g, acquisition date / time 610h, target response performance 610i, continuous target unachieved time 610j, and unreachable time 610k is stored.
- the virtual logical volume ID 610a stores virtual logical volume identification information (virtual logical volume ID).
- the front physical storage device 610b stores identification information (physical storage ID) of the physical storage device 300 that is a window (front) for access to the virtual logical volume.
- the front port 610c stores identification information (port ID) of the front port.
- the host computer ID 610d stores identification information (host computer ID) of the host computer 200 that uses the virtual logical volume, that is, accesses the virtual logical volume.
- the capacity 610e stores the capacity of the virtual logical volume.
- the response performance 610f stores the response performance of the virtual logical volume.
- the response performance is, for example, the time from when an I / O request is transmitted until a response to the I / O request is returned.
- the IOPS 610g stores IOPS (Input Output Per Second) for the virtual logical volume.
- IOPS is the number of I / O requests per second, but other types of IO frequencies that are the number of I / O requests per predetermined time may be employed. Further, instead of or in addition to the IO frequency, another type of access status such as the last access date and time may be employed.
- the acquisition date and time 610h stores the response performance of the response performance 610f and the date and time when the IOPS of IOPS 610g was acquired.
- the target response performance 610i stores the target response performance (target response performance) of this virtual logical volume.
- the continuous target unachieved time 610j stores a time when the target response performance is not continuously achieved (continuous target unachieved time).
- the unreached allowable time 610k stores a time during which it is allowed that the target response performance is not achieved.
- FIG. 8 is a configuration diagram of a path management table according to an embodiment.
- the path management table 620 is a table for managing access path information. For each path between the host computer 200 and the physical storage device 300, a virtual logical volume ID 620a, a host computer ID 620b, a host computer port ID 620c, and a physical An entry including fields of a storage device ID 620d, a physical storage device port ID 620e, and an access path 620f is stored.
- the virtual logical volume ID 620a stores the virtual logical volume ID of the virtual logical volume targeted by the path corresponding to the entry.
- the host computer ID 620b stores the host computer ID of the host computer 200 accessed using this path.
- the host computer port ID 620c stores the port ID of the port (SAN port 230) of the host computer 200 used in this path.
- the physical storage device ID 620d stores the physical storage device ID of the physical storage device 300 to which this path is connected.
- the physical storage device port ID 620e stores the port ID of the port (SAN port 350) of the physical storage device 300 to which this path is connected.
- the access path non-620f stores information indicating whether it corresponds to a path (access path) used for accessing the virtual logical volume corresponding to the virtual logical volume ID of the virtual logical volume ID 620a.
- a path access path
- the path corresponding to the entry is an access path to the virtual logical volume corresponding to the virtual logical volume ID of the virtual logical volume ID 620a
- “true” is set in the non-620f access path. If it is not an access path, “false” is set in the non-620f access path.
- FIG. 9 is a configuration diagram of a target virtual logical volume table according to an embodiment.
- the target virtual logical volume table 643 includes a virtual logical volume ID 643a, a front physical storage device 643b, a front port 643c, a host computer ID 643d, a response for each virtual logical volume (target virtual logical volume) whose performance is to be improved.
- An entry including fields of a performance 643e, a target response performance 643f, a handling priority 643g, and a predicted required time 643h is stored.
- the virtual logical volume ID 643a stores the virtual logical volume ID of the target virtual logical volume.
- the front physical storage device 643b stores the physical storage device ID of the physical storage device 300 serving as a window (front) for access to the target virtual logical volume.
- the front port 643c stores identification information of the front port (SAN port 350).
- the host computer ID 643d stores the host computer ID of the host computer 200 that accesses the target virtual logical volume.
- the response performance 643e stores the response performance of the target virtual logical volume.
- the target response performance 643f stores the response performance (target response performance) that is the target of the target virtual logical volume.
- the handling priority 643g stores a priority (handling priority) related to execution of handling for improving the performance of the target virtual logical volume corresponding to the entry.
- the handling priority set to the handling priority 643g for example, there may be three stages of “high”, “medium”, and “low”, or more stages, any number of stages. It may be.
- the countermeasure for improving the performance of the target virtual logical volume having a high countermeasure priority is preferentially executed.
- the predicted required time 643h stores the time (predicted required time) predicted to be required for the response performance of the target virtual logical volume to improve to the target response performance, that is, the time required to complete the countermeasure.
- “high response priority” may mean that the response priority is the highest, or that the response priority is relatively high (specifically, for example, the response priority is higher % (X> 0), or the handling priority is “high” (and “medium”).
- low response priority may mean that the response priority is the lowest, or that the response priority is relatively low (specifically, for example, a plurality of virtual logical volumes Or the handling priority is in the lower Y% (Y is equal to or smaller than 100-X (Y> 0)) or the handling priority is “low” (and “medium”). May mean that.
- FIG. 10 is a configuration diagram of a page table according to an embodiment.
- the page table 611 is a table that stores storage destination information, and for each logical page of the virtual logical volume, a pool ID 611a, a virtual logical volume ID 611b, a page ID 611c, a physical storage device ID 611d, an IOPS 611e, and a response performance 611f. And an entry including fields of a transfer amount 611g and a capacity 611h.
- the pool ID 611a stores identification information (pool ID) of the pool in which the virtual logical volume is managed.
- the virtual logical volume ID 611b stores a virtual logical volume ID.
- the page ID 611c stores identification information (page ID) of the logical page in the virtual logical volume.
- the physical storage device ID 611d stores the physical storage device ID of the physical storage device 300 to which the physical area (physical page) assigned to the logical page belongs.
- the IOPS 611e stores the IOPS for the logical page.
- the response performance for the logical page is stored in the response performance 611f.
- the transfer amount 611g stores the data transfer amount for this logical page.
- the capacity 611h stores the capacity of the logical page.
- FIG. 11 is a configuration diagram of a path-specific performance information table according to an embodiment.
- the path-specific performance information table 652 is a table for managing path-specific response performance information, and is a table for managing the response performance for each of a plurality of paths that can be paths when accessing a virtual logical volume, and the virtual logical volume ID 652a and , I / O reception storage device 652b, I / O transfer necessity / unnecessity 652c, I / O transfer destination storage device 652d, and an entry including fields of response performance 652e are stored.
- the virtual logical volume ID 652a stores the virtual logical volume ID.
- the I / O receiving storage device 652b stores the physical storage device ID of the physical storage device 300 that is the window for the virtual logical volume of the virtual logical volume ID of this entry.
- the I / O transfer necessity / unnecessity 652c stores information indicating whether or not an I / O request needs to be transferred from the physical storage device 300 serving as a window to another physical storage device 300.
- the I / O transfer necessity / unnecessity 652c stores “true” in the case of a route that needs to be transferred to another physical storage device 300, and is a route that does not need to be transferred to another physical storage device 300. In some cases, “false” is stored.
- the I / O transfer destination storage device 652d stores the physical storage device ID of the transfer destination physical storage device 300 to which the I / O request is transferred.
- the response performance 652e stores the response performance when the path corresponding to the entry is used
- the response performance is transferred to the “Storage-2” physical storage device 300 with a performance of 1.0 msec, the response performance is 2.0 msec, and the “Storage-3” physical storage device 300 When the I / O request is transferred, the response performance is 2.1 msec, and it is understood that the response performance is poor for a route that requires the transfer of the I / O request.
- FIG. 12 is a configuration diagram of a page movement management table according to an embodiment.
- the page movement management table 653 is a table for managing information on the effect of improving the response performance when the logical page data is moved for the logical pages of the virtual logical volume. For each logical page, the pool ID 653a and the virtual logical volume An entry including fields of a volume ID 653b, a page ID 653c, a physical storage device ID 653d, a migration destination physical storage device 653e, a response performance improvement effect 653f, and the migration target non-653g is stored.
- the pool ID 653a stores the pool ID of the pool that stores the virtual logical volume including the logical page corresponding to the entry.
- the virtual logical volume ID 653b stores the virtual logical volume ID of the virtual logical volume including the logical page.
- the page ID 653c stores the page ID of the logical page.
- the physical storage device ID 653d stores the physical storage device ID of the physical storage device 300 having a physical area in which logical page data is stored.
- the migration destination physical storage device 653e stores the physical storage device ID of the migration destination physical storage device 300 having a physical area that is the migration destination of the data of the logical page.
- the response performance improvement effect 653f stores the response performance improvement effect obtained when the data of the logical page corresponding to the entry is moved to the physical area of the migration destination physical storage device 300.
- the response performance improvement effect 653f stores, for example, a time during which the response performance is shortened as an improvement effect of the response performance.
- the movement target non-653g stores information indicating whether or not the logical page corresponding to the entry corresponds to the logical page to be moved.
- FIG. 13 is a configuration diagram of a pool volume table according to an embodiment.
- the pool volume table 612 is a table for managing information related to logical volumes (pool volumes) constituting the pool 110. For each pool volume, a pool ID 612a, a pool volume ID 612b, a physical storage device ID 612c, and a RAID group ID 612d are stored. , An entry including a field of the exclusion target non-612e is stored.
- the pool ID 612a stores the pool ID of the pool including the pool volume.
- the pool volume ID 612b stores the pool volume ID.
- the physical storage device ID 612c stores the physical storage device ID of the physical storage device 300 having the PDEV 340 that is the basis of the pool volume.
- the RAID group ID 612d stores the identification information (RAID group ID) of the RAID group that is the basis of the pool volume.
- the exclusion target non-612e stores information indicating whether or not the pool volume is excluded from the logical page data migration destination.
- FIG. 14 is a configuration diagram of a RAID group table according to an embodiment.
- the RAID group table 613 is a table for managing the utilization rate of the RAID group, and stores an entry including fields of a physical storage device ID 613a, a RAID group ID 613b, and a utilization rate 613c for each RAID group.
- the physical storage device ID 613a stores the physical storage device ID of the physical storage device 300 having the PDEV 340 constituting the RAID group corresponding to the entry.
- the RAID group ID 613b stores the RAID group ID of the RAID group.
- the usage rate 613c stores the usage rate of the storage area of the RAID group corresponding to the entry.
- FIG. 15 is a configuration diagram of an inter-device transfer rate table according to an embodiment.
- the inter-device transfer rate table 614 is a table for managing the transfer rate between the physical storage devices 300, and stores entries including fields of the migration source storage 614a, the migration destination storage 614b, and the transfer rate 614c.
- the physical storage device ID of the physical storage device 300 that is the data migration source is stored in the migration source storage 614a.
- the migration destination storage 614b stores the physical storage device ID of the physical storage device 300 that is the data migration destination.
- the transfer rate 614c stores a transfer rate when data is moved from the migration source physical storage device 300 corresponding to the entry to the migration destination physical storage device 300.
- FIG. 23 is a configuration diagram of a virtual logical volume selection screen according to an embodiment.
- the virtual logical volume selection screen 2300 is a screen that the virtual logical volume selection unit 662 displays on the management client 500 in order to accept selection of a target virtual logical volume that is a target for performance improvement from the administrator.
- the virtual logical volume selection screen 2300 includes a virtual logical volume list display area 2310, a target virtual logical volume list display area 2320, an “add” button 2330, an “exclude” button 2340, and an “update response performance” button 2350.
- the virtual logical volume list display area 2310 information about virtual logical volumes managed by the storage system is displayed as a row.
- Information about the virtual logical volume is created based on information in the virtual logical volume table 610 and the handling priority table 642. Specifically, the information in the target response performance column 2311 is created based on the handling priority table 642.
- the handling priority table 642 causes the handling priority setting unit 661 to display a handling priority setting screen (not shown) for setting the priority for the virtual logical volume on the management client 500, and according to the input to the screen. Created.
- the priority that can be set may be, for example, “high”, “medium”, and “low”.
- the target virtual logical volume list display area 2320 information related to the target virtual logical volume selected as a target for performance improvement is displayed as a row.
- Information about the target virtual logical volume is created based on information in the virtual logical volume table 610 and the handling priority table 642.
- the information related to the target virtual logical volume is newly provided with a predicted required time column 2391 in addition to the information related to the virtual logical volume in the virtual logical volume list display area 2310.
- the “add” button 2330 is pressed to add a virtual logical volume corresponding to a selected row in the virtual logical volume list display area 2310 to a target virtual logical volume that is a target for which performance improvement is to be dealt with.
- this button is pressed, a row of information on the selected virtual logical volume is added to the target virtual logical volume list display area 2320.
- the “exclude” button 2340 is a button to be pressed when excluding the target virtual logical volume corresponding to the row in the selected state in the target virtual logical volume list display area 2320 from the target for the performance improvement, When this button is pressed, the information row of the selected target virtual logical volume is deleted from the target virtual logical volume list display area 2320.
- the “update response performance” button 2350 is a button that is pressed when the response performance of the virtual logical volume in the virtual logical volume list display area 2310 is updated to the latest information.
- the device information collection unit 602 collects the latest response performance of the virtual logical volume from the physical storage device 300 and reflects it in the virtual logical volume list display area 2310.
- the “display time required for handling” button 2390 is a button that is pressed to display the predicted required time in the predicted required time column 2391 of the target virtual logical volume list display area 2320.
- the travel time prediction process (see FIG. 20) is executed, and the predicted required time is displayed in the predicted required time column 2391.
- the administrator can appropriately grasp the time required for handling the target virtual logical volume.
- the “execute” button 2360 is a button that is pressed when the selected target virtual logical volume is confirmed on the virtual logical volume selection screen 2300, and is displayed in the target virtual logical volume list 2320 when this button is pressed.
- the target virtual logical volume is determined as the target virtual logical volume to be actually dealt with, and the virtual logical volume selection unit 662 registers information on the target virtual logical volume in the target virtual logical volume table 643.
- the “Cancel” button 2380 is a button that is pressed when canceling the selected target virtual logical volume on the virtual logical volume selection screen 2300, and is displayed in the target virtual logical volume list 2320 when this button is pressed.
- the display of the virtual logical volume selection screen 2300 ends without the target virtual logical volume being confirmed being the target virtual logical volume to be actually dealt with.
- the “manually specify the handling order” button 2370 is a button that is pressed when the administrator manually sets the handling order for executing the handling of a plurality of target virtual logical volumes. When this button is pressed, the virtual logical volume handling order ranking unit 663 displays a virtual logical volume handling order determination screen 2400 (see FIG. 24), and accepts designation of the handling order of the target virtual logical volume from the administrator.
- FIG. 24 is a configuration diagram of a virtual logical volume handling order determination screen according to an embodiment.
- the virtual logical volume handling order determination screen 2400 is a screen displayed on the management client 500 by the virtual logical volume handling order ranking unit 663 in order to accept the designation of the order of executing the performance improvement handling of the target virtual logical volume from the administrator. For example, this is displayed when the “Manually specify the handling order” button 2370 on the virtual logical volume selection screen 2300 in FIG. 23 is pressed.
- the virtual logical volume handling order determination screen 2400 includes a virtual logical volume handling order display area 2410, an “increase order” button 2420, a “decrease order” button 2430, an “execute” button 2440, and a “return” button 2450. And have.
- the virtual logical volume handling order display area 2410 information rows related to the target virtual logical volume are displayed according to the current handling order for the target virtual logical volume.
- the “Raise Order” button 2420 is a button that is pressed to raise the order in which the target virtual logical volume whose row is selected in the virtual logical volume handling order display area 2410 is pressed. Thus, the handling order of the corresponding target virtual logical volume is incremented by one, and the information row of this target virtual logical volume in the virtual logical volume handling order display area 2410 is moved to the previous one.
- the “decrease order” button 2430 is a button that is pressed when the handling order of the target virtual logical volume whose row is selected in the virtual logical volume handling order display area 2410 is lowered. Accordingly, the order of handling of the corresponding target virtual logical volume is decremented by one, and the information row of this target virtual logical volume in the virtual logical volume handling order display area 2410 is moved backward by one.
- the “execute” button 2440 is a button that is pressed when determining the handling order of the determined target virtual logical volume on the virtual logical volume handling order determination screen 2400, and when this button is pressed, the virtual logical volume
- the handling order ranking unit 663 determines the handling order of the target virtual logical volume in the order of the row of the target virtual logical volume displayed in the virtual logical volume handling order display area 2410, and the entry in the target virtual logical volume table 643 Are rearranged according to the determined order, and the virtual logical volume handling order determination screen 2400 is closed. Thereafter, the virtual logical volume selection unit 662 displays information rows related to the target virtual logical volume in the target virtual logical volume list display area 2320 according to the order of entries stored in the target virtual logical volume table 643. As a result, rows of information related to the target virtual logical volume are displayed in the order designated by the administrator.
- the “return” button 2450 is a button that is pressed when returning to the virtual logical volume selection screen 2300 without confirming the determined order of handling of the target virtual logical volume on the virtual logical volume handling order determination screen 2400.
- the virtual logical volume handling order ranking unit 663 closes the virtual logical volume handling order determination screen 2400.
- the administrator can determine the order of executing the handling of the target virtual logical volume in a desired order.
- FIG. 25 is a configuration diagram of a target response performance editing screen according to an embodiment.
- the target response performance editing screen 2500 is a screen that the target response performance setting unit 660 displays on the management client 500 in order to accept designation of the target response performance and unreachable time of the virtual logical volume from the administrator.
- the target response performance editing screen 2500 includes a setting target virtual logical volume display area 2510, a target response performance designation area 2520, a target response performance input area 2530, an unreachable allowable time input area 2560, a “OK” button 2540, “Cancel” button 2550.
- the setting target virtual logical volume display area 2510 information about virtual logical volumes managed by the storage system is displayed as rows. Information about the virtual logical volume is created based on the information in the virtual logical volume table 610.
- the target response performance designation area 2520, the target response performance input area 2530, and the unreachable allowable time input area 2560 are selected by designating and specifying a row of information regarding the virtual logical volume to be edited. Can be set using.
- a slide bar is displayed in the target response performance designation area 2520, and the target response performance can be designated by moving the designation mark.
- the target response performance designated in the target response performance designation area 2520 is displayed as a numerical value in the target response performance input area 230.
- the target response performance input area 2530 displays the value of the target response performance designated by the target response performance designation area 2520.
- the target response performance input area 2530 can also accept input of a target response performance value.
- the unreached allowable time input area 2560 is an area for inputting a time during which the target response performance is allowed to be unachieved (unachievable allowable time).
- the “Determine” button 2540 is a button that is pressed when the edited target response performance and the unachievable allowable time are confirmed on the target response performance editing screen 2500.
- the target response performance The setting unit 660 sets the values input in the target response performance input area 2530 and the unreachable allowable time input area 2560 to the target response performance 610i and the unresolved value of the entry corresponding to the virtual logical volume to be edited in the virtual logical volume table 610.
- the allowable allowable time 610k is set, and the target response performance 643f of the entry corresponding to the virtual logical volume to be edited in the target virtual logical volume table 643 is set.
- the “Cancel” button 2550 is a button that is pressed when canceling the edited target response performance and the unachievable allowable time on the target response performance editing screen 2500. When this button is pressed, the target response performance is displayed. The setting unit 660 closes the target response performance editing screen 2500.
- FIG. 16 is a flowchart of virtual logical volume management processing according to an embodiment.
- the virtual logical volume selection unit 662 displays the virtual logical volume selection screen 2300 (see FIG. 23) on the management client 500 based on the virtual logical volume table 610 and manages from the management client 500.
- the selection of the target virtual logical volume by the user is accepted, and the information of the target virtual logical volume is stored in the target virtual logical volume table 643 (step 1610).
- the virtual logical volume selection unit 662 may display all virtual logical volumes of the storage system on the virtual logical volume selection screen 2300 as candidates for selecting the target virtual logical volume. A part of the virtual logical volumes narrowed down from the virtual logical volume may be displayed.
- A a virtual logical volume whose target response performance has not been achieved at that time, and (B) target response performance has not been achieved.
- B target response performance has not been achieved.
- the virtual logical volumes may be narrowed down on condition that the volume is a volume or a combination of any one of (A) to (C). In this way, it is possible to easily and appropriately select the target virtual logical volume by the administrator.
- the administrator selects the target virtual logical volume on the virtual logical volume selection screen 2300, but the virtual logical volume for which the target response performance is not achieved at that time, the target response A virtual logical volume whose performance has not been achieved continues for a certain period of time (for example, the time specified by the administrator) or has been continuous, or a virtual logic with a high priority set in advance
- the volume may be determined as the target virtual logical volume. In this way, the target virtual logical volume can be appropriately determined.
- the virtual logical volume selection unit 662 displays a virtual logical volume handling order determination screen (see FIG. 24) on the management client 500 based on the target virtual logical volume table 643, and the target virtual logical by the administrator from the management client 500 is displayed.
- the specification of the volume handling order is accepted, and the order of the entries of each target virtual logical volume in the target virtual logical volume table 643 is rearranged along the specified handling order (step 1620).
- the access path search unit 636 receives information on the target virtual logical volume (target virtual logical volume ID and the like) from the target virtual logical volume table 643 (step 1630), and executes an access path search process (see FIG. 22) (see FIG. 22). Step 1640).
- an appropriate physical storage device 300 is determined as the window of the target virtual logical volume.
- the port change control unit 606 receives the result of the access path search process from the access path search unit 636, and changes the access path so that the physical storage device 300 included in the result is used as a window (step 1650). Specifically, the port change control unit 606 changes the entry corresponding to the target virtual logical volume in the path management table 620 so that the physical storage device 300 included in the result is an access path (more specifically, The access path of the entry corresponding to the physical storage device 300 is set to “true”, and the access path of the entry corresponding to the other physical storage device 300 is set to “false”.
- the multipath management program 222 is controlled to change the path that uses the physical storage device 300 included in the result in the path management table 223 as an access path. As a result, the access path can be changed to a path using the appropriate physical storage device 300 as a window.
- the migration destination storage device selection unit 630 uses the target virtual logical volume of the host computer 200 that uses the target virtual logical volume based on the information of the target virtual logical volume in the target virtual logical volume table 643 and the information in the path management table 620.
- the physical storage device 300 that is the gateway that is, the physical storage device 300 that is set to be accessible by the host computer 200 without transferring an I / O request between the physical storage devices 300, is displayed on the logical page of the target virtual logical volume.
- the data is selected as a migration destination physical storage device (migration destination physical storage device) to be migrated, and the migration destination physical storage device is registered in the migration destination storage device table 650 (step 1660). Since this destination physical storage device has better response performance than the other physical storage devices 300, the response performance can be improved by moving logical page data to this physical storage device.
- the page selection unit 632 executes page selection processing (see FIG. 17) (step 1670). By this page selection process, a logical page to be moved is selected.
- the exclusion target pool volume search unit 634 executes the exclusion target pool volume search process (see FIG. 19) (step 1680).
- the exclusion target pool volume search process a pool volume to be excluded from the logical page data migration destination is determined.
- the page movement control unit 605 determines a pool volume to which the page to be moved is moved based on the page movement management table 653 and the pool volume table 612, and moves the data of the movement target page to this pool volume. (Step 1690). Specifically, the page movement control unit 605 transfers the data of the movement target page (the movement target non-653g of the entry of the page movement management table 653 is “true”) to the pool volume other than the exclusion target pool volume. Go to the physical page. By this processing, the logical page of the virtual logical volume can be moved to the storage area of the PDEV 340 of the physical storage device 300 with high response performance, so that the response performance of the virtual logical volume can be improved.
- “High response performance” may mean that the response performance is the highest, or that the response performance is relatively high (specifically, for example, the response performance is the upper P% (P> 0)) May mean to enter). Conversely, “low response performance” may mean that the response performance is the lowest, or that the response performance is relatively low (specifically, for example, the response performance is lower Q% (Q May mean less than or equal to 100-P (where Q> 0)).
- the order of movement of the logical pages may be determined according to any of the following methods (1) to (3).
- (3) The migration order is determined based on the priority of the virtual logical volume in the handling priority table 642.
- “high improvement effect” may mean that the improvement effect is the highest, or may mean that the improvement effect is relatively high. Conversely, “low improvement effect” may mean that the improvement effect is the lowest, or may mean that the improvement effect is relatively low.
- logical pages can be moved in an appropriate order. For example, according to the method (1), the response performance can be improved early. Further, according to the method (2), for example, a page with a large IOPS can be moved at an early stage, and an I / O process can be performed effectively. Also, according to the method (3), the response performance for the set virtual logical volume with a high priority can be improved at an early stage.
- FIG. 17 is a flowchart of page selection processing according to an embodiment.
- the page selection process is a process corresponding to step 1670 of the virtual logical volume management process (see FIG. 16).
- the page selection unit 632 receives the virtual logical volume ID of the target virtual logical volume (step 1710). Next, the page selection unit 632 identifies an entry corresponding to the virtual logical volume ID from the virtual logical volume table 610, obtains the response performance of the response performance 610f of this entry (step 1720), and further displays the target response performance 610i. Target response performance is acquired (step 1730).
- the page selection unit 632 obtains a difference between the acquired target response performance and the response performance (step 1740).
- the page selection unit 632 acquires the host computer ID of the host computer ID 610d from the specified entry (step 1750). Next, the page selection unit 632 acquires the physical storage device ID of the migration destination storage device from the migration destination storage device table 650 (step 1760).
- the page selection unit 632 executes improvement effect prediction processing (see FIG. 18) based on the host computer ID, the physical storage device ID of the migration destination storage device, and the virtual logical volume ID of the target virtual logical volume. (Step 1765). With this improvement effect prediction process, it is possible to grasp the improvement effect of the response performance when the logical page of the virtual logical volume is moved.
- the page selection unit 632 sorts the entries of the page movement management table 653 in descending order of the response performance improvement effect, and stores the sorted result in the sorted page movement management table 654 (step 1770).
- the page selection unit 632 performs the processing of loop A (steps 1775 and 1780) for the logical pages corresponding to all entries in order from the logical page corresponding to the first entry of the sorted page movement management table 654. Execute.
- step 1775 the page selection unit 632 sets information indicating that this logical page is a movement target page to the movement target non-653g of the entry corresponding to the processing target logical page of the page movement management table 653. ("True" in this embodiment) is added.
- step 1780 the page selection unit 632 determines whether or not the total performance improvement effect due to the movement of all logical pages as the movement target page exceeds the difference calculated in step 1740, and the total performance improvement effect is obtained. If the difference is exceeded (Yes in Step 1780), it means that the response performance of the target virtual logical volume becomes equal to or higher than the target response performance by moving all the logical pages that are the migration target pages at that time. Therefore, without selecting any more logical pages as pages to be moved, the page selection process is terminated through loop A. If the total performance improvement effect does not exceed the difference (No in step 1780), the page selection unit 632 executes the process of loop A for the logical page corresponding to the next entry, and has been sorted.
- the process exits the loop A and ends the page selection process.
- a logical page with a high performance improvement effect is preferentially selected as a movement target page, so that the performance can be improved effectively by moving a small number of logical pages. Further, since only the minimum logical pages necessary for achieving the target response performance are selected as the movement target pages, the target response performance can be realized by moving a small number of logical pages.
- FIG. 18 is a flowchart of an improvement effect prediction process according to an embodiment.
- the improvement effect prediction process is a process corresponding to step 1765 of the page selection process (see FIG. 17).
- the page selection unit 632 acquires the logical page entry corresponding to the target virtual logical volume ID from the page table 611 (step 1820).
- the page selection unit 632 stores the acquired entry in the narrowed page table 651.
- the storage device information collection unit 602 acquires all page information from the physical storage device 300 and registers it in the page table 611.
- the target virtual logical volume is read from the page table 611.
- the page selection unit 632 causes the storage device information collection unit 602 to acquire information on only the page corresponding to the target virtual logical volume from the physical storage device 300.
- the storage device information collection unit 602 may acquire information on only the page corresponding to the target virtual logical volume from the physical storage device 300. In this way, the amount of data acquired from the physical storage device 300 can be reduced, and the capacity of the storage area consumed in the memory 420 can be reduced.
- the page selection unit 632 acquires the physical storage device ID of the physical storage device 300 of the access path corresponding to the host computer ID of the host computer that uses the target virtual logical volume from the path management table 620 (step 1830).
- the page selection unit 632 transmits the virtual logical volume ID of the target virtual logical volume to the path-specific response performance calculation unit 631 to execute the path-specific response performance calculation process (see FIG. 21) (step 1840).
- the response performance calculation process for each path the response performance for each path for the target virtual logical volume is calculated and registered in the performance information table 652 for each path.
- the page selection unit 632 acquires performance information for each I / O path from the path-specific performance information table 652 (Step 1850), and the response performance for each path (I / O transfer path) for transferring I / O.
- the degree of decrease is derived (step 1860). Specifically, for each I / O transfer path, the page selection unit 632 takes the difference between the response performance of the path that does not require I / O transfer and the response performance of the I / O transfer path, thereby responding. Deriving the degree of performance degradation.
- the page selection unit 632 executes loop B processing (step 1870) for all the pages acquired in step 1820.
- the page selection unit 632 moves the logical page data from the currently stored physical storage device 300 to the physical storage device 300 on a path (access path) that does not require I / O transfer.
- a predicted value that improves the response performance of the target virtual logical volume is calculated, and the predicted value is stored in the response performance improvement effect 653f of the entry corresponding to the logical page of the page migration management table 653.
- the predicted value is calculated by the following equation, for example.
- Predicted value (Degree of decrease in response performance due to I / O transfer of I / O path for accessing data of target logical page of step 1870) * (IOPS of target logical page of step 1870) / (virtual logic Total IOPS of volume)
- FIG. 19 is a flowchart of the exclusion target pool volume search process according to an embodiment.
- the exclusion target pool volume search process is a process corresponding to step 1680 of the virtual logical volume management process (see FIG. 16).
- the exclusion target pool volume search unit 634 acquires the entry of the movement target page from the page movement management table 653 (step 1910). Next, the exclusion target pool volume search unit 634 acquires the physical storage device ID of the migration destination physical storage device from the acquired entry (step 1920).
- the exclusion target pool volume search unit 634 is a pool volume that constitutes a pool to which the migration target page belongs from the pool volume table 612, and information on the pool volume that exists in the migration destination physical storage device (for example, RAID group ID, etc.) ) Is acquired (step 1930).
- the exclusion target pool volume search unit 634 acquires the threshold corresponding to the migration destination physical storage device from the RAID group threshold table 615 (step 1940).
- the exclusion target pool volume search unit 634 executes loop C processing (steps 1950 to 1970) for each pool volume acquired in step 1930.
- the exclusion target pool volume search unit 634 acquires the utilization rate corresponding to the RAID group ID of the RAID group constituting the processing target pool volume from the RAID group table 613 (step 1950). Next, the exclusion target pool volume search unit 634 determines whether or not the usage rate of the acquired RAID group exceeds the threshold value acquired in Step 1940 (Step 1960). As a result of this determination, if the usage rate of the acquired RAID group exceeds the threshold acquired in step 1940 (Yes in step 1960), the data of the migration target page is not moved to this pool volume.
- the exclusion target pool volume search unit 634 sets the exclusion target non-612e of the entry corresponding to the processing target pool volume in the pool volume table 612 to “true” (step 1970), and the loop C for the next pool volume While the process is executed, if the utilization rate of the acquired RAID group does not exceed the threshold value acquired in Step 1940 (No in Step 1960), the process of Loop C for the next pool volume is executed. .
- the exclusion target pool volume search unit 643 executes the process of loop C for each pool volume acquired in step 1930, and then ends the exclusion target pool volume search process.
- this exclusion target pool volume search process it is possible to search for a pool volume in which the utilization rate of the RAID group that is the basis of the pool volume exceeds the threshold, and to move the data of the logical page to this pool volume You can exclude it first.
- FIG. 20 is a flowchart of travel time prediction processing according to an embodiment.
- the migration time prediction process is executed, for example, when the “display time required for handling” button 2390 on the virtual logical volume selection screen 2300 (see FIG. 23) is pressed.
- the “display time required for handling” button 2390 is pressed, the virtual logical volume ID of each virtual logical volume displayed in the target virtual logical volume list 2320 or the target virtual logical volume list.
- the virtual logical volume ID of the virtual logical volume selected in 2320 is passed to the page movement time prediction unit 635 as the virtual logical volume ID to be predicted.
- the page movement time prediction unit 635 receives the virtual logical volume ID of the virtual logical volume to be predicted (step 2010). Next, the page movement time prediction unit 635 causes the migration destination storage device selection unit 630 and the page selection unit 632 to create the page movement management table 653 (Step 2020).
- the creation of the page migration management table 653 by the migration destination storage device selection unit 630 and the page selection unit 632 is the same as the creation of the page migration management table 653 in other flowcharts.
- the page movement time prediction unit 635 acquires the transfer speed between devices corresponding to the transfer destination physical storage device from the inter-device transfer speed table 614 (step 2030).
- the page movement time prediction unit 635 repeatedly executes the process of loop D (step 2040) for all physical storage devices except the migration destination physical storage device. Specifically, the page movement time prediction unit 635 transfers one page of data having a predetermined unit capacity from the processing target physical storage device 300 to the movement destination physical storage device based on the transfer rate acquired in Step 2030. A time for movement (page movement prediction time) is predicted (step 2040). Then, after executing the processing of loop D (step 2040) for all physical storage devices except the migration destination physical storage device, the page movement time prediction unit 635 exits the loop D.
- the page movement time prediction unit 635 repeatedly executes the process of loop E (step 2060) for all the movement target pages. Specifically, the page movement time prediction unit 635 performs the page movement required when the data of the loop processing target page is moved to the movement destination physical storage device during the total movement prediction time (initial value is 0). The predicted time is added (step 2060). For each migration source physical storage device 300, the total number of pages to be migrated from the physical storage device 300 to the migration destination physical storage device 300 is obtained, and the total number of pages is multiplied by the estimated page migration time. The time may be calculated.
- the page movement time prediction unit 635 After executing the process of loop E (step 2060) for all the movement target pages, the page movement time prediction unit 635 exits the loop E and performs the prediction target virtual logical volume in the target virtual logical volume table 643. The total estimated movement time is stored in the estimated required time 643h of the entry corresponding to (step 2070), and the movement time prediction process is terminated.
- the page movement time prediction unit 635 executes the process of FIG. 20 for each virtual logical volume ID.
- the movement time prediction process it is possible to appropriately predict the time required to move the data of the movement target page of the target virtual logical volume and notify the administrator of this information. As a result, various measures can be taken in consideration of the time required for the administrator to move the data of the migration target page of the target virtual logical volume.
- FIG. 21 is a flowchart of response performance calculation processing for each route according to an embodiment.
- the route-specific response performance calculation process is a process corresponding to step 1840 of the improvement effect prediction process (see FIG. 18).
- the path-specific response performance calculation unit 631 receives the virtual logical volume ID (step 2110), and acquires the entries of all pages corresponding to the virtual logical volume ID from the page table 611 (step 2120).
- the path response performance calculation unit 631 repeatedly executes the process of loop F (step 2130) for all acquired pages. Specifically, the path response performance calculation unit 631 totals the page response performance (response performance of the response performance 611f in the entry) for each I / O path to each page (for example, for each physical storage device ID), An average value of response performance for each I / O path is calculated (step 2130).
- the response performance calculation unit 631 for each route leaves the loop F and stores the calculation result by the loop F in the performance information table 652 for each route. (Step 2140), the route-specific response performance calculation process is terminated.
- the actual response performance in each route can be calculated appropriately.
- FIG. 22 is a flowchart of access path search processing according to an embodiment.
- the access path search process is a process corresponding to step 1640 of the virtual logical volume management process (see FIG. 16).
- the access path search unit 636 receives the virtual logical volume ID (step 2210), and acquires entries of all pages corresponding to the virtual logical volume ID from the page table 611 (step 2220).
- the access path search unit 636 repeatedly executes the process of loop G (step 2230) for all the acquired pages. Specifically, the access path search unit 636 adds the transfer amount of the acquired entry acquisition amount 611g to the total transfer amount for the physical storage device 300 in which the page data is stored (step 2230).
- the access path search unit 636 exits the loop G and the physical storage apparatus 300 having the largest total transfer amount in the calculation result by the loop G.
- the access path for accepting an I / O request for the virtual logical volume to be processed is determined as a path for the physical storage device 300 as a window, and the result is passed to the port change control unit 606 (step 2240).
- the access path search process is terminated.
- the physical storage device 300 with a large total transfer amount can be determined as the I / O request window for the virtual logical volume to be processed.
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)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
複数のストレージ装置が、複数の論理ページで構成された仮想論理ボリュームをホスト計算機に提供する。管理計算機は、仮想論理ボリュームを指定したI/O要求を受信するストレージ装置を特定可能なアクセスパス情報と、実際のボリューム応答性能と、目標とするボリューム目標性能と、論理ページのページ応答性能と、論理ページに割当てられている記憶領域が存在するストレージ装置を特定可能な格納先情報とに基づいて、ボリューム目標性能を実現するためにデータを移動させる対象とする論理ページを決定し、論理ページのデータをストレージ装置間で移動させる。
Description
本発明は、複数のストレージ装置に基づいており複数の物理ページで構成された記憶領域であるプールから物理ページが割り当てられる仮想的な論理ボリュームを管理する技術に関する。
ストレージシステムにおいて、記憶領域を効率的に利用するため、ライト要求の発生時にデータの格納に必要な実記憶領域を実ページと呼ばれる単位で動的に仮想論理ボリューム(仮想的な論理ボリューム)に割当てる技術が知られている(例えば、特許文献1参照)。
また、I/O要求を受信した際に自ストレージ装置の記憶領域に対するI/O要求であるか否かを判定し、他ストレージ装置に対するI/O要求である場合に、他ストレージ装置に対して、I/O要求を転送する技術が知られている(例えば、特許文献2参照)。
また、ストレージ装置に構築したプールの記憶領域に、このストレージ装置に接続された他のストレージ装置に存在するプールの記憶領域を組み込むことで、複数のストレージ装置に存在するプールを統合可能にする技術が知られている(例えば、特許文献3参照)。
これらの技術によれば、1つの仮想論理ボリュームの記憶領域を複数のストレージ装置に分散配置することが可能となるとともに、任意のストレージ装置から仮想論理ボリュームの記憶領域にアクセスすることが可能となる。
また、階層化されたプールを構成する記憶装置の使用状況が全体最適か否かを判断する技術が知られている(例えば、特許文献4参照)。この技術によれば、全体最適に近づく、移行候補の仮想論理ボリュームと、移行先プールとを表示すること、もしくは、その仮想論理ボリュームを移行することが可能となる。
また、異なる種類のアプリケーションが、階層化されたプールに基づいて生成される仮想論理ボリュームを効率的に使用する技術が知られている(例えば、特許文献5参照)。この技術によれば、アプリケーションの要求性能に応じて、仮想論理ボリュームを効率的に使用することが可能となる。
複数のストレージ装置の記憶領域により構成されたプールに基づく仮想論理ボリュームは、その実記憶領域が複数のストレージ装置の記憶領域に分散配置されることがある。このように仮想論理ボリュームの記憶領域が複数のストレージ装置の記憶領域に分散配置されている場合には、この仮想論理ボリュームに対するI/O要求が発生した場合には、ホスト計算機からI/O要求を受け取ったストレージ装置上にI/O要求の対象の仮想論理ボリュームの記憶領域が存在しない場合には、このストレージ装置から他のストレージ装置へI/O要求を転送する必要があり、他のストレージ装置へのI/O要求の転送が頻発する可能性がある。このように、I/O要求の転送が頻発すると、仮想論理ボリュームの応答性能が低下してしまう。
ストレージシステムは、複数のストレージ装置と、ストレージ装置を管理する管理計算機とを有する。複数のストレージ装置は、複数の論理ページで構成された仮想論理ボリュームをホスト計算機に提供し、ホスト計算機からI/O要求を受信し、そのI/O要求がライト要求の場合に、ライト要求から特定される論理ページに物理ページを割り当て、割り当てる物理ページにライト対象のデータを書き込むようになっている。管理計算機は、ホスト計算機が前記仮想論理ボリュームを指定したI/O要求を受信するストレージ装置を特定可能なアクセスパス情報と、処理対象の仮想論理ボリュームの実際のボリューム応答性能と、目標とするボリューム目標性能と、仮想論理ボリュームの論理ページのページ応答性能と、論理ページに割当てられている物理ページが存在するストレージ装置を特定可能な格納先情報とに基づいて、ボリューム目標性能を実現するためにデータを移動させる対象とする論理ページを決定し、対象とする論理ページに割り当てられている物理ページ内のデータを、対象とする論理ページに割り当てられている物理ページを有するストレージ装置から別のストレージ装置の物理ページに移動させる。
仮想論理ボリュームに対する応答性能の低下を低減することができる。
以下、一実施形態を説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
なお、以下の説明では「aaa表」の表現にて各種情報を説明することがあるが、各種情報は、表以外のデータ構造で表現されていてもよい。各種情報は、データ構造に依存しないことを示すために「aaa表」を「aaa情報」と呼ぶことができる。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、コントローラに含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェース装置(例えばSANポート、LANポート)を用いながら行うため、処理の主語がプロセッサとされても良い。プログラムを主語として説明された処理は、コントローラが行う処理としても良い。また、コントローラは、プロセッサそれ自体であっても良いし、プロセッサに代えて又は加えて、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから記憶制御装置にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ、又は、計算機が読み取り可能な記憶メディアであっても良い。
図1は、一実施形態に係るストレージシステムの概要を示す図である。
ストレージシステムは、ホスト計算機200と、複数の物理ストレージ装置300と、管理計算機400(図2参照)とを含む。ホスト計算機200と、物理ストレージ装置300は、通信ネットワーク170を介して接続されている。また、複数の物理ストレージ装置300は、通信ネットワーク180を介して接続されている。
物理ストレージ装置300は、1以上の物理記憶デバイス(PDEV)340を有している。本実施形態に係るストレージシステムでは、複数の物理ストレージ装置300を基に1つの仮想ストレージ装置100が形成されている。具体的には、複数の物理ストレージ装置300のPDEV340の記憶領域に基づいて、複数の物理ページ160で構成された記憶領域であるプール110が形成されている。プール110は、複数の物理ストレージ装置300にまたがっているので、プール110を「装置横断プール110」と呼ぶことがある。装置横断プール110は、複数の物理ストレージ装置300が有する複数の論理ボリューム140で構成されている。各論理ボリューム140が2以上の物理ページ160に分割され、故に、装置横断プール110が、複数の物理ページ160で構成されている。論理ボリューム140は、物理ストレージ装置300の1以上のPDEV340に基づいていても良いし、物理ストレージ装置300に接続されている外部のストレージ装置(図示せず)の記憶資源(例えば論理ボリューム)がストレージ仮想化技術に従い仮想化された仮想的な論理ボリュームでも良い。
仮想ストレージ装置100は、ホスト計算機200のアプリケーションプログラム250が利用し複数の論理ページ150で構成された仮想論理ボリューム120を有する。仮想論理ボリューム120は、複数の物理ストレージ装置300がそれぞれ有し同一のボリュームID(例えばLUN(Logical Unit Number))が付与された複数の仮想論理ボリュームの各々であっても良いし、複数の物理ストレージ装置300がそれぞれ有する複数の仮想論理ボリュームの集合であっても良い。仮想論理ボリューム120にプール110が関連付けられており、仮想論理ボリューム120には、関連付けられているプール110から物理ページが割り当てられる。そのため、例えば、複数の仮想論理ボリューム120と複数のプール110がある場合、1つの仮想論理ボリューム120には、その仮想論理ボリューム120が関連付けられているプール110から物理ページが割り当てられ、その仮想論理ボリューム120が関連付けられていないプール110から物理ページが割り当てられないで良い。
複数の物理ストレージ装置300のうちのいずれかが、仮想論理ボリューム120の論理ページ150に対してデータをライトする場合、ライト先論理ページ150に対して、装置横断プール110から物理ページ160を割り当て、割り当てた物理ページ160にライト対象のデータを格納する。
このような構成により、仮想論理ボリューム120の複数の論理ページ150のデータは、異なる物理ストレージ装置300に分散されて格納される状態となる。なお、上記の説明では、便宜上、プール110を構成する断片記憶領域を「物理ページ」と言い、仮想論理ボリューム120を構成する断片記憶領域を「論理ページ」と言うが、いずれも、LBA(Logical Block Address)のような論理アドレスで指定可能な記憶領域である。
本実施形態に係るストレージシステムは、仮想論理ボリューム120の複数の論理ページ150の中から、物理ストレージ装置300間で移動させるデータを格納している物理ページが割り当てられている論理ページを選択し、この論理ページに割り当てられている物理ページ内のデータを他の物理ストレージ装置300に移動させることにより、仮想論理ボリューム120の応答性能を向上する。以下の説明では、論理ページ150に割り当てられているデータを、移動元の物理ストレージ装置における移動元の物理ページから移動先の物理ストレージ装置における移動先の物理ページに移動することを、「ページを移動する」と言い、「ページを移動する」ことにより移動されるデータを格納した物理ページが割り当てられている論理ページを「移動対象の論理ページ」と言うこととする。ページの移動では、下記のいずれかが行われて良い。
(*)移動元の物理ページから移動先の物理ページにデータが移動し、移動対象の論理ページに、移動元の物理ページに代えて移動先の物理ページが割り当てられる。
(*)移動元の物理ページから移動先の物理ページにデータが移動し、移動先の物理ページの識別情報(例えばページ番号)が移動元の物理ページの識別情報に変わる。これにより、移動対象の論理ページの識別情報(例えばページ番号)と物理ページの識別情報との対応関係は変わらない。
(*)移動元の物理ページから移動先の物理ページにデータが移動し、移動対象の論理ページに、移動元の物理ページに代えて移動先の物理ページが割り当てられる。
(*)移動元の物理ページから移動先の物理ページにデータが移動し、移動先の物理ページの識別情報(例えばページ番号)が移動元の物理ページの識別情報に変わる。これにより、移動対象の論理ページの識別情報(例えばページ番号)と物理ページの識別情報との対応関係は変わらない。
図2は、一実施形態に係るストレージシステムのハードウェア構成図である。
ストレージシステムは、1以上のホスト計算機200と、複数の物理ストレージ装置300と、1以上の管理計算機400と、1以上の管理クライアント500とを有する。ホスト計算機200と、物理ストレージ装置300とは、例えば、ホスト通信用SAN(Storage Area Network)等の通信ネットワーク170を介して接続されている。また、複数の物理ストレージ装置300は、例えば、装置間通信用SAN等の通信ネットワーク180を介して接続されている。また、ホスト計算機200、複数の物理ストレージ装置300、管理計算機400、及び管理クライアント500は、例えば、管理用LAN(Local Area Network)等の通信ネットワーク190を介して接続されている。
管理クライアント500は、例えば、PC(Personal Computer)であり、ストレージシステムの管理者が、管理計算機400に対する各種操作を実行する際に使用される。なお、図2に示すストレージシステムでは、物理ストレージ装置300と管理計算機400とが別体である例を示しているが、管理計算機400と、いずれか1つの物理ストレージ装置300とを1つの計算機で構成するようにしても良い。
図3は、一実施形態に係るホスト計算機の構成図である。
ホスト計算機200は、CPU210と、メモリ220と、SANポート230と、LANポート240と、バス250とを有する。CPU210と、メモリ220と、SANポート230と、LANポート240とは、バス250を介して通信可能に接続されている。
SANポート230は、通信ネットワーク170を介して物理ストレージ装置300と通信するための通信インターフェース装置である。LANポート240は、通信ネットワーク190を介して、管理計算機400等と通信するための通信インターフェース装置である。CPU210は、メモリ220に格納されている各種プログラムを実行することにより、各種処理を実行する。
メモリ220は、各種プログラムや、各種情報を記憶する。メモリ220は、例えば、アプリケーションプログラム221と、マルチパス管理プログラム222と、パス管理表223とを記憶する。
アプリケーションプログラム221は、データのI/Oを行うプログラムである。本実施形態では、I/O先は、仮想論理ボリューム120である。マルチパス管理プログラム222は、ホスト計算機200に接続されている複数の物理ストレージ装置300に至る複数のパスのいずれを利用するかを管理するプログラムである。パス管理表223は、ホスト計算機200が複数の物理ストレージ装置300と接続されているパスを示す情報と、いずれのパスを利用するか(いずれのパスがアクティブであるか)を示す情報とを記憶する。パス管理表223は、例えば、物理ストレージ装置300のポートの識別情報(ポート番号)と、ホスト計算機200の識別情報(例えば、WWN(World Wide Name)と、このパスがアクティブであるか否かを示す情報とを対応付けて記憶する。
図4は、一実施形態に係る物理ストレージ装置の構成図である。
物理ストレージ装置300は、CPU310と、キャッシュメモリ320と、メモリ330と、1以上のPDEV340と、SANポート350と、LANポート360と、SANポート370と、バス380とを有する。CPU310と、キャッシュメモリ320と、メモリ330と、SANポート350と、LANポート360と、SANポート370とは、バス380を介して通信可能に接続されている。
SANポート350は、通信ネットワーク170を介してホスト計算機200と通信するための通信インターフェース装置である。LANポート360は、通信ネットワーク190を介して、管理計算機400等と通信するための通信インターフェース装置である。SANポート370は、通信ネットワーク180を介して物理ストレージ装置300と通信するための通信インターフェース装置である。キャッシュメモリ320は、PDEV340に書込むデータ、又はPDEV340から読出したデータを一時的に記憶する。PDEV340は、不揮発性の記憶媒体であって、例えば、磁気ディスク、フラッシュメモリ、その他半導体メモリである。本実施形態では、例えば、複数のPDEV340により、RAID(Redundant ARRAY of Independent Disks)に従い所定のRAIDレベルでデータを記憶するグループ(RAIDグループ)を構成している。
CPU310は、メモリ330に格納されている各種プログラムを実行することにより、各種処理を実行する。メモリ330は、各種プログラムや、各種情報を記憶する。メモリ330は、例えば、制御プログラム331を記憶する。制御プログラム331は、I/O要求に従って、各種処理を実行するプログラムである。本実施形態では、制御プログラム331は、自身のPDEV340に格納されているデータへのI/O要求を受信した場合には、自身のPDEV340に対してI/O処理を実行し、他の物理ストレージ装置300のPDEV340に対するI/O要求である場合には、当該I/O要求を他の物理ストレージ装置300に送信する。
図5は、一実施形態に係る管理計算機の構成図である。
管理計算機400は、制御デバイスの一例としてのCPU410と、記憶デバイスの一例としてのメモリ420と、LANポート430と、バス440とを有する。CPU410と、メモリ420と、LANポート430とは、バス440を介して通信可能に接続されている。
LANポート430は、通信ネットワーク190を介して、ホスト計算機200、物理ストレージ装置300、及び管理クライアント500と通信するための通信インターフェース装置である。CPU410は、メモリ420に格納されている各種プログラムを実行することにより、各種処理を実行する。
メモリ420は、各種プログラムや、各種情報を記憶する。メモリ420に格納されている各種プログラム及び各種情報については、後述する。
図6は、一実施形態に係る管理計算機のメモリ内部の構成図である。なお、図6においては、一部の表について複数表示しているが、これは、便宜的に表示したものであって、表が複数存在することを意味するものではない。
管理計算機400のメモリ420は、仮想論理ボリューム表610、ページ表611、プールボリューム表612、RAIDグループ表613、装置間転送速度表614、RAIDグループしきい値表615、パス管理表620、対処優先度表642、対象仮想論理ボリューム表643、移動先ストレージ装置表650、絞り込み済ページ表651、経路別性能情報表652、ページ移動管理表653、及びソート済みページ移動管理表643を記憶する。
RAIDグループしきい値表615は、RAIDグループの使用率のしきい値を記憶する。具体的には、RAIDグループしきい値表615は、物理ストレージ装置300の識別情報(物理ストレージ装置ID)と、RAIDグループの使用率のしきい値とを対応付けて記憶する。例えば、RAIDグループしきい値表615には、「Storage-1」の物理ストレージ装置300のRAIDグループの使用率のしきい値が、50%と記憶されている。
対処優先度表642は、仮想論理ボリュームに対する性能向上のための対処に関する優先度を記憶する。具体的には、対処優先度表642は、仮想論理ボリュームの識別情報(仮想論理ボリュームID)と、この仮想論理ボリュームに対する優先度とを記憶する。移動先ストレージ装置表650は、仮想論理ボリュームの移動対象の論理ページのデータを移動させる移動先の物理ストレージ装置(移動先物理ストレージ装置)を特定する情報を記憶する。具体的には、移動先ストレージ装置表650は、仮想論理ボリュームIDと、移動先物理ストレージ装置の識別情報(物理ストレージ装置ID)とを記憶する。絞り込み済ページ表651は、ページ表611の情報の中の性能向上のための対処の対象とする仮想論理ボリュームの論理ページの情報を記憶する。ソート済みページ移動管理表654は、ページ移動管理表653の各エントリを、応答性能の改善効果の降順にソートした表である。なお、上記説明をした表以外の表については、図面を参照して後述する。
また、メモリ420は、プログラムモジュールとして、ホスト計算機情報収集部601、ストレージ装置情報収集部602、ページ移動制御部605、ポート変更制御部606、移動先ストレージ装置選択部630、経路別応答性能算出部631、ページ選択部632、目標未達成仮想論理ボリューム検索部633、除外対象プールボリューム検索部634、ページ移動時間予測部635、アクセスパス検索部636、目標応答性能設定部660、対処優先度設定部661、仮想論理ボリューム選択部662、及び仮想論理ボリューム対処順順位付け部663を記憶する。
ホスト計算機情報収集部601は、所定のタイミング(例えば、スケジューリング設定に従った定期的なタイミング)で、又は管理クライアント500や他のプログラムモジュールによる要求によって起動され、ホスト計算機200からパス管理表620に必要な各種情報を収集し、パス管理表620を作成する。
ストレージ装置情報収集部602は、所定のタイミング(例えば、スケジューリング設定に従った定期的なタイミング)で、又は管理クライアント500や他のプログラムモジュールによる要求によって起動され、各物理ストレージ装置300から仮想論理ボリューム表610、ページ表611、RAIDグループ表613、及び装置間転送速度表614に必要な情報を取得し、これら各表を作成する。なお、表の一部の情報については、各物理ストレージ装置300から取得しないものもある。
目標未達成仮想論理ボリューム検索部633は、所定のタイミング(例えば、スケジューリング設定に従った定期的なタイミング)で、又は管理クライアント500や他のプログラムモジュール(例えば、仮想論理ボリューム選択部662)による要求によって起動され、仮想論理ボリューム表610の情報に基づいて、目標とする応答性能(目標応答性能)に達していない仮想論理ボリュームを検索し、この仮想論理ボリュームの目標未達に関する情報を仮想論理ボリューム表610に設定する。なお、上記説明したプログラムモジュール以外のプログラムモジュールについての処置動作は、後述する。
図7は、一実施形態に係る仮想論理ボリューム表の構成図である。
仮想論理ボリューム表610は、ボリューム応答性能情報とボリューム目標性能情報とを記憶する表であり、仮想論理ボリューム毎に、仮想論理ボリュームID610aと、フロント物理ストレージ装置610bと、フロントポート610cと、ホスト計算機ID610dと、容量610eと、応答性能610fと、IOPS610gと、取得日時610hと、目標応答性能610iと、連続目標未達成時間610jと、未達許容時間610kとのフィールドを含むエントリを記憶する。
仮想論理ボリュームID610aには、仮想論理ボリュームの識別情報(仮想論理ボリュームID)が格納される。フロント物理ストレージ装置610bには、仮想論理ボリュームへのアクセスの窓口(フロント)となる物理ストレージ装置300の識別情報(物理ストレージID)が格納される。フロントポート610cには、フロントとなるポートの識別情報(ポートID)が格納される。ホスト計算機ID610dには、仮想論理ボリュームを使用する、すなわち、仮想論理ボリュームにアクセスするホスト計算機200の識別情報(ホスト計算機ID)が格納される。容量610eには、仮想論理ボリュームの容量が格納される。応答性能610fには、仮想論理ボリュームの応答性能が格納される。ここで、応答性能とは、例えば、I/O要求を送信して、このI/O要求に対する応答が返ってくるまでの時間である。IOPS610gには、仮想論理ボリュームに対するIOPS(Input Output Per Second)が格納される。IOPSは、1秒当たりのI/O要求数であるが、所定時間あたりのI/O要求数である他種のIO頻度が採用されても良い。また、IO頻度に代えて又は加えて最終アクセス日時のような他種のアクセス状況が採用されても良い。取得日時610hには、応答性能610fの応答性能及びIOPS610gのIOPSを取得した日時が格納される。目標応答性能610iには、この仮想論理ボリュームの目標とする応答性能(目標応答性能)が格納される。連続目標未達成時間610jには、連続して目標応答性能が達成されていない時間(連続目標未達成時間)が格納される。未達許容時間610kには、目標応答性能が達成されていないことが許容される時間が格納される。
図8は、一実施形態に係るパス管理表の構成図である。
パス管理表620は、アクセスパス情報を管理する表であり、ホスト計算機200と物理ストレージ装置300との間のパス毎に、仮想論理ボリュームID620aと、ホスト計算機ID620bと、ホスト計算機ポートID620cと、物理ストレージ装置ID620dと、物理ストレージ装置ポートID620eと、アクセスパス該非620fとのフィールドを含むエントリを記憶する。
仮想論理ボリュームID620aには、エントリに対応するパスが対象とする仮想論理ボリュームの仮想論理ボリュームIDが格納される。ホスト計算機ID620bには、このパスを用いてアクセスするホスト計算機200のホスト計算機IDが格納される。ホスト計算機ポートID620cには、このパスで用いるホスト計算機200のポート(SANポート230)のポートIDが格納される。物理ストレージ装置ID620dには、このパスの接続先の物理ストレージ装置300の物理ストレージ装置IDが格納される。物理ストレージ装置ポートID620eには、このパスの接続先の物理ストレージ装置300のポート(SANポート350)のポートIDが格納される。アクセスパス該非620fには、仮想論理ボリュームID620aの仮想論理ボリュームIDに対応する仮想論理ボリュームへのアクセスに用いられるパス(アクセスパス)に該当するか否かを示す情報が格納される。本実施形態では、エントリに対応するパスが仮想論理ボリュームID620aの仮想論理ボリュームIDに対応する仮想論理ボリュームへのアクセスパスである場合には、アクセスパス該非620fには、「true」が設定され、アクセスパスでない場合には、アクセスパス該非620fには、「false」が設定される。
図9は、一実施形態に係る対象仮想論理ボリューム表の構成図である。
対象仮想論理ボリューム表643は、性能向上の対象とする仮想論理ボリューム(対象仮想論理ボリューム)毎に、仮想論理ボリュームID643aと、フロント物理ストレージ装置643bと、フロントポート643cと、ホスト計算機ID643dと、応答性能643eと、目標応答性能643fと、対処優先度643gと、予測所要時間643hとのフィールドを含むエントリを記憶する。
仮想論理ボリュームID643aには、対象仮想論理ボリュームの仮想論理ボリュームIDが格納される。フロント物理ストレージ装置643bには、対象仮想論理ボリュームへのアクセスの窓口(フロント)となる物理ストレージ装置300の物理ストレージ装置IDが格納される。フロントポート643cには、フロントとなるポート(SANポート350)の識別情報が格納される。ホスト計算機ID643dには、対象仮想論理ボリュームにアクセスするホスト計算機200のホスト計算機IDが格納される。応答性能643eには、対象仮想論理ボリュームの応答性能が格納される。目標応答性能643fには、対象仮想論理ボリュームの目標とする応答性能(目標応答性能)が格納される。対処優先度643gには、エントリに対応する対象仮想論理ボリュームについての性能向上するための対処の実行に関する優先度(対処優先度)が格納される。対処優先度643gに設定される対処優先度としては、例えば、「高」、「中」、「低」の3段階であっても良く、それ以上の段階であっても良く、任意の段階数であって良い。この対処優先度が高い対象仮想論理ボリュームについての性能向上のための対処が優先して実行されることとなる。予測所要時間643hには、対象仮想論理ボリュームの応答性能が目標応答性能に向上するために要すると予測される時間(予測所要時間)、すなわち、対処を完了するまでに要する時間が格納される。なお、「対処優先度が高い」とは、対処優先度が最も高いことを意味しても良いし、対処優先度が相対的に高いこと(具体的には、例えば、対処優先度が上位X%(X>0)に入ること、或いは、対処優先度が「高」(及び「中」)であること)を意味して良い。逆に、「対処優先度が低い」とは、対処優先度が最も低いことを意味しても良いし、対処優先度が相対的に低いこと(具体的には、例えば、複数の仮想論理ボリュームのうち対処優先度が下位Y%(Yは、100-Xと同じかそれより小さい(但しY>0))に入ること、或いは、対処優先度が「低」(及び「中」)であることを意味して良い。
図10は、一実施形態に係るページ表の構成図である。
ページ表611は、格納先情報を記憶する表であり、仮想論理ボリュームの論理ページ毎に、プールID611aと、仮想論理ボリュームID611bと、ページID611cと、物理ストレージ装置ID611dと、IOPS611eと、応答性能611fと、転送量611gと、容量611hとのフィールドを含むエントリを記憶する。
プールID611aには、仮想論理ボリュームが管理されているプールの識別情報(プールID)が格納される。仮想論理ボリュームID611bには、仮想論理ボリュームIDが格納される。ページID611cには、仮想論理ボリュームにおける論理ページの識別情報(ページID)が格納される。物理ストレージ装置ID611dには、論理ページに割当てられている物理領域(物理ページ)が属する物理ストレージ装置300の物理ストレージ装置IDが格納される。IOPS611eには、論理ページについてのIOPSが格納される。応答性能611fには、論理ページについての応答性能が格納される。転送量611gには、この論理ページについてのデータの転送量が格納される。容量611hには、論理ページの容量が格納される。
図11は、一実施形態に係る経路別性能情報表の構成図である。
経路別性能情報表652は、経路別応答性能情報を管理する表であり、仮想論理ボリュームのアクセス時に経路となり得る複数の経路のそれぞれについての応答性能を管理する表であり、仮想論理ボリュームID652aと、I/O受付ストレージ装置652bと、I/O転送要否652cと、I/O転送先ストレージ装置652dと、応答性能652eとのフィールドを含むエントリを記憶する。
仮想論理ボリュームID652aには、仮想論理ボリュームIDが格納される。I/O受付ストレージ装置652bには、このエントリの仮想論理ボリュームIDの仮想論理ボリュームについての窓口となる物理ストレージ装置300の物理ストレージ装置IDが格納される。I/O転送要否652cには、窓口となる物理ストレージ装置300から他の物理ストレージ装置300へI/O要求を転送する必要があるか否かを示す情報が格納される。I/O転送要否652cには、他の物理ストレージ装置300に転送する必要がある経路である場合には、「true」が格納され、他の物理ストレージ装置300に転送する必要がない経路である場合には、「false」が格納される。I/O転送先ストレージ装置652dには、I/O要求を転送する転送先の物理ストレージ装置300の物理ストレージ装置IDが格納される。応答性能652eには、エントリに対応する経路を使用した際における応答性能が格納される。
図11に示す経路別性能情報表652によると、「VVOL-1」の仮想論理ボリュームの窓口が「Storage-1」の物理ストレージ装置300であり、I/O要求を転送しない場合には、応答性能が1.0msecであり、「Storage-2」の物理ストレージ装置300にI/O要求を転送する場合には、応答性能が2.0msecであり、「Storage-3」の物理ストレージ装置300にI/O要求を転送する場合には、応答性能が2.1msecであり、I/O要求の転送が必要な経路は、応答性能が悪いことがわかる。
図12は、一実施形態に係るページ移動管理表の構成図である。
ページ移動管理表653は、仮想論理ボリュームの論理ページについて、論理ページのデータを移動させた場合における応答性能の改善効果の情報を管理する表であり、論理ページ毎に、プールID653aと、仮想論理ボリュームID653bと、ページID653cと、物理ストレージ装置ID653dと、移動先物理ストレージ装置653eと、応答性能改善効果653fと、移動対象該非653gとのフィールドを含むエントリを記憶する。
プールID653aには、エントリに対応する論理ページを含む仮想論理ボリュームを格納しているプールのプールIDが格納される。仮想論理ボリュームID653bには、論理ページを含む仮想論理ボリュームの仮想論理ボリュームIDが格納される。ページID653cには、論理ページのページIDが格納される。物理ストレージ装置ID653dには、論理ページのデータが格納されている物理領域を有する物理ストレージ装置300の物理ストレージ装置IDが格納される。移動先物理ストレージ装置653eには、論理ページのデータの移動先となる物理領域を有する移動先物理ストレージ装置300の物理ストレージ装置IDが格納される。応答性能改善効果653fには、エントリに対応する論理ページのデータを移動先物理ストレージ装置300の物理領域に移動させた場合に得られる応答性能の改善効果が格納される。応答性能改善効果653fには、応答性能の改善効果として、例えば、応答性能が短縮される時間が格納される。移動対象該非653gには、エントリに対応する論理ページが移動対象の論理ページに該当するか否かを示す情報が格納される。
図13は、一実施形態に係るプールボリューム表の構成図である。
プールボリューム表612は、プール110を構成する論理ボリューム(プールボリューム)に関する情報を管理する表であり、プールボリューム毎に、プールID612aと、プールボリュームID612bと、物理ストレージ装置ID612cと、RAIDグループID612dと、除外対象該非612eとのフィールドを含むエントリを記憶する。
プールID612aには、プールボリュームを含むプールのプールIDが格納される。プールボリュームID612bには、プールボリュームのIDが格納される。物理ストレージ装置ID612cには、プールボリュームの基になっているPDEV340を有する物理ストレージ装置300の物理ストレージ装置IDが格納される。RAIDグループID612dには、プールボリュームの基になっているRAIDグループの識別情報(RAIDグループID)が格納される。除外対象該非612eには、論理ページのデータの移動先から除外するプールボリュームに該当するか否かを示す情報が格納される。
図14は、一実施形態に係るRAIDグループ表の構成図である。
RAIDグループ表613は、RAIDグループの利用率を管理する表であり、RAIDグループ毎に、物理ストレージ装置ID613aと、RAIDグループID613bと、利用率613cとのフィールドを含むエントリを記憶する。
物理ストレージ装置ID613aには、エントリに対応するRAIDグループを構成するPDEV340を有する物理ストレージ装置300の物理ストレージ装置IDが格納される。RAIDグループID613bには、RAIDグループのRAIDグループIDが格納される。利用率613cには、エントリに対応するRAIDグループの記憶領域の利用率が格納される。
図15は、一実施形態に係る装置間転送速度表の構成図である。
装置間転送速度表614は、物理ストレージ装置300間の転送速度を管理する表であり、移動元ストレージ614aと、移動先ストレージ614bと、転送速度614cとのフィールドを含むエントリを記憶する。
移動元ストレージ614aには、データの移動元の物理ストレージ装置300の物理ストレージ装置IDが格納される。移動先ストレージ614bには、データの移動先の物理ストレージ装置300の物理ストレージ装置IDが格納される。転送速度614cには、エントリに対応する移動元の物理ストレージ装置300から移動先の物理ストレージ装置300へデータを移動する際の転送速度が格納される。
次に、管理計算機400が管理クライアント500に表示させる各種画面について説明する。
図23は、一実施形態に係る仮想論理ボリューム選択画面の構成図である。
仮想論理ボリューム選択画面2300は、管理者から性能向上の対象を行う対象とする対象仮想論理ボリュームの選択を受け付けるために、仮想論理ボリューム選択部662が管理クライアント500に表示する画面である。
仮想論理ボリューム選択画面2300は、仮想論理ボリューム一覧表示領域2310と、対象仮想論理ボリューム一覧表示領域2320と、「追加」ボタン2330と、「除外」ボタン2340と、「応答性能を更新する」ボタン2350と、「実行」ボタン2360と、「手動で対処順を指定する」ボタン2370と、「キャンセル」ボタン2380と、「対処に必要な時間を表示する」ボタン2390とを有する。
仮想論理ボリューム一覧表示領域2310には、ストレージシステムで管理されている仮想論理ボリュームに関する情報が、それぞれ行として表示される。仮想論理ボリュームに関する情報は、仮想論理ボリューム表610及び対処優先度表642の情報に基づいて作成される。具体的には、目標応答性能列2311の情報は、対処優先度表642に基づいて作成される。なお、対処優先度表642は、対処優先度設定部661が管理クライアント500に仮想論理ボリュームに対する優先度を設定するための対処優先度設定画面(図示せず)を表示させ、その画面に対する入力に従って作成される。設定できる優先度としては、例えば、「高」、「中」、「低」としてもよい。
対象仮想論理ボリューム一覧表示領域2320には、性能向上の対処を行う対象として選択された対象仮想論理ボリュームに関する情報が、それぞれ行として表示される。対象仮想論理ボリュームに関する情報は、仮想論理ボリューム表610及び対処優先度表642の情報に基づいて作成される。本実施形態では、対象仮想論理ボリュームに関する情報は、仮想論理ボリューム一覧表示領域2310の仮想論理ボリュームに関する情報に新たに予測所要時間列2391が備えられている。
「追加」ボタン2330は、仮想論理ボリューム一覧表示領域2310において選択状態となっている行に対応する仮想論理ボリュームを、性能向上の対処を行う対象である対象仮想論理ボリュームに追加する際に押下するボタンであり、このボタンが押下されると、選択状態の仮想論理ボリュームの情報の行が、対象仮想論理ボリューム一覧表示領域2320に追加される。
「除外」ボタン2340は、対象仮想論理ボリューム一覧表示領域2320において選択状態となっている行に対応する対象仮想論理ボリュームを、性能向上の対処を行う対象から除外する際に押下するボタンであり、このボタンが押下されると、選択状態の対象仮想論理ボリュームの情報の行が、対象仮想論理ボリューム一覧表示領域2320から削除される。
「応答性能を更新する」ボタン2350は、仮想論理ボリューム一覧表示領域2310における仮想論理ボリュームの応答性能を最新の情報に更新する際に押下されるボタンであり、このボタンが押下されると、ストレージ装置情報収集部602により、物理ストレージ装置300から仮想論理ボリュームの最新の応答性能が収集され、仮想論理ボリューム一覧表示領域2310に反映される。
「対処に必要な時間を表示する」ボタン2390は、対象仮想論理ボリューム一覧表示領域2320の予測所要時間列2391に予測所要時間を表示させるために押下するボタンであり、このボタンが押下されると、移動時間予測処理(図20参照)が実行されて、予測所要時間列2391に予測所要時間が表示される。これにより、対象仮想論理ボリュームに対する対処に要する時間を適切に管理者が把握することができる。
「実行」ボタン2360は、仮想論理ボリューム選択画面2300において、選択した対象仮想論理ボリュームを確定する際に押下されるボタンであり、このボタンが押下されると、対象仮想論理ボリューム一覧2320に表示されている対象仮想論理ボリュームが、実際に対処を行う対象仮想論理ボリュームに確定され、仮想論理ボリューム選択部662は、この対象仮想論理ボリュームの情報を対象仮想論理ボリューム表643に登録する。
「キャンセル」ボタン2380は、仮想論理ボリューム選択画面2300において、選択した対象仮想論理ボリュームをキャンセルする際に押下されるボタンであり、このボタンが押下されると、対象仮想論理ボリューム一覧2320に表示されている対象仮想論理ボリュームが、実際に対処を行う対象仮想論理ボリュームに確定されることなく、仮想論理ボリューム選択画面2300の表示が終了する。
「手動で対処順を指定する」ボタン2370は、複数の対象仮想論理ボリュームの対処を実行する対処順を管理者が手動で設定する場合に押下されるボタンであり、このボタンが押下されると、仮想論理ボリューム対処順順位付け部663が仮想論理ボリューム対処順決定画面2400(図24参照)を表示させて、管理者から対象仮想論理ボリュームの対処順の指定を受け付ける。
図24は、一実施形態に係る仮想論理ボリューム対処順決定画面の構成図である。
仮想論理ボリューム対処順決定画面2400は、管理者から対象仮想論理ボリュームの性能向上の対処を実行する順序の指定を受け付けるために、仮想論理ボリューム対処順順位付け部663が管理クライアント500に表示する画面であり、例えば、図23の仮想論理ボリューム選択画面2300の「手動で対処順を指定する」ボタン2370が押下された場合に表示される。
仮想論理ボリューム対処順決定画面2400は、仮想論理ボリューム対処順表示領域2410と、「順序を上げる」ボタン2420と、「順序を下げる」ボタン2430と、「実行」ボタン2440と、「戻る」ボタン2450とを有する。
仮想論理ボリューム対処順表示領域2410には、対象仮想論理ボリュームに関する情報の行が、その対象仮想論理ボリュームに対する現在の対処順に従って表示される。
「順序を上げる」ボタン2420は、仮想論理ボリューム対処順表示領域2410において行が選択状態となっている対象仮想論理ボリュームの対処順を上げる際に押下するボタンであり、このボタンが押下されると、対応する対象仮想論理ボリュームの対処順が1つ繰り上げられることとなり、仮想論理ボリューム対処順表示領域2410のこの対象仮想論理ボリュームの情報の行が、1つ前に移動される。
「順序を下げる」ボタン2430は、仮想論理ボリューム対処順表示領域2410において行が選択状態となっている対象仮想論理ボリュームの対処順を下げる際に押下するボタンであり、このボタンが押下されると、対応する対象仮想論理ボリュームの対処の順番が1つ繰り下げられることとなり、仮想論理ボリューム対処順表示領域2410のこの対象仮想論理ボリュームの情報の行が、1つ後ろに移動される。
「実行」ボタン2440は、仮想論理ボリューム対処順決定画面2400において、決定された対象仮想論理ボリュームの対処順を確定する際に押下されるボタンであり、このボタンが押下されると、仮想論理ボリューム対処順順位付け部663は、対象仮想論理ボリュームの対処順を、仮想論理ボリューム対処順表示領域2410に表示されている対象仮想論理ボリュームの行の順番に確定し、対象仮想論理ボリューム表643のエントリを確定した順番に従って並び替え、仮想論理ボリューム対処順決定画面2400を閉じる。この後、仮想論理ボリューム選択部662は、対象仮想論理ボリューム一覧表示領域2320の対象仮想論理ボリュームに関する情報の行を、対象仮想論理ボリューム表643に格納されているエントリの順番に従って表示する。これにより、管理者によって指定された順番で、対象仮想論理ボリュームに関する情報の行が表示されることとなる。
「戻る」ボタン2450は、仮想論理ボリューム対処順決定画面2400において、決定された対象仮想論理ボリュームの対処順を確定することなく、仮想論理ボリューム選択画面2300に戻る際に押下されるボタンであり、このボタンが押下されると、仮想論理ボリューム対処順順位付け部663は、仮想論理ボリューム対処順決定画面2400を閉じる。
仮想論理ボリューム対処順決定画面2400によると、管理者は、対象仮想論理ボリュームの対処を実行する順番を所望の順番に決定することができる。
図25は、一実施形態に係る目標応答性能編集画面の構成図である。
目標応答性能編集画面2500は、管理者から仮想論理ボリュームの目標応答性能、未達許容時間の指定を受け付けるために、目標応答性能設定部660が管理クライアント500に表示する画面である。
目標応答性能編集画面2500は、設定対象仮想論理ボリューム表示領域2510と、目標応答性能指定領域2520と、目標応答性能入力領域2530と、未達許容時間入力領域2560と、「決定」ボタン2540と、「キャンセル」ボタン2550とを有する。
設定対象仮想論理ボリューム表示領域2510には、ストレージシステムで管理されている仮想論理ボリュームに関する情報がそれぞれ行として表示される。仮想論理ボリュームに関する情報は、仮想論理ボリューム表610の情報に基づいて作成される。設定対象仮想論理ボリューム表示領域2510においては、編集する仮想論理ボリュームに関する情報の行を選択指定することにより、目標応答性能指定領域2520、目標応答性能入力領域2530、及び未達許容時間入力領域2560を用いて設定することができるようになる。
目標応答性能指定領域2520には、スライドバーが表示されており、指定用マークを移動させることにより、目標応答性能を指定することができるようになっている。なお、目標応答性能指定領域2520により指定された目標応答性能は、目標応答性能入力領域230に数値で表示される。
目標応答性能入力領域2530は、目標応答性能指定領域2520により指定された目標応答性能の値を表示する。なお、目標応答性能入力領域2530は、目標応答性能の値の入力を受け付けることもできる。
未達許容時間入力領域2560は、目標応答性能が未達成であることが許容される時間(未達成許容時間)を入力するための領域である。
「決定」ボタン2540は、目標応答性能編集画面2500において、編集された目標応答性能と未達成許容時間とを確定する際に押下されるボタンであり、このボタンが押下されると、目標応答性能設定部660は、目標応答性能入力領域2530及び未達許容時間入力領域2560に入力されている値を、仮想論理ボリューム表610の編集対象の仮想論理ボリュームに対応するエントリの目標応答性能610i及び未達許容時間610kに設定するとともに、対象仮想論理ボリューム表643の編集対象の仮想論理ボリュームに対応するエントリの目標応答性能643fに設定する。
「キャンセル」ボタン2550は、目標応答性能編集画面2500において、編集された目標応答性能と未達成許容時間とをキャンセルする際に押下されるボタンであり、このボタンが押下されると、目標応答性能設定部660は、目標応答性能編集画面2500を閉じる。
次に、本実施形態に係るストレージシステムにおける処理動作について説明する。
図16は、一実施形態に係る仮想論理ボリューム管理処理のフローチャートである。
仮想論理ボリューム管理処理において、まず、仮想論理ボリューム選択部662が、仮想論理ボリューム表610に基づいて、仮想論理ボリューム選択画面2300(図23参照)を管理クライアント500に表示させ、管理クライアント500から管理者による対象仮想論理ボリュームの選択を受け付け、対象仮想論理ボリュームの情報を対象仮想論理ボリューム表643に格納する(ステップ1610)。
ここで、仮想論理ボリューム選択部662は、仮想論理ボリューム選択画面2300に、対象仮想論理ボリュームを選択するための候補として、ストレージシステムの全ての仮想論理ボリュームを表示させるようにしてもよいし、複数の仮想論理ボリュームから絞り込んだ一部の仮想論理ボリュームを表示させるようにしてもよい。複数の仮想論理ボリュームから一部の仮想論理ボリュームに絞り込む方法としては、例えば、(A)その時点で目標応答性能が未達成である仮想論理ボリュームであること、(B)目標応答性能が未達成である状態が一定時間(例えば、管理者により指定された時間)以上連続している、又は連続したことがある仮想論理ボリュームであること、(C)予め設定されている優先度が高い仮想論理ボリュームであることや、(A)~(C)のいずれか複数を組み合わせたものを条件として、仮想論理ボリュームを絞り込んでも良い。このようにすると、管理者による対象仮想論理ボリュームの選択を容易且つ適切にすることができる。
また、本実施形態では、仮想論理ボリューム選択画面2300において、管理者が対象仮想論理ボリュームを選択するようにしているが、その時点で目標応答性能が未達成である仮想論理ボリューム、目標とする応答性能が未達成である状態が一定時間(例えば、管理者により指定された時間)以上連続している、又は連続したことがある仮想論理ボリューム、又は、予め設定されている優先度が高い仮想論理ボリュームを対象仮想論理ボリュームに決定するようにしてもよい。このようにすると、適切に対象仮想論理ボリュームを決定することができる。
次いで、仮想論理ボリューム選択部662が、対象仮想論理ボリューム表643に基づいて、仮想論理ボリューム対処順序決定画面(図24参照)を管理クライアント500に表示させ、管理クライアント500から管理者による対象仮想論理ボリュームの対処順序の指定を受け付け、指定された対処順序に沿って、対象仮想論理ボリューム表643の各対象仮想論理ボリュームのエントリの順序を並び替える(ステップ1620)。
次いで、アクセスパス検索部636が、対象仮想論理ボリューム表643から対象仮想論理ボリュームの情報(対象仮想論理ボリュームID等)を受け取り(ステップ1630)、アクセスパス検索処理(図22参照)を実行する(ステップ1640)。アクセスパス検索処理では、対象仮想論理ボリュームの窓口に適切な物理ストレージ装置300が決定される。
次いで、ポート変更制御部606が、アクセスパス検索部636からアクセスパス検索処理の結果を受け取り、結果に含まれる物理ストレージ装置300を窓口とするように、アクセスパスを変更する(ステップ1650)。具体的には、ポート変更制御部606は、パス管理表620の対象仮想論理ボリュームに対応するエントリにおいて、結果に含まれる物理ストレージ装置300をアクセスパスとするように変更する(より具体的には、その物理ストレージ装置300に対応するエントリのアクセスパス該非620fを「true」にし、それ以外の物理ストレージ装置300に対応するエントリのアクセスパス該非620fを「false」にする)とともに、ホスト計算機200のマルチパス管理プログラム222に対して、パス管理表223において、結果に含まれる物理ストレージ装置300を窓口とするパスをアクセスパスに変更させる制御を行う。これにより、アクセスパスを適切な物理ストレージ装置300を窓口とするパスに変更することができる。
次いで、移動先ストレージ装置選択部630が、対象仮想論理ボリューム表643の対象仮想論理ボリュームの情報と、パス管理表620の情報とに基づいて、対象仮想論理ボリュームを使用しているホスト計算機200の窓口となる物理ストレージ装置300、すなわち、物理ストレージ装置300間のI/O要求の転送をすることなくホスト計算機200がアクセス可能に設定されている物理ストレージ装置300を、対象仮想論理ボリュームの論理ページのデータを移動させる移動先の物理ストレージ装置(移動先物理ストレージ装置)として選択し、移動先物理ストレージ装置を移動先ストレージ装置表650に登録する(ステップ1660)。この移動先物理ストレージ装置は、他の物理ストレージ装置300よりも応答性能がよいので、この物理ストレージ装置に対して論理ページのデータを移動させることにより、応答性能を向上することができる。
次いで、ページ選択部632は、ページ選択処理(図17参照)を実行する(ステップ1670)。このページ選択処理により、移動対象の論理ページが選択される。
次いで、除外対象プールボリューム検索部634が、除外対象プールボリューム検索処理(図19参照)を実行する(ステップ1680)。この除外対象プールボリューム検索処理により、論理ページのデータの移動先から除外するプールボリュームが決定される。
次いで、ページ移動制御部605は、ページ移動管理表653と、プールボリューム表612とに基づいて、移動対象のページを移動させるプールボリュームを決定し、このプールボリュームに移動対象ページのデータを移動する(ステップ1690)。具体的には、ページ移動制御部605は、移動対象ページ(ページ移動管理表653のエントリの移動対象該非653gが「true」であるページ)のデータを、除外対象のプールボリューム以外のプールボリュームの物理ページに移動する。この処理により、仮想論理ボリュームの論理ページを応答性能の高い物理ストレージ装置300のPDEV340の記憶領域に移動することができるので、仮想論理ボリュームの応答性能を向上することができる。「応答性能が高い」とは、応答性能が最も高いことを意味しても良いし、応答性能が相対的に高いこと(具体的には、例えば、応答性能が上位P%(P>0)に入ること)を意味して良い。逆に、「応答性能が低い」とは、応答性能が最も低いことを意味しても良いし、応答性能が相対的に低いこと(具体的には、例えば、応答性能が下位Q%(Qは、100-Pと同じかそれより小さい(但しQ>0))に入ること)を意味して良い。
ここで、ステップ1690で複数の論理ページを移動させる場合において、論理ページの移動順を以下の(1)~(3)のいずれかの方法に従って決定するようにしても良い。
(1)ソート済みページ移動管理表654を参照し、応答性能改善効果が高いページから順に移動順を決定する。
(2)ページ表611のIOPS611eのIOPSに基づいて移動順を決定する。例えば、IOPSが大きいページから順に移動順を決定する。
(3)対処優先度表642の仮想論理ボリュームの優先度に基づいて移動順を決定する。
(1)ソート済みページ移動管理表654を参照し、応答性能改善効果が高いページから順に移動順を決定する。
(2)ページ表611のIOPS611eのIOPSに基づいて移動順を決定する。例えば、IOPSが大きいページから順に移動順を決定する。
(3)対処優先度表642の仮想論理ボリュームの優先度に基づいて移動順を決定する。
なお、「改善効果が高い」とは、改善効果が最も高いことを意味しても良いし、改善効果が相対的に高いことを意味して良い。逆に、「改善効果が低い」とは、改善効果が最も低いことを意味しても良いし、改善効果が相対的に低いことを意味して良い。
このように論理ページの移動順を決定することにより、適切な順序で論理ページを移動させることができる。例えば、(1)の方法によると、早期に応答性能を向上することができる。また、(2)の方法によると、例えばIOPSの大きいページを早期に移動させることができ、効果的にI/O処理を行うことができる。また、(3)の方法によると、設定された優先度が高い仮想論理ボリュームについての応答性能を早期に向上することができる。
図17は、一実施形態に係るページ選択処理のフローチャートである。
ページ選択処理は、仮想論理ボリューム管理処理(図16参照)のステップ1670に対応する処理である。
ページ選択処理において、ページ選択部632は、対象仮想論理ボリュームの仮想論理ボリュームIDを受け取る(ステップ1710)。次いで、ページ選択部632は、仮想論理ボリューム表610から仮想論理ボリュームIDに対応するエントリを特定し、このエントリの応答性能610fの応答性能を取得し(ステップ1720)、更に、目標応答性能610iの目標応答性能を取得する(ステップ1730)。
次いで、ページ選択部632は、取得した目標応答性能と、応答性能との差分を求める(ステップ1740)。
さらに、ページ選択部632は、特定したエントリからホスト計算機ID610dのホスト計算機IDを取得する(ステップ1750)。次いで、ページ選択部632は、移動先ストレージ装置表650から移動先ストレージ装置の物理ストレージ装置IDを取得する(ステップ1760)。
次いで、ページ選択部632は、ホスト計算機IDと、移動先ストレージ装置の物理ストレージ装置IDと、対象仮想論理ボリュームの仮想論理ボリュームIDとに基づいて、改善効果予測処理(図18参照)を実行する(ステップ1765)。この改善効果予測処理により、仮想論理ボリュームの論理ページの移動を行った際の応答性能の改善効果を把握することができる。
次いで、ページ選択部632は、ページ移動管理表653の各エントリを、応答性能改善効果の降順にソートし、ソートした結果を、ソート済みページ移動管理表654に格納する(ステップ1770)。
次いで、ページ選択部632は、ソート済みページ移動管理表654の先頭のエントリに対応する論理ページから順に、全てのエントリに対応する論理ページについて、ループAの処理(ステップ1775及び1780)の処理を実行する。
ループAの処理では、ステップ1775で、ページ選択部632は、ページ移動管理表653の処理対象の論理ページに対応するエントリの移動対象該非653gに、この論理ページが移動対象ページであるとの情報(本実施形態では、「true」)を追加する。
ステップ1780で、ページ選択部632は、移動対象ページとした全ての論理ページの移動による性能改善効果の合計が、ステップ1740で算出した差分を超えるか否かを判定し、性能改善効果の合計が、差分を超える場合(ステップ1780でYes)には、その時点で移動対象ページとしている全ての論理ページを移動させることにより、対象仮想論理ボリュームの応答性能が目標応答性能以上になることを意味するので、これ以上の論理ページを移動対象ページとすることなく、ループAを抜けてページ選択処理を終了する。なお、性能改善効果の合計が、差分を超えない場合(ステップ1780でNo)には、ページ選択部632は、次のエントリに対応する論理ページを対象としてループAの処理を実行し、ソート済みページ移動管理表654の全てのエントリに対応する論理ページを対象としてループAの処理を終えた場合には、ループAを抜けて、ページ選択処理を終了する。このループAの処理によると、性能改善効果の高い論理ページが優先的に移動対象ページと選択されるので、少ない論理ページの移動により、効果的に性能改善を行うことができる。また、目標応答性能となるのに必要最低限の論理ページのみが移動対象ページとして選択されるので、少ない論理ページの移動により、目標応答性能を実現することができる。
図18は、一実施形態に係る改善効果予測処理のフローチャートである。
改善効果予測処理は、ページ選択処理(図17参照)のステップ1765に対応する処理である。
ページ選択部632は、ページ表611から対象仮想論理ボリュームIDに対応する論理ページのエントリを取得する(ステップ1820)。ページ選択部632は、取得したエントリを、絞り込み済みページ表651に格納する。なお、本実施形態では、ストレージ装置情報収集部602が全てのページの情報を物理ストレージ装置300から取得してページ表611に登録しておき、ステップ1820では、ページ表611から、対象仮想論理ボリュームのページを抽出するようにしているが、例えば、ステップ1820で、ページ選択部632が、ストレージ装置情報収集部602に対象仮想論理ボリュームに対応するページのみの情報を物理ストレージ装置300から取得するように要求し、ストレージ装置情報収集部602に、対象仮想論理ボリュームに対応するページのみの情報を物理ストレージ装置300から取得させるようにしてもよい。このようにすると、物理ストレージ装置300から取得するデータ量を低減することができるとともに、メモリ420において消費される記憶領域の容量を低減することができる。
ページ選択部632は、パス管理表620から対象仮想論理ボリュームを使用するホスト計算機のホスト計算機IDに対応するアクセスパスの物理ストレージ装置300の物理ストレージ装置IDを取得する(ステップ1830)。
次いで、ページ選択部632は、経路別応答性能算出部631に対象仮想論理ボリュームの仮想論理ボリュームIDを送信して、経路別応答性能算出処理(図21参照)を実行させる(ステップ1840)。経路別応答性能算出処理により、対象仮想論理ボリュームについての各経路別の応答性能が算出されて経路別性能情報表652に登録される。
次いで、ページ選択部632は、経路別性能情報表652からI/O経路別の性能情報を取得し(ステップ1850)、I/Oを転送する経路(I/O転送経路)毎に応答性能の低下度合いを導出する(ステップ1860)。具体的には、ページ選択部632は、I/O転送経路毎に、I/O転送を必要としない経路の応答性能と、I/O転送経路の応答性能との差分を取ることにより、応答性能の低下度合いを導出する。
次いで、ページ選択部632は、ステップ1820で取得した全てのページについてループBの処理(ステップ1870)を実行する。ステップ1870で、ページ選択部632は、論理ページのデータを、現在格納されている物理ストレージ装置300からI/O転送を必要としない経路(アクセスパス)の物理ストレージ装置300に移動した場合に、対象仮想論理ボリュームの応答性能が改善される予測値を算出し、その予測値をページ移動管理表653の論理ページに対応するエントリの応答性能改善効果653fに格納する。ここで、予測値は、例えば、以下の式により算出される。
予測値=(ステップ1870の対象の論理ページのデータにアクセスするためのI/O経路のI/O転送による応答性能の低下度合い)*(ステップ1870の対象の論理ページのIOPS)/(仮想論理ボリュームの総IOPS)
予測値=(ステップ1870の対象の論理ページのデータにアクセスするためのI/O経路のI/O転送による応答性能の低下度合い)*(ステップ1870の対象の論理ページのIOPS)/(仮想論理ボリュームの総IOPS)
そして、ページ選択部632は、ステップ1820で取得した全てのページについてループBの処理(ステップ1870)を実行した後、改善効果予測処理を終了する。
図19は、一実施形態に係る除外対象プールボリューム検索処理のフローチャートである。
除外対象プールボリューム検索処理は、仮想論理ボリューム管理処理(図16参照)のステップ1680に対応する処理である。
除外対象プールボリューム検索部634は、ページ移動管理表653から移動対象ページのエントリを取得する(ステップ1910)。次いで、除外対象プールボリューム検索部634は、取得したエントリから移動先物理ストレージ装置の物理ストレージ装置IDを取得する(ステップ1920)。
次いで、除外対象プールボリューム検索部634は、プールボリューム表612から移動対象ページが属するプールを構成するプールボリュームであって、移動先物理ストレージ装置に存在するプールボリュームの情報(例えば、RAIDグループID等)を取得する(ステップ1930)。
次いで、除外対象プールボリューム検索部634は、RAIDグループしきい値表615から移動先物理ストレージ装置に対応するしきい値を取得する(ステップ1940)。
次いで、除外対象プールボリューム検索部634は、ステップ1930で取得した各プールボリュームについてループCの処理(ステップ1950~1970)を実行する。
具体的には、除外対象プールボリューム検索部634は、RAIDグループ表613から、処理対象のプールボリュームを構成するRAIDグループのRAIDグループIDに対応する利用率を取得する(ステップ1950)。次いで、除外対象プールボリューム検索部634は、取得したRAIDグループの利用率が、ステップ1940で取得したしきい値を超えているか否かを判定する(ステップ1960)。この判定の結果、取得したRAIDグループの利用率が、ステップ1940で取得したしきい値を超えている場合(ステップ1960でYes)には、このプールボリュームに移動対象ページのデータが移動されないように、除外対象プールボリューム検索部634は、プールボリューム表612の処理対象のプールボリュームに対応するエントリの除外対象該非612eを「true」に設定し(ステップ1970)、次のプールボリュームについてのループCの処理を実行する一方、取得したRAIDグループの利用率が、ステップ1940で取得したしきい値を超えていない場合(ステップ1960でNo)には、次のプールボリュームについてのループCの処理を実行する。
そして、除外対象プールボリューム検索部643は、ステップ1930で取得した各プールボリュームについてループCの処理を実行した後、除外対象プールボリューム検索処理を終了する。
この除外対象プールボリューム検索処理によると、プールボリュームの基となっているRAIDグループの利用率がしきい値を超えているプールボリュームを検索することができ、このプールボリュームを論理ページのデータの移動先から除外するようにすることができる。
図20は、一実施形態に係る移動時間予測処理のフローチャートである。
移動時間予測処理は、例えば、仮想論理ボリューム選択画面2300(図23参照)の「対処に必要な時間を表示する」ボタン2390が押下された場合に実行される。なお、「対処に必要な時間を表示する」ボタン2390が押下された場合には、対象仮想論理ボリューム一覧2320に表示されている各仮想論理ボリュームの仮想論理ボリュームID、又は、対象仮想論理ボリューム一覧2320で選択されている仮想論理ボリュームの仮想論理ボリュームIDが、予測対象の仮想論理ボリュームIDとして、ページ移動時間予測部635に渡されることとなる。
ページ移動時間予測部635は、予測対象の仮想論理ボリュームの仮想論理ボリュームIDを受け取る(ステップ2010)。次いで、ページ移動時間予測部635は、移動先ストレージ装置選択部630及びページ選択部632により、ページ移動管理表653を作成させる(ステップ2020)。なお、移動先ストレージ装置選択部630及びページ選択部632によるページ移動管理表653の作成は、他のフローチャートにおけるページ移動管理表653の作成と同様である。
次いで、ページ移動時間予測部635は、装置間転送速度表614から移動先物理ストレージ装置に対応する装置間の転送速度を取得する(ステップ2030)。
次いで、ページ移動時間予測部635は、移動先物理ストレージ装置を除く、全ての物理ストレージ装置について、ループDの処理(ステップ2040)を繰り返し実行する。具体的には、ページ移動時間予測部635は、ステップ2030で取得した転送速度に基づいて、処理対象の物理ストレージ装置300から移動先物理ストレージ装置へ、所定の単位容量である1ページのデータを移動するための時間(ページ移動予測時間)を予測する(ステップ2040)。そして、移動先物理ストレージ装置を除く、全ての物理ストレージ装置について、ループDの処理(ステップ2040)を実行した後、ページ移動時間予測部635は、ループDを抜ける。
次いで、ページ移動時間予測部635は、全ての移動対象ページについて、ループEの処理(ステップ2060)を繰り返し実行する。具体的には、ページ移動時間予測部635は、合計移動予測時間(初期値は、0である)に、ループ処理の対象のページのデータを移動先物理ストレージ装置に移動した場合に要するページ移動予測時間を加算する(ステップ2060)。なお、移動元の物理ストレージ装置300毎に、その物理ストレージ装置300から移動先物理ストレージ装置300に移動するページ数を求め、ページ数に対してページ移動予測時間を乗算することにより、合計移動予測時間を算出するようにしてもよい。
そして、全ての移動対象のページについて、ループEの処理(ステップ2060)を実行した後、ページ移動時間予測部635は、ループEを抜けて、対象仮想論理ボリューム表643の予測対象の仮想論理ボリュームに対応するエントリの予測所要時間643hに合計移動予測時間を格納し(ステップ2070)、移動時間予測処理を終了する。なお、予測対象の仮想論理ボリュームIDを複数取得した場合には、ページ移動時間予測部635は、図20の処理を各仮想論理ボリュームIDについて実行する。
移動時間予測処理によると、対象仮想論理ボリュームの移動対象ページのデータを移動させる場合に要する時間を適切に予測して、この情報を管理者に対して通知することができる。これにより、管理者が対象仮想論理ボリュームの移動対象ページのデータを移動させる場合に要する時間を考慮して、種々の対応を行うことができる。
図21は、一実施形態に係る経路別応答性能算出処理のフローチャートである。
経路別応答性能算出処理は、改善効果予測処理(図18参照)のステップ1840に対応する処理である。
経路別応答性能算出部631は、仮想論理ボリュームIDを受け取り(ステップ2110)、ページ表611から仮想論理ボリュームIDに対応する全てのページのエントリを取得する(ステップ2120)。
次いで、経路応答性能算出部631は、取得した全てのページについて、ループFの処理(ステップ2130)を繰り返し実行する。具体的には、経路応答性能算出部631は、ページの応答性能(エントリにおける応答性能611fの応答性能)を各ページへのI/O経路毎(例えば、物理ストレージ装置ID毎)に集計し、I/O経路毎の応答性能の平均値を算出する(ステップ2130)。
そして、全てのページについて、ループFの処理(ステップ2130)を実行した後、経路別応答性能算出部631は、ループFを抜けて、ループFによる計算結果を経路別性能情報表652に格納し(ステップ2140)、経路別応答性能算出処理を終了する。
この経路応答性能算出処理によると、各経路における実際の応答性能を適切に算出することができる。
図22は、一実施形態に係るアクセスパス検索処理のフローチャートである。
アクセスパス検索処理は、仮想論理ボリューム管理処理(図16参照)のステップ1640に対応する処理である。
アクセスパス検索部636は、仮想論理ボリュームIDを受け取り(ステップ2210)、ページ表611から仮想論理ボリュームIDに対応する全てのページのエントリを取得する(ステップ2220)。
次いで、アクセスパス検索部636は、取得した全てのページについて、ループGの処理(ステップ2230)を繰り返し実行する。具体的には、アクセスパス検索部636は、取得したエントリの取得量611gの転送量を、ページのデータが格納されている物理ストレージ装置300についての合計転送量に加算する(ステップ2230)。
そして、全てのページについて、ループGの処理(ステップ2230)を実行した後、アクセスパス検索部636は、ループGを抜けて、ループGによる計算結果において、合計転送量が最も大きい物理ストレージ装置300を特定し、処理対象の仮想論理ボリュームに対するI/O要求を受け付けるアクセスパスを、この物理ストレージ装置300が窓口となるパスに決定して、この結果をポート変更制御部606に渡し(ステップ2240)、アクセスパス検索処理を終了する。このアクセスパス検索処理により、合計転送量が多い物理ストレージ装置300を、処理対象の仮想論理ボリュームに対するI/O要求の窓口と決定することができるので、このようにアクセスパスを変更することにより、仮想論理ボリュームに対するI/O要求の際に、物理ストレージ装置300間におけるデータの転送量を低減することができ、仮想論理ボリュームの応答性能を含むI/O性能を向上することができる。
以上、本発明の一実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
200…ホスト計算機 300…物理ストレージ装置 400…管理計算機。
Claims (15)
- 複数の論理ページで構成された仮想論理ボリュームをホスト計算機に提供し、前記ホスト計算機からI/O(Input/Output)要求を受信し、前記I/O要求がライト要求の場合に、前記ライト要求から特定される論理ページに物理ページを割り当て、前記割り当てる物理ページに前記ライト要求の対象のデータを書き込むようになっている複数のストレージ装置と、
前記複数のストレージ装置を管理する管理計算機と
を有し、
前記管理計算機は、
前記ホスト計算機が前記仮想論理ボリュームを指定したI/O要求を受信するストレージ装置を特定可能なアクセスパス情報と、前記処理対象の仮想論理ボリュームの実際のボリューム応答性能と、目標とするボリューム目標性能と、前記仮想論理ボリュームの論理ページのページ応答性能と、前記論理ページに割当てられている物理ページが存在するストレージ装置を特定可能な格納先情報とに基づいて、前記ボリューム目標性能を実現するためにデータを移動させる対象とする論理ページを決定し、
前記対象とする論理ページに割り当てられている物理ページ内のデータを、前記対象とする論理ページに割り当てられている物理ページを有するストレージ装置から別のストレージ装置の物理ページに移動させる
ストレージシステム。 - 前記管理計算機は、
前記仮想論理ボリュームにアクセスする際の複数のストレージ装置に至る複数のI/O経路における経路別応答性能を取得し、
前記仮想論理ボリュームの複数の論理ページの各論理ページに対するI/O頻度と、前記経路別応答性能とに基づいて、前記各論理ページを移動した場合における前記仮想論理ボリュームのボリューム応答性能を推定し、前記推定したボリューム応答性能に基づいて、前記対象論理ページを決定する
請求項1に記載のストレージシステム。 - 前記管理計算機は、
前記推定したボリューム応答性能に基づいて、前記ボリューム応答性能の改善効果が高いという定義に該当する論理ページを、前記対象論理ページとして決定する
請求項2に記載のストレージシステム。 - 前記管理計算機は、
前記仮想論理ボリュームの実際のボリューム応答性能を、前記目標とするボリューム応答性能以上に改善することができるように前記対象論理ページを決定する
請求項3に記載のストレージシステム。 - 前記管理計算機は、
前記仮想論理ボリュームを使用している前記ホスト計算機のI/O要求を受信するストレージ装置を、前記論理ページに割り当てられている物理ページ内のデータの移動先のストレージ装置と決定する
請求項1に記載のストレージシステム。 - 前記管理計算機は、
前記処理対象の仮想論理ボリュームの論理ページのみについて、前記ページ応答性能と、前記格納先装置情報とをそれぞれの前記ストレージ装置から取得する
請求項1に記載のストレージシステム。 - 前記論理ページのデータを移動させる移動先のストレージ装置は、複数の論理ボリュームを有しており、
前記管理計算機は、
前記移動先のストレージ装置における各論理ボリュームの利用率を取得し、
前記移動先のストレージ装置の前記利用率が低い論理ボリュームを、優先的に、前記対象とする論理ページに割り当てられている物理ページ内のデータの移動先とする、
請求項1に記載のストレージシステム。 - 前記管理計算機は、
複数の前記論理ページのデータを移動させる際に、前記論理ページのデータ移動により得られるボリューム応答性能改善効果が高い順、前記論理ページのI/O頻度が高い順、前記論理ページに対応付けられている優先度の少なくとも一つの基準に基づいて、それぞれの前記論理ページに割り当てられている物理ページのデータを移動させる
請求項1に記載のストレージシステム。 - 前記管理計算機は、
前記仮想論理ボリュームについてのデータ転送量が最も多いストレージ装置を、前記仮想論理ボリュームのI/O要求の受け取りストレージ装置に決定し、
前記仮想論理ボリュームを使用するホスト計算機のアクセスパスを、前記受け取りストレージ装置へのパスに切り替える指示を出力する
請求項1に記載のストレージシステム。 - 前記管理計算機は、
(A)仮想論理ボリュームの目標とするボリューム応答性能が満たされていないこと、
(B)仮想論理ボリュームの目標とするボリューム応答性能が満たされていない状態が所定時間以上超えている、又は、
(C)仮想論理ボリュームに予め設定されている優先度が高いこと
の少なくともいずれか1つの条件に基づいて、複数の仮想論理ボリュームから、処理対象の候補とする仮想論理ボリュームを決定する
請求項1に記載のストレージシステム。 - 前記管理計算機は、
決定した前記論理ページのデータの移動が完了するまでに要する時間を推定し、
前記推定した時間を、所定の画面に表示させる
請求項1に記載のストレージシステム。 - 前記管理計算機は、
前記ストレージ装置間の転送速度情報に基づいて、データを移動する対象に決定されたそれぞれの前記論理ページのデータの移動元のストレージ装置と、移動先となるストレージ装置との間の所定のデータ量当たりの移動時間を求め、
移動する対象に決定された前記論理ページのページ数を、移動元のストレージ装置毎に求め、
前記移動時間と、前記ページ数とに基づいて、各移動元のストレージ装置から前記移動先のストレージ装置へのデータの移動が完了するまでに要する移動元のストレージ装置毎の予測所要時間を求め、前記移動元のストレージ装置毎の予測所要時間に基づいて、複数の前記移動元のストレージ装置から、移動先のストレージ装置へのデータの移動が完了するまでに要する予測所要時間を求める
請求項11に記載のストレージシステム。 - 複数の論理ページで構成された仮想論理ボリュームをホスト計算機に提供し、前記ホスト計算機からI/O(Input/Output)要求を受信し、前記I/O要求がライト要求の場合に、前記ライト要求から特定される論理ページに物理ページを割り当て、前記割り当てる物理ページに前記ライト要求の対象のデータを書き込むようになっている複数のストレージ装置、に接続された管理計算機であって、
前記ホスト計算機が前記仮想論理ボリュームを指定したI/O要求を受信するストレージ装置を特定可能なアクセスパス情報と、前記処理対象の仮想論理ボリュームの実際のボリューム応答性能情報と、目標とするボリューム目標性能情報と、前記仮想論理ボリュームの論理ページのページ応答性能情報と、前記論理ページに割当てられている物理ページが存在するストレージ装置を特定可能な格納先情報とを記憶する記憶デバイスと、
前記アクセスパス情報、前記ボリューム応答性能情報、前記ボリューム目標性能情報、前記ページ応答性能情報、及び前記格納先情報に基づいて、前記ボリューム目標性能情報を実現するためにデータを移動させる対象とする論理ページを決定し、前記対象とする論理ページに割り当てられている物理ページ内のデータを、前記対象とする論理ページに割り当てられている物理ページを有するストレージ装置から別のストレージ装置の物理ページに移動させる制御デバイスと
を有する管理計算機。 - 複数の論理ページで構成された仮想論理ボリュームをホスト計算機に提供し、前記ホスト計算機からI/O(Input/Output)要求を受信し、前記I/O要求がライト要求の場合に、前記ライト要求から特定される論理ページに物理ページを割り当て、前記割り当てる物理ページに前記ライト要求の対象のデータを書き込む複数のストレージ装置、を含んだストレージシステムにおける、前記仮想論理ボリュームを管理する仮想論理ボリューム管理方法であって、
前記ホスト計算機が前記仮想論理ボリュームを指定したI/O要求を受信するストレージ装置を特定可能なアクセスパス情報と、前記処理対象の仮想論理ボリュームの実際のボリューム応答性能と、目標とするボリューム目標性能と、前記仮想論理ボリュームの論理ページのページ応答性能と、前記論理ページに割当てられている物理ページが存在するストレージ装置を特定可能な格納先情報とに基づいて、前記ボリューム目標性能を実現するためにデータを移動させる対象とする論理ページを決定し、
前記対象とする論理ページに割り当てられている物理ページ内のデータを、前記対象とする論理ページに割り当てられている物理ページを有するストレージ装置から別のストレージ装置の物理ページに移動させる、
仮想論理ボリューム管理方法。 - 前記仮想論理ボリュームについてのデータ転送量が最も多いストレージ装置を、前記仮想論理ボリュームのI/O要求の受け取りストレージ装置に決定し、
前記仮想論理ボリュームを使用する前記ホスト計算機のアクセスパスを、前記受け取りストレージ装置へのパスに切り替え、
前記アクセスパス情報、前記ボリューム応答性能の情報、前記ボリューム目標性能の情報、前記ページ応答性能の情報、及び前記格納先情報の中の、前記アクセスパスの切り替えに伴って変更される情報を更新し、
その後、前記対象とする論理ページの決定と、前記対象論理ページに割り当てられている物理ページ内のデータの移動を行う、
請求項14に記載の仮想論理ボリューム管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/428,000 US9626110B2 (en) | 2013-02-22 | 2013-02-22 | Method for selecting a page for migration based on access path information and response performance information |
PCT/JP2013/054463 WO2014128910A1 (ja) | 2013-02-22 | 2013-02-22 | ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/054463 WO2014128910A1 (ja) | 2013-02-22 | 2013-02-22 | ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014128910A1 true WO2014128910A1 (ja) | 2014-08-28 |
Family
ID=51390738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/054463 WO2014128910A1 (ja) | 2013-02-22 | 2013-02-22 | ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9626110B2 (ja) |
WO (1) | WO2014128910A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016062315A (ja) * | 2014-09-18 | 2016-04-25 | 富士通株式会社 | 制御装置、ストレージシステム、及び制御プログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170068686A1 (en) * | 2015-09-07 | 2017-03-09 | Jacob Broido | Accessing a block based volume as a file based volume |
US9875058B2 (en) * | 2015-11-05 | 2018-01-23 | International Business Machines Corporation | Prioritizing pages to transfer for memory sharing |
JP6814020B2 (ja) * | 2016-10-26 | 2021-01-13 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
JP2018077787A (ja) * | 2016-11-11 | 2018-05-17 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
US10496531B1 (en) | 2017-04-27 | 2019-12-03 | EMC IP Holding Company LLC | Optimizing virtual storage groups by determining and optimizing associations between virtual devices and physical devices |
CN110058789B (zh) * | 2018-01-18 | 2022-06-03 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、存储系统以及计算机程序产品 |
US11003372B2 (en) | 2018-05-31 | 2021-05-11 | Portworx, Inc. | Protecting volume namespaces from corruption in a distributed container orchestrator |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156815A (ja) * | 2005-12-05 | 2007-06-21 | Hitachi Ltd | データマイグレーション方法及びシステム |
JP2010079626A (ja) * | 2008-09-26 | 2010-04-08 | Hitachi Ltd | 計算機システムの負荷分散方法及びシステム |
JP2010266993A (ja) * | 2009-05-13 | 2010-11-25 | Hitachi Ltd | データ移動管理装置及び情報処理システム |
JP2011221660A (ja) * | 2010-04-06 | 2011-11-04 | Hitachi Ltd | 管理方法及び管理装置 |
WO2012066671A1 (ja) * | 2010-11-18 | 2012-05-24 | 株式会社日立製作所 | 計算機システムの管理装置及び管理方法 |
WO2012169027A1 (ja) * | 2011-06-08 | 2012-12-13 | 株式会社日立製作所 | 計算機システム及びストレージシステム管理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145028A (en) * | 1997-12-11 | 2000-11-07 | Ncr Corporation | Enhanced multi-pathing to an array of storage devices |
JP4175788B2 (ja) | 2001-07-05 | 2008-11-05 | 株式会社日立製作所 | ボリューム制御装置 |
JP5087249B2 (ja) | 2006-09-06 | 2012-12-05 | 株式会社日立製作所 | ストレージシステムおよびストレージシステムの制御方法 |
JP5117120B2 (ja) * | 2007-06-18 | 2013-01-09 | 株式会社日立製作所 | ストレージ装置のボリュームを管理する計算機システム、方法及びプログラム |
JP2009134397A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法 |
WO2010122674A1 (ja) | 2009-04-23 | 2010-10-28 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
JP5236086B2 (ja) * | 2010-01-28 | 2013-07-17 | 株式会社日立製作所 | 増設/減設する記憶容量を計算する管理システム |
WO2011096017A1 (ja) * | 2010-02-08 | 2011-08-11 | 株式会社日立製作所 | 仮想ボリューム内のデータの再配置を行うストレージシステム及び方法 |
WO2012081089A1 (ja) | 2010-12-15 | 2012-06-21 | 株式会社日立製作所 | 計算機システムの管理装置及び管理方法 |
-
2013
- 2013-02-22 WO PCT/JP2013/054463 patent/WO2014128910A1/ja active Application Filing
- 2013-02-22 US US14/428,000 patent/US9626110B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156815A (ja) * | 2005-12-05 | 2007-06-21 | Hitachi Ltd | データマイグレーション方法及びシステム |
JP2010079626A (ja) * | 2008-09-26 | 2010-04-08 | Hitachi Ltd | 計算機システムの負荷分散方法及びシステム |
JP2010266993A (ja) * | 2009-05-13 | 2010-11-25 | Hitachi Ltd | データ移動管理装置及び情報処理システム |
JP2011221660A (ja) * | 2010-04-06 | 2011-11-04 | Hitachi Ltd | 管理方法及び管理装置 |
WO2012066671A1 (ja) * | 2010-11-18 | 2012-05-24 | 株式会社日立製作所 | 計算機システムの管理装置及び管理方法 |
WO2012169027A1 (ja) * | 2011-06-08 | 2012-12-13 | 株式会社日立製作所 | 計算機システム及びストレージシステム管理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016062315A (ja) * | 2014-09-18 | 2016-04-25 | 富士通株式会社 | 制御装置、ストレージシステム、及び制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20150248245A1 (en) | 2015-09-03 |
US9626110B2 (en) | 2017-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014128910A1 (ja) | ストレージシステム、管理計算機、及び仮想論理ボリューム管理方法 | |
JP4699837B2 (ja) | ストレージシステム、管理計算機及びデータ移動方法 | |
US8850152B2 (en) | Method of data migration and information storage system | |
JP5830599B2 (ja) | 計算機システム及びその管理システム | |
US9442765B2 (en) | Identifying shared physical storage resources having possibility to be simultaneously used by two jobs when reaching a high load | |
US8775731B2 (en) | Write spike performance enhancement in hybrid storage systems | |
US8260986B2 (en) | Methods and apparatus for managing virtual ports and logical units on storage systems | |
JP2008217216A (ja) | 負荷分散方法及び計算機システム | |
WO2011052005A1 (en) | Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas | |
US10248460B2 (en) | Storage management computer | |
EP2042968A2 (en) | Methods and apparatuses for heat management in information systems | |
US20150319245A1 (en) | Computer system | |
US9928004B2 (en) | Assigning device adaptors to use to copy source extents to target extents in a copy relationship | |
JP6168635B2 (ja) | データベース管理システム、計算機、データベース管理方法 | |
JP5425913B2 (ja) | 複数のプロセッサユニットを備えたストレージシステム | |
US8650576B2 (en) | Storage apparatus and storage apparatus management method | |
JP4961931B2 (ja) | ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置 | |
US10242053B2 (en) | Computer and data read method | |
JP2007233834A (ja) | I/oコマンドをキューイングするストレージシステム及びその制御方法 | |
KR20180015730A (ko) | 스토리지 디바이스를 관리하는 방법 및 장치 | |
JP5978297B2 (ja) | 管理システム及び管理方法 | |
JP6578694B2 (ja) | 情報処理装置、方法及びプログラム | |
US10783096B2 (en) | Storage system and method of controlling I/O processing | |
JP5415338B2 (ja) | ストレージシステム、その負荷分散管理方法及びプログラム | |
US11256449B2 (en) | Storage system |
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: 13876001 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14428000 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13876001 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |