WO2012081089A1 - 計算機システムの管理装置及び管理方法 - Google Patents

計算機システムの管理装置及び管理方法 Download PDF

Info

Publication number
WO2012081089A1
WO2012081089A1 PCT/JP2010/072514 JP2010072514W WO2012081089A1 WO 2012081089 A1 WO2012081089 A1 WO 2012081089A1 JP 2010072514 W JP2010072514 W JP 2010072514W WO 2012081089 A1 WO2012081089 A1 WO 2012081089A1
Authority
WO
WIPO (PCT)
Prior art keywords
application program
area
program
real area
virtual
Prior art date
Application number
PCT/JP2010/072514
Other languages
English (en)
French (fr)
Inventor
徳生 吉孝
草間 隆人
佑樹 宮本
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2010/072514 priority Critical patent/WO2012081089A1/ja
Priority to US13/062,170 priority patent/US20120159112A1/en
Publication of WO2012081089A1 publication Critical patent/WO2012081089A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Definitions

  • the present invention relates to a computer system management apparatus and management method.
  • a plurality of types of storage devices with different performances are used to form a hierarchical pool, and a real storage area (also referred to as a real area) stored in the hierarchical pool is virtualized according to write access from the host computer.
  • a storage virtualization technique that allocates to a logical volume (hereinafter referred to as a virtual volume) is known.
  • a virtual storage area of a virtual volume is divided into a plurality of partial areas (hereinafter referred to as “virtual areas”).
  • virtual areas a virtual storage area of a virtual volume
  • it is selected from which storage device the real area is assigned to in each virtual area unit (Patent Document 1).
  • the storage device periodically switches the storage device that is the page relocation destination according to the number of I / O (Input / Output) of each assigned page. For example, a page with a large I / O number is arranged in a high-performance storage device, and a page with a small I / O number is arranged in a low-performance storage device.
  • the storage apparatus that can simultaneously use a plurality of different virtual volumes has the following problems.
  • SLA Service Alliance Level
  • the other application program uses the other virtual volume.
  • the virtual area of the other virtual volume has a high-performance tier, even if it is temporarily used.
  • the real area to which it belongs is allocated.
  • the total size of the high-performance real area allocated to one virtual volume is reduced by the amount that the other virtual volume uses the high-performance real area. Accordingly, there is a possibility that the average response time of one virtual volume is lowered and the SLA cannot be satisfied.
  • SLA is, for example, an operation requirement for an application program.
  • SLA is set in the application program, for example, a real area is assigned to a virtual area used by the application program from an appropriate hierarchy according to the access status.
  • the present invention has been made in view of the above problems, and one of the purposes thereof is a computer system management apparatus capable of controlling the configuration of a virtual volume in consideration of different types of application programs, and To provide a management method. Further objects of the present invention will become clear from the description of the embodiments described later.
  • a management apparatus for a computer system is a management apparatus that manages a computer system including a plurality of host computers on which application programs operate and a storage apparatus that provides virtual volumes to each host computer.
  • the storage apparatus includes a plurality of pools each having a plurality of storage tiers having different performances, and selects a real storage area from each storage tier according to a write access from each host computer.
  • the selected real storage area is configured to be assigned to the virtual area to be accessed in the write-accessed virtual volume of each virtual volume, and each real storage area assigned to each virtual volume is assigned to each virtual volume. Based on the access information, it should be placed in the storage hierarchy. Comprising an arrangement control unit that determines to have.
  • the placement control unit provided in the management device includes a determination unit that determines the type of application program that uses the real storage area allocated to the virtual area among the real storage areas in the pool, and a determination result obtained by the determination unit.
  • a reallocation area instructing unit for determining a reallocation area reallocation area and instructing the storage apparatus.
  • It may further comprise a microprocessor, a memory for storing a predetermined computer program executed by the microprocessor, and a communication interface circuit for the microprocessor to communicate with the host computer and the storage device.
  • the placement control unit is realized by the microprocessor executing a predetermined computer program.
  • the determination unit determines whether or not the type of the application program that uses the real storage area is the first application program that is a transaction process having a high priority, and the relocation destination instruction unit stores each real storage in the pool Relocation destination of the first real storage area so that the first real storage area used by the first application program among the areas is preferentially arranged in a relatively high performance storage tier among the storage tiers. And determine the determined relocation destination to the storage apparatus.
  • the determination unit determines whether the type of the application program that uses the real storage area is a first application program that is a transaction process with a high priority, or a second application program that is a batch process having a time constraint. It can also be determined.
  • the relocation destination instructing unit first determines the relocation destination of the first real storage area so that the first real storage area used by the first application program is preferentially allocated to a relatively high performance storage hierarchy. After that, among the real storage areas in the pool, the relocation destination of the second real storage area used by the second application program is determined, and the relocation destination of the determined first real storage area is determined The storage apparatus can be instructed to relocate the second real storage area.
  • the discriminating unit can acquire application type information indicating whether each application program running on each host computer is a transaction process or a batch process from the user via the user interface unit. Furthermore, the determination unit can obtain access information indicating the access frequency at which each application program uses each real storage area from the storage device.
  • the first access information indicating the access frequency at which the first application program uses the real storage area may be acquired within a period during which the second application program is being executed. That is, it is possible to detect the usage state of the real storage area by the first application program within the period during which the second application program is being executed.
  • the present invention can also be grasped as a management method for managing a computer system. Furthermore, at least a part of the present invention may be configured as a computer program. Further, the features of the present invention described in the embodiments can be freely combined.
  • FIG. 1 is an explanatory diagram showing an overall outline of the embodiment.
  • FIG. 2 is an overall configuration diagram of the computer system.
  • FIG. 3 is a configuration diagram of the host computer.
  • FIG. 4 is a configuration diagram of the storage apparatus.
  • FIG. 5 is a configuration example of information for the storage apparatus to manage a RAID group.
  • FIG. 6 is a configuration example of information for managing the real area by the storage apparatus.
  • FIG. 7 is a configuration example of information for the storage apparatus to manage the virtual volume.
  • FIG. 8 is a configuration diagram of the management server.
  • FIG. 9 is a configuration example of information for the management server to manage a RAID group.
  • FIG. 10 is a configuration example of information for the management server to manage virtual volumes.
  • FIG. 11 is a configuration example of information for managing a storage hierarchy by the management server.
  • FIG. 12 is a configuration example of information defined for an application program.
  • 13A shows a configuration example of information defined for batch processing
  • FIG. 13B shows a configuration example of information for managing the correspondence between the host computer and the virtual volume.
  • FIG. 14 is a flowchart illustrating a process for registering definition information in the management server.
  • FIG. 15 is a screen example for inputting application definition information.
  • FIG. 16 is an example of a screen for inputting batch process definition information.
  • FIG. 17 is an example of a screen for setting conditions for arranging data in a hierarchy.
  • FIG. 18 is a flowchart illustrating processing for acquiring performance information.
  • FIG. 19 is a flowchart showing processing for rearranging data.
  • FIG. 20 is a flowchart showing a process of rearranging data used by a transaction process with a high priority.
  • FIG. 21 is a flowchart showing processing for rearranging data used by batch processing having time constraints.
  • FIG. 22 is a flowchart showing the read process.
  • FIG. 23 is a flowchart showing the write process.
  • FIG. 24 shows a configuration example of information for the storage apparatus to manage the virtual volume according to the second embodiment.
  • FIG. 25 is a configuration example of information for the management server to manage virtual volumes.
  • FIG. 26 is a configuration example of information for managing the storage hierarchy.
  • FIG. 27 is a configuration example of batch process definition information.
  • FIG. 28 is a flowchart showing processing for acquiring performance information.
  • FIG. 29 is a flowchart showing processing for rearranging data.
  • FIG. 30 is a flowchart showing a process for estimating the time required for the batch process.
  • FIG. 31 is a flowchart showing the rearrangement process.
  • FIG. 32 is an example of a screen for notifying the user that the batch processing is not completed within a predetermined time.
  • FIG. 33 is a flowchart showing processing for estimating the time required for batch processing according to the third embodiment.
  • FIG. 34 is an example of a screen for setting a threshold for calculating a margin time generated in the batch processing time.
  • FIG. 35 is a configuration example of information for the management server to manage a virtual volume according to the fourth embodiment.
  • FIG. 36 is a flowchart illustrating processing for acquiring performance information.
  • FIG. 37 is an example of a screen for setting an access history retention period.
  • FIG. 38 is a flowchart illustrating a process for registering definition information according to the fifth embodiment.
  • FIG. 39 is a screen example showing the usage status of each application program for each storage hierarchy according to the sixth embodiment.
  • FIG. 40 is a flowchart showing a process of determining a threshold value for determining the boundary between the storage hierarchies according to the seventh embodiment.
  • FIG. 41 is an explanatory diagram schematically showing a configuration of a computer system according to the eighth embodiment.
  • FIG. 42 is a configuration example of information for managing an operation history of transaction processing.
  • FIG. 43 is a configuration example of information defining batch processing.
  • FIG. 44 is a flowchart showing a process for estimating the operation time of the transaction process.
  • FIG. 45 is an example of a screen for presetting a storage hierarchy to be preferentially assigned to batch processing according to the ninth embodiment.
  • the relocation destination of data used by the application program is determined according to the type of the application program.
  • aaa table various types of information may not necessarily be expressed in a tabular format, and may be expressed in a data structure such as a list, a database, a queue, or other data structure. Therefore, in this embodiment, “aaa table”, “aaa list”, “aaaDB”, “aaa queue”, and the like are sometimes referred to as “aaa information” in order to show that they do not depend on the format of the data structure. .
  • program may be the subject.
  • the computer program is executed by a microprocessor.
  • the computer program executes a predetermined process using a memory and a communication port (communication control device). Therefore, the contents of the flowchart and the like can be explained with the microprocessor as the subject.
  • processing by a computer program can be explained with a computer such as a management server as the subject.
  • a part or all of the computer program may be realized by a dedicated hardware circuit.
  • the computer program may be modularized.
  • various computer programs can be installed in a computer by a program distribution server or a storage medium.
  • FIG. 1 is a diagram for explaining the outline of the embodiment, and the scope of the present invention is not limited to the configuration shown in FIG.
  • the computer system includes, for example, a plurality of host computers (hereinafter referred to as hosts) 10, at least one storage device 20, and one management system 50 as a “management device”.
  • hosts host computers
  • management system 50 management device
  • the hosts 10 (1), 10 (2), and 10 (3) are configured as computers such as server computers or mainframes, for example. Unless otherwise distinguished, 10 (1), 10 (2), and 10 (3) are referred to as the host 10.
  • Each host 10 includes an application program P10.
  • the first application program P10 (1) performs transaction processing.
  • a high priority is set in advance in the first application program P10 by the user.
  • the second application program P10 (2) performs batch processing.
  • a time constraint is set in the second application program P10 (2).
  • the time constraint means that the time required for completing the batch process is determined in advance.
  • batch processing having a time constraint is indicated as “high priority batch processing”.
  • a batch process for which a limit is set on the completion time can be considered as a batch process with a high priority.
  • the third application program P10 (3) is another application program that does not correspond to either the first application program P10 (1) or the second application program P10 (2). Accordingly, the third application program P10 (3) includes, for example, low priority transaction processing, batch processing without time constraints, and the like.
  • P10 (1), P10 (2), and P10 (3) are referred to as application program P10.
  • the storage apparatus 20 provides the host 10 with a logical volume 220 that is virtually generated.
  • the virtual logical volume 220 is referred to as a virtual volume 220.
  • the virtual volume 220 is shown as “VVOL”.
  • the host 10 (1) can use the virtual volume 220 (1), the host 10 (2) can use the virtual volume 220 (2), and the host 10 (3) can use the virtual volume 220 (3).
  • Each host 10 cannot use a virtual volume other than the virtual volume assigned to itself.
  • 220 (1), 220 (2), and 220 (3) are referred to as the virtual volume 220.
  • the virtual volume 220 is defined only for its volume size and access method, and does not have a real area for storing data.
  • Each virtual volume 220 is associated with the pool 210.
  • the real area (SEG) 212 selected from the pool 210 is allocated to the virtual volume 220.
  • Data from the host 10 is written to the allocated real area 212.
  • the pool 210 includes a plurality of storage hierarchies each having different performance.
  • the pool 210 can include, for example, three types of storage tiers: a first tier 211A, a second tier 211B, and a third tier 211C.
  • the first hierarchy 211A is composed of a plurality of real areas 212A included in the highest performance storage device.
  • the first hierarchy 211A can also be called an upper hierarchy.
  • the second tier 211B is composed of a plurality of real areas 212B included in a storage device with medium performance.
  • the second hierarchy 211B can also be referred to as a middle hierarchy.
  • the third hierarchy 211C includes a plurality of real areas 212C included in the low-performance storage device.
  • the third hierarchy 211C can also be referred to as a lower hierarchy.
  • 212A, 212B, and 212C are referred to as a real area 212.
  • 211A, 211B, and 211C are referred to as a hierarchy 211.
  • the real area 212 belonging to one of the hierarchies 211A, 211B, 211C in the pool 210 is selected.
  • the selected real area 212 is assigned to the virtual area VSEG to be written.
  • Write data from the host 10 is written in the real area SEG212.
  • the first application program P10 (1) which is a high-priority transaction process, uses the first virtual volume 220 (1).
  • the real area 212A belonging to the high-performance tier 211A is allocated to the virtual area 221 of the first virtual volume 220 (1).
  • the second application program P10 (2) which is a batch process with a time constraint set, uses the second virtual volume 220 (2).
  • the virtual area 221 of the second virtual volume 220 (2) is allocated with a real area 212A belonging to the high performance tier 211A and a real area 212B belonging to the medium performance tier 211B.
  • Other application program P10 (3) uses the third virtual volume 220 (3).
  • the virtual area 221 of the third virtual volume 220 (3) is allocated with a real area 212B belonging to the medium performance tier 212B and a real area 212C belonging to the low performance tier 211C.
  • the real area 212 allocated to the virtual volume 220 is periodically or irregularly based on information on access to the real area 212 (or information on access to the virtual area 221).
  • the hierarchy of the affiliation is changed.
  • data in the virtual area 221 with high access frequency is moved to a higher-performance layer.
  • the data in the virtual area 221 with low access frequency is moved to a lower performance tier. This shortens the response time of frequently accessed data.
  • data with low access frequency can be moved from a high-performance layer to a low-performance layer, the high-performance layer can be used efficiently.
  • the storage apparatus 20 includes a virtual volume management unit P21 and an information acquisition unit P20 in addition to the pool 210 and the virtual volume 220.
  • the virtual volume management unit P21 is a function for managing the configuration of the virtual volume 220. For example, the virtual volume management unit P21 creates a virtual volume 220, associates it with the host 10, and allocates the real area 212 in the pool 210 to the virtual area 221 according to write access from the host 10. Furthermore, the virtual volume management unit P21 changes the relocation destination of the data based on an instruction from the management system 50 and / or based on the data access frequency.
  • the information acquisition unit P20 acquires the performance value of each real area 212 of each hierarchy 211.
  • performance is, for example, access performance.
  • the access performance includes response time, data transfer rate, and IOPS (number of access requests processed per unit time).
  • the management system 50 includes a configuration management unit P30 as an “arrangement control unit”, application definition information T34, and batch processing definition information T35. Details of the definition information T34 and T35 will be described later.
  • the application definition information T34 is information defining the type, priority, etc. of the application program P10.
  • the batch process definition information T35 is information defining a time window in which batch processing is executed. The time window is defined by the start time of batch processing and the end time of batch processing.
  • the configuration management unit P30 includes, for example, a determination unit P3020, a first instruction unit P3021, and a second instruction unit P3022.
  • the determination unit P3020 determines whether the application program to be rearranged is a predetermined first application program P10 (1) based on the definition information T34 and T35 and the performance information received from the information acquisition unit P20. Alternatively, it is determined whether it is a predetermined second application program P10 (2).
  • the predetermined first application program P10 (1) is, for example, a transaction process set to a high priority.
  • the predetermined second application program P10 (2) is a batch process in which time constraints are set.
  • the real region 212 (SEG10, SEG11) used by the first application program P10 (1) has a relatively high performance hierarchy.
  • the reallocation destination of these real areas is determined so as to be allocated in 211A, and the storage apparatus 20 is instructed.
  • the second instruction unit P3022 constitutes a “relocation destination instruction unit” together with the first instruction unit P3021.
  • the second instruction unit P3022 determines the relocation destination of the real area 212 (SEG20, SEG21) used by the second application program P10 (2) after the determination of the relocation destination by the first instruction unit P3021 is completed.
  • the storage device 20 is instructed.
  • the data of the virtual volume 220 (3) used by the other application program P10 (3) is arranged in a hierarchy according to the access frequency as usual.
  • the review (relocation) of the correspondence between the virtual area and the real area is performed without stopping the I / O request from the host 10.
  • the management system 50 reviews the allocation of the real area for each virtual area of each virtual volume and instructs the storage apparatus 20. As a result, the management system 50 can determine the data relocation destination for each virtual area while taking into consideration the status of the storage device that changes from moment to moment without stopping the I / O request of the host 10. it can.
  • the function of the management system 50 may be provided in the storage device 20.
  • the controller 26 (see FIG. 4) of the storage device 20 may determine the data relocation destination.
  • the hierarchy in which the data of the virtual volume is to be arranged is determined according to the type of application program that uses the virtual volume.
  • the relocation destination of data used by the transaction process P10 (1) having a high priority is first determined. Therefore, the data can be arranged on the relatively high performance layer 212A. Since it is executed at the beginning of the data rearrangement process, there is a high possibility that the free area of the high-performance layer 211A can be used. As a result, the average response time of the virtual volume 220 (1) used by the transaction process P10 (1) having a high priority can be advanced, and the SLA set in the transaction process P10 (1) can be satisfied. .
  • the data used by the batch processing P10 (2) having the time constraint can be arranged in the relatively high performance layer 211A and / or the medium performance layer 211B. Since the data to be used by the batch process P10 (2) having the time constraint is determined at a relatively early stage, the data can be arranged in the high-performance layer 211A and / or the medium-performance layer 211B. . Thereby, the batch processing in which the time constraint is set can be completed within the set time.
  • FIG. 2 is an explanatory diagram showing the overall configuration of the computer system.
  • the computer system shown in FIG. 2 includes, for example, a plurality of hosts 10, at least one storage device 20, and one management system 50.
  • the management system 50 includes a management server 30 and a management terminal 40.
  • the management terminal 40 is configured as a personal computer, a portable information terminal, a mobile phone, or the like, for example.
  • the user logs in to the management server 30 via the management terminal 40 and registers definition information T34 and T35.
  • a plurality of management terminals 40 may be provided.
  • the management terminal 40 may be abolished and an input / output device connected to the management server 30 may be used.
  • Each host 10 and the storage device 20 are connected via a communication network CN1 such as an IP-SAN (Internet Protocol-SAN) or FC-SAN (Fibre Channel-Storage Area Network).
  • the host 10, the storage device 20, the management server 30, and the management terminal 40 are connected via a communication network CN2 such as a LAN (Local Area Network).
  • the first communication network CN1 can be called a data input / output network.
  • the second communication network CN2 can be called a management network.
  • the communication networks CN1 and CN2 may be combined into one.
  • FIG. 3 shows the hardware configuration of the host 10.
  • the host 10 includes, for example, a microprocessor (hereinafter referred to as CPU) 11, a memory 12, a SAN port 13, and a LAN port 14. These units 11, 12, 13, and 14 are connected to each other via an internal bus.
  • CPU microprocessor
  • the memory 12 stores, for example, an application program P10, a host configuration information acquisition processing program P11, and host configuration information T10.
  • Examples of the type of application program P10 include transaction processing and batch processing.
  • the host configuration information acquisition processing program P11 is a program for acquiring host configuration information T10.
  • the host configuration information acquisition processing program P11 inquires of the storage apparatus 20 about the identification information of all the virtual volumes 220 used by the host 10 via the data input / output network CN1 or the management network CN2. Based on the information acquired from the storage device 20, the host configuration information acquisition processing program P11 generates host configuration information T10.
  • the host configuration information T10 is information for managing the correspondence between the host 10 and the virtual volume 220. Details of the host configuration information T10 will be described later with reference to FIG.
  • the SAN port 13 is a circuit for bidirectional communication via the first communication network CN1.
  • the LAN port 14 is a circuit for bidirectional communication via the second communication network CN2.
  • FIG. 4 shows the hardware configuration of the storage apparatus 20.
  • the storage device 20 includes a controller 26 and a plurality of physical storage devices 27A, 27B, and 27C having different performances.
  • the controller 26 and the storage devices 27A, 27B, and 27C are connected to each other via an internal bus. Unless otherwise distinguished, the storage devices 27A, 27B, and 27C are referred to as the storage device 27.
  • various devices capable of reading and writing data such as a hard disk device, a semiconductor memory device, an optical disk device, a magneto-optical disk device, a magnetic tape device, and a flexible disk device can be used.
  • a hard disk device for example, a FC (Fibre Channel) disk, a SCSI (Small Computer System Interface) disk, a SATA disk, an ATA (AT Attachment) disk, a SAS (Serial Attached SCSI) disk, or the like can be used.
  • flash memory FeRAM (Ferroelectric Random Access Memory), MRAM (Magnetoresistive Random Access) Memory devices such as “Memory”, phase change memory (Ovonic Unified Memory), and RRAM (Resistance RAM) can also be used.
  • a configuration in which different types of storage devices such as a flash memory device and a hard disk drive are mixed may be used.
  • an SSD flash memory device
  • a SAS disk is used as a medium-performance storage device 27B
  • a SATA disk is used as a relatively low-performance storage device 27C.
  • RAID groups 28A, 28B, and 28C are generated by grouping the same types of storage devices 27A, 27B, and 27C.
  • the RAID group 28A is composed of physical storage areas possessed by a plurality of high performance storage devices 27A.
  • the RAID group 28B is composed of physical storage areas that a plurality of medium performance storage devices 27B have.
  • the RAID group 28C is composed of physical storage areas possessed by a plurality of low performance storage devices 27C. Unless otherwise distinguished, the RAID groups 28A, 28B, and 28C are referred to as the RAID group 28.
  • the logical volumes 29A, 29B, and 29C can be provided by cutting out the physical storage areas of the RAID groups 28A, 28B, and 28C at a fixed size or a variable size.
  • the logical volume 29A is provided in a high-performance RAID group 28A.
  • the logical volume 29B is provided in the medium performance RAID group 28B.
  • the logical volume 29C is provided in the low-performance RAID group 28C. Therefore, the logical volume 29A is a high-performance logical storage device, the logical volume 29B is a medium-performance logical storage device, and the logical volume 29C is a low-performance logical storage device.
  • the logical volumes 29A, 29B, and 29C are referred to as the logical volume 29.
  • the controller 26 includes, for example, a microprocessor 21, a memory 22, a SAN port 23, a LAN port 24, and a disk interface circuit 25.
  • a storage control program P20 for example, a storage control program P20, RAID group management information T20, real area management information T21, and virtual volume management information T22 are stored.
  • the storage control program P20 includes a performance monitoring processing program P201 and a virtual volume management program P202 as subprograms.
  • the storage control program P20 is executed by the microprocessor 21, thereby performing access control processing, performance monitoring processing, virtual volume management processing, and the like to the storage device 27.
  • the performance monitoring processing program P201 collects performance for the virtual volume 220.
  • the performance monitoring processing program P201 totalizes the access frequency to each virtual volume 220 in the storage apparatus 20, and records the access frequency in the virtual volume management information T22.
  • the access frequency to the virtual volume is, for example, a set of the number of times the host 10 has accessed each virtual area in the virtual volume.
  • the “number of accesses to the virtual area” refers to the number of access requests that have been processed (or may be included) during access requests that specify all or part of the target virtual area as an address range. Point to.
  • the access number of the virtual area is set by the number of the access request. increase.
  • the address range of the access request includes a part or all of each of the plurality of virtual areas, the number of accesses in each virtual area is increased by the number of the access requests.
  • the size of the virtual area is large, the latter case does not occur very much. Accordingly, only the count number of the virtual area including the head of the address range specified by the access request may be increased.
  • the virtual volume management program P202 reviews the allocation of the real area 212 to the virtual area 221 in the virtual volume 220, for example, according to an instruction from the management server 30.
  • the process of reviewing the association between the virtual area 221 and the real area 212 is called a rearrangement process.
  • FIG. 5 shows a configuration example of the RAID group management information T20.
  • the RAID group management information T20 manages the configuration of the RAID group 28.
  • the RAID group management information T20 manages, for example, a RAID group ID C200, a device type C201, a RAID level C202, and a storage device ID C203 in association with each other.
  • the storage device may be abbreviated as “PDEV”.
  • the RAID group ID C200 is information for identifying the RAID group 28.
  • the device type C201 is information indicating the type of the storage device 27 constituting the RAID group 28.
  • the RAID level C202 is information indicating the RAID level and combination of the RAID group 28.
  • the storage device ID C203 is information for identifying the storage devices 27 constituting the RAID group 28.
  • each table (information) described below, but some of the items included in the illustrated table may be changed to other items, or new items may be added. Furthermore, one table can be divided into a plurality of tables.
  • FIG. 6 shows a configuration example of the real area management information T21.
  • the real area management information T21 manages information indicating whether or not the real area 212 included in the storage device 27 included in each RAID group 28 has been allocated to the virtual volume 220.
  • the real area management information T21 manages the RAID group ID C210, the real area ID C211, the RAID group LBA range C212, and the allocation status C213 in association with each other.
  • identification information for identifying each RAID group 28 is registered.
  • Identification information for identifying each real area 212 is registered in the real area ID C211.
  • LBA range C212 a value indicating the LBA range of the RAID group 28 corresponding to the real area 212 is registered.
  • LBA is an abbreviation for logical block access.
  • allocation status C213 a value indicating whether the real area 212 has been allocated to the virtual volume 220 is registered.
  • FIG. 7 shows a configuration example of the virtual volume management information T22.
  • the virtual volume management information T22 manages information related to each virtual area in the virtual volume and a real area allocated to the virtual area.
  • the virtual volume management information T22 includes a virtual volume ID C220, a virtual area ID C221, a virtual volume LBA range C222, a real area ID C223, an access count C224, a monitoring period C225, and a relocation destination determination result.
  • C226 is associated and managed.
  • VVOL-ID virtual volume ID
  • the virtual volume ID C220 is not an identifier specified by the host 10, but an identifier recognized inside the storage apparatus 20.
  • Information for identifying the virtual area 221 is registered in the virtual area ID C221.
  • a value indicating the LBA range corresponding to the virtual area 221 in the virtual volume 220 is registered.
  • Information for identifying the real area 212 assigned to the virtual area 221 in the virtual volume 220 is registered in the real area ID C223.
  • the access count C 224 a value indicating the access count (total I / O count) from the host 10 to the virtual area 221 in the virtual volume 220 is registered.
  • the access number C224 is a value of the number of accesses to the virtual area. The number of accesses by the storage device 20 is monitored within the time range set in the monitoring period C225.
  • the storage apparatus 20 When the value indicating the specific time zone is not set in the monitoring period C225, the storage apparatus 20 always monitors the number of accesses. The storage apparatus 20 resets the value of the access number C224 to 0 at the timing of starting monitoring. When the monitoring result in the monitoring period is not saved, the value of the access number C224 is reset to 0 every certain period, for example, every 24 hours.
  • the monitoring period by the performance monitoring processing program P201 is registered in the monitoring period C225. That is, the time range in which the performance monitoring processing program P201 monitors the number of accesses to the virtual volume 220 and saves the monitoring result is stored in C225.
  • the value of the monitoring period can be given as a fixed value in advance, or an arbitrary value can be set from the management server 30.
  • the rearrangement destination determination result C2226 information indicating the hierarchy of the data rearrangement destination determined by the rearrangement process is registered. One tier that supplies the real area to be allocated to the virtual area in the virtual volume is determined by the rearrangement process described later.
  • the rearrangement destination determination result C226 stores identification information that identifies the determined hierarchy.
  • FIG. 8 shows a hardware configuration example of the management server 30.
  • the management server 30 includes, for example, a microprocessor 31, a memory 32, an auxiliary storage device 33, and a LAN port 34. Each part 31, 32, 33, 34 is mutually connected via an internal bus.
  • the memory 32 stores a configuration management program P30, hierarchy management information T30, RAID group management information T31, real area management information T32, and virtual volume management information T33.
  • the configuration management program P30 has a plurality of subprograms.
  • the plurality of subprograms include, for example, an input information registration processing program P300, a performance information acquisition processing program P301, and a rearrangement processing program P302.
  • the input information registration processing program P300 acquires and stores definition information of the application program P10, information that is a condition for performing data rearrangement between each layer, and definition information of batch processing from user input or the like. .
  • the performance information acquisition processing program P301 acquires the access count for each virtual area from the storage device 20, calculates the average value of the access count (I / O count) per unit time, and stores it in the virtual volume management information T33.
  • the unit of the average value of the access count is, for example, IOPS (I / O count per second).
  • the rearrangement processing program P302 determines the hierarchy 211 on which the virtual area data should be arranged based on the average access count of each virtual area.
  • the rearrangement processing program P302 first rearranges data in the virtual area used by the application program P10 (1) having a high priority and the application type being transaction processing.
  • the rearrangement processing program P302 rearranges the data in the virtual area used by the application program P10 (2) that has time constraints and the application type is batch processing.
  • the input information registration processing program P300 will be described in detail with reference to FIG.
  • the performance information acquisition processing program P301 will be described in detail with reference to FIG.
  • the rearrangement processing program P302 will be described in detail with reference to FIG.
  • the RAID group management information T31, real area management information T32, and virtual volume management information T33 that the management server 30 has are stored in the RAID group management information T20, real area management information T21, and virtual volume management information T22 that the storage apparatus 20 has. , Respectively. However, the configuration of each piece of management information T31, T32, T33 in the management server 30 does not have to completely match the configuration of the corresponding management information T20, T21, T22.
  • the management server 30 acquires information from the management information T20, T21, T22 of the storage device 20 and stores it in T31, T32, T33 in the management server 30.
  • the auxiliary storage device 33 stores application definition information T34 and batch processing definition information T35.
  • Application definition information T34 manages the priority of the application program P10 and attribute information such as application type (transaction processing or batch processing).
  • the batch process definition information T35 manages the name of the application program that performs batch processing, and the start time and end time of the batch process.
  • each process performed by the management server 30 is executed by the controller 26 of the storage apparatus 20 may be employed. That is, the storage system 20 may be provided with a computer system management function. Or the structure which mounts the function of the management server 30 in either of each host 10 may be sufficient.
  • FIG. 9 shows a configuration example of the RAID group management information T31 that the management server 30 has.
  • the RAID group management information T31 corresponds to the RAID group management information T20 that the storage apparatus 20 has, and is used to store information that the RAID group management information T20 has. However, the information included in the RAID group management information T31 does not have to completely match the information included in the RAID group management information T20. Some of the information included in the RAID group management information T20 may not be stored in the RAID group management information T31.
  • the RAID group management information T31 indicates the RAID group ID C310 indicating the identifier of the RAID group 28, the device type C311 indicating the type of the storage device 27 constituting the RAID group 28, and the RAID level and combination of the RAID group 28. It manages the RAID level C312.
  • the real area management information T32 possessed by the management server 30 can be configured identically to the real area management information T21 possessed by the storage apparatus 20 shown in FIG. Therefore, the real area management information T32 may be described below with reference to FIG.
  • FIG. 10 is a configuration example of the virtual volume management information T33 included in the management server 30.
  • the virtual volume management information T33 includes, for example, a virtual volume ID C330, a virtual area ID C331, a virtual volume LBA range C332, a real area ID C333, an IOPS C334, and a relocation destination determination result C335.
  • the virtual volume management information T33 of the management server 30 does not include an item for the period for monitoring performance information (C225 in FIG. 7) and is not included.
  • the access count to the virtual area is recorded in the access count C224.
  • a value related to the number of accesses used in each process performed by the management server 30 is recorded in the IOPS (average number of accesses) C334.
  • IOPS C334 the average value of the number of accesses to the virtual area calculated at the previous processing (average value at the previous processing) is recorded.
  • FIG. 11 shows a configuration example of the hierarchy management information T30 that the management server 30 has.
  • the hierarchy management information T30 manages the performance of each hierarchy 211 and the conditions when data is arranged in each hierarchy 211.
  • the hierarchy management information T30 can be updated in response to a request from a user (system administrator).
  • the tier management information T30 includes a tier ID C300, a performance requirement C301, and a rearrangement condition C302.
  • the hierarchy ID C300 an identifier of each hierarchy 211 is set.
  • the performance requirement C301 a value representing the performance requirement of each hierarchy 211 is set.
  • the rearrangement condition C302 a condition for arranging data in each layer is set.
  • the performance requirement C301 can be defined as a combination of the type of the storage device 27 and the RAID level of the RAID group 28, for example.
  • other performance parameters such as access speed may be included in the performance requirements.
  • the relocation condition is set as the range of the number of accesses per unit time to the data arranged in the hierarchy.
  • data having an IOPS of 100 or more can be arranged in the upper hierarchy 211A.
  • Data whose IOPS is less than 100 cannot be stored in the real area 212A in the upper hierarchy 211A.
  • Data having an IOPS of 30 or more and less than 100 can be arranged in the middle hierarchy 211B (30 ⁇ IOPS ⁇ 100).
  • Data with an IOPS of less than 30 and data with an IOSP of 100 or more cannot be stored in the real area 212B of the middle hierarchy 211B.
  • Data having an IOPS of less than 30 can be arranged in the lower hierarchy 211C.
  • the value of the rearrangement condition C302 may be a fixed value or a variable value. In another embodiment to be described later, the value of the rearrangement condition is dynamically changed.
  • FIG. 12 is a configuration example of the application definition information T34.
  • the application definition information T34 manages predetermined attributes of the application program P10.
  • the application definition information T34 manages an application name C340, a priority C341, a type C342, a virtual volume ID C343, and a host name C344.
  • the priority of the application program is set in the priority C341.
  • Two priority values, “High” and “Low”, are prepared. Instead of this, three or more values may be prepared.
  • the priority is set by the user based on, for example, the operating environment and / or operating environment of the application program. Alternatively, a configuration may be used in which setting criteria for automatically setting the priority are prepared in advance, and the priority of each application program is automatically set according to the setting criteria.
  • the type of application program is set in type C342. There are two types of application programs, “transaction processing” and “batch processing”.
  • the virtual volume ID C343 is set with the ID of the virtual volume used by the application program.
  • the configuration management program P30 inquires of the host configuration information acquisition processing program P11 and acquires the virtual volume ID.
  • the host name C344 identification information for specifying the host 10 on which the application program runs is set.
  • the batch process definition information T35 and the host configuration information T10 will be described with reference to FIG.
  • FIG. 13A shows a configuration example of the batch process definition information T35.
  • the batch process definition information T35 manages, for example, an application name C350 and a time window C351 in association with each other.
  • a name for specifying the application program P10 that performs batch processing is set.
  • a time range in which batch processing can be executed is set in the time window C351.
  • the time range is defined by, for example, a start time (“From” in the figure) and an end time (“To” in the figure).
  • the time window corresponds to “time constraint”.
  • the batch processing start time indicates the earliest time at which batch processing can be performed.
  • the batch process end time indicates the time when the batch process is completed.
  • FIG. 13B shows a configuration example of the host configuration information T10.
  • the host configuration information T10 holds the association between the host name C100 and the identifier C101 of the virtual volume 220 used by the host 10.
  • FIG. 14 is a flowchart illustrating an information registration process for registering information input to the management server 30 in the management server 30.
  • the input information registration processing program P300 stores information input from the user in the corresponding item of the application definition information T34 (S10).
  • Information input from the user includes an identifier of the application program P10 running on the host 10, a priority, a type, and an identifier of the host 10 running the application program P10.
  • the input information registration processing program P330 may automatically acquire part or all of the information of each item from another computer program or the like.
  • the input information registration processing program P300 may be abbreviated as a registration program P300.
  • the registration program P300 receives the data arrangement condition for each hierarchy 211 as input information from the user, for example, and stores it in the corresponding item C302 of the hierarchy management information T30 (S11).
  • the registration program P300 receives information related to the batch processing application program P10 having time constraints, for example, as input information from the user, and stores it in the batch processing definition information T35 (S12). More specifically, the registration program P300 includes, among the application programs registered in the application definition information T34, an identifier of an application program whose type C342 is “batch processing” and has a time constraint based on a time window, The execution start time and execution completion time of the application program are acquired and stored in the corresponding items of the batch process definition information T35.
  • the registration program P300 for example, performs the process of S14 for each of all hosts that run the application program P10 (S13).
  • the processing target host 10 is referred to as a target host.
  • the registration program P300 acquires the identifier of the virtual volume used by the target host from the target host and stores it in the application definition information T34 (S14). Specifically, the registration program P300 queries the target host for the virtual volume ID used by the target host, and acquires host configuration information T10 from the target host. The registration program P300 stores the identifier of the virtual volume in the corresponding item of the application definition information T34 (the virtual volume ID C343 of which the host name C344 is the same as that of the target host) (S14).
  • Definition information related to the application registered in S10, definition information related to the hierarchy rearrangement condition registered in S11, and definition information related to the execution condition (time window) of the batch processing registered in S12 are manually input by the user. Alternatively, it may be given to the management server 30 in advance. In this embodiment, as an example, a case where the user manually inputs each definition information will be described.
  • the configuration management program P30 sends, to the management terminal 40, the application definition information input screen G10 shown in FIG. 15, the batch processing information input screen G20 shown in FIG. 16, and the hierarchical arrangement condition shown in FIG.
  • the input screen G30 is displayed.
  • Those screens G10, G20, and G30 may be displayed as separate screens, or may be displayed together on one screen.
  • a screen G10 shown in FIG. 15 is an example for registering application definition information in the management server 30.
  • the screen G10 includes, for example, an application name input unit GP100, a host name input unit GP101, a priority input unit GP102, an application type input unit GP103, a registration button GP104, and a cancel button GP105.
  • Application name input part GP100 is an area for inputting the name of the application program P10 to be managed.
  • the host name input part GP101 is an area for inputting the name of the host 10 that runs the application program.
  • the priority input part GP102 is an area for selecting a value representing the priority of the application program.
  • the application type input part GP103 is an area for selecting a value representing the type of application program.
  • a text box for inputting an application name or a host name can be displayed. The user enters the name of the application program or the name of the host in the text box.
  • the priority input part GP102 can display a pull-down menu for selecting one value as a priority from a plurality of options. Examples of the value indicating the priority include “High” and “Low”. The priority need not be limited to binary, and a configuration in which the priority can be selected from three or more values may be used.
  • the application type input part GP103 can display a pull-down menu for selecting one value as an application program type from a plurality of options. Examples of the value representing the application type include “transaction” and “batch”.
  • a screen G20 shown in FIG. 16 is an example for registering batch process definition information in the management server 30.
  • the screen G20 includes, for example, an application name input part GP200, a start time input part GP201, an end time input part GP202, a registration button GP203, and a cancel button GP204.
  • Application name input part GP200 is an area for inputting the name of an application program that is a batch process. The user inputs the name of the application program using, for example, a text box.
  • the start time input part GP202 is an area for inputting the scheduled start time of the application program.
  • the end time input unit GP203 is an area for inputting a scheduled end time of the application. The period from the scheduled start time to the scheduled end time corresponds to the time window.
  • the configuration may be selected from a plurality of times displayed in the pull-down menu, or the time may be input using a text box or the like.
  • the screen G30 shown in FIG. 17 is an example for registering the management server 30 with conditions for arranging data in each hierarchy 211.
  • the screen G30 includes, for example, an arrangement condition input unit GP300, a registration button GP301, and a cancel button GP302.
  • the arrangement condition input part GP300 is an area for inputting conditions for arranging data in each layer.
  • the condition can be defined by the number of accesses (IOPS), for example.
  • IOPS number of accesses
  • data having an IOPS value of 100 or more can be arranged in the upper hierarchy 211A (IOPS ⁇ 100), and the IOPS value is 30 or more and less than 100 (30 ⁇ IOPS ⁇ in the middle hierarchy 211B).
  • 100) data can be arranged, and conditions are set so that data having an IOPS value of less than 30 (IOPS ⁇ 30) can be arranged in the lower hierarchy 211C.
  • the arrangement condition for each tier is the number of accesses allowed for each tier.
  • the input information registration processing program P300 registers the input information in the corresponding definition information.
  • Information input on the screen G10 is registered in the application definition information T34 shown in FIG.
  • the information input on the screen G20 is registered in the batch process definition information T35 shown in FIG.
  • Information input to the screen G30 is registered in the hierarchy management information T30 shown in FIG.
  • FIG. 18 is a flowchart showing the performance information acquisition process. This process is executed by the performance information acquisition process program P301.
  • the performance information acquisition processing program P301 may be referred to as an information acquisition program P301.
  • the information acquisition program P301 deletes all the IOPS C334 data and the relocation destination determination result C335 data of the virtual volume management information T33 held in the management server 30 (S20).
  • the information acquisition program P301 executes each process of S22, S23, and S24 for all virtual areas (VSEG) 221 of all virtual volumes 220 (S21).
  • VSEG virtual area
  • S21 virtual volumes 220
  • the virtual area 221 to be processed is referred to as a target virtual area.
  • the configuration management program P30 acquires the value of the access count C224 and the value of the monitoring period C225 corresponding to the target virtual area from the virtual volume management information T22 held in the storage device 20 (S22). For example, the configuration management program P30 transmits a request for requesting information on the number of accesses corresponding to the target virtual area to the storage apparatus 20.
  • the request includes a virtual area ID (C221 in FIG. 7) for specifying the target virtual area 221.
  • the information acquisition program P301 calculates an average value (unit is IOPS) per unit time from the number of accesses of the target virtual area and the monitoring period (S23).
  • the information acquisition program P301 registers the calculated average number of accesses in the corresponding entry of the IOPS C334 of the virtual volume management information T33 on the management server side (S24).
  • FIG. 19 is a flowchart showing a process for rearranging data. This processing is executed by the rearrangement processing program P302.
  • the rearrangement processing program P302 may be abbreviated as the rearrangement program P302.
  • the rearrangement program P302 performs the process of S31 for all application programs registered in the application definition information T34 (S30).
  • the application program to be processed is referred to as a target application program.
  • the rearrangement program P302 determines, for all virtual areas in all virtual volumes used by the target application program P302, a hierarchy to be allocated to the virtual areas and registers it in the virtual volume management information T33 (S31).
  • the rearrangement program P302 acquires the value of IOPS (average access count) C334 corresponding to the target virtual area, and sets the ID of the hierarchy corresponding to the arrangement condition (access allowable range) including the value to the hierarchy Obtained from the management information T30.
  • the relocation program P302 records the acquired tier ID (C300 in FIG. 11) in the relocation destination determination result C335 of the virtual volume management information T33 as the tier in which the data of the target virtual area is to be laid out.
  • the tier ID recorded in the relocation destination determination result C335 of the virtual volume management information T33 may or may not match the tier ID of the tier including the real area currently allocated to the target virtual area.
  • the relocation program P302 executes the relocation processing for each virtual area used by the high priority transaction processing (S32). That is, the relocation program P302 associates all virtual areas included in the virtual volume used by the application program with high priority and the application type “transaction processing”. Review the hierarchy (S32).
  • the rearrangement program P302 executes rearrangement processing for each virtual area used by batch processing having time constraints (S33). That is, the relocation program P302 sets all virtual areas included in the virtual volume used by the application program for which time constraints are set and the application type is “batch processing”. The hierarchy to be associated is reviewed (S33).
  • the rearrangement program P302 executes rearrangement processing for each virtual area used by other application programs (S34).
  • the other application program is either the first application program P10 (1) having high priority and transaction processing, or the second application program P10 (2) being batch processing having time constraints.
  • the relocation program P302 acquires the results updated in S32, S33, and S34 from the virtual volume management information T33 for the storage apparatus 20, and updates the contents of the virtual volume management information T22 on the storage apparatus side. (S35).
  • the storage control program P20 of the storage apparatus 20 receives the instruction from the relocation program P302, it acquires information from the virtual volume management information T33 on the management server side.
  • the storage control program P20 updates the virtual volume management information T22 on the storage device 20 side based on the acquired information.
  • the processing content of S32 will be described with reference to FIG.
  • the processing content of S33 will be described with reference to FIG. Since the processing content of S34 is almost the same as the processing content of S32, description thereof is omitted. If “high priority transaction processing” in each step shown in FIG. 20 is replaced with “other application program”, the processing contents of S34 are obtained.
  • FIG. 20 is a flowchart showing a rearrangement process related to a transaction process with a high priority. This process is an example of S32 in FIG.
  • the relocation program P302 executes the processing of S41-S46 for all virtual areas belonging to each virtual volume used by each application program that is a high priority transaction processing (S40).
  • the rearrangement program P302 processes each virtual area in descending order of IOPS.
  • the rearrangement program P302 determines whether the ID of the hierarchy corresponding to the real area currently allocated to the target virtual area matches the value of the rearrangement destination determination result (C335 in FIG. 10) corresponding to the target virtual area. Is determined (S41).
  • a hierarchy including a real area currently allocated to the target virtual area may be referred to as an arrangement source hierarchy.
  • the hierarchy registered in the relocation destination determination result may be referred to as a relocation destination hierarchy.
  • the reallocation program P302 uses the real area management information T32 to detect the real area ID currently assigned to the target virtual area, and specifies the ID of the RAID group including the real area ID.
  • the relocation program P302 acquires the device type C311 and the RAID level C312 corresponding to the specified RAID group C310 using the RAID group management information T31.
  • the rearrangement program P302 uses the hierarchy management information T30 to specify the ID C300 of the hierarchy having the performance requirement C301 that matches the device type and / or RAID level.
  • the rearrangement program P302 determines whether or not the identified hierarchical ID (arrangement source hierarchy ID) matches the hierarchical ID (relocation destination hierarchy ID) stored in the rearrangement destination determination result C335. (S41).
  • the rearrangement program P302 determines whether or not there is a free area in the rearrangement destination hierarchy ( S42).
  • a free area is a real area that is not allocated to a virtual volume among real areas in a hierarchy, and can also be called an unallocated area or an unused real area.
  • the reallocation program P302 allocates an unused real area in the reallocation destination hierarchy instead of the real area currently allocated to the target virtual area (S43).
  • the real area belonging to the allocation source hierarchy is the real area of the data migration source. For convenience, it may be referred to as a migration source real area.
  • An unused real area belonging to the rearrangement destination hierarchy is a real area of the data migration destination. For convenience, it may be referred to as a migration destination real area.
  • the reallocation program P302 updates the allocation status value corresponding to the migration source real area ID to “unallocated” using the real area management information T32 on the management server side, and further migrates to the migration destination.
  • the value of the allocation status corresponding to the real area ID is updated to “allocated”.
  • the real area and the virtual area are managed to have the same size. Therefore, in the present embodiment, it is not necessary to consider whether or not the size of the migration source real area matches the size of the migration destination real area at the time of data migration.
  • the reallocation program P302 updates the value of the real area ID C333 corresponding to the target virtual area in the virtual volume management information T33 to the ID of the migration destination real area.
  • the relocation program P302 instructs the storage apparatus 20 to migrate data from the migration source real area to the migration destination real area.
  • the storage control program P20 of the storage apparatus 20 When the storage control program P20 of the storage apparatus 20 receives an instruction from the relocation program P302, it migrates data from the migration source real area to the migration destination real area.
  • execution of S43 may affect the performance of other virtual volumes. For example, as a result of relocation processing of a certain virtual volume, all unallocated real areas in the upper hierarchy may be used up. In this case, an unallocated real area in the upper hierarchy cannot be assigned to a virtual area in another virtual volume.
  • the data is replaced with another virtual area to which the real area in the upper hierarchy is assigned, as in the process of S45 described later.
  • a real area of another layer for example, middle layer
  • This may affect performance.
  • a new real area is not allocated to the virtual area of the target virtual volume, but is always used in another virtual area in the target virtual volume. It is possible to replace it with a real area.
  • an upper-layer real area assigned to a certain virtual area of the target virtual volume may be assigned to another virtual area in the target virtual volume.
  • the real area of the upper hierarchy allocated to the target virtual volume is accommodated in the target virtual volume.
  • Whether or not to use an unallocated real area in the reallocation process is determined by, for example, the reallocation program P302 based on the number or / and ratio of the unallocated real areas in each layer.
  • the relocation program P302 even if there is an unallocated real area in the relocation destination hierarchy in the processing of S42, the number is more than 10% of the total number of real areas in the relocation destination hierarchy. If it is less, the process proceeds to S44.
  • the processing content of S44 will be described.
  • the rearrangement program P302 determines whether or not a real area that can exchange data with the real area assigned to the target virtual area exists in the rearrangement destination hierarchy (S44). For convenience, this may be expressed as whether or not a replaceable virtual area exists in the rearrangement destination hierarchy.
  • the reallocation program P302 refers to the real area management information T32 and the virtual volume management information T33, and the virtual area to which the real area is allocated from the allocated real areas in the relocation destination hierarchy. It is determined whether or not there is a relocation destination determination result corresponding to that matches the arrangement source hierarchy. For example, when migrating data from the middle tier to the upper tier, it is determined whether or not there is a virtual area that is scheduled to migrate to the middle tier among the virtual areas corresponding to the allocated real areas of the upper tier. judge.
  • the rearrangement program P302 performs virtual processing between a real area assigned to the target virtual area (hereinafter referred to as a replacement source real area) and an allocated real area included in the rearrangement destination hierarchy (hereinafter referred to as a replacement destination real area).
  • the allocation status to the area is switched (S45).
  • the reallocation program P302 stores the ID of the replacement-destination real area in the entry in which the ID of the replacement-source real area is stored in the real area ID C333 of the virtual volume management information T33. Furthermore, the reallocation program P302 stores the replacement source real area ID in the entry storing the replacement destination real area ID in the real area ID C333 of the virtual volume management information T33.
  • the rearrangement program P302 instructs the storage apparatus 20 to exchange data between the replacement source real area and the replacement destination real area.
  • the storage control program P20 of the storage apparatus 20 receives the instruction from the relocation program P302, the storage control program P20 replaces the data between the designated real areas.
  • the storage control program P20 can replace data by performing the following processing.
  • an unallocated real area of the storage apparatus 20 may be used as the cache memory area instead of the cache memory area for the following processing.
  • Procedure 1 The storage control program P20 copies the data in the replacement source real area to the cache memory area.
  • Procedure 2 The storage control program P20 copies the data in the replacement destination real area to the cache memory area.
  • Procedure 3 The storage control program P20 writes the data in the replacement source real area from the cache memory area to the replacement destination real area.
  • Procedure 4 The storage control program P20 writes the data of the replacement destination real area from the cache memory area to the replacement source real area.
  • the reallocation program P302 applies the target to an unallocated real area in another hierarchy that is closest to the reallocation destination hierarchy. Data in the real area allocated to the virtual area is migrated (S46). Further, the relocation program P302 updates the virtual volume management information T33 and the real area management information T32 and ends the process. If there is an unprocessed virtual area, the process returns to S41.
  • FIG. 21 is a flowchart showing rearrangement processing related to batch processing having time constraints. This process is an example of S33 in FIG. The difference from FIG. 20 will be mainly described.
  • the rearrangement program P302 performs the processing from S51 to S56 on all virtual areas belonging to all virtual volumes used by each application program registered in the batch processing definition information T35 (S50).
  • the rearrangement processing program P302 processes each virtual area in descending order of the average access count (IOPS) C334.
  • the rearrangement program P302 determines whether or not the ID of the hierarchy corresponding to the real area currently assigned to the target virtual area matches the ID of the highest hierarchy 211A among the hierarchies 211A, 211B, and 211C. (S51).
  • the ID of the highest hierarchy 211A can be acquired from the hierarchy management information T30.
  • the upper hierarchy 211A corresponds to the highest hierarchy.
  • the process ends.
  • the relocation program P302 determines whether or not there is an empty area in the highest hierarchy ( S52).
  • the reallocation program P302 allocates an unused real area in the highest hierarchy in place of the real area currently allocated to the target virtual area (S53).
  • the real area belonging to the allocation source hierarchy is the real area of the data migration source. For convenience, it may be referred to as a migration source real area.
  • the unused real area belonging to the highest hierarchy is the real area of the data migration destination. For convenience, it may be referred to as a migration destination real area.
  • the reallocation program P302 updates the allocation status value corresponding to the migration source real area ID to “unallocated” using the real area management information T32 on the management server side, and further migrates to the migration destination.
  • the value of the allocation status corresponding to the real area ID is updated to “allocated”.
  • the reallocation program P302 updates the value of the real area ID C333 corresponding to the target virtual area in the virtual volume management information T33 to the ID of the migration destination real area.
  • the relocation program P302 instructs the storage apparatus 20 to migrate data from the migration source real area to the migration destination real area.
  • the storage control program P20 of the storage apparatus 20 receives an instruction from the relocation program P302, it migrates data from the migration source real area to the migration destination real area.
  • the rearrangement program P302 determines whether or not a real area in which data can be exchanged with a real area assigned to the target virtual area exists in the highest hierarchy (S54).
  • the relocation program P302 refers to the real area management information T32 and the virtual volume management information T33, and assigns the real area to the virtual area to which the real area is assigned from among the assigned real areas in the highest hierarchy. It is determined whether or not there is a corresponding relocation destination determination result that matches the allocation source hierarchy.
  • the rearrangement program P302 is a virtual area between the real area assigned to the target virtual area (hereinafter referred to as a replacement source real area) and the allocated real area included in the highest hierarchy (hereinafter referred to as a replacement destination real area).
  • the assignment status is changed (S55).
  • the rearrangement program P302 instructs the storage apparatus 20 to exchange data between the replacement source real area and the replacement destination real area.
  • the storage control program P20 receives an instruction from the relocation program P302, the storage control program P20 exchanges data between the specified real areas.
  • the relocation program P302 migrates the data of the target virtual area to a hierarchy with higher performance than the current hierarchy (allocation source hierarchy) (S56).
  • the reallocation program P302 updates the virtual volume management information T33 and the real area management information T32 and ends the process. If there is an unprocessed virtual area, the process returns to S51.
  • the reallocation processing program P302 sets the target virtual area in the case where either an unallocated real area is present in the hierarchy higher than the arrangement source hierarchy or there is a real area that can be replaced. Data in the allocated real area is transferred to the unallocated real area or the replacement real area.
  • FIG. 22 is a flowchart showing the read process. This process is executed by the storage control program P20 of the storage apparatus 20.
  • the storage control program P20 receives a read request (read command) from the host 10 (S60).
  • the storage control program P20 identifies a virtual area from which data is to be read (hereinafter referred to as a read target virtual area) based on the access destination information included in the read request (S61).
  • the storage control program P20 determines whether the read target data exists on the cache memory (S62).
  • the storage control program P20 transmits the read target data on the cache memory to the host 10 (S63).
  • the storage control program P20 When the read target data does not exist in the cache memory (S62: NO), the storage control program P20, based on the virtual volume management information T22, assigns the real area (hereinafter referred to as the read target virtual area) identified in S61.
  • the read target real area is specified (S65).
  • the storage control program P20 reads data from the read target real area and writes the data to the cache memory (S66). Further, the storage control program P20 transmits the data written in the cache memory to the host 10 (S63).
  • the storage control program P20 updates the value of the access count C224 corresponding to the read target virtual area in the virtual volume management information T22 (S67).
  • FIG. 23 is a flowchart showing the write process. This process is executed by the storage control program P20.
  • the storage control program P20 When the storage control program P20 receives a write request from the host 10 (S70), the storage control program P20 specifies a virtual area (write target virtual area) to which data is written based on the access destination information included in the write request (S71).
  • the storage control program P20 determines whether a real area is allocated to the write target virtual area (S72). Specifically, it is determined whether or not the write target virtual area is registered in the virtual volume management information T22.
  • the storage control program P20 When the real area is allocated to the write target virtual area (S72: YES), the storage control program P20 writes the write target data to the real area allocated to the write target virtual area (S73).
  • the storage control program P20 determines whether there is an unallocated real area that can be allocated to the write target virtual area (S75). Specifically, the storage control program P20 determines whether there is a real area in which the allocation status C213 of the real area management information T21 is set to “unallocated”.
  • the storage control program P20 allocates an unallocated real area to the write target virtual area and writes the write target data to the real area (S76). ).
  • the storage control program P20 transmits an error to the host 10 (S77).
  • the storage control program P20 updates the value of the access count C224 corresponding to the write target virtual area in the virtual volume management information T22 (S74).
  • the allocation of the real area to the virtual area related to the transaction processing with a high priority is reviewed, and then the allocation of the real area to the virtual area related to the batch processing having a time constraint is reviewed.
  • the storage areas of each tier with different performance are allocated to the virtual areas in the virtual volume in units of real areas of a predetermined size, so that the storage areas of each tier can be used efficiently. Cost can be reduced.
  • the second embodiment will be described with reference to FIGS.
  • Each of the following embodiments including this embodiment corresponds to a modification of the first embodiment. Therefore, the difference from the first embodiment will be mainly described.
  • the time required for completing the batch process is predicted, and when it is determined that the batch process is not completed within the time limit (time constraint), the user is notified.
  • the configuration management program P30 includes a process (FIG. 29) for creating a rearrangement plan in addition to the processes described in the first embodiment (input information registration process, performance information acquisition process, rearrangement process).
  • the process for estimating the batch processing time (FIG. 30) is executed.
  • a processing program for creating a rearrangement plan P303 if added
  • a processing program for estimating the batch processing time P304 if added
  • the relocation destination of the virtual area used by the application program that has a high priority and the application type is transaction processing is first determined, and then there are time constraints.
  • the relocation destination of the virtual area used by the application program whose application type is batch processing is determined, and the determined relocation destination is recorded in the management server side virtual volume management information T33.
  • the data of each virtual area is rearranged according to the rearrangement destination determination result recorded in the virtual volume management information T33.
  • the batch processing time estimation process of this embodiment is the time required to execute the batch process when the virtual area used by the application program that performs the batch process is moved to the relocation destination determined in the relocation plan creation process. Predict. Further, the batch processing time estimation processing notifies the user when the predicted time does not satisfy the time constraint set for the batch processing.
  • FIG. 24 shows virtual volume management information T22 (2) according to this embodiment.
  • the virtual volume management information T22 (2) shown in FIG. 24 has items C220-C223, C225, C226 common to the virtual volume management information T22 shown in FIG.
  • the virtual volume management information T22 (2) includes items C224A and C224B instead of the item C224 shown in FIG. 7, and further includes new items C227 and C228.
  • the read access count C224A records the number of read accesses to the virtual area.
  • the read access count is the number of times a read request has been received.
  • the number of write accesses C224B records the number of write accesses to the virtual area.
  • the number of write accesses is the number of times a write request has been received.
  • the total read time C227 records the total read time for the virtual area.
  • the total read time is a total value of the time required for each read process by the storage apparatus 20.
  • the time required for the read process is a response time of the read request.
  • the response time of the read request is the time required from receiving the read request from the host to transmitting the read target data to the host.
  • the total write time C228 records the total write time for the virtual area.
  • the total write processing time is a total value of the time required for the storage apparatus 20 for the write processing.
  • the time required for the write process is a response time of the write request.
  • the response time of the write process is a time required from when the write request is received from the host until the write target data is written in the real area allocated to the write target virtual area.
  • FIG. 25 shows virtual volume management information T33 (2) on the management server side.
  • the virtual volume management information T33 (2) shown in FIG. 25 has items C330 to C335 in common compared with the virtual volume management information T33 shown in FIG. Furthermore, the virtual volume management information T33 (2) includes new items C336, C337, and C338.
  • the read access number C336 is the same as the read access number C224A in FIG.
  • the write access number C337 is the same as the write access number C224B of FIG.
  • the rearrangement destination C338 records a hierarchy to which data is actually rearranged based on the value of the rearrangement destination determination result C335.
  • FIG. 26 shows the hierarchy management information T30 (2) according to the present embodiment.
  • the hierarchy management information T30 (2) illustrated in FIG. 26 includes items C300, C301, and C302 that are common to the hierarchy management information T30 illustrated in FIG. 11, and further includes new items C303 and C304.
  • the performance value C303 stores the actual value related to the performance value of the real area belonging to each layer.
  • the performance value includes, for example, an average read response time and an average write response time.
  • the average read response time is an average value of response times of read requests for real areas belonging to a hierarchy.
  • the average write response time is an average value of response times of write requests for real areas belonging to a hierarchy.
  • the number of free areas C304 records the number of unallocated real areas among the real areas belonging to the hierarchy.
  • FIG. 27 shows the batch process definition information T35 (2).
  • the batch process definition information T35 (2) according to this embodiment includes items C350 and C351 common to the batch process definition information T35 shown in FIG. 13A, and further includes a new item C352.
  • the predicted required time C352 records the time predicted to be required for completion of the batch process. That is, the predicted required time C352 is a predicted value of the time taken from the start to the completion of the next batch process.
  • the response time is measured in the read process (FIG. 22) and the write process (FIG. 23) described in the first embodiment.
  • the first timer is started when a read request is received from the host 10, and the first timer is stopped when read target data is transmitted to the host 10.
  • the value measured by the first timer is the response time of the read request.
  • the second timer is started when a write request is received from the host 10, and the second timer is stopped when the write request processing is completed.
  • the value measured by the second timer is the response time of the write request.
  • the time when the write request processing is completed is the time when the write target data is written in the real area corresponding to the write target virtual area.
  • the number of read accesses is measured and the total read time is calculated.
  • the number of write accesses is measured, and the total write time is calculated.
  • the process for calculating the total read time may be executed in the read process or may be executed separately from the read process.
  • the process for calculating the total write time may be executed in the write process or may be executed separately from the write process.
  • FIG. 28 is a flowchart of the performance information acquisition process according to this embodiment. This process is executed by the performance information acquisition process program P301 of the management server 30.
  • the performance information acquisition processing program P301 is referred to as an information acquisition processing program P301.
  • the information acquisition program P301 deletes all the values of the predetermined items in the virtual volume management information T33 (2) held in the management server 30 (S80).
  • the predetermined items include a read access count C336, a write access count C337, an average access count (IOPS) C334, a rearrangement destination determination result C335, and a rearrangement destination C338.
  • the information acquisition program P301 executes each process of S82, S83, and S84 for all virtual areas (VSEG) 221 of all virtual volumes 220 (S81).
  • the configuration management program P30 reads from the virtual volume management information T22 (2) held in the storage apparatus 20 the value of the read access number C224A, the value of the write access number 224B, and the monitoring period C225 corresponding to the target virtual area. Are respectively acquired (S82).
  • the information acquisition program P301 calculates an average value (unit is IOPS) per unit time from the number of read accesses and the number of write accesses of the target virtual area and the monitoring period (S83).
  • the information acquisition program P301 registers the calculated average number of accesses in the corresponding entry of the IOPS C334 of the virtual volume management information T33 (2) on the management server side (S84).
  • the information acquisition program P301 executes the processing of S86 and S87 for all the layers 211 (S85).
  • the information acquisition program P301 reads from the virtual volume management information T22 (2) of the storage apparatus 20 the number of read accesses C224A and the number of write accesses C224B to the virtual area associated with the real area in the target tier, and the total read The time C227 and the total write time C228 are acquired (S86).
  • the information acquisition program P301 calculates the average response time of the read request and the average response time of the write request (S87). Specifically, the average read response time can be obtained by dividing the total read time by the number of read accesses. Similarly, the average write response time can be obtained by dividing the total write time by the number of write accesses.
  • FIG. 29 is a flowchart of a process for creating a rearrangement plan.
  • data is rearranged for each virtual area by executing the rearrangement process.
  • data rearrangement is simulated in advance. As a result of the simulation, if it is determined that the time constraint cannot be observed, the user is notified.
  • data relocation is simulated within the range necessary to calculate the estimated required time for batch processing. That is, only the rearrangement of each data used by the application program that executes the high priority transaction processing and the rearrangement of each data used by the application program that executes the batch processing having a time constraint are simulated. There is no need to simulate the relocation of each data used by other application programs.
  • the final rearrangement destination of each virtual area is recorded in the rearrangement destination determination result C335 of the virtual volume management information T33 (2).
  • the simulation result of the data rearrangement is recorded in the rearrangement destination C338.
  • the rearrangement plan creation process (FIG. 29) used for predicting the time required for batch processing and the rearrangement process (FIG. 31) for actually rearranging data between hierarchies , Not linked. That is, the plan created by the rearrangement plan creation process is used only for predicting the time required for batch processing. When data is actually rearranged for each virtual area, the rearrangement destination is determined at that time. Thereby, the process for creating the rearrangement plan and the rearrangement process can be created separately, and the program configuration can be simplified.
  • the present invention is not limited to this, and a configuration may be used in which the rearrangement plan creation process and the rearrangement process are linked and the rearrangement is performed based on the rearrangement plan created in the rearrangement plan creation process.
  • the configuration management program P30 is executed by the configuration management program P30.
  • the configuration management program P30 will be abbreviated as the management program P30.
  • the management program P30 deletes the value of the relocation destination determination result C335 and the value of the relocation destination C338 of the virtual volume management information T33 (2) (S90).
  • the management program P30 detects the number of real areas that are not allocated to the virtual area and describes it in C304 (S90). .
  • the management program P30 executes the process of S92 for all application programs (S91).
  • the management program P30 determines, for each virtual area in all virtual volumes used by the target application program, a hierarchy in which data of the virtual area should be arranged based on the number of accesses (S92).
  • the determined tier ID is recorded in the relocation destination determination result C335 of the virtual volume management information T33 (2).
  • the management program P30 determines a relocation destination of each virtual area used by the application program, which is a transaction process having a high priority (S93).
  • S93 the virtual areas used for high priority transaction processing are processed in the order of increasing IOPS as follows.
  • (A1) It is determined whether the ID of the hierarchy to which the data of the target virtual area currently belongs and the hierarchy ID recorded in the relocation destination determination result C335 match. If they match, the process moves to A2.
  • the hierarchy recorded in the rearrangement destination determination result C335 is referred to as a target hierarchy.
  • the management program P30 records the ID of the target hierarchy in the relocation destination C338 of the virtual volume management information T33 (2) for the target virtual area.
  • the management program P30 refers to the hierarchy management information T30 (2) and determines whether or not there is a free real area in the target hierarchy. If there is a free real area, the process proceeds to A4. If there is no free real area, the process proceeds to A5.
  • the management program P30 sets the ID of the target hierarchy in the relocation destination C338 for the target virtual area. Furthermore, the management program P30 decreases the value of the number of free real areas C304 related to the target hierarchy ID by one in the hierarchy management information T30 (2).
  • the management program P30 determines whether or not the hierarchy recorded in the relocation destination determination result C335 has a real area that can be replaced. If the real area can be replaced, the process proceeds to A6. If the real area cannot be replaced, the process proceeds to A7.
  • the management program P30 sets the target hierarchy ID in the relocation destination C338 of the target virtual area for the virtual area having a real area that can be replaced with the real area corresponding to the target virtual area.
  • the management program P30 sets the ID of another tier whose performance is closest to the target tier in the relocation destination C338 for the target virtual area. Specifically, the ID of the tier having the closest performance to the target tier among the tiers having free real regions is set as the relocation destination C338 of the target virtual region.
  • the management program P30 determines a relocation destination of each virtual area used by the application program, which is a batch process having a time constraint (S94). In S94, the management program P30 processes each target virtual area in the descending order of the average access count (IOPS) C334.
  • IOPS average access count
  • the management program P30 determines whether the ID of the hierarchy in which the data of the target virtual area is currently arranged matches the ID of the highest hierarchy. If they match, the process moves to B2, and if they do not match, the process moves to B3.
  • the management program P30 sets the ID of the highest layer in the relocation destination C338 for the target virtual area.
  • the management program P30 determines whether or not there is a free real area in a hierarchy higher than the hierarchy in which the data of the target virtual area is currently arranged. If there is a free real area, the process proceeds to B4, and if not, the process proceeds to B5.
  • the management program P30 sets the ID of the upper layer in the relocation destination C338 for the target virtual area. Furthermore, the management program P30 decrements the value of the number of free real areas C304 in the upper hierarchy by one in the hierarchy management information T30 (2).
  • the management program P30 determines whether or not there is a real area that can be replaced in a hierarchy higher than the hierarchy in which the data of the target virtual area is currently arranged. If there is a real area that can be replaced, the process proceeds to B4, and if not, the process proceeds to B6.
  • the management program P30 sets the ID of the tier having the highest performance among the tiers having the free real area as the relocation destination C338 of the target virtual area, and the value of the free real area count C304 regarding the set tier ID Is reduced by one.
  • the management program P30 predicts the time required for batch processing.
  • FIG. 30 is a flowchart showing a process for estimating the time required for batch processing.
  • the management program P30 has information on the read access number C336 and write access number C337 in the virtual volume management information T33 (2) on the management server side, and information on the average read response time and average write response time in the tier management information T30 (2). From this, the time required to complete batch processing is estimated.
  • the management program P30 deletes the value of the estimated required time C352 of the batch process definition information T35 (2) (S100).
  • the management program P30 carries out the process of S102 for all application programs registered in the batch process definition information T35 (2) that have time constraints (S101).
  • the application program to be processed is called a target application program.
  • the management program P30 starts processing the target application program based on the number of accesses C334 to each virtual area used by the target application program and the average response time C303 of each real area corresponding to each virtual area.
  • the time required for completion is estimated (S102).
  • the management program P30 uses a value obtained by adding all the total values calculated for each virtual area as the estimated required time TP of the application program that performs the batch processing, and the estimated required time of the batch processing definition information T35 (2). Write to C352.
  • the management program P30 determines whether there is an application program whose processing completion time is likely to exceed a predetermined time limit among application programs that perform batch processing having time constraints (S103). Specifically, the management program P30, when the time obtained by adding the estimated required time TP to the processing start time of the application program that performs batch processing passes the completion time defined by the time constraint TL, Judge that the constraint cannot be satisfied.
  • the management program P30 determines that all application programs that execute batch processing having time constraints can satisfy the time constraints, the management program P30 ends this processing.
  • the management program P30 finds an application program that is determined not to satisfy the time constraint, the management program P30 warns the user (S104).
  • FIG. 32 is an example of the warning screen G40.
  • the warning screen G40 has, for example, a message display part GP400 and a confirmation button GP401.
  • the user who has confirmed the warning message can turn off the screen G40 by operating the confirmation button GP401.
  • the structure which notifies a user only when time restrictions cannot be followed may be sufficient, and the structure which notifies a user about the prediction result (prediction result of whether a time restriction can be followed) about each batch process But you can.
  • FIG. 31 is a flowchart showing data rearrangement processing according to the present embodiment.
  • the relocation processing according to this embodiment is performed on each virtual area according to the relocation plan (relocation destination determination result C335 of the management server side virtual volume management information T33 (2)) created in the relocation plan creation processing (FIG. 29). Review the allocated real area.
  • the rearrangement program P302 executes the processing of S111 to S116 for all virtual areas belonging to each virtual volume used by each application program (S110).
  • the rearrangement program P302 processes each virtual area in descending order of IOPS.
  • the rearrangement program P302 determines whether the ID of the hierarchy corresponding to the real area currently allocated to the target virtual area matches the value of the rearrangement destination determination result C335 corresponding to the target virtual area ( S111).
  • a hierarchy including a real area currently allocated to the target virtual area may be referred to as an arrangement source hierarchy.
  • the hierarchy registered in the relocation destination determination result may be referred to as a relocation destination hierarchy.
  • the rearrangement program P302 determines whether there is a free real area in the rearrangement destination hierarchy. (S112).
  • the reallocation program P302 allocates an unused real area in the reallocation destination hierarchy instead of the real area currently allocated to the target virtual area (S113).
  • the real area belonging to the allocation source hierarchy is the real area of the data migration source. For convenience, it may be referred to as a migration source real area.
  • An unused real area belonging to the rearrangement destination hierarchy is a real area of the data migration destination. For convenience, it may be referred to as a migration destination real area.
  • the reallocation program P302 updates the value of the real area ID C333 corresponding to the target virtual area in the virtual volume management information T33 to the ID of the migration destination real area.
  • the relocation program P302 instructs the storage apparatus 20 to migrate data from the migration source real area to the migration destination real area.
  • the storage control program P20 of the storage apparatus 20 When the storage control program P20 of the storage apparatus 20 receives an instruction from the relocation program P302, it migrates data from the migration source real area to the migration destination real area.
  • the rearrangement program P302 determines whether or not a real area where data can be exchanged with the real area assigned to the target virtual area exists in the rearrangement destination hierarchy (S114).
  • the rearrangement program P302 performs virtual processing between a real area assigned to the target virtual area (hereinafter referred to as a replacement source real area) and an allocated real area included in the rearrangement destination hierarchy (hereinafter referred to as a replacement destination real area).
  • the allocation status to the area is switched (S115).
  • the rearrangement program P302 instructs the storage apparatus 20 to exchange data between the replacement source real area and the replacement destination real area.
  • the storage control program P20 of the storage apparatus 20 receives the instruction from the relocation program P302, the storage control program P20 replaces the data between the designated real areas.
  • This embodiment configured as described above also has the same effect as the first embodiment. Furthermore, in this embodiment, an application program that executes a batch process having a time constraint can determine whether or not the time constraint can be observed and notify the user of the result. Therefore, user convenience is improved.
  • a third embodiment will be described with reference to FIGS.
  • the time required to complete the processing of the application program that executes the batch processing having the time constraint is predicted.
  • the estimated required time TP is shortened by a predetermined time or more than the time constraint TL
  • the real area of the upper hierarchy assigned to the application program is assigned to another application program.
  • FIG. 33 is a flowchart showing the batch processing time estimation process.
  • the configuration management program P30 (hereinafter, management program P30) deletes the value of the estimated required time C352 of the batch process definition information T35 (2), as described with reference to FIG. 30 (S120).
  • the management program P30 carries out the process of S122 for all application programs registered in the batch process definition information T35 (2) and having time constraints (S121).
  • the management program P30 starts processing the target application program based on the number of accesses C334 to each virtual area used by the target application program and the average response time C303 of each real area corresponding to each virtual area.
  • the time required for completion is estimated (S122). Details are described in S102 of FIG.
  • the management program P30 executes steps S124-S129 for all application programs that execute batch processing with time constraints (S123).
  • the management program P30 determines whether the value obtained by adding the predetermined time ⁇ to the estimated required time TL of the target application program is equal to or less than the time constraint TL (S124). That is, the management program P30 determines whether or not the estimated required time TP for batch processing is earlier than the time limit TL by a predetermined time ⁇ (TP + ⁇ ⁇ TL).
  • the value of the fixed time ⁇ is given in advance by the management program P30.
  • “Fixed time” is a threshold of a time range.
  • the time range threshold may be set as a constant such as 30 minutes or 1 hour, or may be set as a percentage of the total time range.
  • the configuration may be such that the user can manually set “fixed time” using the setting screen G50.
  • FIG. 34 is an example of a screen G50 for determining a certain time.
  • the setting screen G50 includes, for example, a constant designation part GP500, a ratio designation part GP501, a registration button GP502, and a cancel button GP503.
  • the user when specifying a fixed value such as 30 minutes or 1 hour, the user inputs a numerical value such as “30” or “1” in the constant specifying part GP500.
  • the unit can be changed as appropriate.
  • the user when specifying a certain ratio such as 10% or 20%, the user inputs a ratio such as “10” or “20” to the ratio specifying unit GP501.
  • the process returns to S123 with the application program for executing batch processing having other time constraints as the target application program.
  • the management program P30 calculates a margin time ⁇ T for the target batch processing (S125).
  • the spare time is the difference between the time earlier than the deadline of batch processing by a fixed time ⁇ and the predicted completion time of the batch processing.
  • the predicted completion time is the time when the estimated required time TP has elapsed from the start time of the batch processing. That is, the margin time indicates how much time is left with respect to the batch processing completion deadline.
  • the management program P30 applies to all virtual areas in which the ID of the highest hierarchy is set in the relocation destination determination result C335 of the virtual volume management information T33 (2) among the virtual areas used by the target application program.
  • the steps of S127, S128, and S129 are executed in the order of the smaller number of accesses.
  • the access count is the total value of the read access count C336 and the write access count C337 in the virtual volume management information T33 (2).
  • the management program P30 resets the relocation destination C338 of the target virtual area to an ID of a lower hierarchy having an unallocated real area (S127). If there is no lower hierarchy having an unallocated real area, the management program P30 resets the ID of the hierarchy to which the real area corresponding to the replaceable virtual area belongs to the relocation destination C338 of the target virtual area, and replaces The ID of the highest layer is reset to the rearrangement destination C338 of the virtual area.
  • the replaceable virtual area is the same as S44.
  • the definition of the rearrangement destination is not based on the value of the rearrangement destination determination result C335 but based on the value of the rearrangement destination C338.
  • the management program P30 updates the margin time value (S128).
  • the management program P30 updates the value of the margin time for batch processing based on the relocation destination change of the data of the target virtual area.
  • the management program P30 multiplies the difference ⁇ RTr between the average read response time RTr1 in the rearrangement destination hierarchy of the target virtual area and the average read response time RTr2 in the highest hierarchy by the number of read accesses C336 in the target virtual area. .
  • the management program P30 calculates a new allowance time ⁇ T by subtracting the read allowance time and the write allowance time from the allowance time ⁇ T calculated in S125, as shown in Equation 1 below (S128).
  • ⁇ T ⁇ T ⁇ (RTr1 ⁇ RTr2) ⁇ number of read accesses ⁇ (RTw1 ⁇ RTw2) ⁇ number of write accesses ...
  • the management program P30 determines whether or not the margin time ⁇ T obtained by Equation 1 is greater than 0 (S129). If the margin time ⁇ T is greater than 0 (S129: YES), the process returns to S126 with another virtual area as the target virtual area.
  • This embodiment configured as described above also has the same effect as the first embodiment and the second embodiment. Furthermore, in this embodiment, when it is predicted that the batch process will be completed earlier than a certain time, the upper layer real area assigned to the batch process is assigned to another application program. Therefore, in the present embodiment, the real area in the upper hierarchy can be used more efficiently.
  • the history of the number of accesses to each virtual area is stored for a predetermined number of days, and the configuration management program P30 determines the relocation destination of the data in the virtual area based on the history data of the number of accesses for the predetermined number of days. decide.
  • the long-term access tendency is, for example, a tendency of I / O access on a weekly basis or on a daily basis.
  • FIG. 35 is an example of virtual volume management information T33 (3) according to the present embodiment.
  • the virtual volume management information T33 (3) of this embodiment includes items C330-C333 and C335 common to the virtual volume management information T33 shown in FIG.
  • the virtual volume management information T33 (3) of this embodiment includes IOPS history C334A for a predetermined number of days instead of the IOPS C334 shown in FIG.
  • the IOPS history C334A is an item for managing IOPS for a predetermined number of days N in advance on a daily basis.
  • the IOPS history 334A can also record the average value of IOPS for a predetermined number of days.
  • FIG. 36 is a flowchart showing the performance information acquisition process. This process is executed by the performance information acquisition process program P301.
  • the performance information acquisition processing program P301 is referred to as an information acquisition program P301.
  • the information acquisition program P301 deletes all the IOPS C334A data and the relocation destination determination result C335 data of the virtual volume management information T33 (3) held in the management server 30 (S140).
  • the information acquisition program P301 executes each process of S142, S143, and S144 for all virtual areas 221 of all virtual volumes 220 (S141).
  • the configuration management program P30 acquires the value of the number of accesses C224 and the value of the monitoring period C225 corresponding to the target virtual area from the virtual volume management information T22 held in the storage device 20 (S142).
  • the information acquisition program P301 uses the data acquired from the storage device 20 to update the IOPS history 334A of the virtual volume management information T33 (3) (S143). That is, the information acquisition program P301 clears the value of C334A1 N days ago in the virtual volume management information T33 (3), and moves the remaining access history values to the left by one day each. For example, the information acquisition program P301 moves the value recorded in N-1 days ago C334A2 to N days ago C334A1. The same applies hereinafter.
  • the information acquisition program P301 records the number of accesses acquired from the storage apparatus 20 in today's number of accesses C334A3 in the virtual volume management information T33 (3).
  • the information acquisition program P301 calculates the value of the number of accesses per unit time (IOPS) based on the access history data for a predetermined N days, and records it in the average value C334A4 of the virtual volume management information T33 (3). .
  • the value of the number of days N for storing the access history can be given in advance by the configuration management program P30, or can be set by the user via the setting screen.
  • FIG. 37 shows a screen G60 for setting an access history storage period.
  • the screen G60 includes, for example, a storage period specification unit GP600 for specifying a storage period, a registration button GP601, and a cancel button GP602.
  • the user can specify the storage period in units of “day” or “day of the week”, for example. As the access history storage period becomes longer, a storage area for storing the access history is required.
  • This embodiment configured as described above also has the same effect as the first embodiment. Furthermore, in this embodiment, it is possible to store an access history for a relatively long period of time, and to determine a data relocation destination based on the access history. Therefore, when the access tendency of an application program changes in the long term, data used by the application program can be arranged in an appropriate hierarchy.
  • the relocation destination of the data in the virtual area can be determined based on the number of accesses to the virtual area during the period when the batch processing is performed.
  • the tendency of access to differ greatly is, for example, that the number of I / O accesses for transaction processing in a time zone where batch processing is performed is compared with the number of I / O accesses for transaction processing in a time zone where batch processing is not performed This is a case where it is significantly more or less.
  • the I / O processing of the storage apparatus is performed in the time zone in which batch processing is performed by performing relocation based on the I / O access frequency to the virtual area in the time zone in which batch processing is performed. Increase efficiency.
  • FIG. 38 is a flowchart showing processing for registering input information according to this embodiment.
  • the flowchart shown in FIG. 38 includes steps S150 to S152, S154, and S155 corresponding to S10 to S14 of the flowchart described in FIG.
  • the input information registration processing program P300 stores information input from the user in the corresponding item of the application definition information T34 (S150).
  • the registration program P300 receives the data arrangement condition for each hierarchy 211 as input information from the user, for example, and stores it in the corresponding item C302 of the hierarchy management information T30 (S151).
  • the registration program P300 receives, for example, information related to an application program that executes a batch process having a time constraint as input information from the user, and stores it in the batch process definition information T35 (S152).
  • the registration program P300 specifies the application program with the earliest start time and the application program with the latest end time among the application programs that perform batch processing registered in the batch processing definition information T35.
  • the registration program P300 acquires the earliest start time and the latest end time from each identified application program, and sets them in the monitoring period C225 of the virtual volume management information T22 that the storage apparatus 20 has.
  • the earliest start time is the start of the monitoring period
  • the latest end time is the end of the monitoring period.
  • the management server 30 sets a start period and an end period in the monitoring period C225 of the virtual volume management information T22 in the storage apparatus 20 via the management communication network CN2.
  • the registration program P300 performs the process of S154 for each of all hosts that run the application program (S153).
  • the registration program P300 acquires the identifier of the virtual volume used by the target host from the target host and stores it in the application definition information T34 (S154).
  • This embodiment configured as described above also has the same effect as the first embodiment. Furthermore, in this embodiment, even when the execution of batch processing affects the tendency of the number of I / O accesses by transaction processing, the data in the virtual area used in the transaction processing can be arranged in an appropriate hierarchy.
  • a sixth embodiment will be described with reference to FIG.
  • the usage status for each layer is displayed on the screen of the management terminal 40.
  • FIG. 39 is an example of a screen G70 showing the usage status by level.
  • the screen G70 includes, for example, usage status display parts GP700 and GP701 for each layer.
  • One display unit GP700 corresponds to the upper hierarchy 211A, for example.
  • the other display unit GP701 corresponds to, for example, the middle hierarchy 211B.
  • a display unit corresponding to the lower layer may be provided on the screen G70.
  • Each display part GP700, GP701 displays the usage ratio of each application program using the real area of the hierarchy in a graph.
  • This example has the same effect as the first example. Furthermore, in the present embodiment, it is possible to display the usage status of the real area by each hierarchical level application program. Therefore, the user can easily grasp, for each hierarchy, the ratio of real areas used by transaction processing with high priority and the ratio of real areas used by batch processing with time constraints. Thereby, the user can easily determine whether or not to add the storage device 27 to each hierarchy 211, and the usability of the user is improved.
  • the allowable access number range (arrangement condition in the tier) used to determine the relocation destination of the virtual area data is determined according to the actual value of the I / O performance of the storage apparatus 20. And make it dynamically changeable.
  • dynamically changing means that a fixed value predetermined by the system or the like is not used, but can be changed according to the situation of the system.
  • the actual value of the I / O performance is a value measured while actually operating the system. It is not the I / O performance assumed from the specification or configuration of hardware or software.
  • the configuration management program P30 executes an inter-tier threshold determination process (FIG. 40) described later.
  • the storage-side virtual volume management information T22 of this embodiment includes a total response time indicating the sum of the response time of the read request and the response time of the write time in addition to the configuration described in the first embodiment. Also manage. Therefore, for example, the total read time C227 and the total write time C228 shown in FIG. 24 may be integrated into an item of total response time.
  • the management server side virtual volume management information T33 of this embodiment also manages the average response time. What is average response time? This is an average value of the time required for the read processing or the time required for the write processing of the storage apparatus 20 in response to the I / O access request from the host.
  • the hierarchy management information T30 of this embodiment manages the total number of real areas of each hierarchy in addition to the configuration described in the first embodiment.
  • the average access number (IOPS) is calculated and the average response time is also calculated.
  • the average response time can be obtained by dividing the total response time for each virtual area by the number of accesses to the virtual area.
  • the average access count and the average response time are stored in the virtual volume management information T33 on the management server side.
  • FIG. 40 is a flowchart showing a process for determining a condition for arranging data in each hierarchy, that is, a process for determining a range of the number of accesses allowed by each hierarchy. This process is executed by the configuration management program P30 (referred to as management program P30).
  • the management program P30 creates a list of virtual area IDs for all virtual areas registered in the virtual volume management information T33 in descending order of the average response time of the virtual areas (S160).
  • the management program P30 counts the number of real areas belonging to each hierarchy, and sets a value for the “number of real areas” in the hierarchy management information T30 (S161).
  • the management program P30 executes the following steps S163, S164, and S165 for all the tiers registered in the tier management information T30 in order from the upper tier (S162).
  • the management program P30 selects, from the list of virtual area IDs, virtual area IDs corresponding to the number of real areas in the target hierarchy in order of fast average response time (S163).
  • the management program P30 selects, in order from the fastest average response time, except for the virtual area already selected in the loop starting from S162.
  • the management program P30 acquires the average response time of the virtual area corresponding to the selected virtual area ID, and calculates the lower limit value (IOPS) of the access number range allowed by the target tier based on the slowest average response time value (S164).
  • the IOPS value that is the lower limit of the access number range allowed by the target hierarchy is obtained by dividing the unit time by the latest average response time value.
  • the management program P30 sets the range of the number of accesses allowed by the target hierarchy from the IOPS value calculated in S164 to the IOPS value that is the lower limit value of the hierarchy located one step above the target hierarchy. T30 is set (S165).
  • This embodiment configured as described above also has the same effect as the first embodiment. Furthermore, in this embodiment, the conditions (range of the allowable access number) for allocating data between the tiers can be set dynamically according to the actual operation status of the storage apparatus 20. Therefore, the virtual area data can be rearranged in a more appropriate hierarchy.
  • a batch process having a time constraint can be started after a predetermined time has elapsed since the transaction process with a high priority has been completed.
  • FIG. 41 shows an overview of the overall configuration of the computer system according to this embodiment.
  • the host 10 of this embodiment is newly provided with an application operation monitoring program P12 for monitoring the operation status of the application program P10.
  • the application operation monitoring program P12 monitors the start and end (or stop) of the application program operating on the target host 10, and acquires the start time and end (stop) time.
  • the end time of the application program includes the stop time of the application program.
  • the application operation monitoring program P12 transmits the start time and end time of the application program P10 to the management server 30 in response to an inquiry from the management server 30.
  • the program P31 is referred to as an operation time prediction program P31.
  • Information T36 is referred to as operation time history information T36.
  • FIG. 42 shows an example of the operation time history information T36.
  • the operating time history information T36 holds the operating time of an application program that executes transaction processing with a high priority.
  • the operation time history information T36 does not need to manage the operation time of a transaction process with a low priority.
  • the operating time history information T36 can include, for example, an application name C360, a history C361, and a next prediction C362.
  • an application name C360 a name for specifying an application program that executes a transaction process with a high priority is set.
  • the history C361 further includes sub-items “date” and “start time” and “end time”.
  • a date when a transaction process with a high priority is executed, a start time, and an end time are recorded.
  • the next prediction C362 further includes “start time” and “end time”. In the next prediction C362, a prediction start time and a prediction end time relating to the next execution of the transaction process having a high priority are recorded.
  • FIG. 43 shows the batch process definition information T35 (3).
  • “after the application program that executes the transaction process is stopped” can be set as the value of the time window C351A.
  • FIG. 44 is a flowchart showing the processing contents of the operation time prediction program P31.
  • this is called the prediction program P31.
  • the prediction program P31 executes S171, S172, and S173 for all the applications whose priority is set to “high” and whose application type is “transaction” (S170).
  • the prediction program P31 acquires the previous operation start time and operation stop time of the target application program from the host 10, and registers them in the history C361 of the operation time history information T36 (S171).
  • the prediction program P31 predicts the next operation start time and operation end time based on the data recorded in the operation history C361 of the target application program (S172).
  • Various prediction methods may be considered. For example, an average value of past start times may be obtained as the prediction start time, and an average value of past end times may be obtained as the prediction end time.
  • the prediction program P31 registers the predicted start time and end time in the next prediction C362 of the operating time history information T36 (S173).
  • This embodiment configured as described above also has the same effect as the first embodiment. Furthermore, in the present embodiment, batch processing can be started after a lapse of a certain time after completion of transaction processing with high priority. Therefore, it is possible to prevent the batch processing from being started and increase the system load during the period when the transaction processing with high priority is in operation, and to terminate the transaction processing relatively quickly.
  • a ninth embodiment will be described with reference to FIG.
  • the user can set a hierarchy to be preferentially assigned to a virtual area used by batch processing having time constraints.
  • FIG. 45 shows a screen G80 for setting in advance a hierarchy for preferentially allocating real areas to virtual areas used by batch processing.
  • the screen G80 includes, for example, a hierarchy selection unit GP800 for selecting a hierarchy, a registration button GP801, and a cancel button GP802.
  • a hierarchy selection unit GP800 for selecting a hierarchy
  • a registration button GP801 for selecting a hierarchy
  • a cancel button GP802 for selecting a hierarchy
  • the tier selection unit GP800 any one of the tiers 211 included in the storage apparatus 20 can be selected.
  • the selected hierarchy is registered in the management server 30.
  • Information indicating which hierarchy is preferentially assigned to batch processing (hereinafter, priority hierarchy information) is stored in the auxiliary storage device 33 of the management server 30, for example.
  • the information acquisition program P301 acquires the priority hierarchy information from the management terminal 40 and stores it.
  • the step of acquiring and storing the priority hierarchy information may be executed between S12 and S13 in FIG. 12, for example.
  • the hierarchy defined in the priority hierarchy information is preferentially used in the process of rearranging the data of the virtual area used by the batch process having a time constraint.
  • This embodiment configured as described above also has the same effect as the first embodiment. Furthermore, in this embodiment, the user can set a hierarchy that is preferentially assigned to data in a virtual area used for batch processing having time constraints. Therefore, user convenience is improved. For example, it is possible to prevent the real area of the upper hierarchy from being assigned to the batch process having the time constraint, and to assign the real area of the upper hierarchy to the transaction process having a high priority.
  • 10 host computer
  • 20 storage device
  • 30 management server
  • 40 management terminal
  • 50 management system
  • 210 pool
  • 211 hierarchy
  • 212 real area
  • 220 virtual volume
  • 221 virtual area

Landscapes

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

Abstract

 異なる種類のアプリケーションプログラムが、階層化されたプールに基づいて生成される仮想ボリュームを効率的に使用できるようにする。 構成管理部P30は、各仮想ボリューム220に割り当てられている各実領域212が各階層211のいずれに配置されるべきかを、アクセス情報に基づいて決定する。構成管理部は、実領域を使用するアプリケーションプログラムの種類を判別する判別部P3020と、判別結果に応じて実領域の再配置先を決定し、ストレージ装置に指示する再配置先指示部P3021,P3022とを備える。

Description

計算機システムの管理装置及び管理方法
 本発明は、計算機システムの管理装置及び管理方法に関する。
 それぞれ性能の異なる複数種類の記憶装置を用いて階層型プールを形成し、その階層型プールに蓄積されている実記憶領域(実領域とも呼ぶ)を、ホストコンピュータからのライトアクセスに応じて、仮想的な論理ボリューム(以下、仮想ボリューム)に割り当てるストレージ仮想化技術は、知られている。
 一つの従来技術では、仮想ボリュームの仮想的な記憶領域を、複数の部分的な領域(以下、「仮想領域」という)に分割する。その従来技術では、仮想領域の単位で、どの階層に属する記憶装置から実領域を割り当てるかが選択される(特許文献1)。ストレージ装置は、割り当てられた各ページのI/O(Input/Output)数に応じて、定期的に、ページの再配置先となる記憶装置を切り替える。例えば、I/O数の大きいページは高性能な記憶装置に配置され、I/O数の小さいページは低性能な記憶装置に配置される。
米国特許出願公開第2007/0055713号明細書
 従来技術では、データへのアクセス履歴に基づいて当該データを格納するのに適した記憶装置を選択し、その選択された記憶装置にデータを移行させるだけであり、複数のアプリケーションプログラム間の関係を考慮していない。従って、複数の異なる仮想ボリュームを同時に利用することができるストレージ装置において、以下のような課題がある。
 一方のアプリケーションプログラムには、要求性能(SLA:Service Alliance Level)が設定されており、一方の仮想ボリュームを使用している。他方のアプリケーションプログラムは、他方の仮想ボリュームを使用している。この状況下で、他方のアプリケーションプログラムが他方の仮想ボリュームを一時的に頻繁に使用すると、たとえそれが一時的な使用であっても、他方の仮想ボリュームの仮想領域には、高性能の階層に属する実領域が割り当てられる。
 他方の仮想ボリュームが高性能な実領域を使用する分だけ、一方の仮想ボリュームに割り当てられる高性能の実領域の合計サイズは減少する。従って、一方の仮想ボリュームの平均応答時間は低下し、SLAを満たせなくなる可能性がある。
 SLAとは、例えば、アプリケーションプログラムに対する稼動要件である。SLAがアプリケーションプログラムに設定される場合は、例えば、そのアプリケーションプログラムの使用する仮想領域には、アクセス状況に応じた適切な階層から実領域が割り当てられる。
 従来技術の有する他の課題を説明する。例えば、他方のアプリケーションプログラムに時間制約が設定されており、所定時間内に処理を完了させる必要があるとする。他方のアプリケーションプログラムが他方の仮想ボリュームを使用する頻度は、一方のアプリケーションプログラムが一方の仮想ボリュームを使用する頻度よりも少ないとする。この場合、高性能な階層に属する実領域は、アクセス頻度の高い一方の仮想ボリュームにより多く割り当てられる。アクセス頻度の低い他方の仮想ボリュームには、高性能な階層に属する実領域が十分に割り当てられない。従って、他方の仮想ボリュームの平均応答時間が低下し、他方の仮想ボリュームを使用する他方のアプリケーションプログラムは、定められた所定時間内に処理を完了できない可能性がある。
 本発明は、上記課題に鑑みてなされたもので、その目的の一つは、種類の異なるアプリケーションプログラムを考慮して、仮想ボリュームの構成を制御することができるようにした計算機システムの管理装置及び管理方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
 上記課題を解決するため、本発明に係る計算機システムの管理装置は、アプリケーションプログラムが稼働する複数のホストコンピュータと、各ホストコンピュータに仮想ボリュームを提供するストレージ装置とを含む計算機システムを管理する管理装置であって、ストレージ装置は、それぞれ性能の異なる複数の記憶階層を有するプールを複数備えており、かつ、各ホストコンピュータからのライトアクセスに応じて、各記憶階層の中から実記憶領域を選択し、その選択した実記憶領域を、各仮想ボリュームのうちライトアクセスされた仮想ボリューム内のアクセス対象の仮想領域に割り当てるように構成されており、各仮想ボリュームに割り当てられている各実記憶領域が各記憶階層のいずれに配置されるべきかを、アクセス情報に基づいて決定する配置制御部を備える。
 管理装置に設けられる配置制御部は、プール内の各実記憶領域のうち仮想領域に割り当てられている実記憶領域を使用するアプリケーションプログラムの種類を判別する判別部と、判別部による判別結果に応じて、実記憶領域の再配置先を決定し、ストレージ装置に指示する再配置先指示部と、を備える。
 マイクロプロセッサと、マイクロプロセッサにより実行される所定のコンピュータプログラムを記憶するメモリと、マイクロプロセッサがホストコンピュータ及びストレージ装置と通信するための通信インターフェース回路とをさらに備えてもよい。この場合、マイクロプロセッサが所定のコンピュータプログラムを実行することにより、配置制御部が実現される。
 判別部は、実記憶領域を使用するアプリケーションプログラムの種類が、優先度の高いトランザクション処理である第1アプリケーションプログラムであるか否かを判別し、再配置先指示部は、プール内の各実記憶領域のうち、第1アプリケーションプログラムにより使用される第1実記憶領域が、各記憶階層のうち比較的高性能の記憶階層に優先的に配置されるように、第1実記憶領域の再配置先を決定し、決定された再配置先をストレージ装置に指示することができる。
 判別部は、実記憶領域を使用するアプリケーションプログラムの種類が、優先度の高いトランザクション処理である第1アプリケーションプログラムであるか、または、時間制約を有するバッチ処理である第2アプリケーションプログラムであるかを判別することもできる。再配置先指示部は、第1アプリケーションプログラムにより使用される第1実記憶領域が比較的高性能の記憶階層に優先的に配置されるように、第1実記憶領域の再配置先をまず最初に決定し、その後に、プール内の各実記憶領域のうち、第2アプリケーションプログラムにより使用される第2実記憶領域の再配置先を決定し、決定された第1実記憶領域の再配置先及び第2実記憶領域の再配置先を、ストレージ装置に指示することができる。
 判別部は、各ホストコンピュータで稼働する各アプリケーションプログラムがトランザクション処理であるか、または、バッチ処理であるかを示すアプリケーション種別情報をユーザインターフェース部を介してユーザから取得することができる。さらに、判別部は、各アプリケーションプログラムが各実記憶領域を使用するアクセス頻度を示すアクセス情報をストレージ装置から取得することができる。
 さらに、第1アプリケーションプログラムが実記憶領域を使用するアクセス頻度を示す第1アクセス情報は、第2アプリケーションプログラムが実行されている期間内に取得してもよい。つまり、第2アプリケーションプログラムが実行されている期間内に、第1アプリケーションプログラムによる実記憶領域の使用状態を検出することもできる。
 本発明は、計算機システムを管理するための管理方法として把握することもできる。さらに、本発明の少なくとも一部は、コンピュータプログラムとして構成してもよい。さらに、実施例に記載される本発明の複数の特徴は、自在に組み合わせることができる。
図1は、実施形態の全体概要を示す説明図である。 図2は、計算機システムの全体構成図である。 図3は、ホストコンピュータの構成図である。 図4は、ストレージ装置の構成図である。 図5は、ストレージ装置がRAIDグループを管理するための情報の構成例である。 図6は、ストレージ装置が実領域を管理する情報の構成例である。 図7は、ストレージ装置が仮想ボリュームを管理するための情報の構成例である。 図8は、管理サーバの構成図である。 図9は、管理サーバがRAIDグループを管理するための情報の構成例である。 図10は、管理サーバが仮想ボリュームを管理するための情報の構成例である。 図11は、管理サーバが記憶階層を管理する情報の構成例である。 図12は、アプリケーションプログラムについて定義される情報の構成例である。 図13において、(a)はバッチ処理について定義される情報の構成例を示し、(b)はホストコンピュータと仮想ボリュームの対応関係を管理する情報の構成例を示す。 図14は、定義情報を管理サーバに登録するための処理を示すフローチャートである。 図15は、アプリケーション定義情報を入力する画面例である。 図16は、バッチ処理定義情報を入力するための画面例である。 図17は、階層にデータを配置する条件を設定する画面例である。 図18は、性能情報を取得する処理を示すフローチャートである。 図19は、データを再配置する処理を示すフローチャートである。 図20は、優先度の高いトランザクション処理により使用されるデータを再配置する処理を示すフローチャートである。 図21は、時間制約を有するバッチ処理により使用されるデータを再配置する処理を示すフローチャートである。 図22は、リード処理を示すフローチャートである。 図23は、ライト処理を示すフローチャートである。 図24は、第2実施例に係り、ストレージ装置が仮想ボリュームを管理するための情報の構成例を示す。 図25は、管理サーバが仮想ボリュームを管理するための情報の構成例である。 図26は、記憶階層を管理する情報の構成例である。 図27は、バッチ処理定義情報の構成例である。 図28は、性能情報を取得する処理を示すフローチャートである。 図29は、データを再配置する処理を示すフローチャートである。 図30は、バッチ処理に要する時間を見積もるための処理を示すフローチャートである。 図31は、再配置処理を示すフローチャートである。 図32は、バッチ処理が所定時間内に完了しないことをユーザに通知するための画面例である。 図33は、第3実施例に係り、バッチ処理に要する時間を見積もるための処理を示すフローチャートである。 図34は、バッチ処理時間に生じる余裕時間を算出するための閾値を設定する画面例である。 図35は、第4実施例に係り、管理サーバが仮想ボリュームを管理するための情報の構成例である。 図36は、性能情報を取得する処理を示すフローチャートである。 図37は、アクセス履歴の保持期間を設定するための画面例である。 図38は、第5実施例に係り、定義情報を登録するための処理を示すフローチャートである。 図39は、第6実施例に係り、各アプリケーションプログラムによる使用状況を各記憶階層毎に示す画面例である。 図40は、第7実施例に係り、各記憶階層間の境界を定めるための閾値を決定する処理を示すフローチャートである。 図41は、第8実施例に係り、計算機システムの構成を模式的に示す説明図である。 図42は、トランザクション処理の稼働履歴を管理するための情報の構成例である。 図43は、バッチ処理を定義する情報の構成例である。 図44は、トランザクション処理の稼働時間を見積もるための処理を示すフローチャートである。 図45は、第9実施例に係り、バッチ処理に優先的に割り当てる記憶階層を予め設定するための画面例である。
 以下、図面に基づいて、実施形態を説明する。本実施形態では、以下に述べるように、アプリケーションプログラムの種類に応じて、そのアプリケーションプログラムが使用するデータの再配置先を決定する。
 なお、以後の説明では「aaa表」という表現にて本実施形態で使用される各種情報を説明する。しかし、各種情報は、必ずしも表形式で表現されていなくても良く、リスト、データベース、キュー等のデータ構造、または、それら以外のデータ構造で表現されても良い。従って、データ構造の形式に依存しないことを示すために、本実施形態では、「aaa表」、「aaaリスト」、「aaaDB」、「aaaキュー」等を、「aaa情報」と呼ぶことがある。
 また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることできるが、これらは互いに置換が可能である。
 さらに、以後の説明では、「プログラム」を主語として説明を行うことがある。コンピュータプログラムは、マイクロプロセッサによって実行される。コンピュータプログラムは、所定の処理を、メモリ及び通信ポート(通信制御装置)を用いて実行する。従って、マイクロプロセッサを主語として、フローチャート等の内容を説明できる。
 さらに、管理サーバ等のコンピュータを主語として、コンピュータプログラムによる処理を説明することもできる。なお、コンピュータプログラムの一部または全部は、専用ハードウェア回路で実現できることがある。また、コンピュータプログラムは、モジュール化されていても良い。さらに、各種コンピュータプログラムは、プログラム配布サーバまたは記憶媒体によって、コンピュータにインストールすることができる。
 図1は、実施形態の概要を説明するための図であり、本発明の範囲は図1に記載の構成に限定されない。計算機システムは、例えば、複数のホストコンピュータ(以下、ホスト)10と、少なくとも一つのストレージ装置20と、「管理装置」としての一つの管理システム50とを備える。
 ホスト10(1),10(2),10(3)は、例えば、サーバコンピュータまたはメインフレームのようなコンピュータとして構成される。特に区別しない場合は、10(1),10(2),10(3)をホスト10と呼ぶ。
 各ホスト10は、アプリケーションプログラムP10を備える。第1アプリケーションプログラムP10(1)は、トランザクション処理を行う。第1アプリケーションプログラムP10には、ユーザによって高い優先度が予め設定されている。
 第2アプリケーションプログラムP10(2)は、バッチ処理を行う。第2アプリケーションプログラムP10(2)には、時間制約が設定されている。時間制約とは、バッチ処理の完了に要する時間が予め定められていることを意味する。図1では、時間制約を有するバッチ処理を、「高優先度のバッチ処理」として示す。完了時間に制限を設定されているバッチ処理は、優先度の高いバッチ処理であると考えることができる。
 第3アプリケーションプログラムP10(3)は、第1アプリケーションプログラムP10(1)及び第2アプリケーションプログラムP10(2)のいずれにも該当しない他のアプリケーションプログラムである。従って、第3アプリケーションプログラムP10(3)には、例えば、優先度の低いトランザクション処理、及び、時間制約の無いバッチ処理等が含まれる。以下、特に区別しない場合、P10(1),P10(2),P10(3)をアプリケーションプログラムP10と呼ぶ。
 ストレージ装置20は、仮想的に生成される論理ボリューム220をホスト10に提供する。以下、仮想的な論理ボリューム220を仮想ボリューム220と呼ぶ。図中では、仮想ボリューム220を「VVOL」として示す。
 ホスト10(1)は仮想ボリューム220(1)を使用でき、ホスト10(2)は仮想ボリューム220(2)を使用でき、ホスト10(3)は仮想ボリューム220(3)を使用できる。各ホスト10は、自分に割り当てられた仮想ボリューム以外の他の仮想ボリュームを使用することができない。以下、特に区別しない場合、220(1),220(2),220(3)を仮想ボリューム220を呼ぶ。
 仮想ボリューム220は、そのボリュームサイズ及びアクセス方法のみが定義されており、データを記憶するための実領域を備えていない。
 各仮想ボリューム220は、プール210に関連付けられている。簡単に説明すると、ホスト10から仮想ボリューム220内の仮想領域(VSEG)221にデータが書き込まれる場合に、プール210から選択された実領域(SEG)212が仮想ボリューム220に割り当てられる。ホスト10からのデータは、割り当てられた実領域212に書き込まれる。
 プール210は、それぞれ性能の異なる複数の記憶階層を備える。プール210は、例えば、第1階層211A、第2階層211B及び第3階層211Cの3種類の記憶階層を備えることができる。
 第1階層211Aは、最も高性能の記憶装置の有する複数の実領域212Aから構成される。第1階層211Aは、上位階層と呼ぶこともできる。第2階層211Bは、中程度の性能の記憶装置が有する複数の実領域212Bから構成される。第2階層211Bは、中位階層と呼ぶこともできる。第3階層211Cは、低性能の記憶装置の有する複数の実領域212Cから構成される。第3階層211Cは、下位階層と呼ぶこともできる。特に区別しない場合、212A,212B,212Cを実領域212と呼ぶ。同様に、211A,211B,211Cを階層211と呼ぶ。
 仮想ボリューム220内の未割当ての仮想領域221にホスト10がデータを書き込む場合、プール210内の各階層211A,211B,211Cのうちいずれかの階層に属する実領域212が選択される。選択された実領域212は、書き込み対象の仮想領域VSEGに割り当てられる。その実領域SEG212には、ホスト10からのライトデータが書き込まれる。
 ここで、高優先度のトランザクション処理である第1アプリケーションプログラムP10(1)は、第1仮想ボリューム220(1)を使用する。第1仮想ボリューム220(1)の仮想領域221には、高性能の階層211Aに属する実領域212Aが割り当てられている。
 時間制約の設定されたバッチ処理である第2アプリケーションプログラムP10(2)は、第2仮想ボリューム220(2)を使用する。第2仮想ボリューム220(2)の仮想領域221には、高性能の階層211Aに属する実領域212Aと、中性能の階層211Bに属する実領域212Bとが割り当てられている。
 その他のアプリケーションプログラムP10(3)は、第3仮想ボリューム220(3)を使用する。第3仮想ボリューム220(3)の仮想領域221には、中性能の階層212Bに属する実領域212Bと、低性能の階層211Cに属する実領域212Cとが割り当てられている。
 仮想ボリューム220に割り当てられた実領域212は、その実領域212へのアクセスに関する情報(または、仮想領域221へのアクセスに関する情報と言い換えてもよい)に基づいて、定期的にまたは不定期に、その所属先の階層が変更される。
 例えば、アクセス頻度の高い仮想領域221のデータは、より高性能な階層に移動される。逆に、アクセス頻度の低い仮想領域221のデータは、より低性能な階層に移動される。これにより、アクセス頻度の高いデータの応答時間は短縮される。さらに、アクセス頻度の低いデータを高性能な階層から低性能な階層に移動させることができるため、高性能な階層を効率的に使用することができる。
 ストレージ装置20は、プール210及び仮想ボリューム220以外に、仮想ボリューム管理部P21と、情報取得部P20とを備える。仮想ボリューム管理部P21は、仮想ボリューム220の構成を管理するための機能である。例えば、仮想ボリューム管理部P21は、仮想ボリューム220を生成してホスト10に対応付け、ホスト10からのライトアクセスに応じて仮想領域221にプール210内の実領域212を割り当てる。さらに、仮想ボリューム管理部P21は、管理システム50からの指示に基づいて、及び/または、データのアクセス頻度に基づいて、そのデータの再配置先を変更する。
 情報取得部P20は、各階層211の各実領域212の性能値を取得する。ここで、「性能」とは、例えば、アクセス性能である。アクセス性能としては、応答時間、データ転送速度、IOPS(単位時間当たりに処理したアクセス要求の数)がある。
 管理システム50は、「配置制御部」としての構成管理部P30と、アプリケーション定義情報T34及びバッチ処理定義情報T35とを備える。各定義情報T34,T35の詳細は後述する。簡単に説明すると、アプリケーション定義情報T34は、アプリケーションプログラムP10の種類及び優先度等を定義した情報である。バッチ処理定義情報T35は、バッチ処理の実行されるタイムウインドウを定義した情報である。タイムウインドウは、バッチ処理の開始時刻と、バッチ処理の終了時刻とにより定義される。
 構成管理部P30は、例えば、判別部P3020と、第1指示部P3021と、第2指示部P3022とを備える。
 判別部P3020は、例えば、定義情報T34,T35と、情報取得部P20から受領する性能情報とに基づいて、データ再配置対象のアプリケーションプログラムが所定の第1アプリケーションプログラムP10(1)であるか、または、所定の第2アプリケーションプログラムP10(2)であるかを判別する。
 上述の通り、所定の第1アプリケーションプログラムP10(1)とは、例えば、高い優先度に設定されているトランザクション処理である。所定の第2アプリケーションプログラムP10(2)とは、時間制約の設定されているバッチ処理である。
 「再配置先指示部」の一部を構成する第1指示部P3021は、最初に、第1アプリケーションプログラムP10(1)により使用される実領域212(SEG10,SEG11)が比較的高性能の階層211Aに配置されるように、それら実領域の再配置先を決定し、ストレージ装置20に指示する。
 第2指示部P3022は、第1指示部P3021と共に「再配置先指示部」を構成する。第2指示部P3022は、第1指示部P3021による再配置先の決定が完了した後に、第2アプリケーションプログラムP10(2)により使用される実領域212(SEG20,SEG21)の再配置先を決定し、ストレージ装置20に指示する。
 その他のアプリケーションプログラムP10(3)により使用される仮想ボリューム220(3)のデータは、通常通りに、アクセス頻度に応じた階層に配置される。
 仮想領域と実領域との対応付けの見直し(再配置)は、ホスト10からのI/O要求を停止させずに行われる。管理システム50は、各仮想ボリュームの各仮想領域毎に、実領域の割当てを見直して、ストレージ装置20に指示する。これにより、管理システム50は、ホスト10のI/O要求を停止させずに、時々刻々と変化するストレージ装置の状況を考慮しながら、各仮想領域毎にデータの再配置先を決定することができる。
 なお、管理システム50の機能をストレージ装置20内に設けても良い。つまり、ストレージ装置20のコントローラ26(図4参照)がデータの再配置先を決定する構成としてもよい。
 このように構成される本実施形態では、仮想ボリュームを使用するアプリケーションプログラムの種類に応じて、仮想ボリュームのデータを配置すべき階層を決定する。本実施形態では、高い優先度を有するトランザクション処理P10(1)により使用されるデータは、まず最初に再配置先が決定される。従って、そのデータを、比較的高性能の階層212Aに配置させることができる。データ再配置処理の最初に実行されるため、高性能の階層211Aの空き領域を使用できる可能性が高い。これにより、優先度の高いトランザクション処理P10(1)により使用される仮想ボリューム220(1)の平均応答時間を早めることができ、トランザクション処理P10(1)に設定されたSLAを満足させることができる。
 本実施形態では、時間制約を有するバッチ処理P10(2)により使用されるデータの再配置先を、高優先度のトランザクション処理P10(1)により使用されるデータの再配置先を決定した後で、決定する。従って、時間制約を有するバッチ処理P10(2)により使用されるデータを、比較的高性能の階層211A及び/または中性能の階層211Bに配置させることができる。時間制約を有するバッチ処理P10(2)により使用されるデータは、比較的早期に、再配置先が決定されるため、高性能の階層211A及び/または中性能の階層211Bに配置させることができる。これにより、時間制約の設定されているバッチ処理を、設定された時間内に完了させることができる。
 図2は、計算機システムの全体構成を示す説明図である。図2に示す計算機システムは、例えば、複数のホスト10と、少なくとも一つのストレージ装置20と、一つの管理システム50と、を備える。
 管理システム50は、管理サーバ30と、管理端末40とを含む。管理端末40は、例えば、パーソナルコンピュータ、携帯情報端末、携帯電話等のように構成される。ユーザは、管理端末40を介して管理サーバ30にログインし、定義情報T34,T35の登録等を行う。なお、管理端末40は複数設けても良い。管理端末40を廃止し、管理サーバ30に接続された入出力機器を用いる構成でもよい。
 各ホスト10とストレージ装置20とは、IP-SAN(Internet Protocol_SAN)またはFC-SAN(Fibre Channel-Storage Area Network)のような通信ネットワークCN1を介して接続されている。ホスト10とストレージ装置20と管理サーバ30及び管理端末40とは、LAN(Local Area Network)のような通信ネットワークCN2を介して接続されている。
 第1の通信ネットワークCN1は、データ入出力用ネットワークと呼ぶことができる。第2の通信ネットワークCN2は、管理用ネットワークと呼ぶことができる。各通信ネットワークCN1,CN2を一つにまとめてもよい。
 図3は、ホスト10のハードウェア構成を示す。ホスト10は、例えば、マイクロプロセッサ(以下、CPU)11と、メモリ12と、SANポート13と、LANポート14とを備える。これら各部11,12,13,14は、内部バスを介して相互に接続されている。
 メモリ12は、例えば、アプリケーションプログラムP10と、ホスト構成情報取得処理プログラムP11と、ホスト構成情報T10とを記憶する。アプリケーションプログラムP10の種類としては、例えば、トランザクション処理と、バッチ処理とがある。
 ホスト構成情報取得処理プログラムP11は、ホスト構成情報T10を取得するためのプログラムである。ホスト構成情報取得処理プログラムP11は、データ入出力用ネットワークCN1または管理用ネットワークCN2を介して、ホスト10が使用する全ての仮想ボリューム220の識別情報を、ストレージ装置20に問い合わせる。ストレージ装置20から取得する情報に基づいて、ホスト構成情報取得処理プログラムP11は、ホスト構成情報T10を生成する。
 ホスト構成情報T10は、ホスト10と仮想ボリューム220との対応関係を管理する情報である。ホスト構成情報T10の詳細は、図13(b)で後述する。
 SANポート13は、第1通信ネットワークCN1を介して双方向通信するための回路である。LANポート14は、第2通信ネットワークCN2を介して双方向通信するための回路である。
 図4は、ストレージ装置20のハードウェア構成を示す。ストレージ装置20は、コントローラ26と、性能の異なる複数の物理的記憶装置27A,27B,27Cとを備えている。コントローラ26と各記憶装置27A,27B,27Cは、内部バスを介して相互に接続されている。特に区別しない場合、記憶装置27A,27B,27Cを、記憶装置27と呼ぶ。
 記憶装置27としては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
 記憶装置としてハードディスクデバイスを用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。また、例えば、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access
Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(Resistance RAM)」等の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置を混在させる構成でもよい。
 本実施例では、比較的高性能の記憶装置27AとしてSSD(フラッシュメモリデバイス)を、中性能の記憶装置27BとしてSASディスクを、比較的低性能の記憶装置27CとしてSATAディスクを、一例として説明する場合がある。
 同種の記憶装置27A,27B,27Cをグループ化することで、RAIDグループ28A,28B,28Cが生成される。RAIDグループ28Aは、複数の高性能記憶装置27Aが有する物理的記憶領域から構成される。RAIDグループ28Bは、複数の中性能記憶装置27Bが有する物理的記憶領域から構成される。RAIDグループ28Cは、複数の低性能記憶装置27Cが有する物理的記憶領域から構成される。特に区別しない場合、RAIDグループ28A,28B,28CをRAIDグループ28と呼ぶ。
 各RAIDグループ28A,28B,28Cの物理的記憶領域を固定サイズまたは可変サイズで切り出すことにより、論理ボリューム29A,29B,29Cを設けることができる。論理ボリューム29Aは、高性能のRAIDグループ28Aに設けられる。論理ボリューム29Bは、中性能のRAIDグループ28Bに設けられる。論理ボリューム29Cは、低性能のRAIDグループ28Cに設けられる。従って、論理ボリューム29Aは高性能の論理的記憶装置であり、論理ボリューム29Bは中性能の論理的記憶装置であり、論理ボリューム29Cは低性能の論理的記憶装置である。特に区別しない場合、論理ボリューム29A,29B,29Cを論理ボリューム29と呼ぶ。
 コントローラ26は、例えば、マイクロプロセッサ21と、メモリ22と、SANポート23と、LANポート24と、ディスクインターフェース回路25と、を含んで構成される。
 メモリ22には、例えば、ストレージ制御プログラムP20と、RAIDグループ管理情報T20と、実領域管理情報T21と、仮想ボリューム管理情報T22とが記憶されている。
 ストレージ制御プログラムP20は、サブプログラムとして、性能モニタリング処理プログラムP201と、仮想ボリューム管理プログラムP202とを含む。ストレージ制御プログラムP20は、マイクロプロセッサ21で実行されることにより、記憶装置27へのアクセス制御処理、性能モニタリング処理、仮想ボリューム管理処理等を行う。
 性能モニタリング処理プログラムP201は、仮想ボリューム220についての性能を収集する。性能モニタリング処理プログラムP201は、ストレージ装置20内の各仮想ボリューム220へのアクセス頻度を集計し、そのアクセス頻度を仮想ボリューム管理情報T22に記録する。仮想ボリュームへのアクセス頻度とは、例えば、ホスト10が仮想ボリューム内の各仮想領域へアクセスした回数の集合である。
 なお、「仮想領域へのアクセス数」とは、対象仮想領域の全てまたは一部をアドレス範囲として指定するアクセス要求のうち、処理が完了した(または処理中も含めても良い)アクセス要求の数を指す。
 例えば、アクセス要求のアドレス範囲が或る仮想領域の一部または全てである(言い方を変えれば、仮想領域がアドレス範囲を含んでしまう)場合、当該アクセス要求の数だけ当該仮想領域のアクセス数を増加させる。他の例として、アクセス要求のアドレス範囲が複数の仮想領域のそれぞれの一部または全てを含む場合は、当該アクセス要求の数だけ、仮想領域それぞれのアクセス数を増加させる。なお、仮想領域のサイズが大きい場合は、後者のようなケースはあまり発生しない。従って、アクセス要求で指定されるアドレス範囲の先頭を含む仮想領域のカウント数だけを増加させても良い。
 仮想ボリューム管理プログラムP202は、例えば、管理サーバ30からの指示により、仮想ボリューム220内の仮想領域221への、実領域212の割り当てを見直す。仮想領域221と実領域212との対応付けを見直す処理は、再配置処理と呼ばれる。
 図5は、RAIDグループ管理情報T20の構成例を示す。RAIDグループ管理情報T20は、RAIDグループ28の構成を管理する。
 RAIDグループ管理情報T20は、例えば、RAIDグループID C200と、デバイスタイプC201と、RAIDレベルC202と、記憶装置ID C203とを対応付けて管理する。なお、図中では、記憶装置を「PDEV」と略記する場合がある。
 RAIDグループID C200は、RAIDグループ28を識別する情報である。デバイスタイプC201は、RAIDグループ28を構成する記憶装置27の種類を示す情報である。RAIDレベルC202は、RAIDグループ28のRAIDレベル及びコンビネーションを示す情報である。記憶装置ID C203は、RAIDグループ28を構成する記憶装置27を識別する情報である。
 なお、以下に述べる各テーブル(情報)でも同様であるが、図示されたテーブルが含む項目の一部を他の項目に変更したり、新たな項目を追加したりしてもよい。さらに、一つのテーブルを複数のテーブルに分割することもできる。
 図6は、実領域管理情報T21の構成例を示す。実領域管理情報T21は、各RAIDグループ28に含まれる記憶装置27が有する実領域212が、仮想ボリューム220に割当済か否かの情報を管理する。
 実領域管理情報T21は、RAIDグループID C210と、実領域ID C211と、RAIDグループLBA範囲C212と、割当て状況C213とを対応付けて管理している。
 RAIDグループID C210には、各RAIDグループ28を識別するための識別情報が登録される。実領域ID C211には、各実領域212を識別するための識別情報が登録される。LBA範囲C212には、実領域212に対応する、RAIDグループ28のLBA範囲を示す値が登録される。なお、LBAとは、論理ブロックアクセスの略である。割当て状況C213には、実領域212が仮想ボリューム220に割当済か否かを示す値が登録される。
 図7は、仮想ボリューム管理情報T22の構成例を示す。仮想ボリューム管理情報T22は、仮想ボリューム内の各仮想領域と、その仮想領域に割り当てられている実領域とに関する情報を管理する。
 例えば、仮想ボリューム管理情報T22は、仮想ボリュームID C220と、仮想領域ID C221と、仮想ボリュームのLBA範囲C222と、実領域ID C223と、アクセス数C224と、モニタリング期間C225と、再配置先判定結果C226とを対応付けて管理する。
 仮想ボリュームID(VVOL-ID)C220には、仮想ボリューム220を識別するための情報が登録される。仮想ボリュームID C220は、ホスト10から指定される識別子ではなく、ストレージ装置20の内部で認識される識別子である。仮想領域ID C221には、仮想領域221を識別するための情報が登録される。
 仮想ボリュームのLBA範囲C222には、仮想ボリューム220内の仮想領域221に対応するLBA範囲を示す値が登録される。実領域ID C223には、仮想ボリューム220内の仮想領域221に割り当てられている実領域212を識別するための情報が登録される。
 アクセス数C224には、仮想ボリューム220内の仮想領域221に対する、ホスト10からのアクセス数(累計のI/O数)を示す値が登録される。アクセス数C224は、仮想領域に対するアクセス回数の値である。ストレージ装置20によるアクセス回数の監視は、モニタリング期間C225に設定された時間範囲内で行われる。
 モニタリング期間C225に特定の時間帯を示す値が設定されていない場合、ストレージ装置20は、常時、アクセス回数の監視を行う。ストレージ装置20は、モニタリングを開始するタイミングで、アクセス数C224の値を0にリセットする。モニタリング期間における監視結果を保存しない場合は、一定期間、例えば24時間毎に、アクセス数C224の値を0にリセットする。
 モニタリング期間C225には、性能モニタリング処理プログラムP201によるモニタリング期間が登録される。即ち、性能モニタリング処理プログラムP201が、仮想ボリューム220へのアクセス回数の監視と、監視結果の保存とを行う時間範囲がC225に記憶される。モニタリング期間の値は、予め固定値として与えることもできるし、または、管理サーバ30から任意の値を設定することもできる。
 再配置先判定結果C226には、再配置処理により判定された、データ再配置先の階層を示す情報が登録される。後述の再配置処理により、仮想ボリューム内の仮想領域に割り当てられるべき実領域を供給する階層が一つ決定される。再配置先判定結果C226には、決定された階層を特定する識別情報が記憶される。
 図8は、管理サーバ30のハードウェア構成例を示す。管理サーバ30は、例えば、マイクロプロセッサ31と、メモリ32と、補助記憶装置33と、LANポート34とを備える。各部31,32,33,34は、内部バスを介して相互に接続されている。
 メモリ32には、構成管理プログラムP30と、階層管理情報T30と、RAIDグループ管理情報T31と、実領域管理情報T32と、仮想ボリューム管理情報T33とが記憶されている。
 構成管理プログラムP30は、複数のサブプログラムを有する。複数のサブプログラムには、例えば、入力情報登録処理プログラムP300と、性能情報取得処理プログラムP301と、再配置処理プログラムP302とが含まれる。
 入力情報登録処理プログラムP300は、アプリケーションプログラムP10の定義情報と、各階層間でデータ再配置を行うための条件となる情報と、バッチ処理の定義情報とを、ユーザ入力等から取得して保存する。
 性能情報取得処理プログラムP301は、ストレージ装置20から各仮想領域に関するアクセス回数を取得し、単位時間当たりのアクセス回数(I/O数)の平均値を計算し、仮想ボリューム管理情報T33に保存する。アクセス回数の平均値の単位は、例えばIOPS(1秒あたりのI/Oの回数)である。
 再配置処理プログラムP302は、各仮想領域のアクセス回数の平均値に基づいて、仮想領域のデータを配置すべき階層211を決定する。再配置処理プログラムP302は、まず最初に、優先度が高く、かつ、アプリケーション種別がトランザクション処理であるアプリケーションプログラムP10(1)が利用する仮想領域のデータを再配置する。次に、再配置処理プログラムP302は、時間制約を有し、かつ、アプリケーション種別がバッチ処理であるアプリケーションプログラムP10(2)が利用する仮想領域のデータを再配置する。
 入力情報登録処理プログラムP300については、図14で詳細に説明する。性能情報取得処理プログラムP301は、図18で詳細に説明する。再配置処理プログラムP302については、図19で詳細に説明する。
 管理サーバ30の有するRAIDグループ管理情報T31と、実領域管理情報T32と、仮想ボリューム管理情報T33とは、ストレージ装置20の有するRAIDグループ管理情報T20,実領域管理情報T21,仮想ボリューム管理情報T22に、それぞれ対応する。但し、管理サーバ30内の各管理情報T31,T32,T33の構成は、対応する管理情報T20,T21,T22の構成と完全に一致している必要はない。
 管理サーバ30は、ストレージ装置20の管理情報T20,T21,T22から情報を取得して、管理サーバ30内のT31,T32,T33に格納する。
 補助記憶装置33には、アプリケーション定義情報T34と、バッチ処理定義情報T35とが記憶されている。
 アプリケーション定義情報T34は、アプリケーションプログラムP10の優先度と、アプリケーション種別(トランザクション処理かバッチ処理か)などの属性情報とを管理する。
 バッチ処理定義情報T35は、バッチ処理を行うアプリケーションプログラムの名称と、バッチ処理の開始時間及び終了時間とを管理する。
 なお、管理サーバ30で行われる各処理を、ストレージ装置20のコントローラ26で実行する構成でもよい。即ち、ストレージ装置20内に計算機システムの管理機能を設ける構成でもよい。または、管理サーバ30の機能を各ホスト10のいずれかに搭載する構成でもよい。
 図9は、管理サーバ30の有するRAIDグループ管理情報T31の構成例を示す。RAIDグループ管理情報T31は、ストレージ装置20が有するRAIDグループ管理情報T20に対応しており、RAIDグループ管理情報T20が有する情報を格納するために用いられる。但し、RAIDグループ管理情報T31が有する情報は、RAIDグループ管理情報T20が有する情報と完全に一致している必要はない。RAIDグループ管理情報T20の有する情報のうち一部の情報は、RAIDグループ管理情報T31に格納しなくてもよい。
 例えば、RAIDグループ管理情報T31は、RAIDグループ28の識別子を表すRAIDグループID C310と、RAIDグループ28を構成する記憶装置27の種類を表すデバイスタイプC311と、RAIDグループ28のRAIDレベル及びコンビネーションを示すRAIDレベルC312と、管理する。
 管理サーバ30の有する実領域管理情報T32は、図6に示すストレージ装置20の有する実領域管理情報T21と同一構成にできるため、説明を省略する。従って、以下では図6を参照して、実領域管理情報T32を説明する場合がある。
 図10は、管理サーバ30の有する仮想ボリューム管理情報T33の構成例である。仮想ボリューム管理情報T33は、例えば、仮想ボリュームID C330と、仮想領域ID C331と、仮想ボリュームのLBA範囲C332と、実領域ID C333と、IOPS C334と、再配置先判定結果C335とを備える。
 それら項目C330,C331,C332,C333,C335は、図7に示す仮想ボリューム管理情報T22の項目C220,c221,C222,C223,C226に対応するため、説明を省略する。
 管理サーバ30の有する仮想ボリューム管理情報T33では、性能情報をモニタリングする期間についての項目(図7のC225)は不要であるため、含まれていない。
 ストレージ装置20の有する仮想ボリューム管理情報T22では、アクセス数C224に、仮想領域へのアクセス回数が記録される。これに対して、管理サーバ30の有する仮想ボリューム管理情報T33では、IOPS(平均アクセス数)C334に、管理サーバ30が行う各処理において使用される、アクセス数に関連する値が記録される。例えば、IOPS C334には、前回処理時に計算された仮想領域のアクセス数の平均値(前回処理時の平均値)が記録される。
 図11は、管理サーバ30の有する階層管理情報T30の構成例を示す。階層管理情報T30は、各階層211の性能と、各階層211にデータを配置する場合の条件とを管理する。階層管理情報T30は、ユーザ(システム管理者)からの要求に応じて更新することができる。
 階層管理情報T30は、階層ID C300と、性能要件C301と、再配置条件C302とを備える。階層ID C300には、各階層211の識別子が設定される。性能要件C301には、各階層211の性能要件を表す値が設定される。再配置条件C302には、各階層にデータを配置するための条件が設定される。
 性能要件C301は、例えば、記憶装置27のタイプと、RAIDグループ28のRAIDレベルとの組合せとして定義することができる。さらに、アクセス速度等の他の性能パラメータを性能要件に含めてもよい。
 再配置条件は、その階層に配置されるデータへの単位時間当たりのアクセス数の範囲として、設定される。図11に示す例では、上位階層211Aには、IOPSが100以上であるデータを配置することができる。IOPSが100未満のデータは、上位階層211A内の実領域212Aに記憶させることはできない。中位階層211Bには、IOPSが30以上であり、かつ、100未満であるデータを配置することができる(30≦IOPS<100)。IOPSが30未満のデータ及びIOSPが100以上のデータは、中位階層211Bの実領域212Bに記憶させることはできない。下位階層211Cには、IOPSが30未満のデータを配置することができる。IOPSが30以上のデータは、下位階層211Cの実領域212Cに記憶させることはできない。なお、再配置条件C302の値は、固定値でもよいし、可変値でもよい。後述する他の実施例では、再配置条件の値を動的に変化させる。
 図12は、アプリケーション定義情報T34の構成例である。アプリケーション定義情報T34は、アプリケーションプログラムP10の所定の属性を管理する。アプリケーション定義情報T34は、アプリケーション名C340と、優先度C341と、タイプC342と、仮想ボリュームID C343と、ホスト名C344とを管理する。
 アプリケーション名C340には、アプリケーションプログラムを識別するための文字列等が設定される。優先度C341には、アプリケーションプログラムの優先度が設定される。優先度の値には、「High」と「Low」の2つが用意されている。これに代えて、3つ以上の値を用意してもよい。優先度は、例えば、アプリケーションプログラムの運用環境、及び/または、稼働環境等に基づいて、ユーザが設定する。これに代えて、優先度を自動的に設定するための設定基準を予め用意し、その設定基準に従って各アプリケーションプログラムの優先度を自動的に設定する構成でもよい。
 タイプC342には、アプリケーションプログラムのタイプが設定される。アプリケーションプログラムのタイプには、「トランザクション処理」と「バッチ処理」の2種類が用意されている。
 仮想ボリュームID C343には、アプリケーションプログラムが使用している仮想ボリュームのIDが設定される。構成管理プログラムP30は、ホスト構成情報取得処理プログラムP11に問い合わせて、仮想ボリュームIDを取得する。ホスト名C344には、アプリケーションプログラムが稼働するホスト10を特定するための識別情報が設定される。
 図13を参照して、バッチ処理定義情報T35とホスト構成情報T10を説明する。図13(a)は、バッチ処理定義情報T35の構成例を示す。バッチ処理定義情報T35は、例えば、アプリケーション名C350と、タイムウインドウC351とを対応付けて管理する。
 アプリケーション名C350には、バッチ処理を行うアプリケーションプログラムP10を特定するための名称が設定される。タイムウインドウC351には、バッチ処理の実行可能な時間範囲が設定される。時間範囲は、例えば、開始時刻(図中「From」)と終了時刻(図中「To」)とにより定義される。タイムウインドウは、「時間制約」に該当する。バッチ処理開始時刻は、バッチ処理を実行可能な最も早い時刻を示す。バッチ処理終了時刻は、バッチ処理の完了期限となる時刻を示す。
 図13(b)は、ホスト構成情報T10の構成例を示す。ホスト構成情報T10は、ホスト名C100と、ホスト10が使用する仮想ボリューム220の識別子C101との関連を保持する。
 図14-図23を参照して、計算機システムで実行される処理の動作を説明する。図14は、管理サーバ30に入力される情報を管理サーバ30に登録するための情報登録処理を示すフローチャートである。
 入力情報登録処理プログラムP300は、ユーザから入力される情報を、アプリケーション定義情報T34の該当項目に保存する(S10)。ユーザから入力される情報としては、ホスト10で稼動するアプリケーションプログラムP10の識別子と、優先度と、タイプと、アプリケーションプログラムP10が稼動するホスト10の識別子とがある。なお、それら各項目の情報の一部または全部を、入力情報登録処理プログラムP330が他のコンピュータプログラム等から自動的に取得する構成でもよい。なお、以下では、説明の便宜上、入力情報登録処理プログラムP300を、登録プログラムP300と略記する場合がある。
 登録プログラムP300は、各階層211毎のデータ配置条件を、例えばユーザからの入力情報として受け取り、階層管理情報T30の対応する項目C302に保存する(S11)。
 登録プログラムP300は、各アプリケーションプログラムP10のうち、時間制約を有するバッチ処理のアプリケーションプログラムP10に関する情報を、例えばユーザからの入力情報として受け取り、バッチ処理定義情報T35に保存する(S12)。より詳しくは、登録プログラムP300は、アプリケーション定義情報T34に登録された各アプリケーションプログラムの中から、タイプC342が「バッチ処理」であり、かつ、タイムウインドウによる時間制約を有するアプリケーションプログラムの識別子と、そのアプリケーションプログラムの実行開始時間及び実行完了時間とを取得し、バッチ処理定義情報T35の対応する項目に保存する。
 登録プログラムP300は、例えば、アプリケーションプログラムP10を稼動させる全てのホストのそれぞれについて、S14の処理を行う(S13)。以下、処理対象のホスト10を対象ホストと呼ぶ。
 登録プログラムP300は、対象ホストの使用する仮想ボリュームの識別子を対象ホストから取得して、アプリケーション定義情報T34に保存する(S14)。詳しくは、登録プログラムP300は、対象ホストが利用する仮想ボリュームIDを対象ホストに問い合わせ、対象ホストからホスト構成情報T10を取得する。登録プログラムP300は、アプリケーション定義情報T34の該当する項目(ホスト名C344が対象ホストと同じエントリの仮想ボリュームID C343)に、仮想ボリュームの識別子を保存する(S14)。
 S10で登録するアプリケーションに関する定義情報と、S11で登録する階層再配置条件についての定義情報と、S12で登録するバッチ処理の実行条件(タイムウインドウ)に関する定義情報とは、ユーザが手動で入力してもよいし、または、管理サーバ30に予め与えられていてもよい。本実施例では、一例として、各定義情報をユーザが手動で入力する場合を説明する。
 構成管理プログラムP30は、上記の入力情報登録処理において、管理端末40に、図15に示すアプリケーション定義情報入力画面G10と、図16に示すバッチ処理情報入力画面G20と、図17に示す階層配置条件入力画面G30とを表示させる。それらの画面G10,G20,G30は、別々の画面として表示されてもよいし、または、一つの画面にまとめて表示されてもよい。
 図15に示す画面G10は、アプリケーション定義情報を管理サーバ30に登録するための例である。画面G10は、例えば、アプリケーション名入力部GP100と、ホスト名入力部GP101と、優先度入力部GP102と、アプリケーションタイプ入力部GP103と、登録ボタンGP104と、キャンセルボタンGP105とを備える。
 アプリケーション名入力部GP100は、管理対象のアプリケーションプログラムP10の名称を入力するための領域である。ホスト名入力部GP101は、アプリケーションプログラムを稼動させるホスト10の名称を入力する領域である。優先度入力部GP102は、アプリケーションプログラムの優先度を表す値を選択する領域である。アプリケーションタイプ入力部GP103は、アプリケーションプログラムのタイプを表す値を選択する領域である。
 アプリケーション名入力部GP100及びホスト名入力部GP101には、例えば、アプリケーション名称またはホスト名称を入力するためのテキストボックスを表示させることができる。ユーザは、そのテキストボックスに、アプリケーションプログラムの名称またはホストの名称を入力する。
 優先度入力部GP102には、複数の選択肢から一つの値を優先度として選択するためのプルダウンメニューを表示させることができる。優先度を表す値には、例えば「High」と「Low」がある。優先度は2値に限る必要はなく、3値以上の中から優先度を選択できる構成でもよい。
 アプリケーションタイプ入力部GP103には、複数の選択肢から一つの値をアプリケーションプログラムタイプとして選択するためのプルダウンメニューを表示させることができる。アプリケーションタイプを表す値には、例えば「トランザクション」と「バッチ」がある。
 ユーザは、画面G10に入力した内容で登録する場合、登録ボタンGP104を押す。入力内容を取り消す場合、ユーザは、キャンセルボタンGP105を押す。
 図16に示す画面G20は、バッチ処理定義情報を管理サーバ30に登録するための例である。画面G20は、例えば、アプリケーション名入力部GP200と、開始時刻入力部GP201と、終了時刻入力部GP202と、登録ボタンGP203と、キャンセルボタンGP204とを備える。
 アプリケーション名入力部GP200は、バッチ処理であるアプリケーションプログラムの名称を入力するための領域である。ユーザは、例えば、テキストボックス等を用いて、アプリケーションプログラムの名称を入力する。
 開始時刻入力部GP202は、アプリケーションプログラムの開始予定時刻を入力するための領域である。終了時刻入力部GP203は、アプリケーションの終了予定時刻を入力するための領域である。開始予定時刻から終了予定時刻までの期間は、タイムウインドウに該当する。
 プルダウンメニューに表示された複数の時刻の中から選択する構成でもよいし、または、テキストボックス等で時刻を入力する構成でもよい。
 ユーザは、画面G20に入力した内容で登録する場合、登録ボタンGP203を押す。入力内容を取り消す場合、ユーザは、キャンセルボタンGP204を押す。
 図17に示す画面G30は、各階層211にデータを配置するための条件を管理サーバ30に登録するための例である。画面G30は、例えば、配置条件入力部GP300と、登録ボタンGP301と、キャンセルボタンGP302とを備える。
 配置条件入力部GP300は、各階層にデータを配置するための条件を入力するための領域である。条件は、例えば、アクセス数(IOPS)で定義できる。図示の例では、上位階層211Aには、IOPSの値が100以上であるデータを配置でき(IOPS≧100)、中位階層211Bには、IOPSの値が30以上かつ100未満(30≦IOPS<100)のデータを配置でき、下位階層211Cには、IOPSの値が30未満(IOPS<30)のデータを配置できるように、条件が設定されている。換言すれば、各階層への配置条件とは、各階層が許容するアクセス回数である。
 ユーザは、画面G30に入力した内容で登録する場合、登録ボタンGP301を押す。入力内容を取り消す場合、ユーザは、キャンセルボタンGP302を押す。
 ユーザが、画面G10、画面G20、および、画面G30を用いて情報を入力し、登録ボタンを押すと、入力情報登録処理プログラムP300は、入力された情報を、それぞれ対応する定義情報に登録する。画面G10に入力された情報は、図12に示すアプリケーション定義情報T34に登録される。画面G20に入力された情報は、図13(a)に示すバッチ処理定義情報T35に登録される。画面G30に入力された情報は、図11に示す階層管理情報T30に登録される。
 図18は、性能情報取得処理を示すフローチャートである。本処理は、性能情報取得処理プログラムP301により実行される。以下の説明では、性能情報取得処理プログラムP301を、情報取得プログラムP301と呼ぶ場合がある。
 情報取得プログラムP301は、管理サーバ30に保持されている仮想ボリューム管理情報T33のIOPS C334のデータと再配置先判定結果C335のデータとを全て削除する(S20)。
 情報取得プログラムP301は、全ての仮想ボリューム220の全ての仮想領域(VSEG)221について、S22,S23,S24の各処理を実行する(S21)。以下、処理対象の仮想領域221を対象仮想領域と呼ぶ。
 構成管理プログラムP30は、ストレージ装置20で保持されている仮想ボリューム管理情報T22から、対象仮想領域に対応する、アクセス数C224の値と、モニタリング期間C225の値とを取得する(S22)。例えば、構成管理プログラムP30は、ストレージ装置20に、対象仮想領域に対応するアクセス数の情報を要求するリクエストを送信する。そのリクエストは、対象仮想領域221を特定するための仮想領域ID(図7のC221)を含む。
 情報取得プログラムP301は、対象仮想領域のアクセス数とモニタリング期間とから、単位時間当たりの平均値(単位はIOPS)を計算する(S23)。情報取得プログラムP301は、算出されたアクセス数の平均値を、管理サーバ側の仮想ボリューム管理情報T33のIOPS C334の該当エントリに登録する(S24)。
 図19は、データを再配置するための処理を示すフローチャートである。本処理は、再配置処理プログラムP302により実行される。以下、再配置処理プログラムP302を、再配置プログラムP302と略す場合がある。
 再配置プログラムP302は、アプリケーション定義情報T34に登録されている全てのアプリケーションプログラムについて、S31の処理を行う(S30)。以下、処理対象のアプリケーションプログラムを対象アプリケーションプログラムと呼ぶ。
 再配置プログラムP302は、対象アプリケーションプログラムP302が利用する全ての仮想ボリューム内の全ての仮想領域について、それら仮想領域に割り当てるべき階層を決定し、仮想ボリューム管理情報T33に登録する(S31)。
 具体的には、再配置プログラムP302は、対象仮想領域に対応するIOPS(平均アクセス数)C334の値を取得し、その値を含む配置条件(アクセス許容範囲)に対応する階層のIDを、階層管理情報T30から取得する。
 再配置プログラムP302は、取得した階層ID(図11のC300)を、対象仮想領域のデータを配置すべき階層として、仮想ボリューム管理情報T33の再配置先判定結果C335に記録する。
 仮想ボリューム管理情報T33の再配置先判定結果C335に記録された階層IDは、対象仮想領域に現在割り当てられている実領域を含む階層の階層IDと一致する場合もあるし、異なる場合もある。
 再配置プログラムP302は、高優先度のトランザクション処理により使用されている各仮想領域について再配置処理を実行する(S32)。即ち、再配置プログラムP302は、高い優先度を有し、かつ、アプリケーションタイプが「トランザクション処理」である、アプリケーションプログラムにより使用されている仮想ボリュームに含まれる全ての仮想領域について、それら仮想領域に対応付ける階層を見直す(S32)。
 再配置プログラムP302は、時間制約を有するバッチ処理により使用されている各仮想領域について再配置処理を実行する(S33)。つまり、再配置プログラムP302は、時間制約が設定されており、かつ、アプリケーションタイプが「バッチ処理」である、アプリケーションプログラムにより使用されている仮想ボリュームに含まれる全ての仮想領域について、それら仮想領域に対応付ける階層を見直す(S33)。
 再配置プログラムP302は、その他のアプリケーションプログラムにより利用されている各仮想領域について再配置処理を実行する(S34)。その他のアプリケーションプログラムとは、高優先度を有し、かつ、トランザクション処理である第1アプリケーションプログラムP10(1)、または、時間制約を有するバッチ処理である第2アプリケーションプログラムP10(2)のいずれにも該当しない、アプリケーションプログラムP10(3)である。例えば、優先度が高くないトランザクション処理、時間制約の設定されていないバッチ処理は、その他のアプリケーションプログラムに該当する。
 再配置プログラムP302は、ストレージ装置20に対して、S32,S33,S34で更新された結果を仮想ボリューム管理情報T33から取得して、ストレージ装置側の仮想ボリューム管理情報T22の内容を更新するように、指示する(S35)。
 ストレージ装置20のストレージ制御プログラムP20は、再配置プログラムP302からの指示を受信すると、管理サーバ側の仮想ボリューム管理情報T33から情報を取得する。ストレージ制御プログラムP20は、それら取得した情報に基づいて、ストレージ装置20側の仮想ボリューム管理情報T22を更新する。
 S32の処理内容は、図20で説明する。S33の処理内容は図21で説明する。S34の処理内容は、S32の処理内容とほぼ同一であるため説明を省略する。図20に示す各ステップ内の「高優先度トランザクション処理」を「その他アプリケーションプログラム」に置き換えれば、S34の処理内容となる。
 図20は、優先度の高いトランザクション処理に関する再配置処理を示すフローチャートである。本処理は、図19のS32の一例である。
 再配置プログラムP302は、高優先度のトランザクション処理である各アプリケーションプログラムが使用する各仮想ボリュームに属する全ての仮想領域について、S41-S46の処理を実行する(S40)。再配置プログラムP302は、各仮想領域をIOPSの高い順番に処理する。
 再配置プログラムP302は、対象仮想領域に現在割り当てられている実領域に対応する階層のIDと、対象仮想領域に対応する再配置先判定結果(図10のC335)の値とが一致するか否かを判定する(S41)。以下、対象仮想領域に現在割り当てられている実領域を含む階層を、配置元階層と呼ぶ場合がある。再配置先判定結果に登録されている階層を、再配置先階層と呼ぶ場合がある。
 具体的には、再配置プログラムP302は、実領域管理情報T32を用いて、対象仮想領域に現在割り当てられている実領域IDを検出し、その実領域IDを含むRAIDグループのIDを特定する。再配置プログラムP302は、RAIDグループ管理情報T31を用いて、特定されたRAIDグループC310に対応するデバイスタイプC311およびRAIDレベルC312を取得する。再配置プログラムP302は、階層管理情報T30を用いて、デバイスタイプまたは/およびRAIDレベルの一致する性能要件C301を有する階層のID C300を特定する。再配置プログラムP302は、特定された階層ID(配置元階層のID)と、再配置先判定結果C335に記憶された階層ID(再配置先階層のID)とが一致するか否かを判定する(S41)。
 対象仮想領域に対応付けられている配置元階層のIDと再配置先の階層IDとが一致する場合(S41:YES)、対象仮想領域のデータを移行させる必要はない。従って、ループを抜ける。
 対象仮想領域の配置元階層のIDと再配置先階層のIDとが不一致の場合(S41:NO)、再配置プログラムP302は、再配置先階層内に空き領域が有るか否かを判定する(S42)。空き領域とは、階層内の実領域のうち仮想ボリュームに割り当てられていない実領域であり、未割当て領域または未使用実領域と呼ぶこともできる。
 再配置先階層に空き領域が有る場合(S42:YES)、後述のS43に移行する。再配置先階層に空き領域が無い場合(S42:NO)、後述のS44に移る。
 次に、S43の処理内容を説明する。再配置プログラムP302は、対象仮想領域に現在割り当てられている実領域に代えて、再配置先階層内の未使用の実領域を割り当てる(S43)。配置元階層に属する実領域は、データ移行元の実領域である。便宜上、移行元実領域と呼ぶことがある。再配置先階層に属する未使用の実領域は、データ移行先の実領域である。便宜上、移行先実領域と呼ぶことがある。
 具体的には、再配置プログラムP302は、管理サーバ側の実領域管理情報T32を用いて、移行元実領域のIDに対応する割当て状況の値を「未割当て」に更新し、さらに、移行先実領域のIDに対応する割当て状況の値を「割当済み」に更新する。
 本実施例では、実領域と仮想領域とは同一サイズとなるように管理されている。従って、本実施例では、データ移行時に、移行元実領域のサイズと移行先実領域のサイズとが一致するか否かを考慮する必要はない。
 再配置プログラムP302は、仮想ボリューム管理情報T33の、対象仮想領域に対応する実領域ID C333の値を、移行先実領域のIDに更新する。
 再配置プログラムP302は、移行元実領域から移行先実領域にデータを移行するように、ストレージ装置20に指示する。
 ストレージ装置20のストレージ制御プログラムP20は、再配置プログラムP302からの指示を受信すると、移行元実領域から移行先実領域にデータを移行する。
 なお、S43を実行すると、他の仮想ボリュームの性能に影響を及ぼす場合がある。例えば、或る仮想ボリュームの再配置処理を行った結果、上位階層の未割当て実領域を全て使い切ってしまう場合がある。この場合、他の仮想ボリューム内の仮想領域には、上位階層内の未割当て実領域を割り当てることができない。
 従って、上位階層内の実領域を割り当てるべきと判定された仮想領域が存在する場合、後述するS45の処理のように、上位階層内の実領域が割り当てられている他の仮想領域とデータを入れ替えたり、または、性能が近い他の階層(例えば中位階層)の実領域を割り当てたりすることとなる。このため、性能に影響を及ぼす可能性がある。
 このような事態に対処するためには、例えば、再配置処理において、対象仮想ボリュームの仮想領域に新たな実領域を割り当てるのではなく、常に、対象仮想ボリューム内の他の仮想領域で使用されている実領域と入れ替えることが考えられる。つまり、対象仮想ボリュームの或る仮想領域に割り当てられている上位階層の実領域を、対象仮想ボリューム内の他の仮想領域に割り当てるようにしてもよい。簡単に言えば、対象仮想ボリュームに割当済みの上位階層の実領域を、対象仮想ボリューム内で融通する。
 未割当ての実領域を再配置処理で使用するか否かは、例えば、各階層内の未割当ての実領域の個数または/および割合によって、再配置プログラムP302が判断する。
 具体的には、再配置プログラムP302は、S42の処理において、再配置先階層内に未割当て実領域が存在した場合でも、その個数が再配置先階層内の全実領域数の1割よりも少ない場合は、S44の処理に移行する。
 S44の処理内容を説明する。再配置プログラムP302は、対象仮想領域に割り当てられている実領域とデータを入れ替え可能な実領域が、再配置先階層内に存在するか否かを判定する(S44)。これを便宜上、入れ替え可能な仮想領域が再配置先階層に存在するか否か、と表現する場合がある。
 具体的には、再配置プログラムP302は、実領域管理情報T32及び仮想ボリューム管理情報T33を参照し、再配置先階層内の割当済の実領域の中から、その実領域が割り当てられている仮想領域に対応する再配置先判定結果が、配置元階層と一致するものが存在するか否かを判定する。例えば、中位階層から上位階層にデータを移行させる場合に、上位階層の割当済み実領域に対応する仮想領域のうち、中位階層への移行が予定されている仮想領域が有るか否かを判定する。
 入れ替え可能な実領域が存在する場合(S44:YES)、S45に移行する。入れ替え可能な実領域が存在しない場合(S44:NO)、S46に移行する。
 S45の内容を説明する。再配置プログラムP302は、対象仮想領域に割り当てられている実領域(以下、入れ替え元実領域)と、再配置先階層が有する割当済実領域(以下、入れ替え先実領域)との間で、仮想領域への割り当て状況を入れ替える(S45)。
 具体的には、再配置プログラムP302は、仮想ボリューム管理情報T33の実領域ID C333のうち、入れ替え元実領域のIDが格納されているエントリに、入れ替え先実領域のIDを格納する。さらに、再配置プログラムP302は、仮想ボリューム管理情報T33の実領域ID C333のうち、入れ替え先実領域のIDが格納されているエントリに入れ替え元実領域のIDを格納する。
 再配置プログラムP302は、入れ替え元実領域と入れ替え先実領域の間でデータを入れ替えるように、ストレージ装置20に指示する。ストレージ装置20のストレージ制御プログラムP20は、再配置プログラムP302からの指示を受信すると、指定された各実領域間でデータを入れ替る。
 例えば、ストレージ制御プログラムP20は、下記の処理を行うことによりデータを入れ替えることができる。なお、下記処理のキャッシュメモリ領域に代えて、ストレージ装置20が有する未割当て実領域をキャッシュメモリ領域として使用してもよい。
 手順1:ストレージ制御プログラムP20は、入れ替え元実領域内のデータをキャッシュメモリ領域にコピーする。
 手順2:ストレージ制御プログラムP20は、入れ替え先実領域内のデータをキャッシュメモリ領域にコピーする。
 手順3:ストレージ制御プログラムP20は、入れ替え元実領域のデータをキャッシュメモリ領域から入れ替え先実領域に書き込む。
 手順4:ストレージ制御プログラムP20は、入れ替え先実領域のデータをキャッシュメモリ領域から入れ替え元実領域に書き込む。
 再配置先階層が入れ替え可能な実領域を有していない場合(S44:NO)、再配置プログラムP302は、再配置先階層に性能が最も近い他の階層内の未割当の実領域に、対象仮想領域に割り当てられている実領域内のデータを移行させる(S46)。さらに、再配置プログラムP302は、仮想ボリューム管理情報T33と実領域管理情報T32とを更新して処理を終了する。未処理の仮想領域が有る場合、S41に戻る。
 図21は、時間制約を有するバッチ処理に関する再配置処理を示すフローチャートである。本処理は、図19のS33の一例である。図20との相違を中心に説明する。
 再配置プログラムP302は、バッチ処理定義情報T35に登録されている各アプリケーションプログラムにより使用される全ての仮想ボリュームに属する全ての仮想領域に対して、S51~S56の処理を行う(S50)。再配置処理プログラムP302は、各仮想領域を、アクセス数の平均値(IOPS)C334の値が高い順に処理する。
 再配置プログラムP302は、対象仮想領域に現在割り当てられている実領域に対応する階層のIDが、各階層211A,211B,211Cのうち最上位の階層211AのIDに一致するか否かを判定する(S51)。最上位階層211AのIDは、階層管理情報T30から取得できる。本実施例では、上位階層211Aが最上位階層に該当する。
 対象仮想領域に対応付けられている配置元階層のIDが最上位の階層のIDである場合(S51:YES)、対象仮想領域のデータを移行させる必要はない。従って、処理は終了する。
 これに対し、対象仮想領域の配置元階層のIDが最上位階層のIDではない場合(S51:NO)、再配置プログラムP302は、最上位階層内に空き領域が有るか否かを判定する(S52)。
 最上位階層に空き領域が有る場合(S52:YES)、後述のS53に移行する。これに対し、最上位階層に空き領域が無い場合(S52:NO)、後述のS54に移る。
 S53を説明する。再配置プログラムP302は、対象仮想領域に現在割り当てられている実領域に代えて、最上位階層内の未使用の実領域を割り当てる(S53)。配置元階層に属する実領域は、データ移行元の実領域である。便宜上、移行元実領域と呼ぶことがある。最上位階層に属する未使用の実領域は、データ移行先の実領域である。便宜上、移行先実領域と呼ぶことがある。
 具体的には、再配置プログラムP302は、管理サーバ側の実領域管理情報T32を用いて、移行元実領域のIDに対応する割当て状況の値を「未割当て」に更新し、さらに、移行先実領域のIDに対応する割当て状況の値を「割当済み」に更新する。
 再配置プログラムP302は、仮想ボリューム管理情報T33の、対象仮想領域に対応する実領域ID C333の値を、移行先実領域のIDに更新する。
 再配置プログラムP302は、移行元実領域から移行先実領域にデータを移行するように、ストレージ装置20に指示する。ストレージ装置20のストレージ制御プログラムP20は、再配置プログラムP302からの指示を受信すると、移行元実領域から移行先実領域にデータを移行する。
 S54を説明する。再配置プログラムP302は、対象仮想領域に割り当てられている実領域とデータを入れ替え可能な実領域が、最上位階層内に存在するか否かを判定する(S54)。
 具体的には、再配置プログラムP302は、実領域管理情報T32及び仮想ボリューム管理情報T33を参照し、最上位階層内の割当済の実領域の中から、その実領域が割り当てられている仮想領域に対応する再配置先判定結果が、配置元階層と一致するものが存在するか否かを判定する。
 入れ替え可能な実領域が存在する場合(S54:YES)、S55に移行する。入れ替え可能な実領域が存在しない場合(S54:NO)、S56に移行する。
 S55を説明する。再配置プログラムP302は、対象仮想領域に割り当てられている実領域(以下、入れ替え元実領域)と、最上位階層が有する割当済実領域(以下、入れ替え先実領域)との間で、仮想領域への割り当て状況を入れ替える(S55)。
 再配置プログラムP302は、入れ替え元実領域と入れ替え先実領域の間でデータを入れ替えるように、ストレージ装置20に指示する。ストレージ制御プログラムP20は、再配置プログラムP302からの指示を受信すると、指定された各実領域間でデータを入れ替る。
 最上位階層が入れ替え可能な実領域を有していない場合(S54:NO)、再配置プログラムP302は、現在の階層(配置元階層)よりも性能の高い階層に、対象仮想領域のデータを移行させる(S56)。再配置プログラムP302は、仮想ボリューム管理情報T33と実領域管理情報T32とを更新して処理を終了する。未処理の仮想領域が有る場合、S51に戻る。
 S56では、再配置処理プログラムP302は、配置元階層よりも上位の階層内に未割当ての実領域が有るか、または、入れ替え可能な実領域が有る場合のいずれかの場合に、対象仮想領域に割り当てられている実領域内のデータを、未割当て実領域または入れ替え先実領域に移行させる。データの移行方法、入れ替え方法の詳細な例は、図20で述べたので、図21では説明を省略する。
 図22は、リード処理を示すフローチャートである。本処理は、ストレージ装置20のストレージ制御プログラムP20により実行される。
 ストレージ制御プログラムP20は、リード要求(リードコマンド)をホスト10から受信する(S60)。ストレージ制御プログラムP20は、リード要求が有するアクセス先情報を基に、データの読出し対象である仮想領域(以下、リード対象仮想領域)を特定する(S61)。
 ストレージ制御プログラムP20は、リード対象データがキャッシュメモリ上に存在するか否かを判断する(S62)。
 リード対象データがキャッシュメモリ上にある場合(S62:YES)、ストレージ制御プログラムP20は、キャッシュメモリ上のリード対象データを、ホスト10に送信する(S63)。
 リード対象データがキャッシュメモリ上に無い場合(S62:NO)、ストレージ制御プログラムP20は、仮想ボリューム管理情報T22に基づいて、S61で特定されたリード対象仮想領域に割り当てられている実領域(以下、リード対象実領域)を特定する(S65)。
 ストレージ制御プログラムP20は、リード対象実領域からデータを読み出し、そのデータをキャッシュメモリに書き込む(S66)。さらに、ストレージ制御プログラムP20は、キャッシュメモリに書き込んだデータをホスト10に送信する(S63)。
 最後に、ストレージ制御プログラムP20は、仮想ボリューム管理情報T22において、リード対象仮想領域に対応するアクセス数C224の値を更新する(S67)。
 図23は、ライト処理を示すフローチャートである。本処理は、ストレージ制御プログラムP20により実行される。
 ストレージ制御プログラムP20は、ライト要求をホスト10から受信すると(S70)、ライト要求が有するアクセス先情報を基に、データを書き込む先の仮想領域(ライト対象仮想領域)を特定する(S71)。
 ストレージ制御プログラムP20は、ライト対象仮想領域に実領域が割り当てられているか否かを判断する(S72)。具体的には、ライト対象仮想領域が仮想ボリューム管理情報T22に登録されているか否かを判断する。
 ライト対象仮想領域に実領域が割り当てられている場合(S72:YES)、ストレージ制御プログラムP20は、ライト対象データを、ライト対象仮想領域に割り当てられている実領域に書き込む(S73)。
 ライト対象仮想領域に実領域が割り当てられていない場合(S72:NO)、ストレージ制御プログラムP20は、ライト対象仮想領域に割り当て可能な、未割当の実領域が存在するか否かを判断する(S75)。具体的には、ストレージ制御プログラムP20は、実領域管理情報T21の割当状況C213が「未割当て」に設定されている実領域が存在するか否かを判断する。
 ライト対象仮想領域に未割当の実領域が存在する場合(S75:YES)、ストレージ制御プログラムP20は、ライト対象仮想領域に未割当の実領域を割り当てて、ライト対象データをその実領域に書き込む(S76)。
 ライト対象仮想領域に未割当の実領域が存在しない場合(S75:NO)、ストレージ制御プログラムP20は、ホスト10にエラーを送信する(S77)。
 最後に、ストレージ制御プログラムP20は、仮想ボリューム管理情報T22において、ライト対象仮想領域に対応するアクセス数C224の値を更新する(S74)。
 このように構成される本実施例では、優先度の高いトランザクション処理に関する仮想領域への実領域の割当てを見直し、次に、時間制約を有するバッチ処理に関する仮想領域への実領域の割当てを見直す。
 従って、本実施例では、優先度の高いトランザクション処理と時間制約を有するバッチ処理とが、性能の異なる複数階層211を有するプール210を利用する場合に、優先度の高いトランザクション処理の性能要件と、バッチ処理に設定された時間制約との両方を、満たすことができる。
 本実施例では、性能の異なる各階層の記憶領域を所定サイズの実領域単位で仮想ボリューム内の仮想領域に割り当てるため、各階層の記憶領域を効率的に使用することができ、ストレージ装置20のコストを低減できる。
 図24-図32を参照して第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当する。従って、第1実施例との相違を中心に説明する。
 第2実施例では、バッチ処理の完了に要する時間を予測し、そのバッチ処理が制限時間(時間制約)内に完了しないと判定された場合、ユーザに通知する。
 本実施例による構成管理プログラムP30は、第1実施例で述べた各処理(入力情報登録処理、性能情報取得処理、再配置処理)に加えて、再配置計画を作成する処理(図29)と、バッチ処理時間を見積もる処理(図30)とを実行する。図示は省略するが、本実施例の構成管理プログラムP30内には、再配置計画を作成する処理プログラム(もし符号を付けるならP303)と、バッチ処理時間を見積もる処理プログラム(もし符号を付けるならP304)とを設けることができる。
 詳細は後述するが、再配置計画作成処理では、優先度が高く、かつ、アプリケーションタイプがトランザクション処理であるアプリケーションプログラムが利用する仮想領域の再配置先をまず決定し、次に、時間制約を有し、かつ、アプリケーションタイプがバッチ処理であるアプリケーションプログラムが利用する仮想領域の再配置先を決定し、決定した再配置先を管理サーバ側仮想ボリューム管理情報T33に記録する。
 本実施例の再配置処理は、仮想ボリューム管理情報T33に記録された再配置先判定結果に従って、各仮想領域のデータを再配置する。
 本実施例のバッチ処理時間見積もり処理は、バッチ処理を行うアプリケーションプログラムが利用する仮想領域を、再配置計画作成処理で決定された再配置先に移動した場合における、バッチ処理の実行に要する時間を予測する。さらに、バッチ処理時間見積もり処理は、予測した時間が、バッチ処理に設定された時間制約を満たさない場合、ユーザに通知する。
 図24は、本実施例による仮想ボリューム管理情報T22(2)を示す。図24に示す仮想ボリューム管理情報T22(2)は、図7に示す仮想ボリューム管理情報T22と共通の項目C220-C223,C225,C226を有する。仮想ボリューム管理情報T22(2)は、図7に示す項目C224に代えて項目C224A,C224Bを備え、さらに、新規な項目C227,C228を備える。
 相違点を説明する。リードアクセス数C224Aは、仮想領域に対するリードアクセスの回数を記録する。リードアクセス回数とは、リード要求を受領した回数である。ライトアクセス数C224Bは、仮想領域に対するライトアクセスの回数を記録する。ライトアクセス回数は、ライト要求を受領した回数である。
 合計リード時間C227は、仮想領域に対するリード時間の合計値を記録する。合計リード時間は、ストレージ装置20が各リード処理に要した時間の合計値である。リード処理に要した時間とは、リード要求の応答時間である。リード要求の応答時間とは、ホストからのリード要求を受け付けてから、ホストにリード対象データを送信するまでに要した時間である。
 合計ライト時間C228は、仮想領域に対するライト時間の合計値を記録する。合計ライト処理時間とは、ストレージ装置20がライト処理に要した時間の合計値である。ライト処理に要した時間とは、ライト要求の応答時間である。ライト処理の応答時間とは、ホストからのライト要求を受け付けてから、ライト対象データをライト対象仮想領域に割り当てられている実領域に書きこむまでの所要時間である。
 図25は、管理サーバ側の仮想ボリューム管理情報T33(2)を示す。図25に示す仮想ボリューム管理情報T33(2)は、図10に示す仮想ボリューム管理情報T33に比べて、項目C330-C335が共通する。さらに、仮想ボリューム管理情報T33(2)は、新規な項目C336,C337,C338を備える。
 リードアクセス数C336は、図24のリードアクセス数C224Aと同様である。ライトアクセス数C337は、図24のライトアクセス数C224Bと同様である。再配置先C338は、再配置先判定結果C335の値に基づいて実際にデータが再配置される先の階層を記録する。
 図26は、本実施例による階層管理情報T30(2)を示す。図26に示す階層管理情報T30(2)は、図11に示す階層管理情報T30と共通する項目C300,C301,C302を有し、さらに、新規な項目C303及びC304を備える。
 性能値C303は、各階層に属する実領域の性能値に関する実績値を記憶する。性能値には、例えば、平均リード応答時間と、平均ライト応答時間とが含まれる。平均リード応答時間は、階層に属する実領域に対するリード要求の応答時間の平均値である。平均ライト応答時間は、階層に属する実領域に対するライト要求の応答時間の平均値である。
 空き領域数C304は、その階層に属する各実領域のうち、未割当ての実領域の個数を記録する。
 図27は、バッチ処理定義情報T35(2)を示す。本実施例によるバッチ処理定義情報T35(2)は、図13(a)に示すバッチ処理定義情報T35と共通する項目C350,C351を備え、さらに、新規な項目C352を有する。
 予測所要時間C352は、バッチ処理の完了に要すると予測される時間を記録する。つまり、予測所要時間C352は、次回のバッチ処理の開始から完了までにかかる時間の予測値である。
 本実施例の処理内容を説明する。本実施例では、第1実施例で述べたリード処理(図22)及びライト処理(図23)において、応答時間を計測する。図示は省略するが、リード要求をホスト10から受領した時に第1タイマをスタートさせ、ホスト10にリード対象データを送信した時に第1タイマをストップさせる。第1タイマにより計測された値が、リード要求の応答時間となる。同様に、ライト要求をホスト10から受領した時に第2タイマをスタートさせ、ライト要求の処理を完了した時に第2タイマを停止させる。第2タイマで計測された値が、ライト要求の応答時間となる。なお、ライト要求の処理が完了した時とは、ライト対象データを、ライト対象仮想領域に対応する実領域に書き込んだ時点である。
 本実施例では、リードアクセス数を計測し、合計リード時間を算出する。同様に、ライトアクセス数を計測し、合計ライト時間を算出する。合計リード時間を算出する処理は、リード処理の中で実行してもよいし、リード処理とは別に実行してもよい。同様に、合計ライト時間を算出する処理は、ライト処理の中で実行してもよいし、ライト処理とは別に実行してもよい。
 図28は、本実施例による性能情報取得処理のフローチャートである。本処理は、管理サーバ30の有する性能情報取得処理プログラムP301により実行される。ここでは、性能情報取得処理プログラムP301を、情報取得処理プログラムP301と呼ぶ。
 情報取得プログラムP301は、管理サーバ30に保持されている仮想ボリューム管理情報T33(2)のうち、所定項目の値を全て削除する(S80)。所定項目には、リードアクセス数C336と、ライトアクセス数C337と、平均アクセス数(IOPS)C334と、再配置先判定結果C335と、再配置先C338とがある。
 情報取得プログラムP301は、全ての仮想ボリューム220の全ての仮想領域(VSEG)221について、S82,S83,S84の各処理を実行する(S81)。
 構成管理プログラムP30は、ストレージ装置20で保持されている仮想ボリューム管理情報T22(2)から、対象仮想領域に対応する、リードアクセス数C224Aの値と、ライトアクセス数224Bの値と、モニタリング期間C225の値とを、それぞれ取得する(S82)。
 情報取得プログラムP301は、対象仮想領域のリードアクセス数とライトアクセス数及びモニタリング期間から、単位時間当たりの平均値(単位はIOPS)を計算する(S83)。情報取得プログラムP301は、算出されたアクセス数の平均値を、管理サーバ側の仮想ボリューム管理情報T33(2)のIOPS C334の該当エントリに登録する(S84)。
 さらに、情報取得プログラムP301は、全ての階層211について、S86及びS87の処理を実行する(S85)。
 情報取得プログラムP301は、ストレージ装置20の有する仮想ボリューム管理情報T22(2)から、対象階層内の実領域に対応付けられている仮想領域へのリードアクセス数C224A及びライトアクセス数C224Bと、合計リード時間C227及び合計ライト時間C228とを取得する(S86)。
 情報取得プログラムP301は、リード要求の平均応答時間と、ライト要求の平均応答時間とを算出する(S87)。具体的には、合計リード時間をリードアクセス数で割ることにより、平均リード応答時間を求めることができる。同様に、合計ライト時間をライトアクセス数で割ることにより、平均ライト応答時間を求めることができる。
 図29は、再配置計画を作成する処理のフローチャートである。第1実施例では、その再配置処理を実行することにより、各仮想領域毎に、データを再配置させる。これに対し、本実施例では、バッチ処理に要する時間を予測するために、データ再配置を事前にシミュレートする。そのシミュレーションの結果、時間制約を守ることができないと判断した場合は、ユーザに通知する。
 本実施例では、バッチ処理の予測所要時間を算出するために必要な範囲で、データ再配置をシミュレートする。つまり、高優先度のトランザクション処理を実行するアプリケーションプログラムが使用する各データの再配置と、時間制約を有するバッチ処理を実行するアプリケーションプログラムが使用する各データの再配置のみをシミュレートする。その他のアプリケーションプログラムで使用される各データの再配置をシミュレートする必要はない。
 本実施例では、各仮想領域の最終的な再配置先は、仮想ボリューム管理情報T33(2)の再配置先判定結果C335に記録される。データ再配置のシミュレーション結果は、再配置先C338に記録される。
 本実施例では、バッチ処理に要する時間を予測するために使用される再配置計画作成処理(図29)と、実際にデータを階層間で再配置させるための再配置処理(図31)とは、リンクさせていない。つまり、再配置計画作成処理で作成された計画は、バッチ処理の所要時間を予測するためだけに使用される。仮想領域毎にデータを実際に再配置するときは、その時点で、再配置先を決定する。これにより、再配置計画を作成する処理と再配置処理とを分けて作成でき、プログラム構成を簡素化できる。但し、これに限らず、再配置計画作成処理と再配置処理とをリンクさせ、再配置計画作成処理で作成された再配置計画に基づいて再配置を行う構成でもよい。
 図29の処理は、構成管理プログラムP30により実行される。便宜上、構成管理プログラムP30を管理プログラムP30と略して説明する。
 管理プログラムP30は、仮想ボリューム管理情報T33(2)の、再配置先判定結果C335の値及び再配置先C338の値をそれぞれ消去する(S90)。
 さらに、管理プログラムP30は、階層管理情報T30(2)の空き実領域数C304の値を消去した後で、仮想領域に割り当てられていない実領域の数を検出してC304に記載する(S90)。
 管理プログラムP30は、全てのアプリケーションプログラムについて、S92の処理を実行する(S91)。管理プログラムP30は、対象アプリケーションプログラムが利用している全ての仮想ボリューム内の各仮想領域毎に、その仮想領域のデータが配置されるべき階層をアクセス数に基づいて決定する(S92)。決定された階層IDは、仮想ボリューム管理情報T33(2)の再配置先判定結果C335に記録される。
 次に、管理プログラムP30は、高い優先度を有するトランザクション処理である、アプリケーションプログラムの使用する各仮想領域の再配置先を決定する(S93)。S93では、高優先度のトランザクション処理に使用されている各仮想領域を、IOPSの大きい順番に、以下のように処理する。
 (A1)対象仮想領域のデータが現在属している階層のIDと、再配置先判定結果C335に記録されている階層IDとが一致するか否かを判定する。一致する場合はA2に移行し、一致しない場合はA3に移行する。ここでは、再配置先判定結果C335に記録されている階層を対象階層と呼ぶ。
 (A2)管理プログラムP30は、対象仮想領域について、仮想ボリューム管理情報T33(2)の再配置先C338に、対象階層のIDを記録する。
 (A3)管理プログラムP30は、階層管理情報T30(2)を参照し、対象階層に空き実領域が有るか否かを判定する。空き実領域が有る場合は、A4に移行する。空き実領域が無い場合は、A5に移行する。
 (A4)管理プログラムP30は、対象仮想領域について、再配置先C338に対象階層のIDを設定する。さらに、管理プログラムP30は、階層管理情報T30(2)において、対象階層IDに関する空き実領域数C304の値を1つ減少させる。
 (A5)管理プログラムP30は、再配置先判定結果C335に記録された階層が、入れ替え可能な実領域を有しているか否かを判定する。実領域を入れ替え可能な場合、A6に移行する。実領域を入れ替えできない場合、A7に移行する。
 (A6)管理プログラムP30は、対象仮想領域に対応する実領域と入れ替え可能な実領域を有する仮想領域について、対象仮想領域の再配置先C338に、対象階層IDを設定する。
 (A7)管理プログラムP30は、対象仮想領域について、再配置先C338に、対象階層に性能が最も近い他の階層のIDを設定する。詳しくは、空き実領域を有する階層のうち対象階層に性能の最も近い階層のIDが、対象仮想領域の再配置先C338に設定される。
 A1からA7までの各ステップを各対象仮想領域毎に繰り返すことにより、高優先度のトランザクション処理で使用されている各仮想領域の配置先をシミュレートできる。
 次に、管理プログラムP30は、時間制約を有するバッチ処理である、アプリケーションプログラムの使用する各仮想領域の再配置先を決定する(S94)。S94では、管理プログラムP30は、各対象仮想領域を、アクセス数の平均値(IOPS)C334の値が高い順に、以下のように処理する。
 (B1)管理プログラムP30は、対象仮想領域のデータが現在配置されている階層のIDが最上位階層のIDと一致するか否かを判定する。一致する場合はB2に移行し、一致しない場合はB3に移行する。
 (B2)管理プログラムP30は、対象仮想領域ついて、再配置先C338に最上位階層のIDを設定する。
 (B3)管理プログラムP30は、対象仮想領域のデータが現在配置されている階層よりも上位の階層に空き実領域が有るか否かを判定する。空き実領域が有る場合はB4に移行し、無い場合はB5に移行する。
 (B4)管理プログラムP30は、対象仮想領域ついて、再配置先C338に、上位階層のIDを設定する。さらに、管理プログラムP30は、階層管理情報T30(2)において、その上位階層の空き実領域数C304の値を1つ減少させる。
 (B5)管理プログラムP30は、対象仮想領域のデータが現在配置されている階層よりも上位の階層内に入れ替え可能な実領域が有るか否かを判定する。入れ替え可能な実領域が有る場合はB4に移行し、無い場合はB6に移行する。
 (B6)管理プログラムP30は、空き実領域を有する階層のうち最も性能の高い階層のIDを、対象仮想領域の再配置先C338に設定し、設定された階層IDに関する空き実領域数C304の値を1つ減少させる。
 B1からB6までの各ステップを各対象仮想領域毎に繰り返すことにより、時間制約を有するバッチ処理で使用されている各仮想領域の配置先をシミュレートできる。以上のシミュレーション結果を利用して、管理プログラムP30は、バッチ処理に要する時間を予測する。
 図30は、バッチ処理の所要時間を見積もる処理を示すフローチャートである。管理プログラムP30は、管理サーバ側の仮想ボリューム管理情報T33(2)のリードアクセス数C336及びライトアクセス数C337の情報と、階層管理情報T30(2)の平均リード応答時間及び平均ライト応答時間の情報とから、バッチ処理の完了に要する時間を見積もる。
 管理プログラムP30は、バッチ処理定義情報T35(2)の予測所要時間C352の値を消去する(S100)。管理プログラムP30は、バッチ処理定義情報T35(2)に登録されている、時間制約を持つ全てのアプリケーションプログラムについて、S102の処理を実施する(S101)。処理対象のアプリケーションプログラムを対象アプリケーションプログラムと呼ぶ。
 管理プログラムP30は、対象アプリケーションプログラムが利用する各仮想領域へのアクセス回数C334と、各仮想領域に対応する各実領域の平均応答時間C303とに基づいて、対象アプリケーションプログラムの処理を開始してから完了するまでの所要時間を見積もる(S102)。
 例えば、管理プログラムP30は、仮想領域のリードアクセス数C336に、その仮想領域に対応する実領域が属する階層の平均リード応答時間を乗じる。同様に、管理プログラムP30は、仮想領域のライトアクセス数C337に、その仮想領域に対応する実領域が所属する階層の平均ライト応答時間を乗じる(=ライトアクセス数×平均ライト応答時間)。管理プログラムP30は、リードに要する時間(=リードアクセス数×平均リード応答時間)と、ライトに要する時間(=ライトアクセス数×平均ライト応答時間)との合計値を、時間制約を有するバッチ処理により使用される各仮想領域毎に算出する。管理プログラムP30は、各仮想領域毎に算出された各合計値を全て足し合わせた値を、当該バッチ処理を行うアプリケーションプログラムの予測所要時間TPとし、バッチ処理定義情報T35(2)の予測所要時間C352に書き込む。
 管理プログラムP30は、時間制約を有するバッチ処理を行うアプリケーションプログラムのうち、その処理完了時刻が定められた時間制限を越える見込みがあるアプリケーションプログラムがあるか否かを判定する(S103)。具体的には、管理プログラムP30は、バッチ処理を行うアプリケーションプログラムの処理開始時刻に予測所要時間TPを加えた時間が、時間制約TLで定められている完了時刻を過ぎる場合、そのアプリケーションプログラムは時間制約を満たすことができないと判断する。
 管理プログラムP30は、時間制約を有するバッチ処理を実行する全てのアプリケーションプログラムがその時間制約を満たせると判断した場合、本処理を終了する。管理プログラムP30は、時間制約を満たせないと判断したアプリケーションプログラムを発見した場合、ユーザに警告する(S104)。
 図32は、警告画面G40の一例である。警告画面G40は、例えば、メッセージ表示部GP400と、確認ボタンGP401とを有する。警告メッセージを確認したユーザは、確認ボタンGP401を操作することにより、画面G40を消すことができる。
 なお、時間制約を守ることができない場合にのみユーザに通知する構成でもよいし、各バッチ処理についての予測結果(時間制約を守ることができるか否かの予測結果)を、ユーザに通知する構成でもよい。
 図31は、本実施例によるデータの再配置処理を示すフローチャートである。本実施例による再配置処理は、再配置計画作成処理(図29)で作成した再配置計画(管理サーバ側仮想ボリューム管理情報T33(2)の再配置先判定結果C335)に従って、各仮想領域に割り当てられた実領域を見直す。
 再配置プログラムP302は、各アプリケーションプログラムが使用する各仮想ボリュームに属する全ての仮想領域について、S111-S116の処理を実行する(S110)。再配置プログラムP302は、各仮想領域をIOPSの高い順番に処理する。
 再配置プログラムP302は、対象仮想領域に現在割り当てられている実領域に対応する階層のIDと、対象仮想領域に対応する再配置先判定結果C335の値とが一致するか否かを判定する(S111)。以下、対象仮想領域に現在割り当てられている実領域を含む階層を、配置元階層と呼ぶ場合がある。再配置先判定結果に登録されている階層を、再配置先階層と呼ぶ場合がある。
 対象仮想領域に対応付けられている配置元階層のIDと再配置先の階層IDとが一致する場合(S111:YES)、本処理は終了する。
 対象仮想領域の配置元階層のIDと再配置先階層のIDとが不一致の場合(S111:NO)、再配置プログラムP302は、再配置先階層内に空き実領域が有るか否かを判定する(S112)。
 再配置先階層に空き実領域が有る場合(S112:YES)、S113に移行する。再配置先階層に空き実領域が無い場合(S112:NO)、S114に移る。
 S113を説明する。再配置プログラムP302は、対象仮想領域に現在割り当てられている実領域に代えて、再配置先階層内の未使用の実領域を割り当てる(S113)。配置元階層に属する実領域は、データ移行元の実領域である。便宜上、移行元実領域と呼ぶことがある。再配置先階層に属する未使用の実領域は、データ移行先の実領域である。便宜上、移行先実領域と呼ぶことがある。
 再配置プログラムP302は、仮想ボリューム管理情報T33の、対象仮想領域に対応する実領域ID C333の値を、移行先実領域のIDに更新する。再配置プログラムP302は、移行元実領域から移行先実領域にデータを移行するように、ストレージ装置20に指示する。
 ストレージ装置20のストレージ制御プログラムP20は、再配置プログラムP302からの指示を受信すると、移行元実領域から移行先実領域にデータを移行する。
 S114を説明する。再配置プログラムP302は、対象仮想領域に割り当てられている実領域とデータを入れ替え可能な実領域が、再配置先階層内に存在するか否かを判定する(S114)。
 入れ替え可能な実領域が存在する場合(S114:YES)、S115に移行する。入れ替え可能な実領域が存在しない場合(S114:NO)、S116に移行する。
 S115を説明する。再配置プログラムP302は、対象仮想領域に割り当てられている実領域(以下、入れ替え元実領域)と、再配置先階層が有する割当済実領域(以下、入れ替え先実領域)との間で、仮想領域への割り当て状況を入れ替える(S115)。
 再配置プログラムP302は、入れ替え元実領域と入れ替え先実領域の間でデータを入れ替えるように、ストレージ装置20に指示する。ストレージ装置20のストレージ制御プログラムP20は、再配置プログラムP302からの指示を受信すると、指定された各実領域間でデータを入れ替る。
 このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、時間制約を有するバッチ処理を実行するアプリケーションプログラムが、その時間制約を守ることができるか否かを判断し、その結果をユーザに通知できる。従って、ユーザの利便性が向上する。
 図33,図34を参照して第3実施例を説明する。本実施例では、第2実施例で述べたように、時間制約を有するバッチ処理を実行するアプリケーションプログラムの処理完了に要する時間を予測する。さらに、本実施例では、予測所要時間TPが時間制約TLよりも所定時間以上短縮される場合に、そのアプリケーションプログラムに割り当てられた上位階層の実領域を、他のアプリケーションプログラムに割り当てる。以下、第1実施例または第2実施例との相違を中心に説明する。
 図33は、バッチ処理時間見積もり処理を示すフローチャートである。構成管理プログラムP30(以下、管理プログラムP30)は、図30で述べたと同様に、バッチ処理定義情報T35(2)の予測所要時間C352の値を消去する(S120)。
 続いて、管理プログラムP30は、バッチ処理定義情報T35(2)に登録されている、時間制約を持つ全てのアプリケーションプログラムについて、S122の処理を実施する(S121)。
 管理プログラムP30は、対象アプリケーションプログラムが利用する各仮想領域へのアクセス回数C334と、各仮想領域に対応する各実領域の平均応答時間C303とに基づいて、対象アプリケーションプログラムの処理を開始してから完了するまでの所要時間を見積もる(S122)。詳細は、図30のS102で述べたので省略する。
 管理プログラムP30は、時間制約を有するバッチ処理を実行する全てのアプリケーションプログラムについて、S124-S129のステップを実行する(S123)。
 管理プログラムP30は、対象アプリケーションプログラムの予測所要時間TLに所定時間αを加えた値が時間制約TL以下になるかを判定する(S124)。つまり、管理プログラムP30は、バッチ処理の予測所要時間TPが、制限時間TLよりも一定時間α以上早まるか否かを判定する(TP+α≦TL)。
 一定時間αの値は、管理プログラムP30により予め与えられる。「一定時間」とは、時間範囲の閾値である。時間範囲の閾値は、例えば、30分または1時間のような定数として設定してもよいし、または、全時間範囲に対する割合として設定してもよい。
 例えば、開始時間が0:00AMで、完了期限が5:00AMの場合、仮に全時間範囲の1割を一定時間と定めるならば、一定時間は30分となる。さらに、設定画面G50を用いて、ユーザが「一定時間」を手動で設定できる構成でもよい。
 図34は、一定時間を定めるための画面G50の例である。設定画面G50は、例えば、定数指定部GP500と、比率指定部GP501と、登録ボタンGP502と、キャンセルボタンGP503とを備える。
 例えば、30分または1時間のように、定まった値を指定する場合、ユーザは、定数指定部GP500に「30」または「1」のように数値を入力する。単位は適宜変更することができる。これに対し、10%または20%のように、一定の比率を指定する場合、ユーザは、比率指定部GP501に「10」または「20」のように比率を入力する。
 図33に戻る。バッチ処理の予測所要時間が一定時間以上早まらない場合(S124:NO)、他の時間制約を有するバッチ処理を実行するアプリケーションプログラムを対象アプリケーションプログラムとして、S123に戻る。
 バッチ処理の予測所要時間が制限時間よりも一定時間以上早まると判断された場合(S124:YES)、管理プログラムP30は、対象バッチ処理の余裕時間ΔTを計算する(S125)。
 余裕時間とは、バッチ処理の完了期限よりも一定時間αだけ早い時刻と、そのバッチ処理の予測完了時刻との差である。ここで、予測完了時刻とは、バッチ処理の開始時間から予測所要時間TPが経過した時刻である。即ち、余裕時間は、バッチ処理の完了期限に対して、どの程度の時間的猶予があるかを示す。
 管理プログラムP30は、対象アプリケーションプログラムが利用する仮想領域のうち、仮想ボリューム管理情報T33(2)の再配置先判定結果C335に最上位の階層のIDが設定されている全ての仮想領域に対して、アクセス数の少ない順番に、S127,S128,S129のステップを実行する。アクセス数は、仮想ボリューム管理情報T33(2)のリードアクセス数C336とライトアクセス数C337の合計値である。
 管理プログラムP30は、対象仮想領域の再配置先C338を、未割当ての実領域を有する下位階層のIDに再設定する(S127)。未割当ての実領域を持つ下位階層が無い場合、管理プログラムP30は、入れ替え可能な仮想領域に対応する実領域が属する階層のIDを、対象仮想領域の再配置先C338に再設定し、入れ替え先の仮想領域の再配置先C338に、最上位階層のIDを再設定する。
 入れ替え可能な仮想領域とは、具体的には、S44と同様である。但し、本実施例では、再配置先の定義は再配置先判定結果C335の値に基づくものではなく、再配置先C338の値に基づく。
 管理プログラムP30は、余裕時間の値を更新する(S128)。管理プログラムP30は、対象仮想領域のデータの再配置先変更に基づいて、バッチ処理の余裕時間の値を更新する。
 具体的には、管理プログラムP30は、対象仮想領域の再配置先階層における平均リード応答時間RTr1と最上位階層の平均リード応答時間RTr2の差ΔRTrと、対象仮想領域のリードアクセス数C336とを乗じる。この値をリード余裕時間と呼ぶことにする(=ΔRTr×C336の値)。
 同様に、管理プログラムP30は、対象仮想領域の再配置先階層における平均ライト応答時間RTw1と最上位階層の平均ライト応答時間RTw2の差ΔRTwと、対象仮想領域のライトアクセス数C337とを乗じる。この値をライト余裕時間と呼ぶことにする(=ΔRTw×C337の値)。
 管理プログラムP30は、下記式1に示すように、S125で算出された余裕時間ΔTから、リード余裕時間及びライト余裕時間を差し引いて、新たな余裕時間ΔTを算出する(S128)。
 ΔT=ΔT-(RTr1-RTr2)×リードアクセス回数-(RTw1-RTw2)×ライトアクセス回数・・・(式1)
 管理プログラムP30は、式1で求められる余裕時間ΔTが0よりも大きいか否かを判定する(S129)。余裕時間ΔTが0よりも大きい場合(S129:YES)、他の仮想領域を対象仮想領域としてS126に戻る。
 余裕時間ΔTが0以下の場合(S129:NO)、第2ループを脱出する。
 このように構成される本実施例も第1実施例及び第2実施例と同様の効果を奏する。さらに、本実施例では、バッチ処理が一定時間以上早く終了すると予測された場合に、そのバッチ処理に割り当てられていた上位階層の実領域を他のアプリケーションプログラムに割り当てる。従って、本実施例では、上位階層の実領域をより効率的に使用することができる。
 図35-図37を参照して第4実施例を説明する。本実施例では、各仮想領域へのアクセス数の履歴を所定日数分だけ保存し、構成管理プログラムP30は、所定日数分のアクセス回数の履歴データに基づいて、仮想領域のデータの再配置先を決定する。
 これにより、アプリケーションプログラムによる仮想領域へのアクセスに長期的な傾向がある場合でも、より適切に、データの再配置先を決定できる。長期的なアクセス傾向とは、例えば、1週間単位、または、1日単位のI/Oアクセスの傾向である。
 比較的長期間のアクセス回数の履歴を用いることで、データの再配置先の決定が、短期的または一時的なI/Oアクセス頻度の変化に影響されるのを防止できる。
 より適切にデータの再配置先を決定することにより、アクセス頻度の高い領域を高性能の階層に配置でき、ストレージ装置の性能を向上させることができる。以下、前記各実施例との相違を中心に説明する。
 図35は、本実施例による仮想ボリューム管理情報T33(3)の例である。本実施例の仮想ボリューム管理情報T33(3)は、図10に示す仮想ボリューム管理情報T33と共通の項目C330-C333,C335を備える。さらに、本実施例の仮想ボリューム管理情報T33(3)は、図10に示すIOPS C334に代えて、所定日数分のIOPS履歴C334Aを備える。
 IOPS履歴C334Aは、予め設定される所定日数N分のIOPSを日単位で管理する項目である。IOPS履歴334Aには、所定日数分のIOPSの平均値も記録させることができる。
 図36は、性能情報取得処理を示すフローチャートである。本処理は、性能情報取得処理プログラムP301により実行される。この説明では、性能情報取得処理プログラムP301を、情報取得プログラムP301と呼ぶ。
 情報取得プログラムP301は、管理サーバ30に保持されている仮想ボリューム管理情報T33(3)のIOPS C334Aのデータと再配置先判定結果C335のデータとを全て削除する(S140)。
 情報取得プログラムP301は、全ての仮想ボリューム220の全ての仮想領域221について、S142,S143,S144の各処理を実行する(S141)。
 構成管理プログラムP30は、ストレージ装置20で保持されている仮想ボリューム管理情報T22から、対象仮想領域に対応する、アクセス数C224の値と、モニタリング期間C225の値とを取得する(S142)。
 情報取得プログラムP301は、ストレージ装置20から取得したデータを用いて、仮想ボリューム管理情報T33(3)のIOPS履歴334Aを更新する(S143)。即ち、情報取得プログラムP301は、仮想ボリューム管理情報T33(3)におけるN日前C334A1の値をクリアし、残りのアクセス履歴の値をそれぞれ1日分づつ左に移動させる。例えば、情報取得プログラムP301は、N-1日前C334A2に記録されていた値を、N日前C334A1に移動させる。以下同様である。
 さらに、情報取得プログラムP301は、ストレージ装置20から取得したアクセス数を、仮想ボリューム管理情報T33(3)における、本日のアクセス数C334A3に記録する。
 情報取得プログラムP301は、所定のN日分のアクセス履歴のデータに基づいて、単位時間当たりのアクセス回数(IOPS)の値を計算し、仮想ボリューム管理情報T33(3)の平均値C334A4に記録する。
 アクセス履歴を保存するための日数Nの値は、構成管理プログラムP30で予め与えることもできるし、または、ユーザが設定画面を介して設定することもできる。
 図37は、アクセス履歴の保存期間を設定するための画面G60を示す。画面G60は、例えば、保存期間を指定するための保存期間指定部GP600と、登録ボタンGP601と、キャンセルボタンGP602を備える。ユーザは、保存期間を、例えば、「日」または「曜日」の単位で、指定することができる。アクセス履歴の保存期間が長くなるほど、アクセス履歴を保存するための記憶領域を必要とする。
 このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、比較的長期間のアクセス履歴を保存可能とし、そのアクセス履歴に基づいて、データの再配置先を決定できるようにした。従って、アプリケーションプログラムのアクセス傾向が長期的に変化する場合に、そのアプリケーションプログラムが使用するデータを適切な階層に配置できる。
 図38を参照して第5実施例を説明する。本実施例では、バッチ処理が行われている期間中における仮想領域へのアクセス数に基づいて、仮想領域のデータの再配置先を決定できるようにしている。
 これにより、例えば、トランザクション処理を行うアプリケーションプログラムによるアクセスの傾向が、バッチ処理が行われている場合と、バッチ処理が行われていない場合とで、大きく異なる場合でも、より適切なデータ配置先を決定できる。
 アクセスの傾向が大きく異なるとは、例えば、バッチ処理が行われる時間帯でのトランザクション処理のI/Oアクセス回数が、バッチ処理が行われない時間帯でのトランザクション処理のI/Oアクセス回数に比べて、大幅に多いか、または、大幅に少ない場合である。
 そのために、本実施例では、バッチ処理が行われる時間帯における仮想領域へのI/Oアクセス頻度に基づいて再配置を行うことにより、バッチ処理が行われる時間帯においてストレージ装置のI/O処理効率が向上させる。
 図38は、本実施例による入力情報を登録する処理を示すフローチャートである。図38に示すフローチャートは、図14で述べたフローチャートのS10-S14に対応するするステップS150-S152,S154,S155を備える。
 入力情報登録処理プログラムP300は、ユーザから入力される情報を、アプリケーション定義情報T34の該当項目に保存する(S150)。登録プログラムP300は、各階層211毎のデータ配置条件を、例えばユーザからの入力情報として受け取り、階層管理情報T30の対応する項目C302に保存する(S151)。
 登録プログラムP300は、時間制約を有するバッチ処理を実行するアプリケーションプログラムに関する情報を、例えばユーザからの入力情報として受け取り、バッチ処理定義情報T35に保存する(S152)。
 登録プログラムP300は、バッチ処理定義情報T35に登録されているバッチ処理を行うアプリケーションプログラムのうち、開始時刻が最も早いアプリケーションプログラムと、終了時刻が最も遅いアプリケーションプログラムとを特定する。
 登録プログラムP300は、特定された各アプリケーションプログラムから、最も早い開始時刻と最も遅い終了時刻とを取得し、ストレージ装置20が有する仮想ボリューム管理情報T22のモニタリング期間C225に設定する。最も早い開始時刻がモニタリング期間の始期となり、最も遅い終了時刻がモニタリング期間の終期となる。
 なお、管理サーバ30は、管理用通信ネットワークCN2を介して、ストレージ装置20内の仮想ボリューム管理情報T22のモニタリング期間C225に、始期及び終期を設定する。
 登録プログラムP300は、アプリケーションプログラムを稼動させる全てのホストのそれぞれについて、S154の処理を行う(S153)。登録プログラムP300は、対象ホストの使用する仮想ボリュームの識別子を対象ホストから取得して、アプリケーション定義情報T34に保存する(S154)。
 このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、バッチ処理の実行の有無がトランザクション処理によるI/Oアクセス数の傾向に影響を与える場合でも、トランザクション処理で使用される仮想領域のデータを適切な階層に配置できる。
 図39を参照して第6実施例を説明する。本実施例では、階層別の利用状況を管理端末40の画面に表示させる。
 図39は、階層別の利用状況を示す画面G70の例である。画面G70は、例えば、各階層毎の利用状況表示部GP700,GP701が含まれている。一方の表示部GP700は、例えば、上位階層211Aに対応する。他方の表示部GP701は、例えば、中位階層211Bに対応する。図39では省略されているが、下位階層に対応する表示部を画面G70に設けても良い。
 各表示部GP700,GP701は、その階層の実領域を使用している各アプリケーションプログラムの使用割合をグラフ表示する。
 本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、階層別の各アプリケーションプログラムによる実領域の利用状況を表示できる。従って、ユーザは、優先度が高いトランザクション処理により使用されている実領域の割合と、時間制約を持つバッチ処理により使用されている実領域の割合とを、階層毎に簡単に把握できる。これにより、ユーザは、各階層211に記憶装置27を追加するか否か等を容易に判断でき、ユーザの使い勝手が向上する。
 図40を参照して第7実施例を説明する。本実施例では、仮想領域のデータの再配置先を判定するのに用いる、階層の許容アクセス数範囲(階層への配置条件)を、ストレージ装置20のI/O性能の実績値に応じて決定し、動的に変更できるようにする。
 ここで、「動的に変更する」とは、システムなどにより予め定められた固定値を用いるのではなく、システムの状況により変更できることを意味する。I/O性能の実績値とは、実際にシステムを稼働させながら測定される値である。ハードウェアまたはソフトウェアの、仕様または構成から想定されるI/O性能ではない。
 本実施例による構成管理プログラムP30は、後述する階層間閾値決定処理(図40)を実行する。
 図示を省略するが、本実施例のストレージ側仮想ボリューム管理情報T22は、第1実施例で述べた構成に加えて、リード要求の応答時間とライト時間の応答時間との合計を示す合計応答時間も管理する。従って、例えば、図24に示す合計リード時間C227と合計ライト時間C228とを統合し、合計応答時間の項目とすればよい。
 図示を省略するが、本実施例の管理サーバ側仮想ボリューム管理情報T33は、第1実施例で述べた構成に加えて、平均応答時間も管理する。平均応答時間とは。ホストからのI/Oアクセス要求に対する、ストレージ装置20のリード処理の所要時間またはライト処理の所要時間の平均値である。
 図示は省略するが、本実施例の階層管理情報T30は、第1実施例で述べた構成に加えて、各階層の有する実領域の総数も管理する。
 図示は省略するが、本実施例の性能情報取得処理では、図18で述べた処理と類似する処理を行う。そこで、図18を参照して新規な点を説明する。本実施例では、S22において、アクセス数とモニタリング期間に加えて、合計応答時間の値をストレージ側の仮想ボリューム管理情報T22から取得する。
 本実施例では、S23において、平均アクセス数(IOPS)を算出すると共に、平均応答時間も算出する。平均応答時間は、仮想領域毎の合計応答時間を、その仮想領域へのアクセス数で除算することで求めることができる。
 さらに、本実施例では、S24において、平均アクセス数と平均応答時間を、管理サーバ側の仮想ボリューム管理情報T33に記憶させる。
 図40は、各階層にデータを配置する条件を決定するための処理、つまり、各階層が許容するアクセス数の範囲を決定するための処理を示すフローチャートである。本処理は、構成管理プログラムP30(管理プログラムP30と呼ぶ)により実行される。
 管理プログラムP30は、仮想ボリューム管理情報T33に登録されている全ての仮想領域について、仮想領域の平均応答時間が速い順に、仮想領域IDのリストを作成する(S160)。
 管理プログラムP30は、各階層に属する実領域の数をカウントし、階層管理情報T30内の「実領域数」に値を設定する(S161)。
 管理プログラムP30は、階層管理情報T30に登録されている全ての階層について、上位階層から順番に、以下のS163,S164,S165の各ステップを実行する(S162)。
 管理プログラムP30は、仮想領域IDのリストから、対象階層の有する実領域数分の仮想領域IDを、平均応答時間が速い順に選択する(S163)。管理プログラムP30は、S162から始まるループ内で既に選択された仮想領域を除いて、平均応答時間が速い順に選択する。
 管理プログラムP30は、選択した仮想領域IDに対応する仮想領域の平均応答時間を取得し、最も遅い平均応答時間の値に基づいて、対象階層が許容するアクセス数範囲の下限値(IOPS)を算出する(S164)。対象階層が許容するアクセス数範囲の下限値となるIOPSの値は、その単位時間を、最も遅い平均応答時間の値で除算することにより求められる。
 管理プログラムP30は、対象階層が許容するアクセス数の範囲を、S164で算出されたIOPSの値から、対象階層の1段階上の位置する階層の下限値となるIOPSの値までとして、階層管理情報T30に設定する(S165)。
 このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、各階層間にデータを配置するための条件(許容アクセス数の範囲)を、ストレージ装置20の実際の稼働状況に応じて動的に設定できる。従って、仮想領域のデータをより適切な階層に再配置できる。
 図41-図44を参照して第8実施例を説明する。本実施例では、優先度の高いトランザクション処理が終了してから一定時間経過後に、時間制約を有するバッチ処理を開始させることができるようにする。
 図41は、本実施例による計算機システムの全体構成の概要を示す。本実施例のホスト10には、アプリケーションプログラムP10の稼働状況を監視するためのアプリケーション稼働監視プログラムP12が新たに設けられる。
 アプリケーション稼働監視プログラムP12は、対象ホスト10で稼働するアプリケーションプログラムの開始及び終了(または停止)を監視し、開始時刻及び終了(停止)時刻を取得する。本実施例において、アプリケーションプログラムの終了時刻には、アプリケーションプログラムの停止時刻を含む。
 アプリケーション稼働監視プログラムP12は、管理サーバ30からの問い合わせに応じて、アプリケーションプログラムP10の開始時刻及び終了時刻を、管理サーバ30に送信する。
 本実施例の管理サーバ30には、トランザクション処理を実行するアプリケーションプログラムの稼働時間を予測するためのプログラムP31と、トランザクション処理を実行するアプリケーションプログラムによる稼働時間の履歴等を保存する情報T36とが、新たに設けられる。以下、プログラムP31を稼働時間予測プログラムP31と呼ぶ。情報T36を稼働時間履歴情報T36と呼ぶ。
 図42は、稼働時間履歴情報T36の一例を示す。稼働時間履歴情報T36は、優先度の高いトランザクション処理を実行するアプリケーションプログラムの稼働時間等を保持する。稼働時間履歴情報T36は、優先度の低いトランザクション処理の稼働時間等を管理する必要はない。
 稼働時間履歴情報T36は、例えば、アプリケーション名C360と、履歴C361と、次回予測C362を備えることができる。アプリケーション名C360には、優先度の高いトランザクション処理を実行するアプリケーションプログラムを特定するための名称が設定される。
 履歴C361は、さらに、「日付」と、「開始時刻」及び「終了時刻」というサブ項目を含む。履歴C361には、優先度の高いトランザクション処理が実行された日付と、開始時刻と、終了時刻とが記録される。
 次回予測C362は、さらに、「開始時刻」及び「終了時刻」を含む。次回予測C362には、優先度の高いトランザクション処理の次回の実行に関する、予測開始時刻と予測終了時刻とが記録される。
 図43は、バッチ処理定義情報T35(3)を示す。本実施例のバッチ処理定義情報T35(3)では、タイムウインドウC351Aの値として、「トランザクション処理を実行するアプリケーションプログラムが停止した後」を設定できる。
 「トランザクション処理を実行するアプリケーションプログラムが停止した後」をバッチ処理を開始可能な最も早い時刻として設定すると、優先度の高いトランザクション処理を行うアプリケーションの実行が完了してから一定時間経過後に、当該バッチ処理が実行される。
 図44は、稼働時間予測プログラムP31の処理内容を示すフローチャートである。ここでは、便宜上、予測プログラムP31と呼ぶ。
 予測プログラムP31は、優先度が「高」に設定されており、かつ、アプリケーションタイプが「トランザクション」である全てのアプリケーションに対して、S171,S172,S173を実行する(S170)。
 予測プログラムP31は、ホスト10から、対象アプリケーションプログラムの前回の稼働開始時刻及び稼働停止時刻を取得して、稼働時間履歴情報T36の履歴C361に登録する(S171)。
 予測プログラムP31は、対象アプリケーションプログラムの稼働履歴C361に記録されたデータに基づいて、次回の稼働開始時刻と稼働終了時刻とをそれぞれ予測する(S172)。予測方法として種々考えられるが、例えば、過去の開始時刻の平均値を予測開始時刻として求め、過去の終了時刻の平均値を予測終了時刻として求めてもよい。
 予測プログラムP31は、稼働時間履歴情報T36の次回予測C362に、予測した開始時刻及び終了時刻を登録する(S173)。
 このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、優先度の高いトランザクション処理が終了してから一定時間経過後に、バッチ処理を開始させることができる。従って、優先度の高いトランザクション処理が稼働している期間にバッチ処理が開始されてシステム負荷が増大するのを防止し、トランザクション処理を比較的速やかに終了させることができる。
 図45を参照して第9実施例を説明する。本実施例では、時間制約を有するバッチ処理により使用される仮想領域に、優先的に割り当てる階層をユーザが設定できるようにしている。
 図45は、バッチ処理の使用する仮想領域に優先的に実領域を割り当てるための階層を、事前に設定する画面G80を示す。
 画面G80は、例えば、階層を選択するための階層選択部GP800と、登録ボタンGP801と、キャンセルボタンGP802を備える。階層選択部GP800では、ストレージ装置20の有する各階層211のうちいずれか一つを選択できる。ユーザが所望の階層を選択して登録ボタンGP801を押すと、選択された階層が管理サーバ30に登録される。どの階層を優先的にバッチ処理に割り当てるのかを示す情報(以下、優先階層情報)は、例えば、管理サーバ30の補助記憶装置33内に記憶される。
 図示は省略するが、本実施例の入力情報登録処理では、情報取得プログラムP301は、管理端末40から優先階層情報を取得して、保存する。この優先階層情報を取得して保存するステップは、例えば、図12のS12とS13との間で実行してもよい。
 図示は省略するが、本実施例では、時間制約を有するバッチ処理により使用される仮想領域のデータを再配置する処理において、優先階層情報に定義された階層を優先的に使用する。
 具体的には、図21に示すフローチャート中、S51,S52,S54において、「最上位階層」とあるのを「優先的に使用すべき階層」と置き換えることにより、本実施例のフローチャートとなる。
 このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、ユーザは、時間制約を有するバッチ処理に使用される仮想領域のデータに優先的に割り当てる階層を設定できる。従って、ユーザの利便性が向上する。例えば、時間制約を有するバッチ処理に上位階層の実領域が割り当てられるのを防止して、上位階層の実領域を優先度の高いトランザクション処理に割り当てることができる。
 なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上述された本発明の技術的特徴は、適宜結合させて実施することができる。
 10:ホストコンピュータ、20:ストレージ装置、30:管理サーバ、40:管理端末、50:管理システム、210:プール、211:階層、212:実領域、220:仮想ボリューム、221:仮想領域

Claims (13)

  1.  アプリケーションプログラムが稼働する複数のホストコンピュータと、前記各ホストコンピュータに仮想ボリュームを提供するストレージ装置とを含む計算機システムを管理する管理装置であって、
     前記ストレージ装置は、
      それぞれ性能の異なる複数の記憶階層を有するプールを複数備えており、かつ、
      前記各ホストコンピュータからのライトアクセスに応じて、前記各記憶階層の中から実領域を選択し、その選択した前記実領域を、前記各仮想ボリュームのうち前記ライトアクセスされた仮想ボリューム内のアクセス対象の仮想領域に割り当てるように構成されており、
     前記各仮想ボリュームに割り当てられている前記各実領域が前記各記憶階層のいずれに配置されるべきかを、アクセス情報に基づいて決定する配置制御部を備え、
     前記配置制御部は、
      前記プール内の前記各実領域のうち前記仮想領域に割り当てられている実領域を使用するアプリケーションプログラムの種類を判別する判別部と、
      前記判別部による判別結果に応じて、前記実領域の再配置先を決定し、前記ストレージ装置に指示する再配置先指示部と、
    を備える、
    計算機システムの管理装置。
     
  2.  マイクロプロセッサと、
     前記マイクロプロセッサにより実行される所定のコンピュータプログラムを記憶するメモリと、
     前記マイクロプロセッサが前記ホストコンピュータ及び前記ストレージ装置と通信するための通信インターフェース回路とをさらに備え、
     前記マイクロプロセッサが前記所定のコンピュータプログラムを実行することにより、前記配置制御部が実現されるようになっており、
     前記判別部は、前記実領域を使用するアプリケーションプログラムの種類が、優先度の高いトランザクション処理である第1アプリケーションプログラムであるか否かを判別し、
     前記再配置先指示部は、前記プール内の前記各実領域のうち、前記第1アプリケーションプログラムにより使用される第1実領域が、前記各記憶階層のうち比較的高性能の記憶階層に優先的に配置されるように、前記第1実領域の配置先を決定し、決定された配置先を前記ストレージ装置に指示する、
    請求項1に記載の計算機システムの管理装置。
     
  3.  前記判別部は、前記実領域を使用するアプリケーションプログラムの種類が、優先度の高いトランザクション処理である第1アプリケーションプログラムであるか、または、時間制約を有するバッチ処理である第2アプリケーションプログラムであるかを判別し、
     前記再配置先指示部は、
      前記第1アプリケーションプログラムにより使用される前記第1実領域が前記比較的高性能の記憶階層に優先的に配置されるように、前記第1実領域の配置先を決定し、
      前記第1実領域の配置先を決定した後に、前記プール内の前記各実領域のうち、前記第2アプリケーションプログラムにより使用される第2実領域の配置先を決定し、
      決定された前記第1実領域の配置先及び前記第2実領域の配置先を、前記ストレージ装置に指示する、
    請求項2に記載の計算機システムの管理装置。
     
  4.  前記判別部は、
      前記各ホストコンピュータで稼働する前記各アプリケーションプログラムがトランザクション処理であるか、または、バッチ処理であるかを示すアプリケーション種別情報をユーザインターフェース部を介してユーザから取得し、かつ、
      前記各アプリケーションプログラムが前記各実領域を使用するアクセス頻度を示すアクセス情報を前記ストレージ装置から取得する、
    請求項3に記載の計算機システムの管理装置。
     
  5.  前記第1アプリケーションプログラムが前記実領域を使用するアクセス頻度を示す第1アクセス情報は、前記第2アプリケーションプログラムが実行されている期間内に取得される、
     請求項4に記載の計算機システムの管理装置。
     
  6.  前記配置制御部は、
      前記第2アプリケーションプログラムの実行に要する時間を予測し、
      前記予測時間と前記第2アプリケーションプログラムに設定されている前記時間制約とを比較し、
      前記予測時間が前記時間制約を守ることができないと判断した場合は、ユーザに通知する、
    請求項5に記載の計算機システムの管理装置。
     
  7.  前記配置制御部は、前記第2アプリケーションプログラムについての前記予測時間が前記時間制約を満たす場合に、前記第2アプリケーションプログラムに割り当てられる前記第2実領域の配置先を前記各記憶階層のうちより性能の低い記憶階層に変更する、
    請求項6に記載の計算機システムの管理装置。
     
  8.  前記第1アクセス情報は、予め設定される複数日のアクセス頻度に基づいて作成される、請求項7に記載の計算機システムの管理装置。
     
  9.  前記配置制御部は、前記各アプリケーションプログラムが前記各記憶階層の実領域を使用する状況を示す使用状況情報を生成して、ユーザに提示する、
    請求項8に記載の計算機システムの管理装置。
     
  10.  前記配置制御部は、前記各記憶装置に配置されるアクセス頻度の範囲を示すアクセス頻度範囲を、前記ストレージ装置における実際の応答性能に基づいて設定する、
    請求項9に記載の計算機システムの管理装置。
     
  11.  前記配置制御部は、
      前記第1アプリケーションプログラムの処理が終了する時刻を予測し、
      前記第1アプリケーションプログラムの終了予測時刻の後で、前記第2アプリケーションプログラムの処理を開始させる、
    請求項10に記載の計算機システムの管理装置。
     
  12.  前記配置制御部は、前記各記憶階層のうち予め指定された記憶階層に、前記第2アプリケーションプログラムにより使用される前記第2実領域を優先的に配置させる、
    請求項11に記載の計算機システムの管理装置。
     
  13.  アプリケーションプログラムが稼働する複数のホストコンピュータと、前記各ホストコンピュータに仮想ボリュームを提供するストレージ装置とを含む計算機システムを管理する管理方法であって、
     前記ストレージ装置は、
      それぞれ性能の異なる複数の記憶階層を有するプールを複数備えており、かつ、
      前記各ホストコンピュータからのライトアクセスに応じて、前記各記憶階層の中から実領域を選択し、その選択した前記実領域を、前記各仮想ボリュームのうち前記ライトアクセスされた仮想ボリューム内のアクセス対象の仮想領域に割り当てるように構成されており、
     前記実領域を使用するアプリケーションプログラムの種類が、優先度の高いトランザクション処理である第1アプリケーションプログラムであるか、または、時間制約を有するバッチ処理である第2アプリケーションプログラムであるかを示すためのアプリケーション定義情報を取得し、
     前記各仮想ボリュームの前記各仮想領域に割り当てられている前記各実領域への、前記各アプリケーションプログラムによるアクセスに関する情報を取得し、
     前記各仮想ボリュームに割り当てられている前記各実領域が前記各記憶階層のいずれに配置されるべきかを、前記アクセス情報に基づいて決定し、
     前記第1アプリケーションプログラムにより使用される実領域を先に配置し、
     次に、前記第2アプリケーションプログラムにより使用される実領域を配置し、
     最後に、前記各アプリケーションプログラムのうち残ったアプリケーションプログラムにより使用される実領域を配置させる、
    計算機システムの管理方法。
PCT/JP2010/072514 2010-12-15 2010-12-15 計算機システムの管理装置及び管理方法 WO2012081089A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2010/072514 WO2012081089A1 (ja) 2010-12-15 2010-12-15 計算機システムの管理装置及び管理方法
US13/062,170 US20120159112A1 (en) 2010-12-15 2010-12-15 Computer system management apparatus and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/072514 WO2012081089A1 (ja) 2010-12-15 2010-12-15 計算機システムの管理装置及び管理方法

Publications (1)

Publication Number Publication Date
WO2012081089A1 true WO2012081089A1 (ja) 2012-06-21

Family

ID=46235990

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/072514 WO2012081089A1 (ja) 2010-12-15 2010-12-15 計算機システムの管理装置及び管理方法

Country Status (2)

Country Link
US (1) US20120159112A1 (ja)
WO (1) WO2012081089A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014136263A1 (ja) * 2013-03-08 2014-09-12 株式会社 東芝 ストレージシステム、ストレージ装置の制御方法及びプログラム
JP5941996B2 (ja) * 2012-11-27 2016-06-29 株式会社日立製作所 ストレージ装置及び階層制御方法
US9626110B2 (en) 2013-02-22 2017-04-18 Hitachi, Ltd. Method for selecting a page for migration based on access path information and response performance information
WO2018042608A1 (ja) * 2016-09-01 2018-03-08 株式会社日立製作所 ストレージ装置及びその制御方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103080894A (zh) * 2010-12-28 2013-05-01 株式会社日立制作所 存储系统、存储系统的管理方法和程序
JP2012175552A (ja) * 2011-02-23 2012-09-10 Seiko Instruments Inc 情報処理装置、及び情報処理プログラム
CN102650943A (zh) * 2011-02-28 2012-08-29 深圳富泰宏精密工业有限公司 应用程序启动管理系统及方法
US8607089B2 (en) * 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
US10481794B1 (en) * 2011-06-28 2019-11-19 EMC IP Holding Company LLC Determining suitability of storage
US8527467B2 (en) * 2011-06-30 2013-09-03 International Business Machines Corporation Compression-aware data storage tiering
TWI473103B (zh) * 2011-09-14 2015-02-11 威剛科技股份有限公司 快閃記憶體儲存裝置及其不良儲存區域的判定方法
US9760306B1 (en) * 2012-08-28 2017-09-12 EMC IP Holding Company LLC Prioritizing business processes using hints for a storage system
CN104679661B (zh) * 2013-11-27 2019-12-10 阿里巴巴集团控股有限公司 混合存储的控制方法及混合存储系统
US9763518B2 (en) 2014-08-29 2017-09-19 Cisco Technology, Inc. Systems and methods for damping a storage system
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) * 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US20200073554A1 (en) * 2018-09-05 2020-03-05 International Business Machines Corporation Applying Percentile Categories to Storage Volumes to Detect Behavioral Movement

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182859A (ja) * 2000-12-12 2002-06-28 Hitachi Ltd ストレージシステムおよびその利用方法
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP2008084253A (ja) * 2006-09-29 2008-04-10 Hitachi Ltd ボリューム選択方法及び情報処理システム
JP2009282800A (ja) * 2008-05-23 2009-12-03 Hitachi Ltd ストレージ装置及びその制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859926B1 (en) * 2000-09-14 2005-02-22 International Business Machines Corporation Apparatus and method for workload management using class shares and tiers
US7730171B2 (en) * 2007-05-08 2010-06-01 Teradata Us, Inc. Decoupled logical and physical data storage within a database management system
US20100287553A1 (en) * 2009-05-05 2010-11-11 Sap Ag System, method, and software for controlled interruption of batch job processing
US8880835B2 (en) * 2009-07-07 2014-11-04 International Business Machines Corporation Adjusting location of tiered storage residence based on usage patterns
US8473951B2 (en) * 2009-12-30 2013-06-25 Bmc Software, Inc. Method and system for traversing in reverse chronological order along a critical path of a plurality of jobs, and reducing time gaps between jobs until an estimated end time of the last job is less than or equal to a target end time
US9213731B2 (en) * 2010-05-13 2015-12-15 Symantec Corporation Determining whether to relocate data to a different tier in a multi-tier storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182859A (ja) * 2000-12-12 2002-06-28 Hitachi Ltd ストレージシステムおよびその利用方法
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP2008084253A (ja) * 2006-09-29 2008-04-10 Hitachi Ltd ボリューム選択方法及び情報処理システム
JP2009282800A (ja) * 2008-05-23 2009-12-03 Hitachi Ltd ストレージ装置及びその制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5941996B2 (ja) * 2012-11-27 2016-06-29 株式会社日立製作所 ストレージ装置及び階層制御方法
US9626110B2 (en) 2013-02-22 2017-04-18 Hitachi, Ltd. Method for selecting a page for migration based on access path information and response performance information
WO2014136263A1 (ja) * 2013-03-08 2014-09-12 株式会社 東芝 ストレージシステム、ストレージ装置の制御方法及びプログラム
WO2018042608A1 (ja) * 2016-09-01 2018-03-08 株式会社日立製作所 ストレージ装置及びその制御方法

Also Published As

Publication number Publication date
US20120159112A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
WO2012081089A1 (ja) 計算機システムの管理装置及び管理方法
US9052823B2 (en) Storage system and data management method with application specific storage tiers
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5668151B2 (ja) 計算機システムの管理装置及び管理方法
JP6051228B2 (ja) 計算機システム、ストレージ管理計算機及びストレージ管理方法
JP5793196B2 (ja) 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
US7613896B2 (en) Storage area dynamic assignment method
JP5406363B2 (ja) プール領域の一部の領域を動的にデータ格納領域として割り当てる記憶制御装置及び記憶制御方法
US8694727B2 (en) First storage control apparatus and storage system management method
JP4990322B2 (ja) データ移動管理装置及び情報処理システム
JP2018110014A (ja) バーチャル環境におけるダイナミックストレージ階層化
US10338825B2 (en) Managing SSD wear rate in hybrid storage arrays
US8521693B2 (en) Storage system and its operation method
JP5363595B2 (ja) 仮想ボリューム内のデータの再配置を行うストレージシステム及び方法
JP5395962B2 (ja) 計算機システム、及びその管理方法、並びに、プログラム
US20110320754A1 (en) Management system for storage system and method for managing storage system
JP2008112291A (ja) 記憶制御装置及び記憶制御装置のデータ移動方法
JP2015520876A (ja) 情報記憶システム及び情報記憶システムの制御方法
US20150378848A1 (en) Management computer and managment method of computer system
US20120297156A1 (en) Storage system and controlling method of the same
WO2013171793A1 (en) Storage apparatus, storage system, and data migration method
US20120272021A1 (en) Management system and control method for computer system
US7836145B2 (en) Computer system, management method, and management computer for managing data archiving storage extents based on server performance management information and storage utilization information
JP2010211743A (ja) ストレージ装置を管理する計算機及び方法
US8627126B2 (en) Optimized power savings in a storage virtualization system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 13062170

Country of ref document: US

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

Ref document number: 10860782

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10860782

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP