WO2014132440A1 - 構成情報取得方法、及び管理計算機 - Google Patents

構成情報取得方法、及び管理計算機 Download PDF

Info

Publication number
WO2014132440A1
WO2014132440A1 PCT/JP2013/055670 JP2013055670W WO2014132440A1 WO 2014132440 A1 WO2014132440 A1 WO 2014132440A1 JP 2013055670 W JP2013055670 W JP 2013055670W WO 2014132440 A1 WO2014132440 A1 WO 2014132440A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
storage
virtual
configuration information
physical
Prior art date
Application number
PCT/JP2013/055670
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 US14/427,610 priority Critical patent/US9648104B2/en
Priority to PCT/JP2013/055670 priority patent/WO2014132440A1/ja
Publication of WO2014132440A1 publication Critical patent/WO2014132440A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Definitions

  • the present invention relates to a technology for acquiring resource configuration information in a storage system having a storage device.
  • the management computer centrally manages the configuration information of the storage system including the storage device and the host computer.
  • a technique for the management computer to acquire storage system configuration information for example, a technique for acquiring storage system configuration information in two stages is disclosed (for example, see Patent Document 1).
  • this technology in the first stage, only basic information (identifier, number, relation between resources) of resources possessed by a storage device, a host computer or the like is acquired.
  • the range, timing, and necessity of holding detailed configuration information are determined.
  • detailed configuration information in an appropriate range is acquired at an appropriate timing.
  • the management computer can efficiently manage the storage system configuration information in terms of the information retention amount.
  • management operations can be performed within the range of the acquired configuration information. For example, in the technique disclosed in Patent Document 1, after the acquisition of the detailed information of the second stage is completed, the management operation by the management computer in the range where the detailed information is acquired becomes possible.
  • a host computer of one or more storage devices among the plurality of resources A request is transmitted to one or more storage apparatuses so that configuration information related to resources that are logically close to each other is preferentially acquired.
  • the management computer receives the configuration information corresponding to the request from one or more storage apparatuses, and reflects the received configuration information in the configuration management information for managing the configuration information related to the resources managed by the one or more storage apparatuses.
  • FIG. 1 is a hardware configuration diagram of the storage system according to the embodiment.
  • FIG. 2 is a logical configuration diagram of the storage system according to the embodiment.
  • FIG. 3 is a diagram illustrating an outline of a first example in the configuration information acquisition method according to the embodiment.
  • FIG. 4 is a diagram illustrating an outline of a second example in the configuration information acquisition method according to the embodiment.
  • FIG. 5 is a diagram illustrating an outline of a third example in the configuration information acquisition method according to the embodiment.
  • FIG. 6 is a configuration diagram of an example of a GUI screen displayed by the storage management server according to the embodiment.
  • FIG. 7 is a configuration diagram of another example of the GUI screen displayed by the storage management server according to the embodiment.
  • FIG. 1 is a hardware configuration diagram of the storage system according to the embodiment.
  • FIG. 2 is a logical configuration diagram of the storage system according to the embodiment.
  • FIG. 3 is a diagram illustrating an outline of a first example in the configuration information acquisition method according to the embodiment.
  • FIG. 8A is a configuration diagram of virtual storage information of the storage apparatus according to the embodiment.
  • FIG. 8B is a configuration diagram of virtual parity group information of the storage apparatus according to the embodiment.
  • FIG. 8C is a configuration diagram of virtual pool information of the storage apparatus according to the embodiment.
  • FIG. 8D is a configuration diagram of virtual volume information of the storage apparatus according to the embodiment.
  • FIG. 9A is a configuration diagram of an example of physical parity group information of the storage apparatus according to the embodiment.
  • FIG. 9B is a configuration diagram of another example of physical parity group information of the storage apparatus according to the embodiment.
  • FIG. 9C is a configuration diagram of physical pool information of the storage apparatus according to the embodiment.
  • FIG. 9D is a configuration diagram of an example of physical volume information of the storage apparatus according to the embodiment.
  • FIG. 9E is a configuration diagram of another example of physical volume information of the storage apparatus according to the embodiment.
  • FIG. 10A is a configuration diagram of a volume reservation table of the storage management server according to the embodiment.
  • FIG. 10B is a configuration diagram of a screen table of the storage management server according to the embodiment.
  • FIG. 11A is a configuration diagram of virtual storage information of the storage management server according to the embodiment.
  • FIG. 11B is a configuration diagram of virtual parity group information of the storage management server according to the embodiment.
  • FIG. 11C is a configuration diagram of virtual pool information of the storage management server according to the embodiment.
  • FIG. 11D is a configuration diagram of virtual volume information of the storage management server according to the embodiment.
  • FIG. 12A is a configuration diagram of physical parity group information of the storage management server according to the embodiment.
  • FIG. 12B is a configuration diagram of physical pool information of the storage management server according to the embodiment.
  • FIG. 12C is a configuration diagram of physical volume information of the storage management server according to the embodiment.
  • FIG. 13 is a flowchart of the configuration information search process according to the embodiment.
  • FIG. 14 is a flowchart of management server information input / output processing according to the embodiment.
  • FIG. 15A is a flowchart of a synchronization process according to the embodiment.
  • FIG. 15B is a flowchart of storage registration processing according to the embodiment.
  • FIG. 16A is a flowchart of configuration information acquisition processing according to the embodiment.
  • FIG. 16B is a flowchart of the crossing acquisition process according to the embodiment.
  • FIG. 17A is a flowchart of a longitudinal acquisition process according to the embodiment.
  • FIG. 17B is a flowchart of search issuance processing according to the embodiment.
  • aaa table various types of information may be described using the expression “aaa table”, but the various types of information may be expressed using a data structure other than the table.
  • the “aaa table” can be referred to as “aaa information”.
  • the process may be described using “program” as the subject, but the program is executed by a processor (for example, a CPU (Central Processing Unit)) included in the controller, so that a predetermined process is performed. Is appropriately performed using a storage resource (for example, memory) and / or a communication interface device (for example, NIC (Network Interface Card)), the processing subject may be a processor.
  • the processing described with the program as the subject may be processing performed by the controller.
  • the controller may be the processor itself, or may include a hardware circuit that performs part or all of the processing performed by the processor instead of or in addition to the processor.
  • the computer program may be installed in the device from a program source.
  • the program source may be, for example, a program distribution server or a storage medium that can be read by a computer.
  • FIG. 1 is a hardware configuration diagram of the storage system according to the embodiment.
  • the storage system includes one or more host computers 100, a plurality of storage devices 200, and a storage management server 300 as an example of a management computer.
  • the host computer 100 and the storage apparatus 200 are connected via a communication network 10 such as a SAN (Storage Area Network).
  • the SAN may be a LAN (Local Area Network) like iSCSI.
  • the host computer 100, the plurality of storage apparatuses 200, and the storage management server 300 are connected via a communication network 20 such as a LAN, for example.
  • the host computer 100 includes a controller 110, a main memory 120, a NIC 130, and an HBA (HostBABus Adapter) 140.
  • the controller 110, the main memory 120, the NIC 130, and the HBA 140 are communicably connected via a bus.
  • the NIC 130 is a communication interface device for communicating with the storage management server 300 or the like via the communication network 20.
  • the HBA 140 is a communication interface device for communicating with the storage apparatus 200 via the communication network 10.
  • the controller 110 executes various processes by executing various programs stored in the main memory 120.
  • the main memory 120 stores various programs and various information.
  • the main memory 120 stores a business application 121, for example.
  • the business application 121 is a program that executes processing of a predetermined business using volumes (physical volume and virtual logical volume) provided by the plurality of storage apparatuses 200 via the communication network 10.
  • the storage apparatus 200 includes a controller 210, a cache memory 220, a disk device 230, a CHA (Channel Adapter) 240, a NIC 250, a main memory 260, and a configuration storage device 270.
  • the storage device 200 may be referred to as a physical storage device 200.
  • the controller 210, the cache memory 220, the disk device 230, the CHA 240, the NIC 250, the main memory 260, and the configuration storage device 270 are communicably connected via a bus.
  • the CHA 240 is a communication interface device for communicating with the host computer 100 or another storage device 200 via the communication network 10.
  • the NIC 250 is a communication interface device for communicating with the storage management server 300 or the like via the communication network 20.
  • the cache memory 220 temporarily stores data to be written to the disk device 230 or data read from the disk device 230.
  • the disk device 230 is an example of a physical storage device. Instead of the disk device 230 or in addition to the disk device 230, for example, a physical storage device having a flash memory or other semiconductor memory may be provided.
  • a plurality of disk devices 230 constitute a group (a parity group (also called a RAID group)) that stores data at a predetermined RAID level according to RAID (Redundant ARRAY of Independent Disks).
  • a parity group also called a RAID group
  • RAID Redundant ARRAY of Independent Disks
  • the controller 210 executes various processes by executing various programs stored in the main memory 260.
  • the main memory 260 stores various programs and various information.
  • the main memory 260 stores, for example, a storage control program 261, a configuration information search program 262, and a management server information input / output program 263.
  • the storage control program 261 provides the basic functions of the storage apparatus 200. For example, the storage control program 261 extracts a volume from the disk device 230 in the storage apparatus 200 and provides it to the host computer 100 as a logical volume, in order to improve the I / O efficiency between the logical volume and the host computer 100. In addition, a process for storing temporary data in the cache memory 220 and a process for integrating a plurality of storage apparatuses 200 to show a single virtual storage apparatus (virtual storage apparatus) (referred to as an integrated virtualization function) are executed. To do.
  • the storage control program 261 extracts a volume from the disk device 230 in the storage apparatus 200 and provides it to the host computer 100 as a logical volume, in order to improve the I / O efficiency between the logical volume and the host computer 100.
  • a process for storing temporary data in the cache memory 220 and a process for integrating a plurality of storage apparatuses 200 to show a single virtual storage apparatus (virtual storage apparatus) (referred to as
  • the storage control program 261 reflects the configuration information of physical resources (typically physical storage resources) in the storage apparatus 200 to the physical configuration management information 290 in the configuration storage device 270.
  • the physical configuration management information 290 is information including configuration information of one or a plurality of physical resources that the storage apparatus 200 having this information 290 has, and acquires configuration information of the specified physical resource from the physical configuration management information 290. can do.
  • the storage control program 261 displays the configuration information of the virtual resources (typically virtual storage resources) of the virtual storage apparatus. This is reflected in the virtual configuration management information 280 in 270.
  • the virtual configuration management information 280 is information including configuration information of one or a plurality of virtual resources that the virtual storage device has, and the configuration information of the specified virtual resource can be acquired from the virtual configuration management information 280.
  • “Reflecting resource configuration information in configuration management information” means updating configuration management information using resource configuration information. Specifically, for example, storing configuration information in configuration management information (Adding information in configuration information to configuration management information) or rewriting information in configuration management information using information in configuration information.
  • the storage control program 261 synchronizes the virtual configuration management information 280 among the plurality of storage apparatuses 200 configuring the virtual storage apparatus using the integrated virtualization function. Specifically, for example, when any configuration change occurs in the virtual storage device, the storage control program 261 updates the virtual configuration management information 280 in the storage device 200 that executes the program 261, and then the virtual storage device The updated virtual configuration management information 280 (or the difference between the updated virtual configuration management information 280 and the updated virtual configuration management information 280) is transmitted to all the other physical storage devices 200 constituting the device. Receiving the updated virtual configuration management information 280 (or difference), the physical storage device 200 updates the virtual configuration management information 280 of the device 200 using the received information. In this way, the virtual configuration management information 280 is synchronized in all the physical storage devices 200 constituting the virtual storage device.
  • the configuration information search program 262 executes a search for the configuration management information 271 in the configuration storage device 270 according to the search request received from the storage management server 300 or another storage apparatus 200, and uses the search result as a request source. This program executes the process to be returned.
  • the management server information input / output program 263 executes a process of saving the information transmitted from the storage management server 300 in the management server information 272 in the configuration storage device 270 in accordance with an input request from the storage management server 300. Further, the management server information input / output program 263 executes a process of reading information from the management server information 272 in the configuration storage device 270 and returning it to the storage management server 300 in accordance with an output request from the storage management server 300.
  • the configuration storage device 270 is configured by a storage device such as an HDD or a memory.
  • the configuration storage device 270 stores configuration management information 271 and management server information 272.
  • the configuration management information 271 is configuration information of resources (typically storage resources) of the storage apparatus 200, and includes virtual configuration management information 280 and physical configuration management information 290.
  • the physical configuration management information 290 is information for managing the physical resource configuration information of the storage apparatus 200.
  • the virtual configuration management information 280 is information for managing virtual resource configuration information of a virtual storage device configured by the integrated virtualization function. Note that if the storage apparatus 200 does not have the integrated virtualization function, the virtual configuration management information 280 may be omitted.
  • the virtual configuration management information 280 includes, for example, virtual storage information 281 (see FIG. 8A), virtual parity group information 282 (see FIG. 8B), virtual pool information 283 (see FIG. 8C), and virtual volume information 284 (see FIG. 8D). including.
  • the virtual configuration management information 280 is synchronized between the physical storage devices 200 when one virtual storage device is constructed by a plurality of physical storage devices 200. Therefore, basically, as long as the storage device 200 constructs the same virtual storage device, the same result is returned even if the configuration information search process described later is performed on any storage device 200. It becomes. Details of each piece of information included in the virtual configuration management information 280 will be described later.
  • the physical configuration management information 290 includes, for example, physical parity group information 291 (see FIGS. 9A and B), physical pool information 292 (see FIG. 9C), and physical volume information 293 (see FIGS. 9D and E). Details of each information will be described later.
  • Management server information 272 is information designated to be stored from the storage management server 300.
  • the storage management server 300 includes a controller 310 as an example of a control device, a main memory 330 and a disk device 340 as examples of a storage device, and a NIC 320.
  • the controller 310, the main memory 330, the disk device 340, and the NIC 320 are communicably connected via a bus.
  • a monitor 370 and an input / output device 380 are connected to the storage management server 300 via a bus.
  • the NIC 320 is a communication interface device for communicating with the host computer 100 and the storage device 200 via the communication network 20.
  • the controller 310 executes various processes by executing various programs stored in the main memory 330.
  • the main memory 330 stores various programs and various information.
  • the main memory 330 stores a GUI input / output program 331 and a synchronization program 332.
  • the GUI input / output program 331 performs processing for drawing on the monitor 370 a GUI screen (FIG. 6, FIG. 7 and the like) necessary for performing management operation of the storage system for the administrator (user). Also, the GUI input / output program 331 performs processing for receiving an input from the administrator from the input device 380.
  • the synchronization program 332 is a program that is executed periodically (for example, once a day) as a daemon, for example. Note that the synchronization program 332 may be executed at an arbitrary timing according to an input to the screen by the administrator in cooperation with the GUI input / output program 331.
  • the synchronization program 332 transmits the management server information 342 in the storage management server 300 to the storage apparatus 200, stores the management server information in the storage apparatus 200, and manages from the storage apparatus 200 upon recovery from a failure.
  • the server information is received and the management server information is recovered in the storage management server 200.
  • the synchronization program 332 includes a storage registration program 333 and a configuration information acquisition program 334.
  • the storage registration program 333 is a program for registering the storage device 200 to be managed by the storage management server 300 in cooperation with the GUI input / output program 331.
  • the configuration information acquisition program 334 is a program that acquires the configuration information of the resources of the storage apparatus 200 from the storage apparatus 200 and performs processing to reflect the acquired configuration information on the configuration management information 341 in the storage management server 300.
  • the management information acquisition program 334 includes a crossing acquisition program 335, a search issuance program 336, a longitudinal acquisition program 337, and a screen table 338. Details of the crossing acquisition program 335, the search issuance program 336, and the longitudinal acquisition program 337 and the details of the screen table 338 will be described later.
  • the disk device 340 stores configuration management information 341 and management server information 342.
  • the configuration management information 341 is information including resource configuration information of a plurality of storage apparatuses 200 to be managed, and includes virtual configuration management information 350 and physical configuration management information 360.
  • the virtual configuration management information 350 is virtual resource configuration information of a virtual storage device configured based on a plurality of storage devices 200 to be managed by the integrated virtualization function.
  • the virtual configuration management information 350 is basically obtained by collecting and consolidating the virtual configuration management information 280 of the storage apparatus 200.
  • the physical configuration management information 360 is physical resource configuration information of a plurality of storage devices 200 to be managed.
  • the physical configuration management information 360 is basically acquired and aggregated physical configuration management information 290 of a plurality of storage apparatuses 200.
  • the virtual configuration management information 350 includes, for example, virtual storage information 351 (see FIG. 11A), virtual parity group information 352 (see FIG. 11B), virtual pool information 353 (see FIG. 11C), and virtual volume information 354 (see FIG. 11D). including. Details of each information will be described later.
  • the physical configuration management information 360 includes, for example, physical parity group information 361 (see FIG. 12A), physical pool information 362 (see FIG. 12B), and physical volume information 363 (see FIG. 12C). Details of each information will be described later.
  • the management server information 342 is information used for processing of the storage management server 300. Basically, the management server information 342 is not managed by the storage device 200, but may be stored in the storage management server 300.
  • the management server information 342 includes, for example, a volume reservation table 343 that manages which host computer 100 makes a reservation to use which virtual volume. Details of the volume reservation table 343 will be described later.
  • the management server information 342 is not limited to the volume reservation table 343, and may be, for example, information related to screen customization for each administrator, and resources (for example, volumes such as virtual volumes and / or physical volumes).
  • the resource group information may be grouped in a predetermined unit (for example, for each project or each department in the company).
  • the management server information 342 includes information representing a usage definition predetermined for a specific resource.
  • the usage definition may be appropriately changed in the storage management server 300 during operation of the storage system.
  • the management server information 342 may be backed up from the storage management server 300 to at least one storage device 200 each time the management server information 342 is updated or periodically.
  • the backup of the management server information 342 may be a backup of the entire information 342 or a backup of difference information before and after the update.
  • the management server information 342 is information used for processing of the storage management server 300 as described above, it may be stored in the storage management server 300, but if a failure occurs in the storage management server 300, The management server information 342 may be lost. Therefore, the storage management server 300 of this embodiment is configured to back up the management server information 342 in the storage device 200 and acquire the management server information 342 from the storage device 200 when necessary. Thereby, even after a failure occurs in the storage management server 300, the management server information 342 can be appropriately acquired and used for processing.
  • FIG. 2 is a logical configuration diagram of the storage system according to the embodiment.
  • FIG. 2 shows an example in which the virtual storage apparatus 400 is configured with a plurality of storage apparatuses 200 by the integrated virtualization function in the storage system.
  • each host computer 100 is assumed to be host 1, host 2, and host 3
  • physical storage device 200 is assumed to be physical storage 1 and physical storage 2
  • virtual storage device 400 is assumed to be virtual storage 1.
  • the physical storage 1 has a parity group (physical parity group) 1 composed of a plurality of disk devices 230.
  • the storage areas of the physical parity group 1 are cut out as a physical volume 1 and a physical volume 2.
  • Each of the physical volumes 1 and 2 is a logical volume for the physical storage 1.
  • a set of the physical volume 1 and the physical volume 2 is a physical pool 1, and physical volumes 3 and 4 are associated with the physical pool 1.
  • Each of the physical volumes 3 and 4 is a kind of logical volume according to ThinThProvisioning, and is composed of a plurality of logical areas.
  • the physical pool 1 is divided into a plurality of real areas. For example, when a write to a certain logical area of the physical volume 3 occurs, the physical storage 1 allocates a real area from the physical pool 1 associated with the physical volume 3 to the write destination logical area. Yes.
  • the physical storage 2 has a physical parity group 1 and a physical parity group 2 composed of a plurality of disk devices 230.
  • the storage areas of the physical parity group 1 are cut out as a physical volume 1 and a physical volume 2.
  • the storage areas of the physical parity group 2 are cut out as a physical volume 3 and a physical volume 4.
  • a virtual storage device (here, virtual storage 1) is constructed by a plurality of storage devices (here, physical storage 1 and physical storage 2). Note that the number of virtual storage devices is not limited to one, and a plurality of virtual storage devices may be constructed.
  • the virtual parity group is a virtualized physical parity group and corresponds to the physical parity group on a one-to-one basis.
  • the physical parity group 1 of the physical storage 1 corresponds to the virtual parity group 1
  • the physical parity groups 1 and 2 of the physical storage 2 correspond to the virtual parity groups 2 and 3, respectively.
  • the virtual pool is a virtualized version of the physical pool and corresponds to the physical pool on a one-to-one basis.
  • the physical pool 1 corresponds to the virtual pool 1.
  • the virtual volume is a virtualized version of the physical volume and corresponds to the physical volume on a one-to-one basis.
  • the physical volumes 1, 2, 3, and 4 of the physical storage 1 correspond to the virtual volumes 1, 2, 3, and 4, respectively
  • the physical volumes 1, 2, 3, and 4 of the physical storage 2 are , Corresponding to virtual volumes 5, 6, 7 and 8, respectively.
  • the virtual volume is recognized by the host computer 100 and mounted as a host volume recognized by the host computer 100.
  • virtual volumes 3, 4, and 5 are mounted as host volumes 1, 2, and 3, respectively.
  • a virtual volume recognized by the host computer 100 is an online virtual volume, and an offline virtual volume (for example, a virtual volume constituting a virtual pool) is not recognized by the host computer 100.
  • an I / O occurs for the host volume 1
  • an I / O request for the virtual volume 3 is issued from the host 1.
  • the host volume is a logical volume assigned to the host computer 100.
  • a virtual volume is normally assigned to the host volume as described above.
  • a physical volume may be directly assigned to the host volume.
  • each resource of the physical parity group, physical volume, physical pool, virtual parity group, virtual pool, and virtual volume is divided into a plurality of layers based on the logical proximity to the host computer 100.
  • the layer is basically a set of resources of the same type.
  • the logical proximity to the host computer 100 refers to the proximity when tracing the target resource from the resource of the host computer 100.
  • I / O Input / Output
  • the I / O destination resource specified in the I / O request is the starting point. Then, I / O is sequentially performed on the final I / O destination resource associated with the starting resource.
  • one or a plurality of resources may be routed before I / O is performed on the final I / O destination resource.
  • the starting resource is the logically closest resource to the host computer 100
  • the final I / O destination resource is the logically furthest resource to the host computer 100. That is, in this series of I / O processing, the resource that is logically closer to the host computer 100 is the earlier in the order of I / O (accessed).
  • the virtual volume associated with the host volume of the host computer 100 is the closest, then the virtual pool is close, Next, it becomes a virtual parity group.
  • the physical volume is closest to the host computer 100, the physical pool is next closest, and then the physical parity group.
  • a virtual resource is often associated with the resource of the host computer 100, and a physical resource is associated with the virtual resource.
  • the person mainly manages virtual resources. Therefore, in this embodiment, it is assumed that the virtual resource is logically closer to the host computer 100 than the physical resource.
  • one or more virtual volumes that can be allocated to the host volume that is, a virtual volume cut out from the virtual pool or a virtual volume cut out from the virtual parity group (hereinafter, these may be referred to as terminal virtual volumes).
  • Is layer L1 one or more virtual pools and virtual volumes that cannot be assigned to host volumes (internal virtual volumes) are layer L2, one or more virtual parity groups are layer L3, and one or more assignable to host volumes
  • a physical volume, that is, a physical volume cut out from a physical pool or a physical volume cut out from a physical parity group (hereinafter, also referred to as a terminal physical volume) is set as layer L4, and one or more physical pools and host volumes are used.
  • it is logically close to the host computer 100 in the order of layer L1, layer L2,..., Layer L6.
  • FIG. 3 is a diagram showing an outline of a first example in the configuration information acquisition method according to the embodiment.
  • FIG. 3 shows an outline of a configuration information acquisition method when the range of resources from which configuration information should be acquired with priority given to operations by the administrator cannot be specified.
  • the storage management server 300 acquires configuration information regarding the resources of the layer in order from the layer closest to the host computer 100.
  • acquiring configuration information regarding a plurality of resources belonging to the same layer is referred to as cross-acquisition.
  • the storage management server 300 acquires configuration information regarding all virtual volumes (terminal virtual volumes) belonging to the layer L1 (FIG. 3 (1)). After acquiring the configuration information regarding the virtual volume of layer L1 in this way, the storage management server 300 receives the most basic storage management operation for assigning the end virtual volume to the host computer 100 and performs it from the administrator. Will be able to. Accordingly, some storage management operations can be executed without obtaining configuration information of all resources.
  • the storage management server 300 acquires configuration information regarding all virtual pools and internal virtual pools belonging to the layer L2 (FIG. 3 (2)). After acquiring the configuration information regarding the layer L2 virtual pool and the internal virtual pool in this way, the storage management server 300 performs the operation of cutting out a new virtual volume from the virtual pool or the end virtual volume acquired in FIG. By using this, storage management operations such as an operation for constructing a new virtual pool can be received from the administrator and executed.
  • the storage management server 300 acquires configuration information regarding all virtual parity groups belonging to the layer L3 (FIG. 3 (3)). After acquiring the configuration information regarding the virtual parity group of layer L3 in this way, the storage management server 300 can accept and execute a storage management operation such as an operation of cutting out a new virtual volume from the virtual parity group from the administrator. It becomes like this.
  • the storage management server 300 acquires configuration information regarding all physical volumes belonging to the layer L4 (FIG. 3 (4)). After acquiring the configuration information related to the physical volume of layer L4 as described above, the storage management server 300 can receive and execute a storage management operation for assigning the end physical volume to the host computer from the administrator. Further, since the storage management server 300 has information indicating the correspondence between the virtual volume acquired in FIG. 3A and the physical volume, the physical characteristics of each virtual volume are provided to the administrator. Will be able to. Therefore, the administrator can appropriately determine the virtual volume to be allocated to the host computer based on more detailed physical information.
  • the storage management server 300 acquires configuration information regarding all physical pools and internal physical volumes belonging to layer L5 (FIG. 3 (5)). After acquiring the configuration information regarding the physical pool and internal physical volume of layer L5 in this way, the storage management server 300 performs the operation of cutting out a new physical volume from the physical pool or the terminal physical volume acquired in FIG. By using this, storage management operations such as an operation for constructing a new physical pool can be received from the administrator and executed. Further, since the storage management server 300 has information indicating the correspondence between the virtual pool acquired in FIG. 3B and the physical pool, it provides the administrator with the physical characteristics of each virtual volume. Will be able to.
  • the storage management server 300 acquires configuration information regarding all physical parity groups belonging to the layer L6 (FIG. 3 (6)). After acquiring the configuration information related to the physical parity group of layer L6 in this way, the storage management server 300 can receive and perform a storage management operation such as an operation of cutting out a new physical volume from the physical parity group from the administrator. It becomes like this. Further, since the storage management server 300 has information indicating the correspondence between the virtual parity group acquired in FIG. 3 (3) and the physical parity group, the physical management of each virtual parity group is given to the administrator. It becomes possible to provide characteristics.
  • the storage management server 300 uses these virtual resources. The process of acquiring the configuration information regarding is not performed.
  • the reason why the configuration information is acquired by giving priority to the virtual resource of the virtual storage device 400 over the physical resource of the physical storage device 200 is that, for the administrator who uses the integrated virtualization function, the virtual information on the virtual storage device 400 This is because storage management for resources is mainly performed, and it is considered that the administrator wants to refer to and manage the configuration information of the virtual storage device 400 with priority.
  • the physical characteristics of each virtual resource cannot be referred to.
  • the integrated virtualization function is used, the virtual resource The mapping relationship between the physical resource and the physical resource can be changed later.
  • a virtual volume is allocated to the host computer 100 based on the virtual resource configuration information of the virtual storage apparatus 400, and the virtual volume is later This is because the operation of changing the mapping relationship of the physical volume to the virtual volume becomes possible when the physical characteristics of the virtual volume are known.
  • FIG. 4 is a diagram illustrating an outline of a second example in the configuration information acquisition method according to the embodiment.
  • FIG. 4 shows an outline of a configuration information acquisition method in the case where the storage management server 300 can identify a range of resources for which configuration information should be acquired with priority from an operation on the screen by the administrator. More specifically, an outline is shown when the storage management server 300 identifies an unused volume (here, virtual volumes 6, 7, and 8) as a range of resources for which configuration information is to be acquired. In this case, the storage management server 300 acquires the configuration information of the unused volume with priority.
  • an unused volume here, virtual volumes 6, 7, and 8
  • the configuration information about the resource and the configuration information about the resource related to the resource are sequentially displayed from the layer closest to the host computer 100. get.
  • acquiring configuration information related to a certain resource and configuration information related to the resource in accordance with the order of layers is referred to as longitudinal acquisition.
  • the storage management server 300 acquires the configuration information related to the virtual volume 6, acquires the configuration information related to the virtual parity group 2 related to the virtual volume 6, and the configuration related to the physical volume 2 related to the virtual volume 6. The information is acquired, and the configuration information of the physical parity group 1 related to the physical volume 2 is acquired (FIG. 4 (1)). Similarly, the storage management server 300 acquires configuration information about the virtual volume 7, and sequentially acquires configuration information of the virtual parity group 3, the physical volume 3, and the physical parity group 2 related to the virtual volume 7 (FIG. 4). (2)). Further, the storage management server 300 acquires configuration information related to the virtual volume 8, and acquires information of the physical volume 4 related to the virtual volume 8 (FIG. 4 (3)).
  • the storage management server 300 By executing this longitudinal acquisition (FIG. 4 (1) to (3)), for example, the storage management server 300 sequentially acquires configuration information related to related virtual resources and physical resources for each virtual volume. Can do. In the middle of this longitudinal acquisition, the volume displayed on the screen displayed by the storage management server 300 gradually increases as time passes.
  • the administrator can perform a storage management operation by the storage management server 300 by selecting an arbitrary volume from the displayed volumes at a desired timing and instructing an arbitrary storage management operation. Therefore, the administrator can grasp the configuration information of resources related to operations on the screen at an early stage, and can perform operations on these resources at an early stage.
  • the storage management server 300 executes the processes of FIGS. 4 (4) to (9) for resources that are not targeted for longitudinal acquisition.
  • the processes in FIGS. 4 (4) to (9) are processes for performing cross-sectional acquisition similar to those in FIGS. 3 (1) to (6).
  • FIG. 5 is a diagram showing an outline of a third example in the configuration information acquisition method according to the embodiment.
  • FIG. 5 shows a range of resources for which the storage management server 300 should acquire configuration information with priority based on the operation on the screen by the administrator and the management server information 342 previously managed by the storage management server 300.
  • the outline of the configuration information acquisition method when it can be specified is shown.
  • the management server information 342 is, for example, information (volume reservation table 343) indicating which host computer reserves which virtual volume to use.
  • host 1 reserves virtual volumes 3 and 4
  • host 2 reserves virtual volumes 5 and 6
  • host 3 reserves virtual volumes 7 and 8 as volumes to be used. It is assumed that the content is stored as management server information 342 in the storage management server 300.
  • the storage management server 300 recognizes that the configuration information of the virtual volume reserved in the specific host computer 100 (here, the host 3) should be preferentially acquired by an operation by the administrator. Based on the management server information 342, the volumes reserved for use by the host 3 (here, virtual volumes 7 and 8) are specified as resources to be acquired with priority given to the configuration information.
  • the storage management server 300 executes longitudinal acquisition for each of the identified virtual volumes 7 and 8 (FIGS. 5 (1) and (2)). The processing and effects of this longitudinal acquisition are the same as the cross-sectional acquisition in FIG.
  • the storage management server 300 executes the processes of FIGS. 5 (3) to (8) for resources that are not targeted for longitudinal acquisition.
  • the processes in FIGS. 5 (3) to (8) are processes for performing cross-sectional acquisition similar to those in FIGS. 3 (1) to (6).
  • the management server information 342 in this example (information indicating which host computer reserves which virtual volume to use) is information managed on the storage management server 300 side, The device 200 is not managed. For this reason, the storage management server 300 performs processing for specifying a virtual volume reserved as a volume used by the host computer 100. Further, since the management server information 342 in this example is information that can be lost when the storage management server 300 fails, the management server information 342 may be periodically stored in the storage device 200 and recovered from the storage device 200 when lost. good. According to this method, based on the management server information 342, it is possible to appropriately specify the range of resources for which configuration information is acquired with priority.
  • FIG. 6 is a configuration diagram of an example of a GUI screen displayed by the storage management server according to the embodiment.
  • FIG. 6 shows a GUI screen displayed after the storage management server 300 acquires the configuration information of all the resources of the storage system.
  • the GUI screen 1000 is a screen for an administrator to perform a storage management operation, and is a screen for displaying resource information on the storage system and inputting an operation instruction for the resource.
  • the GUI screen 1000 has a tree display area 1100 and a detailed information display area 1200.
  • the tree display area 1100 a tree having representative resource names of the storage apparatus 200 and the host computer 100 as nodes (an example of resource information) is displayed.
  • the administrator can change the content displayed in the detailed information display area 1200 by selecting a node in the tree.
  • the detailed information display area 1200 is selected from the table display area 1210 and the table display area 1210 for displaying detailed information of one or more resources corresponding to the node selected by the administrator in the tree display area 1100 in, for example, a table format.
  • an operation button area 1220 for displaying one or more management operation buttons for receiving a storage management operation for the resource.
  • Detailed information on resources displayed in the table display area 1210 is displayed by the GUI input program 331 using the configuration management information 341 and the management server configuration information 342 in the disk device 340.
  • FIG. 7 is a configuration diagram of another example of the GUI screen displayed by the storage management server according to the embodiment.
  • FIG. 7 is an example of a GUI screen during the execution of the configuration information acquisition process in which the storage management server 300 acquires the configuration information of the storage system resources.
  • the storage management server 300 stores the end virtual volume of FIG. It is an example of a GUI screen in the middle of acquisition of configuration information.
  • a node for which configuration information has not been acquired is displayed in a mode (unacquired mode: for example, a white character mode on a black background) indicating that configuration information has not been acquired. Is done.
  • a mode for example, a white character mode on a black background
  • the configuration information regarding the group is in an unacquired state, and the nodes corresponding to these are displayed in an unacquired form.
  • the administrator can select an unacquired mode node. If a node in an unacquired mode is selected, the configuration information of the resource corresponding to the node does not exist immediately after the selection, so the table display area 1210 of the detailed information display area 1200 includes Although nothing is displayed, the operation content (for example, which node the administrator wants to operate the resource of the administrator) can be notified to the storage management server 200 by selecting the node.
  • the storage management server 200 can switch the processing so as to preferentially acquire the configuration information of the resources necessary for screen display according to the operation contents of the administrator, so relatively early. Detailed information on the resource desired by the administrator is displayed in the detailed information display area 1200, and the number of storage management operations that can be performed by the administrator increases.
  • the management operation button corresponding to the management operation that cannot be executed when this screen is displayed is displayed in a mode indicating that the management operation cannot be executed (non-execution mode: for example, white character mode on a black background) Is done.
  • volume creation corresponding to the “create volume” button cannot be performed unless there is configuration information related to a virtual parity group or virtual pool. Therefore, when this screen is displayed, the configuration corresponding to the storage management server 300 is displayed. Since no information is stored, it is displayed in a negative execution mode. Note that if the configuration information related to the virtual pool is acquired after a lapse of time, volume creation can be performed. Therefore, the “create volume” button is not a non-execution mode but a mode indicating that it can be performed. It becomes.
  • FIG. 8A is a configuration diagram of virtual storage information of the storage apparatus according to the embodiment.
  • the virtual storage information 281 is information for managing on which physical storage device the virtual storage device is constructed. According to the virtual storage information 281, for example, for which physical storage device the virtual configuration management information 280 should be synchronized can be specified.
  • the virtual storage information 281 is configured in a table format, for example, and stores a record including fields of a virtual storage identifier 281a and a physical storage identifier 281b.
  • the virtual storage identifier 281a stores an identifier (virtual storage identifier) for uniquely identifying the virtual storage device. If the integrated virtualization function is not used in the physical storage device 200, “ ⁇ ” indicating an invalid value is stored in the virtual storage identifier 281a.
  • the physical storage identifier 281b stores an identifier (physical storage identifier) for uniquely identifying the physical storage device 200 constructing the virtual storage device corresponding to the virtual storage identifier of the same record.
  • FIG. 8B is a configuration diagram of virtual parity group information of the storage apparatus according to the embodiment.
  • the virtual parity group information 282 is configured in a table format, for example, and stores a record including fields of a virtual storage identifier 282a, a virtual parity group identifier 282b, a physical storage identifier 282c, and a physical parity group identifier 282d.
  • the virtual storage identifier 282a stores a virtual storage identifier for uniquely identifying the virtual storage device.
  • the virtual parity group identifier 282b stores an identifier (virtual parity group identifier) for uniquely identifying the virtual parity group.
  • the physical storage identifier 282c stores the physical storage identifier of the physical storage device 200 having the physical parity group assigned to the virtual parity group corresponding to the virtual parity group identifier of the same record.
  • the physical parity group identifier 282d stores the physical parity group identifier of the physical parity group assigned to the virtual parity group corresponding to the virtual parity group identifier of the same record.
  • the virtual parity group information 282 which physical parity group the virtual parity group corresponds to can be specified as a combination of a physical storage identifier and a physical parity group identifier.
  • FIG. 8C is a configuration diagram of virtual pool information of the storage apparatus according to the embodiment.
  • the virtual pool information 283 is configured in a table format, for example, and stores a record including fields of a virtual storage identifier 283a, a virtual pool identifier 283b, a physical storage identifier 283c, and a physical pool identifier 283d.
  • the virtual storage identifier 283a stores a virtual storage identifier for uniquely identifying the virtual storage device.
  • the virtual pool identifier 283b stores an identifier (virtual pool identifier) for uniquely identifying the virtual pool.
  • the physical storage identifier 283c stores the physical storage identifier of the physical storage device 200 having the physical pool assigned to the virtual pool corresponding to the virtual pool identifier of the same record.
  • the physical pool identifier 283d stores the physical pool identifier of the physical pool assigned to the virtual pool corresponding to the virtual pool identifier of the same record.
  • the virtual pool information 283 it is possible to specify which physical pool a virtual pool corresponds to as a combination of a physical storage identifier and a physical pool identifier.
  • FIG. 8D is a configuration diagram of virtual volume information of the storage apparatus according to the embodiment.
  • the virtual volume information 284 is configured, for example, in a table format, and for each virtual volume, a virtual storage identifier 284a, a virtual volume identifier 284b, a user identifier 284c, a virtual pool identifier 284d, a virtual parity group identifier 284e, A record including fields of volume characteristic 284f, availability 284g, physical storage identifier 284h, and physical volume identifier 284i is stored.
  • the virtual storage identifier 284a stores a virtual storage identifier for uniquely identifying the virtual storage device.
  • the virtual volume identifier 284b stores an identifier (virtual volume identifier) for uniquely identifying the virtual volume in the virtual storage device.
  • the user identifier 284c stores an identifier (user identifier) for identifying the user of the virtual volume of the same record. For example, when the volume is used by the host computer 100, the user identifier 284c stores an identifier (host identifier) that uniquely identifies the host computer 100. Further, in the case of a virtual volume used by the virtual pool, that is, a virtual volume (also referred to as an internal virtual volume) constituting the virtual pool, the virtual pool identifier of the virtual pool is stored.
  • the virtual pool identifier 284d stores the virtual pool identifier of the virtual pool from which the virtual volume corresponding to the record is cut out.
  • “ ⁇ ” indicating an invalid value is stored in the virtual pool identifier 284d.
  • the virtual parity group identifier 284e stores the virtual parity group identifier of the virtual parity group obtained by cutting out the virtual volume corresponding to the record.
  • the virtual parity group identifier 284e indicates an invalid value “ ⁇ ”. Is stored.
  • volume characteristic 284f a volume characteristic value indicating whether a virtual volume corresponding to the record can be allocated to the host computer 100 is stored.
  • the volume characteristic value “end” indicating that the virtual volume corresponding to the record can be allocated to the host computer 100 and the virtual volume corresponding to the record are internally used in the storage apparatus 200.
  • the volume characteristic value is “internal”.
  • the volume characteristics The value is “end”.
  • the availability 284g information indicating whether or not the virtual volume corresponding to the record can be used is stored. For example, when the host computer 100 has already used a virtual volume corresponding to a record, or when a virtual volume corresponding to a record is an internal volume that constitutes a virtual pool, the availability 284g cannot be used. “In use” is stored, and in other cases, “unused” indicating availability is stored in the availability 284g.
  • the physical storage identifier 284h stores the physical storage identifier of the physical storage device 200 having a physical volume assigned to the virtual volume corresponding to the record.
  • the physical volume identifier 284i stores the physical volume identifier of the physical volume assigned to the virtual volume corresponding to the record.
  • the virtual volume information 284 it is possible to specify which physical volume the virtual volume corresponds to as a combination of a physical storage identifier and a physical pool identifier.
  • FIG. 9A is a configuration diagram of an example of physical parity group information of the storage apparatus according to the embodiment.
  • FIG. 9B is a configuration diagram of another example of physical parity group information of the storage apparatus according to the embodiment.
  • 9A shows the physical parity group information stored in the physical storage 1 shown in FIG. 2, and the physical parity group information shown in FIG. 9B is stored in the physical storage 2 shown in FIG. Physical parity group information.
  • the physical parity group information 291 is configured in a table format, for example, and stores a record including fields of a physical storage identifier 291a, a physical parity group identifier 291b, a capacity 291c, and a type 291d.
  • the physical storage identifier 291a stores an identifier (physical storage identifier) that uniquely identifies the physical storage device 200 having the physical parity group corresponding to the record in the storage network.
  • the physical parity group identifier 291b stores an identifier (physical parity group identifier) that uniquely identifies the physical parity group corresponding to the record within the physical storage device 200.
  • the capacity 291c stores the capacity of the physical parity group corresponding to the record.
  • the type 291d stores information indicating the type of physical device that constitutes the physical parity group corresponding to the record. Types of physical devices include “SSD”, “SAS”, “SATA”, and the like.
  • the physical parity group 1 of the physical storage 1 has a capacity of 60 GB and the physical device is an SSD.
  • the physical parity group information 291 shown in FIG. 9B it can be seen that the physical parity group 2 of the physical storage 2 has a capacity of 60 GB and the physical device is SATA.
  • FIG. 9C is a configuration diagram of physical pool information of the storage apparatus according to the embodiment.
  • the physical pool information illustrated in FIG. 9C indicates the physical pool information stored in the physical storage 1 illustrated in FIG.
  • the physical pool information 292 is configured in, for example, a table format, and stores a record including fields of a physical storage identifier 292a, a physical pool identifier 292b, and a capacity 292c.
  • the physical storage identifier 292a stores the physical storage identifier of the physical storage device 200 having a physical pool corresponding to the record.
  • the physical pool identifier 292b stores an identifier (physical pool identifier) that uniquely identifies the physical pool corresponding to the record within the physical storage device 200.
  • the capacity 292c stores the capacity of the physical pool corresponding to the record.
  • FIG. 9D is a configuration diagram of an example of physical volume information of the storage apparatus according to the embodiment.
  • FIG. 9E is a configuration diagram of another example of physical volume information of the storage apparatus according to the embodiment.
  • 9D shows the physical volume information stored in the physical storage 1 shown in FIG. 2, and the physical volume information shown in FIG. 9E shows the physical volume stored in the physical storage 2 shown in FIG. Information is shown.
  • the physical volume information 293 is configured in, for example, a table format, and for each physical volume in the physical storage device 200 to which the physical volume information 293 belongs, a physical storage identifier 293a, a physical volume identifier 293b, a user identifier 293c, and a physical pool identifier 293d. And a record including fields of physical parity group identifier 293e, volume characteristics 293f, availability 293g, and capacity 293h.
  • the physical storage identifier 293a stores a physical storage identifier for uniquely identifying the physical storage device 200 having the physical volume corresponding to the record.
  • the physical volume identifier 293b stores an identifier (physical volume identifier) for uniquely identifying the physical volume corresponding to the record within the physical storage device 200.
  • the user identifier 293c stores an identifier (user identifier) for identifying the user of the physical volume of the same record. For example, when the physical volume is used by the host computer 100, the user identifier 293c stores an identifier (host computer identifier) that uniquely identifies the host computer 100.
  • the physical pool identifier of the physical pool is stored.
  • the physical pool identifier 293d stores the physical pool identifier of the physical pool from which the physical volume corresponding to the record is cut out. If the physical volume corresponding to the record is not a physical volume cut out from the physical pool, “ ⁇ ” indicating an invalid value is stored in the physical pool identifier 293d.
  • the physical parity group identifier 293e stores the physical parity group identifier of the physical parity group obtained by cutting out the physical volume corresponding to the record. When the physical volume corresponding to the record is not directly cut out from the physical parity group, for example, when the physical volume is cut out from the physical pool, the physical parity group identifier 293e indicates an invalid value “ ⁇ Is stored.
  • volume characteristic 293f a volume characteristic value indicating whether a physical volume corresponding to the record can be allocated to the host computer 100 is stored.
  • “end” indicating that the physical volume corresponding to the record can be allocated to the host computer 100 and the physical volume corresponding to the record are internally used in the storage apparatus 200.
  • “internal” indicating that assignment to 100 is not possible.
  • the volume characteristic value is “internal”.
  • the volume characteristics The value is “end”.
  • the availability 293g information indicating whether or not the physical volume corresponding to the record can be used is stored. For example, if the host computer 100 has already used a physical volume corresponding to a record, or if the physical volume corresponding to a record is an internal volume that constitutes a physical pool, it cannot be used as the availability 293g. In other cases, “unused” indicating availability is stored in the availability 293g.
  • the capacity 293h stores the capacity of the physical volume corresponding to the record.
  • FIG. 10A is a configuration diagram of a volume reservation table of the storage management server according to the embodiment.
  • the volume reservation table 343 is information for managing which host computer 100 reserves which virtual volume is used. The reservation for using the virtual volume does not depend on the use / unuse of the virtual volume in the storage apparatus 200.
  • the volume reservation table 343 stores a record including fields of a virtual storage identifier 343a, a virtual volume identifier 343b, and a host identifier 343c.
  • the virtual storage identifier 343a stores the virtual storage identifier of the virtual storage device having the reservation target virtual volume.
  • the virtual volume identifier 343b stores the virtual volume identifier of the reservation target virtual volume.
  • the host identifier 343c stores the host identifier of the host computer 100 that uses the reservation target virtual volume.
  • the information in the volume reservation table 343 displays a reservation screen (not shown) for reserving which virtual volume the storage management server 300 uses in which host computer 100 on the monitor 370.
  • the setting can be made by receiving the reservation contents from the administrator via the input device 380.
  • FIG. 10B is a configuration diagram of a screen table of the storage management server according to the embodiment.
  • the screen table 338 is information for managing a correspondence relationship between a screen used by the configuration information acquisition program 334 and a search condition for information necessary for display on the screen.
  • the screen table 338 is static information included in the configuration information acquisition program 334.
  • the screen table 338 is not limited to this, and the administrator stores the screen table 338 in the disk device 340 so that the administrator can store the screen table 338. You may be able to edit the contents of.
  • the screen table 338 stores a record including fields of a screen identifier 338a, a resource identifier 338b, a search condition 338c, a search start point 338d, and a management server information name 338e.
  • the screen identifier 338a stores an identifier (screen identifier) that uniquely identifies the type of screen provided by the storage management server 300.
  • the resource identifier 338b stores a resource identifier name focused on the screen corresponding to the screen identifier (for example, a name used as a field name in a record).
  • the search condition 338c includes a search condition search expression to be included in the search request transmitted when the storage apparatus 200 searches the configuration information related to the resource corresponding to the resource identifier name focused on the screen identifier corresponding to the record. Stored.
  • the search expression may include, for example, a replacement symbol “?” Indicating that the value needs to be replaced.
  • the storage management server 300 refers to the management server information of the management server information name 338e and resolves the value of the replacement symbol “?”. Details will be described later.
  • the search start point 338d stores the value of the search start point included in the search request.
  • the search starting point is an information name for starting a search.
  • the management server information name 338e includes the information name in the management server information 342 used to resolve the value of the replacement symbol “?” When the record search condition 338c includes the replacement symbol “?”. Stored.
  • FIG. 11A is a configuration diagram of virtual storage information of the storage management server according to the embodiment.
  • the virtual storage information 351 stores a record including fields of a virtual storage identifier 351a and a physical storage identifier 351b. The contents of each field are the same as the field of the same name in the virtual storage information 281 in FIG. 8A.
  • FIG. 11B is a configuration diagram of virtual parity group information of the storage management server according to the embodiment.
  • the virtual parity group information 352 stores a record including fields (352a to 352d) similar to the virtual parity group information 282 of FIG. 8B and the last update time 352e.
  • the last update time 352e stores the time (update time) when the record was updated.
  • FIG. 11C is a configuration diagram of virtual pool information of the storage management server according to the embodiment.
  • the virtual pool information 353 stores a record including fields (353a to 353d) similar to the virtual pool information 283 in FIG. 8C and the last update time 353e.
  • the last update time 353e stores the time when the record was updated (update time).
  • FIG. 11D is a configuration diagram of virtual volume information of the storage management server according to the embodiment.
  • the virtual volume information 354 stores a record including fields (354a to 354i) similar to the virtual volume information 284 in FIG. 8D and the last update time 354j.
  • the last update time 354j stores the time when the record was updated (update time).
  • FIG. 12A is a configuration diagram of physical parity group information of the storage management server according to the embodiment.
  • the physical parity group information 361 stores a record including fields (361a to 361d) similar to the physical parity group information 291 in FIG. 9A and the last update time 361e.
  • the last update time 361e stores the time when the record was updated (update time).
  • the physical parity group information 361 is a collection of physical parity group information 291 of a plurality of storage apparatuses 200.
  • FIG. 12B is a configuration diagram of physical pool information of the storage management server according to the embodiment.
  • the physical pool information 362 stores a record including fields (362a to 362c) similar to the physical pool information 292 of FIG. 9C and the last update time 362d.
  • the last update time 362d stores the time when the record was updated (update time).
  • the physical pool information 362 is a collection of physical pool information 292 of a plurality of storage apparatuses 200.
  • FIG. 12C is a configuration diagram of physical volume information of the storage management server according to the embodiment.
  • the physical volume information 363 stores a record including fields (363a to 363h) similar to the physical volume information 293 in FIG. 9D and the last update time 363i.
  • the last update time 363i stores the time (update time) when the record was updated.
  • the physical volume information 363 is a collection of physical volume information 293 of a plurality of storage apparatuses 200.
  • FIG. 13 is a flowchart of the configuration information search process according to the embodiment.
  • the configuration information search process is executed when the controller 210 executes the configuration information search program 262 of the storage apparatus 200, searches the configuration management information 271 in the storage apparatus 200, and the result is stored in the storage management server 300. It is processing to return to.
  • a flexible search is performed in response to a search request issued from the storage management server 300.
  • the configuration information search program 262 waits until a search request arrives at the storage device 200 (step S11).
  • the search request includes a search method, a search starting point, and a search condition.
  • the search method has a value of either “single only” or “follow association”. “Single only” is a value set at the time of cross-acquisition, and means that only the search origin information included in the search request is searched. Further, “follow the relationship” is a value set when the profile is acquired, and means that the search is performed by tracing the relationship from the information of the search starting point.
  • the search starting point is an information name (table name) for starting the search.
  • the search condition is a search expression expressed by a combination of a column name, an operator, and a value. If a special value (“none”) is specified in the search condition, the configuration information search program 262 determines that all records match with no condition.
  • the configuration information search program 262 performs a common search for searching the configuration management information 271 based on the search request (step S12).
  • the configuration information search program 262 searches only the information of the search start point included in the search request.
  • the configuration information search program 262 returns the number of records (record number) that matches the search condition in the search in step S12 to the storage management server 300 that is the search request source (step S13).
  • the configuration information search program 262 returns “6” as the number of cases to the search request source (storage management server 300).
  • the configuration information search program 262 waits until a response indicating that the number of cases is received from the search request source is returned (step S14).
  • the configuration information search program 262 determines whether or not the search method in the search request is “single only” (step S15). ).
  • step S15 when the search method is “single only” (step S15: Yes), the configuration information search program 262 selects one record from the search result acquired in step S12 and sets it as the search request source. Return (step S16). At this time, the configuration information search program 262 returns a set of a table name (target table name) to be searched and a record value obtained by the search.
  • step S16 the value of the record relating to the virtual volume 4
  • step S18 the value of the record relating to volume 5 will be returned.
  • one record is returned so that a large amount of data is not returned to the search request source at one time.
  • the storage apparatus 200 and the storage management server 300 can quickly switch the processing.
  • the search results are returned one record at a time.
  • the present invention is not limited to this, and when the number of records in the search results is large, the search results are searched for each predetermined division unit. What is necessary is just to make it return to a request origin, for example, may return several records. In this case, for example, the number of records that can be stored in one unit (communication packet) of data communication may be used as a division unit.
  • the configuration information search program 262 waits for a response indicating that reception of one record is completed from the search request source (step S17).
  • the configuration information search program 262 determines whether all search results have been returned or whether the search request source has stopped receiving search results (for example, It is determined whether a reception termination response has been received from the search request source or a response has not been returned from the search request source for a certain period of time (step S18).
  • the configuration information search program 262 advances the processing to step S11 and continues to the next. Wait for the search request to arrive.
  • step S18 determines whether the search request source has stopped receiving the search results. If all search results have not been returned, and if the search request source has not stopped receiving the search results (step S18: No), the configuration information search program 262 displays the remaining records of the search results. In order to transmit, the process proceeds to step S16.
  • step S15 if the search method is not “single only” in step S15, that is, if the search method is “follow association” (step S15: No), the configuration information search program 262 is acquired in step S12. One record is selected from the search result and stored in the variable rsc (step S19). In the case of Example 1, the configuration information search program 262 selects one of the records whose virtual volume identifier 284b of the virtual volume information 284 is “virtual volume 3, 4, 5, 6, 7, 8”. .
  • the configuration information search program 262 performs a virtual related search for acquiring configuration information about other virtual resources in the virtual storage device related to the virtual resource stored in the variable rsc (step S20).
  • the variable rsc is a record that targets a virtual volume.
  • the related resource in the virtual storage apparatus is similarly used.
  • the configuration information is traced and the search is performed. Note that which resource the variable rsc targets can be grasped from the table name corresponding to the record of the variable rsc.
  • Case 1 When a valid value is stored in the virtual pool identifier 284d of the record of the variable rsc (corresponding to the record of the virtual volume information 284 here) (that is, the virtual volume is a virtual volume cut out from the virtual pool) (If any), the configuration information search program 262 starts from the virtual volume (terminal virtual volume) of the record indicated by the variable rsc to (1) the associated virtual pool, (2) the internal virtual volume, and (3) the virtual parity group. As described above, the related resource is traced, and the configuration information related to the resource is acquired. Specifically, the following processing is performed.
  • the configuration information search program 262 searches for the virtual pool configuration information related to the virtual volume corresponding to the variable rsc. Specifically, the configuration information search program 262 searches the virtual pool information 283 for a record in which the virtual pool identifier of the virtual pool identifier 283b is the same as the virtual pool identifier of the virtual pool identifier 284d of the record of the variable rsc. Here, it is assumed that the record group of the search result is “pool”.
  • the configuration information search program 262 searches for configuration information of the virtual volume (internal virtual volume) associated with “pool”. Specifically, the configuration information search program 262 searches the virtual volume information 284 for a record that matches the virtual pool identifier of the virtual pool identifier 283b whose user identifier of the user identifier 284c is “pool”.
  • the record group of the search result is referred to as a “pool-vol group”.
  • the configuration information search program 262 searches for the configuration information of the virtual parity group related to the “pool-vol group”. Specifically, the configuration information search program 262 determines from the virtual parity group information 282 that the virtual parity group identifier of the virtual parity group identifier 282b is the same as the virtual parity group identifier of the virtual parity group identifier 284e of the “pool-vol group”. Search for records. Here, the record group of the search result is referred to as “v-pg group”.
  • a record in which the virtual volume identifier 284b is “virtual volume 3” or “virtual volume 4” is applicable.
  • a record of “virtual volume 3” is selected as the variable rsc will be described as an example.
  • the virtual pool identifier 283b of the virtual pool information 283 is a record of the virtual pool 1.
  • the “pool-vol group” that is a record group of the virtual volume related to the virtual pool 1 indicated by “pool” has the virtual volume identifier 284b of the virtual volume information 284 as “virtual volume 1” and “virtual volume 2”. It becomes a record.
  • the “v-pg group” that is a record group of the virtual parity group related to the virtual volumes 1 and 2 indicated by the “pool-vol group” has the virtual parity group identifier 282b of the virtual parity group information 282 set to “virtual parity group”.
  • the record is “1”.
  • Case 2 When a valid value is stored in the virtual parity group identifier 284e of the record of the variable rsc (that is, when the virtual volume is a virtual volume extracted from the virtual parity group), the configuration information search program 262 (4) Traces the related virtual parity group from the virtual volume indicated by the variable rsc, and acquires configuration information related to the resource. Specifically, the following processing is performed.
  • the configuration information search program 262 searches for the configuration information of the virtual parity group associated with the virtual volume indicated by the variable rsc. Specifically, the configuration information search program 262 searches the virtual parity group information 282 for a record in which the virtual parity group identifier of the virtual parity group identifier 282b is the same as the virtual parity group identifier of the virtual parity group identifier 284e of the variable rsc. .
  • the record group of the search result is referred to as “v-pg group”.
  • the virtual volume identifier 284b is “virtual volume 5”, “virtual volume 6”, “virtual volume 7”. ”And“ virtual volume 8 ”.
  • a case where a record of “virtual volume 6” is selected as the variable rsc is considered.
  • V-pg group which is a record group of the virtual parity group related to the virtual volume 6 indicated by the variable rsc is a record in which the virtual parity group identifier 282b of the virtual parity group information 282 is “virtual parity group 2”.
  • the configuration information search program 262 searches for a physical resource related to the virtual resource stored in the variable rsc (step S21). Specifically, the configuration information search program 262 acquires a physical storage identifier and a physical volume identifier corresponding to the virtual volume stored in the variable rsc.
  • the configuration information search program 262 executes the physical configuration of the configuration storage device 270 of the own storage apparatus 200.
  • the management information 290 is searched, and in the physical volume information 293, a record in which the physical volume identifier of the physical volume identifier 293b is the same as the physical volume identifier of the physical volume identifier 284i of the variable rsc is obtained, and this record is set as a new variable rsc.
  • the virtual resource stored in the variable rsc is “virtual volume 3”
  • the physical storage identifier 284h is “physical storage 1”
  • the physical volume identifier 284i is “physical volume 3”.
  • a record with the physical volume identifier 293b “physical volume 3” is acquired from the physical volume information 293 of the storage apparatus 200, and this record is newly added.
  • the configuration information search program 262 determines that the other storage device 200 having the physical storage identifier A search request is issued via the communication network 20, the search result is received, and the received record is set as a new variable rsc.
  • a search request is issued to the storage device 200 indicated by the physical storage 2 with the physical storage identifier 284h of the variable rsc, and the physical storage 2 A record in which the physical volume identifier 293b of the physical volume information 293 in the storage apparatus 200 is “physical volume 2” is acquired, and this record is set as a new variable rsc.
  • the configuration information search program 262 performs a physical association search for acquiring configuration information about other physical resources in the storage apparatus related to the physical resource indicated by the variable rsc (step S22).
  • the search processing for tracing the related virtual resource from the virtual volume performed in the virtual related search in step S20 is replaced with the search processing for tracking the related physical resource from the physical volume, and the information to be referenced is The process is replaced with the configuration information of the physical resource, and the essence of the process is the same as the virtual related search.
  • the configuration The information search program 262 issues a search request via the communication network 20 to the storage apparatus 200 having the physical storage identifier of the physical storage identifier 293b, and receives the search result.
  • the configuration information search program 262 performs the following processing.
  • Case 3 When a valid value is stored in the physical pool identifier 293d of the variable rsc (that is, when the physical volume is a physical volume cut out from the physical pool), the configuration information search program 262 executes the variable rsc Configuration related to the resource by tracing the related resource such as (1) related physical pool, (2) internal physical volume, (3) physical parity group, etc. from the physical volume (terminal physical volume) of the record indicated by Get information.
  • the related resource such as (1) related physical pool, (2) internal physical volume, (3) physical parity group, etc.
  • Case 4 When a valid value is stored in the physical parity group identifier 293e of the variable rsc (that is, when the physical volume is a physical volume extracted from the physical parity group), the configuration information search program 262 (4) The physical parity group is traced from the physical volume indicated by the variable rsc, and configuration information related to the resource is acquired.
  • the configuration information search program 262 returns all records of virtual resources and physical resources related to the variable rsc obtained by the search to the search request source (step S23). At this time, the configuration information search program 262 returns an array of a table name (target table name) corresponding to the record and a set of record values.
  • the configuration information search program 262 returns all the following information (1) to (6) in step S23. .
  • “Target table name virtual volume information”
  • “record value records related to virtual volumes 1, 2, 3”
  • “Target table name virtual parity group information”
  • “record value record related to virtual parity group 1”
  • “Target table name physical volume information”
  • “record value records related to physical volumes 1, 2, 3”
  • “Target table name physical pool”
  • “record value record related to physical pool 1”
  • “Target table name physical parity group information”
  • “record value record related to physical parity group 1”
  • step S23 the configuration information search program 262 executes the following (1 Return all information from (4) to (4).
  • “Target table name virtual volume information”
  • “record value record related to virtual volume 6”
  • “Target table name virtual parity group information”
  • “record value record related to virtual parity group 2”
  • “Target table name physical volume information”
  • “record value record related to physical volume 2”
  • the configuration information search program 262 waits until a response indicating that the search result is received from the search request source is returned (step S24).
  • the configuration information search program 262 determines whether all search results have been returned or whether the search request source has stopped receiving search results (for example, It is determined whether a response to the reception termination has been received from the search request source or a response has not been returned from the search request source for a certain period of time (step S25).
  • the configuration information search program 262 advances the process to step S11, Wait for the next search request to arrive.
  • step S25 the configuration information search program 262 returns the search results in step S12. The process proceeds to step S19 in order to perform the same process using the remaining records as the variable rsc.
  • FIG. 14 is a flowchart of management server information input / output processing according to the embodiment.
  • Management server information entry / exit processing is executed by the storage apparatus 200 in accordance with an instruction from the storage management server 300 via the communication network 20. Specifically, the management server information input / output process is executed by the controller 210 executing the management server information input / output program 263 of the storage apparatus 200. The management server information entry / exit processing is processing for storing information desired by the storage management server 300 in the configuration storage device 270 of the storage apparatus 200 and reading out information stored in the configuration storage device 270.
  • the management server information input / output program 263 waits until a management server information input / output request arrives from the storage management server 300 (step S31).
  • the input / output request includes an input / output type.
  • the input / output type takes one of values of “input” for storing information in the configuration storage device 270 and “output” for reading information from the configuration storage device 270.
  • the management server information input / output program 263 determines whether the input type of the input / output request is “input” (step S32). .
  • step S32 when the input / output type of the input / output request is “input” (step S32: Yes), the management server information input / output program 263 receives the information to be input from the storage management server 300 (step S33). The received information is stored in the management server information 272 of the configuration storage device 270 (step S34), and the process proceeds to step S31.
  • step S32 when the input / output type of the input / output request is “output” (step S32: No), the management server information input / output program 263 reads the management server information 272 of the configuration storage device 270 (step S35), The read information is returned to the storage management server 200 (step S36), and the process proceeds to step S31.
  • GUI input / output processing by the GUI input / output program 331 will be described.
  • the GUI input / output program 331 displays the GUI screen (see FIGS. 6 and 7) on the monitor 370, receives the operation of the administrator via the input device 380, and switches the screen interactively. Specific processing will be described below.
  • the GUI input / output program 331 draws a tree in the tree display area 1100 of the GUI screen 1000. Specifically, the GUI input / output program 331 displays a tree with the representative resource names of the storage apparatus 200 and the host computer 100 as nodes. At this time, the GUI input / output program 331 draws the node tree related to the storage apparatus 200 using the virtual storage information 351 of the storage management server 300, and the virtual volume information 354 about the node tree related to the host computer 100. Drawing is performed using the value of the user identifier 354c.
  • the GUI input / output program 331 waits until receiving an operation on the screen from the administrator via the input device 380.
  • the GUI input / output program 331 determines which node the user has selected, and associates it with the selected node in advance.
  • a set of a screen identifier and a resource identifier (identifier indicating which resource is associated with) is stored on the main memory 330. For example, when the administrator selects a child node “pool” of the node “virtual storage 1”, the GUI input / output program 331 displays “virtual storage pool” having a value of 338a for the screen identifier and The virtual storage identifier “virtual storage 1” is stored.
  • the GUI input / output program 331 draws information related to the node selected by the administrator in the table display area 1210 of the GUI screen 1000 in a table format. At this time, the GUI input / output program 331 draws a table by appropriately combining the configuration management information 341. If necessary information is not available in the configuration management information 341, the information is not displayed.
  • FIG. 15A is a flowchart of the synchronization processing according to the embodiment.
  • the synchronization process is a resident process that is started by the controller 310 executing the synchronization program 332 when the storage management server 300 is activated, and is always executed thereafter. Note that when the storage management server 300 is recovered, the execution of the synchronization process is started again.
  • the synchronization program 332 determines whether it is the first activation or recovery (step S41).
  • the synchronization program 332 determines whether or not there is a record in the virtual storage information 351, and determines that it is “first time or recovery time” when there is no record. .
  • the synchronization program 332 stores the current time in the variable time (step S42).
  • the time stored in the variable time indicates the time when the synchronization processing is started.
  • the synchronization program 332 calls the storage registration program 333 to execute storage registration processing (see FIG. 15B).
  • the storage registration process the physical storage identifier of the storage device 200 to be managed by the storage management server 300 is registered by the administrator.
  • the synchronization program 332 acquires the management server information 272 saved in the storage device 200 from the storage device 200 (step S44). Specifically, the synchronization program 332 sets the input / output type to “output” via the communication network 20 to all the physical storage devices 200 corresponding to the physical storage identifier of the physical storage identifier 351b of the virtual storage information 351.
  • the management server information input / output request is issued, the management server information 272 stored from the storage device 200 is acquired, and the acquired management server information 272 is stored in the management server information 342 in the disk device 341.
  • the synchronization program 332 calls the configuration information acquisition program 334 to execute the configuration information acquisition process (see FIG. 16A) (step S45).
  • the configuration management information 341 of the storage management server 300 can be updated to the latest one.
  • the synchronization program 332 waits for a certain time (for example, one day) to elapse. If the administrator receives an immediate execution request for the configuration information acquisition process from the administrator via the input device 380 during the waiting time, the synchronization program 332 interrupts the waiting and immediately proceeds to step S47. Proceed.
  • a certain time for example, one day
  • step S47 the synchronization program 332 stores the current time in the variable time.
  • the synchronization program 332 transmits the management server information 342 in the disk device 340 to the storage device 200, and stores the management server information 342 in the configuration storage device 270 of the storage device 200 (step S48).
  • the synchronization program 332 sets the input / output type to “input” via the communication network 20 for all the physical storage devices 200 corresponding to the physical storage identifier of the physical storage identifier 351b of the virtual storage information 351.
  • the management server information input / output request is issued, and the management server information 342 is transmitted to the storage apparatus 200.
  • management server information input / output processing (see FIG. 14) is executed, and the transmitted information is stored in the configuration storage device 270.
  • the management server information 342 in the storage management server 300 can be appropriately saved in the storage device 200.
  • the synchronization program 332 calls the configuration information acquisition program 334 to execute configuration information acquisition processing (see FIG. 16A) (step S49).
  • the configuration management information 341 of the storage management server 300 can be updated to the latest one.
  • the synchronization program 332 advances the process to step S46.
  • FIG. 15B is a flowchart of storage registration processing according to the embodiment.
  • the storage registration process is a process executed in step S43 of the synchronization process when the storage management server 300 is first activated or recovered from a failure.
  • the storage registration process is executed when the controller 310 executes the storage registration program 333, and receives and registers the physical storage identifier of the physical storage device 200 to be managed by the storage management server 300 from the administrator. This is a process for acquiring the virtual storage identifier of the virtual storage device related to the physical storage device 200.
  • the storage registration program 333 waits until the administrator inputs the physical storage identifier (an example of basic information) of the physical storage device to be managed via the input device 380 on the GUI screen drawn by the GUI input / output program 331. (Step S51). Note that the administrator can simultaneously input physical storage identifiers of a plurality of physical storage devices to be managed on the GUI screen.
  • the storage registration program 333 receives the physical storage identifier input by the administrator ( Step S52).
  • the storage registration program 333 acquires basic information (for example, a virtual storage identifier) of the virtual storage device 400 from the storage device 200 (step S53).
  • the virtual storage identifier may be, for example, an ID, a virtual storage apparatus IP address, or a MAC address.
  • the storage registration program 333 saves the virtual storage device basic information (in this embodiment, a combination of a virtual storage identifier and a physical storage identifier) acquired in step S53 in the virtual storage information 351.
  • FIG. 16A is a flowchart of configuration information acquisition processing according to the embodiment.
  • the configuration information acquisition process is a process in which the storage management server 300 collects the configuration management information 341 from the plurality of storage apparatuses 200 so that the storage system configuration information is centrally managed. Since it may take a long time to complete the configuration information acquisition process, in this embodiment, it is possible to achieve efficient storage system configuration information acquisition based on the administrator's viewpoint. In other words, resource configuration information in a range related to a storage system management operation that the administrator wants to perform (or is supposed to perform) is preferentially acquired from the storage apparatus 200.
  • the processing steps in the process of acquiring the resource configuration information are subdivided, check whether there is an administrator input operation between each step, and continue the acquisition process being executed, It sequentially controls whether the acquisition process being executed is interrupted and switched to another acquisition process that preferentially acquires the configuration information desired by the administrator.
  • the storage device 200 returns the search results, for example, one record at a time so that the processing steps of the acquisition process executed by the storage management server 300 can be divided into small parts.
  • the configuration information acquisition process is a process executed when the controller 310 executes the configuration information acquisition program 334.
  • the configuration information acquisition program 334 reads the set of the screen identifier and the resource identifier corresponding to the node selected by the user stored in the main memory 330 by the GUI input / output program 331, and copies the read screen identifier to the variable op. Then, the resource identifier is copied to the variable id (step S61).
  • the variable op is a variable that manages a screen identifier indicating a screen that is being operated by the administrator
  • the variable id is a resource identifier that the administrator is paying attention to (or assumed to be paying attention to). It is a variable to manage. When there is no screen being operated by the administrator, “no screen” is set in the variable op and the variable id.
  • the configuration information acquisition program 334 determines whether or not it is necessary to preferentially acquire configuration information of a specific resource by determining whether or not the user is operating any screen. (Step S62).
  • the variable op is “no screen”, it means that there is no screen being operated by the administrator, and therefore the configuration information acquisition program 334 does not need to acquire with priority.
  • the variable op is not “no screen”, it means that there is a screen that is being operated by the administrator, and therefore it is determined that it is necessary to obtain it with priority.
  • the configuration information acquisition program 334 calls the cross-section acquisition program 335 to set in advance.
  • the crossing acquisition process (see FIG. 16B) for searching the resource configuration information in the recommended acquisition order is executed (step S63).
  • the configuration information acquisition program 334 performs the process. Proceed to step S65. If an administrator screen operation is detected during the crossing acquisition process, the configuration information acquisition program 334 immediately interrupts the crossing acquisition process and advances the process to step S65.
  • step S62 when it is determined that the configuration information of a specific resource needs to be acquired with priority (step S62: Yes), the configuration information acquisition program 334 calls the longitudinal acquisition program 337, and the administrator The longitudinal acquisition process (see FIG. 17A) for preferentially searching for the configuration information of the required resource is executed (step S64).
  • step S64 When the longitudinal acquisition process is completed, the configuration information acquisition program 334 executes the process in step S65. Proceed to If an administrator screen operation is detected during the longitudinal acquisition process, the configuration information acquisition program 334 immediately interrupts the longitudinal acquisition process and advances the process to step S65.
  • step S65 the configuration information acquisition program 334 determines whether or not the value of the last update date / time field of all the records having the last update date / time field in the information group of the configuration management information 341 is the same as the variable time. It is determined whether or not all the updates for the configuration management information 341 have been completed. Here, if the last update date and time of all the records is the same, it means that the contents of all the records are the latest, so the configuration information acquisition program 334 determines that all the updates have been completed. (Step S65: Yes), the configuration information acquisition process is terminated.
  • step S65 No
  • the configuration information acquisition program 334 sets the configuration information of the resource that has not been updated. In order to acquire, the process proceeds to step S62.
  • FIG. 16B is a flowchart of the crossing acquisition process according to the embodiment.
  • the crossing acquisition process is a process executed in step S63 of the configuration information acquisition process (FIG. 16A).
  • the crossing acquisition process is a process executed when the controller 310 executes the crossing acquisition program 335. According to this crossing acquisition process, the configuration information acquisition method shown in FIG. 3 is realized.
  • the traversal acquisition program 335 determines whether or not a virtual storage device is included in the storage system (step S71). In this embodiment, the traversal acquisition program 335 determines whether or not all the virtual storage identifiers 351a of the virtual storage information 351 are “ ⁇ ” indicating an invalid value, and all the virtual storage identifiers 351a of the virtual storage information 351 are all. If the value is “ ⁇ ” indicating an invalid value, it indicates that the integrated virtualization function is not used in the storage system, so it is determined that the virtual storage device is not included. It is determined that a virtual storage device is included.
  • step S71 when the virtual storage apparatus is not included in the storage system (step S71: No), the cross acquisition program 335 skips the step for acquiring the virtual resource configuration information because there is no virtual resource. Then, the process proceeds to step S78.
  • the traversal acquisition program 335 performs a search for acquiring the configuration information of the terminal virtual volume (layer L1 resource in FIG. 2).
  • a request is created and a search issue process (see FIG. 17B) is executed (step S72).
  • the search request at this time is made by collecting the target storage device group so that the virtual storage identifiers of the virtual storage identifiers 351a of the virtual storage information 351 are unique without duplication, and the search starting point is “virtual volume information”.
  • the configuration information of the end virtual volume related to a plurality of virtual storage devices is obtained, that is, the configuration information of the end virtual volume is traversed. Can be acquired.
  • the traversal acquisition program 335 determines whether or not the value of the set of the variable op and the variable id is the same as the value of the set of the screen identifier and the resource identifier corresponding to the node selected by the administrator of the main memory 330. If it is determined that they are not the same, it is determined that the screen switching of the administrator has occurred (step S73: Yes), and the cross-sectional acquisition process is terminated. It determines with having not carried out (step S73: No), and advances a process to the next step.
  • the traversal acquisition program 335 creates a search request for acquiring the configuration information of the virtual pool volume (and internal virtual volume) (the resource of the layer L2 in FIG. 2), and executes the search issue process (see FIG. 17B).
  • the search request when acquiring the configuration information of the virtual pool volume is made by collecting the target storage device group so that the virtual storage identifiers of the virtual storage identifiers 351a of the virtual storage information 351 are unique without duplication.
  • the starting point is “virtual pool information”
  • the search method is “single only”
  • the search condition is “none”.
  • the search request when acquiring the configuration information of the internal virtual volume is a collection of the target storage device group so that the virtual storage identifiers of the virtual storage identifiers 351a of the virtual storage information 351 are unique without duplication.
  • the traversal acquisition program 335 determines whether or not the value of the set of the variable op and the variable id is the same as the value of the set of the screen identifier and the resource identifier corresponding to the node selected by the administrator of the main memory 330. If it is not the same, it is determined that the screen switching of the administrator has occurred (step S75: Yes), and the crossing acquisition process is terminated. If not, the screen switching of the administrator occurs. It determines with having not carried out (step S75: No), and advances a process to the next step.
  • the traversal acquisition program 335 creates a search request for acquiring the configuration information of the virtual parity group (the resource of the layer L3 in FIG. 2), and executes search issue processing (see FIG. 17B) (step S76).
  • the search request at this time is a collection of the target storage device group so that the virtual storage identifiers of the virtual storage identifiers 351a of the virtual storage information 351 are unique without duplication, and the search starting point is “virtual parity group information”.
  • the search method is “single only” and the search condition is “none”.
  • the traversal acquisition program 335 determines whether or not the value of the set of the variable op and the variable id is the same as the value of the set of the screen identifier and the resource identifier corresponding to the node selected by the administrator of the main memory 330. If it is determined that the screen is not the same, it is determined that the screen switching of the administrator has occurred (step S77: Yes), and the crossing acquisition process is terminated. It determines with having not carried out (step S77: No), and advances a process to step S78.
  • step S78 the traversal acquisition program 335 creates a search request for acquiring the configuration information of the end physical volume (layer L4 resource in FIG. 2), and executes search issue processing (see FIG. 17B).
  • the search request at this time is a collection of the target storage device group so that the physical storage identifiers of the physical storage identifiers 351b of the virtual storage information 351 are unique without duplication, and the search starting point is “physical volume information”.
  • the traversal acquisition program 335 determines whether or not the value of the set of the variable op and the variable id is the same as the value of the set of the screen identifier and the resource identifier corresponding to the node selected by the administrator of the main memory 330. If it is not the same, it is determined that the screen switching of the administrator has occurred (step S79: Yes), and the crossing acquisition process is terminated. If not, the screen switching of the administrator occurs. It determines with having not carried out (step S79: No), and advances a process to the next step.
  • the traversal acquisition program 335 creates a search request for acquiring the configuration information of the physical pool volume (and internal physical volume) (layer L5 resource in FIG. 2), and executes the search issue process (see FIG. 17B).
  • the search request when acquiring the configuration information of the physical pool volume is made by collecting the target storage device group so that the physical storage identifiers of the physical storage identifiers 351b of the virtual storage information 351 are unique without duplication.
  • the starting point is “physical pool information”
  • the search method is “single only”
  • the search condition is “none”.
  • the search request when acquiring the configuration information of the internal physical volume is a collection of the target storage device group so that the physical storage identifiers of the physical storage identifiers 351b of the virtual storage information 351 are unique without duplication.
  • the traversal acquisition program 335 determines whether or not the value of the set of the variable op and the variable id is the same as the value of the set of the screen identifier and the resource identifier corresponding to the node selected by the administrator of the main memory 330. If it is not the same, it is determined that the screen switching of the administrator has occurred (step S81: Yes), and the crossing acquisition process is terminated. If not, the screen switching of the administrator occurs. It determines with having not carried out (step S81: No), and advances a process to the next step.
  • the traversal acquisition program 335 creates a search request for acquiring the configuration information of the physical parity group (layer L6 resource in FIG. 2), and executes search issue processing (see FIG. 17B) (step S82).
  • the search request at this time is a collection of the target storage apparatus group so that the physical storage identifiers of the physical storage identifiers 351b of the virtual storage information 351 are unique without duplication, and the search starting point is “physical parity group information”.
  • the search method is “single only” and the search condition is “none”.
  • the crossing acquisition program 335 ends the crossing acquisition process.
  • configuration information related to virtual resources can be acquired in preference to configuration information related to physical resources.
  • the search issuance process the screen change of the administrator is detected, and when the screen change is detected, the search issuance process ends immediately. For this reason, when the search / issuance process is terminated by the screen switching of the administrator, the crossing acquisition process can also be terminated immediately by the above process. Further, in the cross-sectional acquisition process, when a search issuance process is performed for each predetermined unit (in FIG. 16B, for each resource of each layer), an administrator screen change is detected during the search issuance process. In this case, since the cross-sectional acquisition process is immediately terminated, the configuration information of the resource desired by the administrator can be preferentially acquired in response to the occurrence of screen switching by the administrator.
  • FIG. 17A is a flowchart of longitudinal acquisition processing according to the embodiment.
  • the longitudinal acquisition process is a process executed in step S64 of the configuration information acquisition process (see FIG. 16A).
  • the longitudinal acquisition process is a process executed when the controller 310 executes the longitudinal acquisition program 337. According to this longitudinal acquisition process, the configuration information acquisition method shown in FIG. 4 or 5 is realized.
  • the profile acquisition program 337 creates a search condition for acquiring resource configuration information necessary for the management operation on the screen being operated by the administrator (step S91).
  • the profile acquisition program 337 searches the screen table 338 for a record in which the screen identifier of the screen identifier 338a matches the value of the variable op and acquires it.
  • the profile acquisition program 337 acquires configuration information of necessary resources corresponding to the screen being operated by the administrator. No optimal acquisition method exists, and it is determined that creation of a search request has failed.
  • the profile acquisition program 337 manages the acquired record (referred to as an acquired screen table record). It is determined whether or not the value of the server information name 338e is an invalid value “ ⁇ ”.
  • the profile acquisition program 337 When the value of the management server information name 338e in the acquisition screen table record is an invalid value “ ⁇ ”, the profile acquisition program 337 creates a search condition without using the management server information 342. In this case, a configuration information acquisition method as shown in FIG. 4 is realized. In this case, the profile acquisition program 337 uses the value described in the search condition 338c of the acquisition screen table record as it is as a search request search condition. However, when the character string “variable id” is included in the value of the search condition 338c, the profile acquisition program 337 sets “variable id” in the value as the variable id. The search condition is replaced with the actual value.
  • the profile acquisition program 337 creates a search condition using the management server information 342. In this case, a configuration information acquisition method as shown in FIG. 5 is realized. In this case, the profile acquisition program 337 resolves the “?” In the value of the search condition 338c of the acquisition screen table record, and the table name in the management server information 342 described in the management server information name 338e. Referring to a table corresponding to (for example, the volume reservation table 343), a record whose column (field) value corresponding to the resource identifier name of the resource identifier 338b of the acquisition screen table record matches the value of the variable id is searched. get. Then, the longitudinal acquisition program 337 uses, as a search condition, a value obtained by rewriting “?” In the search condition 338c value of the acquisition screen table record with the record value acquired from the table in the management server information 342.
  • the profile acquisition program 337 acquires the bottom record of the screen table 338.
  • the table (volume reservation table 343) corresponding to the “volume reservation table” stored in the management server information name 338e of the acquired record (acquisition screen table record)
  • the resource identifier 338b of the acquisition screen table record A record having a column value corresponding to “host identifier” of “host 3” is searched.
  • records with the virtual volume identifier 343b of “virtual volume identifier 7” and “virtual volume identifier 8” can be obtained from the volume reservation table 343.
  • the profile acquisition program 337 determines whether the search condition has been successfully created in step S91 (step S92). As a result, when the search condition is successfully created (step S92: Yes), the profile acquisition program 337 proceeds to step S93, while the search table is created without a record matching the screen table 338. If not successful (step S92: No), the process proceeds to step S94.
  • step S93 the profile acquisition program 337 creates a search request and executes search issue processing (see FIG. 17B) (step S93).
  • the longitudinal acquisition program 337 sets the target storage device group of the search request to the variable id. Only the storage device 200 is assumed.
  • the vertical acquisition program 337 cannot specify the target storage, and therefore targets all virtual storage devices and sets the target storage device group as the virtual storage information 351.
  • the virtual storage identifiers of the virtual storage identifiers 351a are grouped so as to be unique without duplication.
  • the profile acquisition program 337 sets the search start point of the search request as the value of the search start point 338d of the acquisition screen table record, sets the search condition as the search condition created in step S91, and sets the search method to “follow the relationship”.
  • step S94 the profile acquisition program 337 calls the cross-section acquisition program 335 to execute a cross-section acquisition process (see FIG. 16B) for searching for resource configuration information in a preset recommended acquisition order. Ends.
  • FIG. 17B is a flowchart of search issue processing according to the embodiment.
  • the search issuance process is a process that is called and executed in steps S72, S74, S76, S78, S80, and S82 of the crossing acquisition process, and step S93 of the longitudinal acquisition process.
  • the search issue process is a process executed when the controller 310 executes the search issue program 336.
  • the search issuance program 336 issues a search request for narrowing down and acquiring resource configuration information in an arbitrary range in order via the communication network 20 to the storage apparatus 200 group, and a search result matching therewith Is received, and the search result information is stored in the configuration management information 341 of the corresponding storage management server 300.
  • the search / issuance program 336 confirms the administrator's screen operation, and if there is a screen operation, the search / issue process is interrupted. Therefore, if the administrator performs a screen operation, the search issue process can be interrupted quickly.
  • the search issue program 336 receives a set of the target storage device group and the search request as an argument from the process of the search issue process caller (step S101).
  • the target storage device group is an array of storage identifiers of one or more storage devices (physical storage devices or virtual storage devices) to be issued for search.
  • the search request includes a search method, a search start point, and a search condition necessary for a search request to the storage apparatus 200.
  • the search / issuance program 336 selects one unprocessed storage device from the target storage device group (step S102).
  • the search issuance program 336 uses the virtual storage information 351 to perform physical storage of the physical storage device 200 corresponding to the virtual storage identifier. Get an identifier.
  • the search issue program 336 issues the search request received as an argument to the storage device 200 having the physical storage identifier corresponding to the selected storage device (step S103).
  • the search issuance program 336 receives the number of matches (number of matches) from the storage device 200 (step S104).
  • the search / issue program 336 returns to the storage apparatus 200 that the number of matches has been received.
  • the search issuance program 336 determines whether the configuration information corresponding to the search request has been received (step S105). Specifically, the search issuance program 336 searches the table of the configuration management information 341 that is a storage destination of information received as a search result corresponding to the search request, and matches the search request issued to the storage apparatus 200. In addition, the number of records whose last update time matches the value of the variable time is counted. Then, when the count result matches the number of matches received in step S104, the search issuance program 336 determines that the configuration information corresponding to the search request has already been received, while the count result If the number of matches received in step S104 does not match, it is determined that the configuration information corresponding to the search request has not been received.
  • step S105: Yes when the configuration information corresponding to the search request has been received (step S105: Yes), the search issue program 336 skips the process of receiving the search result from the storage apparatus that issued the search request, and performs the process. Proceed to step S109. On the other hand, if the configuration information corresponding to the search request has not been received (step S105: No), the search issue program 336 advances the process to step S106.
  • step S106 the search / issuance program 336 determines whether or not an administrator screen change is detected. Specifically, the search issuance program 336 reads a set of the screen identifier and the resource identifier stored in the main memory 330 by the GUI input / output program 331, and sets the value of the set, the variable op, and the variable id. If the two values match, it is determined that the administrator has not switched the screen, whereas if they do not match, it is determined that the administrator has switched the screen.
  • the search / issue program 336 stores the acquired screen identifier in the variable op and stores the resource identifier in the variable id. (Step 111), and the search issuance process is immediately terminated.
  • the search issuance program 336 corresponds to a predetermined number of search results transmitted from the storage apparatus 200 (for example, one case). ) And the configuration information of the received search result is stored in the corresponding information of the configuration management information 341 (step S107). Specifically, the search issuance program 336 adds a record to information (table) having the same name as the received information. When a record having the same identifier is already registered in the table, the record is overwritten with the received information. Further, the search / issue program 336 stores the value of the variable time in the field of the last update time of the record. Note that the search issuance program 336 returns a response indicating that a predetermined number of search results have been received to the storage apparatus 200.
  • the search issuance program 336 determines whether or not all search results have been received, depending on whether or not records have been processed for the number of matches received (step S108). As a result, if the records are not processed by the number of received matches (step S108: No), the search / issuance program 336 proceeds to step S106 while the records are processed by the number of received matches. In (Step S108: Yes), the process proceeds to Step S109.
  • step S109 the search / issuance program 336 determines whether or not the processing for all the storage devices in the target storage device group received as an argument has been completed. As a result, if the processing for all the storage devices has not been completed (step S109: No), the search / issue program 336 advances the processing to step S102 and performs the processing for the unprocessed storage devices, If the process for the storage device is completed (step S109: Yes), the process proceeds to step S110.
  • step S110 it means that the acquisition of the configuration information to be prioritized has been completed without interruption, so that the search issuance program 336 stores “no screen” in the variable op and “none” in the variable id.
  • the variable op and the variable id are initialized, and the search issue process is terminated.
  • the monitor 370 and the input device 380 connected to the storage management server 300 are used to provide information to the administrator and accept operation input from the administrator.
  • the present invention is not limited to this. For example, using a terminal connected via the communication network 20, information may be provided to the administrator and operation input from the administrator may be received.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 複数のリソースを管理する1以上のストレージ装置を管理する管理計算機が、1以上のストレージ装置をそれぞれ識別可能な1以上の基本情報に基づいて、複数のリソースのうち1以上のストレージ装置のホスト計算機から論理的に近いリソースに関する構成情報を優先して取得するように1以上のストレージ装置に要求を送信する。管理計算機が、1以上のストレージ装置から、要求に対応する構成情報を受信し、受信した構成情報を、1以上のストレージ装置が管理するリソースに関する構成情報を管理するための構成管理情報に反映する。

Description

構成情報取得方法、及び管理計算機
 本発明は、ストレージ装置を有するストレージシステムにおけるリソースの構成情報を取得する技術に関する。
 近年、企業や個人の利用するデータ量は急激に増加し、ストレージシステムは大規模かつ複雑化している。このようなストレージシステム全体に対して効率的な運用を可能とするため、ストレージ装置、ホスト計算機等を含むストレージシステムの構成情報を管理計算機が一元的に管理する方法がある。
 管理計算機がストレージシステムの構成情報を取得する技術としては、例えば、ストレージシステムの構成情報を2段階に分けて取得する技術が開示されている(例えば、特許文献1参照)。この技術では、第1段階目に、ストレージ装置、ホスト計算機等から、それらが持つリソースの基本的な情報(識別子、数、リソース間の関連)のみを取得する。次に、取得した基本情報に基づき、詳細な構成情報を取得する範囲、タイミング、保持の必要性を決定する。そして、第2段階目において、適切なタイミングで、適切な範囲の詳細な構成情報を取得する。これにより、管理計算機が情報保持量に関して効率よくストレージシステムの構成情報を一元的に管理できるようになる。
 また、複数のストレージ装置を統合して別のストレージ装置として見せる統合仮想化技術も実現されている(例えば特許文献2参照)。
特開2012-155544号公報 特開2008-65561号公報
 ストレージシステムの構成を一元的に管理する管理計算機では、初回セットアップ時や、管理計算機(ストレージ管理サーバ)のサーバ障害からの復旧時に、ストレージシステムからの構成情報の取得が必要となり、構成情報の取得完了後、取得した構成情報の範囲で管理操作が可能となる。たとえば、特許文献1に開示された技術では、第2段階目の詳細情報の取得が完了した後、詳細情報を取得した範囲における管理計算機による管理操作が可能になる。
 構成情報の取得には、ストレージシステム全体のリソース数の規模に応じた時間が必要となる。近年、企業などのデータセンタに設置されるストレージ装置やホスト計算機などの台数は増加している。更には、それぞれの装置自体も複雑化しており、一つの装置が扱うリソース数も増えてきている。また、ストレージシステムにおいて、複数のストレージ装置を統合して別のストレージ装置として見せる統合仮想化技術を利用している場合には、管理計算機は、物理リソース及び仮想リソースの両方のリソースを扱う必要がある。このように爆発的に増えてきているリソース数に対して、特許文献1に開示された技術では、第2段階目で詳細情報を取得する範囲を絞り込んだとしても、第1段階目でストレージシステム内の全リソースに関して基本情報を取得するため、構成情報の取得時間の大きな軽減は見込めない。このため、管理者が必要な情報を取得するまでに長時間を要するという問題がある。また、構成情報を取得するまでの長時間にわたって、管理計算機による管理操作を行うことができないという問題がある。
 複数のリソースを管理する1以上のストレージ装置を管理する管理計算機が、1以上のストレージ装置をそれぞれ識別可能な1以上の基本情報に基づいて、複数のリソースのうち1以上のストレージ装置のホスト計算機から論理的に近いリソースに関する構成情報を優先して取得するように1以上のストレージ装置に要求を送信する。管理計算機が、1以上のストレージ装置から、要求に対応する構成情報を受信し、受信した構成情報を、1以上のストレージ装置が管理するリソースに関する構成情報を管理するための構成管理情報に反映する。
 管理者が必要なリソースに関する構成情報を迅速に取得することができる。
図1は、実施形態に係るストレージシステムのハードウェア構成図である。 図2は、実施形態に係るストレージシステムの論理的な構成図である。 図3は、実施形態に係る構成情報取得方法における第1例の概要を示す図である。 図4は、実施形態に係る構成情報取得方法における第2例の概要を示す図である。 図5は、実施形態に係る構成情報取得方法における第3例の概要を示す図である。 図6は、実施形態に係るストレージ管理サーバによって表示されるGUI画面の一例の構成図である。 図7は、実施形態に係るストレージ管理サーバによって表示されるGUI画面の他の例の構成図である。 図8Aは、実施形態に係るストレージ装置の仮想ストレージ情報の構成図である。図8Bは、実施形態に係るストレージ装置の仮想パリティグループ情報の構成図である。図8Cは、実施形態に係るストレージ装置の仮想プール情報の構成図である。図8Dは、実施形態に係るストレージ装置の仮想ボリューム情報の構成図である。 図9Aは、実施形態に係るストレージ装置の物理パリティグループ情報の一例の構成図である。図9Bは、実施形態に係るストレージ装置の物理パリティグループ情報の他の例の構成図である。図9Cは、実施形態に係るストレージ装置の物理プール情報の構成図である。図9Dは、実施形態に係るストレージ装置の物理ボリューム情報の一例の構成図である。図9Eは、実施形態に係るストレージ装置の物理ボリューム情報の他の例の構成図である。 図10Aは、実施形態に係るストレージ管理サーバのボリューム予約表の構成図である。図10Bは、実施形態に係るストレージ管理サーバの画面表の構成図である。 図11Aは、実施形態に係るストレージ管理サーバの仮想ストレージ情報の構成図である。図11Bは、実施形態に係るストレージ管理サーバの仮想パリティグループ情報の構成図である。図11Cは、実施形態に係るストレージ管理サーバの仮想プール情報の構成図である。図11Dは、実施形態に係るストレージ管理サーバの仮想ボリューム情報の構成図である。 図12Aは、実施形態に係るストレージ管理サーバの物理パリティグループ情報の構成図である。図12Bは、実施形態に係るストレージ管理サーバの物理プール情報の構成図である。図12Cは、実施形態に係るストレージ管理サーバの物理ボリューム情報の構成図である。 図13は、実施形態に係る構成情報検索処理のフローチャートである。 図14は、実施形態に係る管理サーバ情報入出力処理のフローチャートである。 図15Aは、実施形態に係る同期処理のフローチャートである。図15Bは、実施形態に係るストレージ登録処理のフローチャートである。 図16Aは、実施形態に係る構成情報取得処理のフローチャートである。図16Bは、実施形態に係る横断取得処理のフローチャートである。 図17Aは、実施形態に係る縦断取得処理のフローチャートである。図17Bは、実施形態に係る検索発行処理のフローチャートである。
 以下、一実施形態を説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 なお、以下の説明では「aaa表」の表現にて各種情報を説明することがあるが、各種情報は、表以外のデータ構造で表現されていてもよい。各種情報は、データ構造に依存しないことを示すために「aaa表」を「aaa情報」と呼ぶことができる。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、コントローラに含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェース装置(例えばNIC(Network Interface Card))を用いながら行うため、処理の主語がプロセッサとされても良い。プログラムを主語として説明された処理は、コントローラが行う処理としても良い。また、コントローラは、プロセッサそれ自体であっても良いし、プロセッサに代えて又は加えて、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから装置にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ、又は、計算機が読み取り可能な記憶メディアであっても良い。
 図1は、実施形態に係るストレージシステムのハードウェア構成図である。
 ストレージシステムは、1以上のホスト計算機100と、複数のストレージ装置200と、管理計算機の一例としてのストレージ管理サーバ300とを有する。ホスト計算機100と、ストレージ装置200とは、例えば、SAN(Storage Area Network)等の通信ネットワーク10を介して接続されている。SANは、iSCSIのように、LAN(Local Area Network)であってもよい。また、ホスト計算機100、複数のストレージ装置200、及びストレージ管理サーバ300は、例えば、LAN等の通信ネットワーク20を介して接続されている。
 ホスト計算機100は、コントローラ110と、主メモリ120と、NIC130と、HBA(Host Bus Adapter)140とを有する。コントローラ110と、主メモリ120と、NIC130と、HBA140とは、バスを介して通信可能に接続されている。
 NIC130は、通信ネットワーク20を介して、ストレージ管理サーバ300等と通信するための通信インターフェース装置である。HBA140は、通信ネットワーク10を介してストレージ装置200と通信するための通信インターフェース装置である。コントローラ110は、主メモリ120に格納されている各種プログラムを実行することにより、各種処理を実行する。
 主メモリ120は、各種プログラムや、各種情報を記憶する。主メモリ120は、例えば、業務アプリケーション121を記憶する。
 業務アプリケーション121は、複数のストレージ装置200が通信ネットワーク10を介して提供するボリューム(物理ボリューム及び仮想的な論理ボリューム)を利用して、所定の業務の処理を実行するプログラムである。
 ストレージ装置200は、コントローラ210と、キャッシュメモリ220と、ディスクデバイス230と、CHA(Channel Adapter)240と、NIC250と、主メモリ260と、構成記憶デバイス270とを有する。なお、仮想ストレージ装置との違いを明確にするために、ストレージ装置200を物理ストレージ装置200と記載することもある。コントローラ210と、キャッシュメモリ220と、ディスクデバイス230と、CHA240と、NIC250と、主メモリ260と、構成記憶デバイス270とは、バスを介して通信可能に接続されている。
 CHA240は、通信ネットワーク10を介してホスト計算機100又は他のストレージ装置200と通信するための通信インターフェース装置である。NIC250は、通信ネットワーク20を介して、ストレージ管理サーバ300等と通信するための通信インターフェース装置である。キャッシュメモリ220は、ディスクデバイス230に書込むデータ、又はディスクデバイス230から読出したデータを一時的に記憶する。ディスクデバイス230は、物理記憶デバイスの一例である。ディスクデバイス230に代えて、又はディスクデバイス230に加えて、例えば、フラッシュメモリ、その他半導体メモリを有する物理記憶デバイスを備えても良い。本実施形態では、例えば、複数のディスクデバイス230により、RAID(Redundant ARRAY of Independent Disks)に従い所定のRAIDレベルでデータを記憶するグループ(パリティグループ(RAIDグループと呼ばれることもある))を構成している。
 コントローラ210は、主メモリ260に格納されている各種プログラムを実行することにより、各種処理を実行する。主メモリ260は、各種プログラムや、各種情報を記憶する。主メモリ260は、例えば、ストレージ制御プログラム261、構成情報検索プログラム262、及び管理サーバ情報入出力プログラム263を記憶する。
 ストレージ制御プログラム261は、ストレージ装置200の基本機能を提供する。ストレージ制御プログラム261は、例えば、ストレージ装置200内のディスクデバイス230からボリュームを切り出して論理ボリュームとしてホスト計算機100に提供する処理、論理ボリュームとホスト計算機100との間のI/O効率を向上させるために、一時データをキャッシュメモリ220に格納する処理、複数のストレージ装置200を統合して一つの仮想的なストレージ装置(仮想ストレージ装置)に見せる機能(統合仮想化機能という)を提供する処理を実行する。
 また、ストレージ制御プログラム261は、ストレージ装置200内の物理リソース(典型的には物理的な記憶リソース)の構成情報を、構成記憶デバイス270内の物理構成管理情報290に反映する。物理構成管理情報290は、この情報290を有するストレージ装置200が有する1又は複数の物理リソースの構成情報を含んだ情報であり、物理構成管理情報290から、指定された物理リソースの構成情報を取得することができる。また、ストレージ制御プログラム261は、ストレージ装置200において統合仮想化機能を利用している場合には、仮想ストレージ装置の仮想リソース(典型的には仮想的な記憶リソース)の構成情報を、構成記憶デバイス270内の仮想構成管理情報280に反映する。仮想構成管理情報280は、仮想ストレージ装置が有する1又は複数の仮想リソースの構成情報を含んだ情報であり、仮想構成管理情報280から、指定された仮想リソースの構成情報を取得することができる。なお、「リソースの構成情報を構成管理情報に反映する」とは、リソースの構成情報を用いて構成管理情報を更新することであり、具体的には、例えば、構成情報を構成管理情報に格納すること(構成情報中の情報を構成管理情報に追記すること)、或いは、構成情報中の情報を用いて構成管理情報中の情報を書き換えることである。
 また、ストレージ制御プログラム261は、統合仮想化機能を利用して仮想ストレージ装置を構成している複数のストレージ装置200間で仮想構成管理情報280を同期する。具体的には、例えば、ストレージ制御プログラム261は、仮想ストレージ装置に対する何らかの構成変更が発生した場合、このプログラム261を実行するストレージ装置200内の仮想構成管理情報280を更新し、その後、この仮想ストレージ装置を構成する他の全物理ストレージ装置200に対して更新後の仮想構成管理情報280(又は、更新後の仮想構成管理情報280と更新前の仮想構成管理情報280の差分)を送信する。更新後の仮想構成管理情報280(又は差分)を受けた物理ストレージ装置200は、その装置200が有する仮想構成管理情報280を、受信した情報を用いて更新する。このようにして、仮想ストレージ装置を構成する全物理ストレージ装置200において、仮想構成管理情報280が同期する。
 構成情報検索プログラム262は、ストレージ管理サーバ300、または、他のストレージ装置200から受信した検索要求に従って、構成記憶デバイス270内の構成管理情報271に対して検索を実行し、検索結果を要求元に返却する処理を実行するプログラムである。
 管理サーバ情報入出力プログラム263は、ストレージ管理サーバ300からの入力要求に従って、ストレージ管理サーバ300から送信された情報を構成記憶デバイス270内の管理サーバ情報272に保存する処理を実行する。また、管理サーバ情報入出力プログラム263は、ストレージ管理サーバ300からの出力要求に従い、構成記憶デバイス270内の管理サーバ情報272から情報を読み出し、ストレージ管理サーバ300に返却する処理を実行する。
 構成記憶デバイス270は、例えば、HDD、メモリ等の記憶デバイスで構成される。構成記憶デバイス270は、構成管理情報271と、管理サーバ情報272とを記憶する。
 構成管理情報271は、ストレージ装置200のリソース(典型的には記憶リソース)の構成情報であり、仮想構成管理情報280と、物理構成管理情報290とを含む。物理構成管理情報290は、ストレージ装置200の物理リソースの構成情報を管理するための情報である。仮想構成管理情報280は、統合仮想化機能により構成された仮想ストレージ装置の仮想リソースの構成情報を管理するための情報である。なお、ストレージ装置200が統合仮想化機能を有していない場合には、仮想構成管理情報280が無くて良い。
 仮想構成管理情報280は、例えば、仮想ストレージ情報281(図8A参照)、仮想パリティグループ情報282(図8B参照)、仮想プール情報283(図8C参照)、及び仮想ボリューム情報284(図8D参照)を含む。仮想構成管理情報280は、1つの仮想ストレージ装置が複数の物理ストレージ装置200により構築されている場合には、それら物理ストレージ装置200間で同期される。したがって、基本的には、同一の仮想ストレージ装置を構築しているストレージ装置200であれば、どのストレージ装置200に対して後述する構成情報検索処理を実施しても同一の結果が返却されることとなる。なお、仮想構成管理情報280に含まれる各情報の詳細については後述する。
 物理構成管理情報290は、例えば、物理パリティグループ情報291(図9A、B参照)、物理プール情報292(図9C参照)、及び物理ボリューム情報293(図9D、E参照)を含む。なお、各情報の詳細については後述する。
 管理サーバ情報272は、ストレージ管理サーバ300から保存するように指定された情報である。
 ストレージ管理サーバ300は、制御デバイスの一例としてのコントローラ310と、記憶デバイスの一例としての主メモリ330及びディスクデバイス340と、NIC320とを有する。コントローラ310と、主メモリ330と、ディスクデバイス340と、NIC320とは、バスを介して通信可能に接続されている。また、ストレージ管理サーバ300には、バスを介してモニタ370と、入出力装置380とが接続されている。
 NIC320は、通信ネットワーク20を介して、ホスト計算機100、及びストレージ装置200と通信するための通信インターフェース装置である。コントローラ310は、主メモリ330に格納されている各種プログラムを実行することにより、各種処理を実行する。
 主メモリ330は、各種プログラムや、各種情報を記憶する。主メモリ330は、GUI入出力プログラム331、同期プログラム332を記憶する。
 GUI入出力プログラム331は、管理者(ユーザ)に対してストレージシステムの管理操作を実施するために必要なGUI画面(図6、図7等)をモニタ370に描画する処理を行う。また、GUI入出力プログラム331は、管理者による入力を入力装置380から受信する処理を行う。
 同期プログラム332は、例えば、デーモンとして定期的(例えば、1日1回)に実行されるプログラムである。なお、同期プログラム332は、GUI入出力プログラム331と連携し、管理者による画面に対する入力に応じた任意のタイミングで実行されることもある。
 同期プログラム332は、ストレージ管理サーバ300内の管理サーバ情報342をストレージ装置200に送信して、ストレージ装置200内への管理サーバ情報の保存を実施したり、障害からの復旧時にストレージ装置200から管理サーバ情報を受け取り、管理サーバ情報をストレージ管理サーバ200内に回復したりする処理を行う。
 同期プログラム332は、ストレージ登録プログラム333と、構成情報取得プログラム334とを含む。ストレージ登録プログラム333は、GUI入出力プログラム331と連携し、ストレージ管理サーバ300による管理対象のストレージ装置200の登録を行うプログラムである。
 構成情報取得プログラム334は、ストレージ装置200からストレージ装置200のリソースの構成情報を取得し、取得した構成情報をストレージ管理サーバ300内の構成管理情報341に反映する処理を行うプログラムである。管理情報取得プログラム334は、横断取得プログラム335、検索発行プログラム336、縦断取得プログラム337、及び画面表338を含む。横断取得プログラム335、検索発行プログラム336、及び、縦断取得プログラム337の詳細、及び画面表338の詳細については後述する。
 ディスクデバイス340は、構成管理情報341と、管理サーバ情報342とを記憶する。
 構成管理情報341は、管理対象の複数のストレージ装置200のリソースの構成情報を含んだ情報であり、仮想構成管理情報350と、物理構成管理情報360とを含む。仮想構成管理情報350は、統合仮想化機能により、管理対象の複数のストレージ装置200に基づいて構成された仮想ストレージ装置の仮想リソースの構成情報である。この仮想構成管理情報350は、基本的には、ストレージ装置200の仮想構成管理情報280を取得して集約したものである。物理構成管理情報360は、管理対象の複数のストレージ装置200の物理リソースの構成情報である。この物理構成管理情報360は、基本的には、複数のストレージ装置200の物理構成管理情報290を取得して集約したものである。
 仮想構成管理情報350は、例えば、仮想ストレージ情報351(図11A参照)、仮想パリティグループ情報352(図11B参照)、仮想プール情報353(図11C参照)、及び仮想ボリューム情報354(図11D参照)を含む。なお、各情報の詳細については後述する。
 物理構成管理情報360は、例えば、物理パリティグループ情報361(図12A参照)、物理プール情報362(図12B参照)、及び物理ボリューム情報363(図12C参照)を含む。なお、各情報の詳細については後述する。
 管理サーバ情報342は、ストレージ管理サーバ300の処理に用いる情報であって、基本的には、ストレージ装置200で管理されておらず、ストレージ管理サーバ300に保存しておけば良い情報である。管理サーバ情報342は、例えば、どのホスト計算機100が、どの仮想ボリュームを使用する予約をしているかを管理するボリューム予約表343を含む。ボリューム予約表343の詳細は、後述する。なお、管理サーバ情報342は、ボリューム予約表343にかぎられず、例えば、管理者毎の画面のカスタマイズに関する情報であってもよく、リソース(例えば、仮想ボリューム及び/又は物理ボリュームのようなボリューム)を所定の単位(例えば、プロジェクト毎や、会社における所属部毎等)にグルーピングしたリソース群情報であっても良い。このように、管理サーバ情報342は、特定のリソースについて前もって定められた使用定義を表す情報を含む。使用定義は、ストレージ管理サーバ300において、ストレージシステムの運用中に適宜変更されて良い。管理サーバ情報342は、後述するように、管理サーバ情報342の更新の都度、或いは、定期的に、ストレージ管理サーバ300から少なくとも1つのストレージ装置200に、管理サーバ情報342がバックアップされて良い。管理サーバ情報342のバックアップは、情報342全体のバックアップも、更新前後の差分情報のバックアップでも良い。
 管理サーバ情報342は、上述のように、ストレージ管理サーバ300の処理に用いる情報であるので、ストレージ管理サーバ300が記憶しておけばいいが、ストレージ管理サーバ300に障害が発生してしまうと、管理サーバ情報342が消失してしまう虞がある。そこで、本実施形態のストレージ管理サーバ300は、管理サーバ情報342をストレージ装置200にバックアップしておくようにし、必要な時に、ストレージ装置200から管理サーバ情報342を取得するようにしている。これにより、ストレージ管理サーバ300に障害が発生した後においても、適切に管理サーバ情報342を取得して、処理に用いることができる。
 図2は、実施形態に係るストレージシステムの論理的な構成図である。なお、図2は、ストレージシステムにおいて、統合仮想化機能によって複数のストレージ装置200により仮想ストレージ装置400を構成している例を示している。ここで、各ホスト計算機100をホスト1、ホスト2、ホスト3とし、物理ストレージ装置200を物理ストレージ1、物理ストレージ2とし、仮想ストレージ装置400を仮想ストレージ1として説明することとする。
 物理ストレージ1は、複数のディスクデバイス230で構成されたパリティグループ(物理パリティグループ)1を有する。物理パリティグループ1の記憶領域は、物理ボリューム1、物理ボリューム2として切り出されている。物理ボリューム1及び2は、それぞれ、物理ストレージ1にとっての論理ボリュームである。
 物理ボリューム1と物理ボリューム2の集合が、物理プール1とされており、物理プール1に、物理ボリューム3及び4が関連付けられている。物理ボリューム3及び4は、それぞれ、Thin Provisioningに従う論理ボリュームの一種であり、複数の論理領域で構成されている。物理プール1は、複数の実領域に分割されている。例えば、物理ストレージ1は、物理ボリューム3の或る論理領域に対するライトが生じた場合に、ライト先の論理領域に、物理ボリューム3が関連付けられている物理プール1から実領域を割り当てるようになっている。
 物理ストレージ2は、複数のディスクデバイス230で構成された物理パリティグループ1、物理パリティグループ2を有する。物理パリティグループ1の記憶領域は、物理ボリューム1及び物理ボリューム2として切り出されている。物理パリティグループ2の記憶領域は、物理ボリューム3及び物理ボリューム4として切り出されている。
 図2では、複数のストレージ装置(ここでは、物理ストレージ1と物理ストレージ2)とにより、仮想ストレージ装置(ここでは、仮想ストレージ1)が構築されている。なお、仮想ストレージ装置は、1台に限られず、複数台構築されても良い。
 仮想パリティグループは、物理パリティグループを仮想化したものであり、物理パリティグループと1対1に対応する。図示の例では、物理ストレージ1の物理パリティグループ1が、仮想パリティグループ1に対応しており、物理ストレージ2の物理パリティグループ1及び2が、仮想パリティグループ2及び3にそれぞれ対応している。
 仮想プールは、物理プールを仮想化したものであり、物理プールと1対1に対応する。図示の例では、物理プール1が仮想プール1に対応している。
 仮想ボリュームは、物理ボリュームを仮想化したものであり、物理ボリュームと1対1に対応する。図示の例では、物理ストレージ1の物理ボリューム1,2,3及び4が、仮想ボリューム1,2,3及び4にそれぞれ対応しており、物理ストレージ2の物理ボリューム1,2,3及び4が、仮想ボリューム5,6,7及び8にそれぞれ対応している。
 仮想ボリュームは、ホスト計算機100に認識され、ホスト計算機100が認識するホストボリュームとしてマウントされる。図示の例では、仮想ボリューム3,4及び5が、ホストボリューム1,2及び3としてそれぞれマウントされている。なお、ホスト計算機100に認識される仮想ボリュームはオンラインの仮想ボリュームであり、オフラインの仮想ボリューム(例えば仮想プールを構成する仮想ボリューム)はホスト計算機100に認識されない。図示の例では、ホストボリューム1に対してI/Oが生じた場合に、ホスト1から仮想ボリューム3に対するI/O要求が発行される。
 ホストボリュームは、ホスト計算機100に割り当てられた論理ボリュームである。統合仮想化機能を利用している場合は、ホストボリュームには、前述のように、通常、仮想ボリュームが割り当てられる。なお、ホストボリュームに物理ボリュームが直接割り当てられても良い。
 本実施形態では、物理パリティグループ、物理ボリューム、物理プール、仮想パリティグループ、仮想プール、及び仮想ボリュームの各リソースを、ホスト計算機100に対する論理的な近さに基づいて、複数のレイヤに切り分けている。本実施形態では、レイヤは、基本的には、同一種類のリソースの集合としている。ここで、ホスト計算機100に対する論理的な近さとは、ホスト計算機100のリソースから、対象のリソースを辿る際の近さを言う。言い換えると、ホスト計算機100からI/O(Input/Output)要求(ライト要求又はリード要求)が仮想ストレージ装置に送信された場合、I/O要求で指定されているI/O先のリソースを起点に、順次、その起点のリソースに関連付けられている最終的なI/O先のリソースに対するI/Oが行われる。そして、最終的なI/O先のリソースに対するI/Oが行われるまでに、1又は複数のリソースを経由することが行われることもある。この一連のI/O処理において、起点のリソースがホスト計算機100に論理的に最も近いリソースであり、最終的なI/O先のリソースがホスト計算機100に論理的に最も遠いリソースである。つまり、この一連のI/O処理において、I/Oされる(アクセスされる)順番が先のリソースほど、ホスト計算機100に論理的に近いリソースとなる。具体的には、仮想リソースである、仮想ボリューム、仮想プール、及び仮想パリティグループについて言えば、ホスト計算機100のホストボリュームに対応付けられる仮想ボリュームが一番近く、次に、仮想プールが近く、その次に、仮想パリティグループとなる。また、物理リソースである、物理ボリューム、物理プール、及び物理パリティグループについて言えば、物理ボリュームが一番ホスト計算機100に近く、次に、物理プールが近く、その次に、物理パリティグループとなる。
 一般的に、仮想リソースが存在する場合には、ホスト計算機100のリソースに対しては、仮想リソースが対応付けられることが多く、また、仮想リソースに対して物理リソースが対応付けられることとなり、管理者は、主として仮想リソースの管理を行うこととなる。そこで、本実施形態では、仮想リソースの方が、物理リソースに比べてホスト計算機100に対して論理的に近いとしている。
 本実施形態では、ホストボリュームに割当て可能な1以上の仮想ボリューム、すなわち、仮想プールから切り出された仮想ボリューム又は、仮想パリティグループから切り出された仮想ボリューム(以下、これらを末端仮想ボリュームということもある)をレイヤL1とし、1以上の仮想プール及びホストボリュームに割り当てられない仮想ボリューム(内部仮想ボリューム)をレイヤL2とし、1以上の仮想パリティグループをレイヤL3とし、ホストボリュームに割当て可能な1以上の物理ボリューム、すなわち、物理プールから切り出された物理ボリューム又は、物理パリティグループから切り出された物理ボリューム(以下、これらを末端物理ボリュームということもある)をレイヤL4とし、1以上の物理プール及びホストボリュームに割り当てられない物理ボリューム(内部物理ボリューム)をレイヤL5とし、1以上の物理パリティグループをレイヤL6としている。ここで、本実施形態では、レイヤL1、レイヤL2、・・、レイヤL6の順に、ホスト計算機100に論理的に近い。
 図3は、実施形態に係る構成情報取得方法における第1例の概要を示す図である。
 図3は、管理者による操作から優先して構成情報を取得すべきリソースの範囲が特定できていない場合における構成情報取得方法の概要を示している。
 ストレージ管理サーバ300は、ホスト計算機100に近いレイヤから順にそのレイヤのリソースに関する構成情報を取得する。ここで、同一のレイヤに属する複数のリソースに関する構成情報を取得することを横断取得という。
 具体的には、ストレージ管理サーバ300は、レイヤL1に属する全ての仮想ボリューム(末端仮想ボリューム)に関する構成情報を取得する(図3(1))。このようにレイヤL1の仮想ボリュームに関する構成情報を取得した後には、ストレージ管理サーバ300は、末端仮想ボリュームをホスト計算機100に割り当てるための最も基本的なストレージ管理操作を管理者から受け付けて実施することができるようになる。したがって、全てのリソースの構成情報を取得せずとも、一部のストレージ管理操作を実行することができる。
 次に、ストレージ管理サーバ300は、レイヤL2に属する全ての仮想プール及び内部仮想プールに関する構成情報を取得する(図3(2))。このようにレイヤL2の仮想プール及び内部仮想プールに関する構成情報を取得した後には、ストレージ管理サーバ300は、仮想プールから新しい仮想ボリュームを切り出す操作や、図3(1)で取得した末端仮想ボリュームを利用して、新しい仮想プールを構築する操作等のストレージ管理操作を管理者から受け付けて実施することができるようになる。
 次に、ストレージ管理サーバ300は、レイヤL3に属する全ての仮想パリティグループに関する構成情報を取得する(図3(3))。このようにレイヤL3の仮想パリティグループに関する構成情報を取得した後には、ストレージ管理サーバ300は、仮想パリティグループから新しい仮想ボリュームを切り出す操作等のストレージ管理操作を管理者から受け付けて実施することができるようになる。
 次に、ストレージ管理サーバ300は、レイヤL4に属する全ての物理ボリュームに関する構成情報を取得する(図3(4))。このようにレイヤL4の物理ボリュームに関する構成情報を取得した後には、ストレージ管理サーバ300は、末端物理ボリュームをホスト計算機に割り当てるストレージ管理操作を管理者から受け付けて実施することができるようになる。また、ストレージ管理サーバ300は、図3(1)で取得した仮想ボリュームと、物理ボリュームとの対応関係を示す情報を有することとなるので、管理者に対して、各仮想ボリュームの物理特性を提供することができるようになる。そのため、管理者は、より詳細な物理情報に基づいてホスト計算機に割り当てる仮想ボリュームを適切に決定することができる。
 次に、ストレージ管理サーバ300は、レイヤL5に属する全ての物理プール及び内部物理ボリュームに関する構成情報を取得する(図3(5))。このようにレイヤL5の物理プール及び内部物理ボリュームに関する構成情報を取得した後には、ストレージ管理サーバ300は、物理プールから新しい物理ボリュームを切り出す操作や、図3(4)で取得した末端物理ボリュームを利用して、新しい物理プールを構築する操作等のストレージ管理操作を管理者から受け付けて実施することができるようになる。また、ストレージ管理サーバ300は、図3(2)で取得した仮想プールと、物理プールとの対応関係を示す情報を有することとなるので、管理者に対して、各仮想ボリュームの物理特性を提供することができるようになる。
 次に、ストレージ管理サーバ300は、レイヤL6に属する全ての物理パリティグループに関する構成情報を取得する(図3(6))。このようにレイヤL6の物理パリティグループに関する構成情報を取得した後には、ストレージ管理サーバ300は、物理パリティグループから新しい物理ボリュームを切り出す操作等のストレージ管理操作を管理者から受け付けて実施することができるようになる。また、ストレージ管理サーバ300は、図3(3)で取得した仮想パリティグループと、物理パリティグループとの対応関係を示す情報を有することとなるので、管理者に対して、各仮想パリティグループの物理特性を提供することができるようになる。
 なお、ストレージシステムが統合仮想化機能を利用していない場合には、図3(1)乃至(3)の処理の対象とする仮想リソースは存在しないので、ストレージ管理サーバ300は、これらの仮想リソースに関する構成情報を取得する処理を行わない。
 ここで、仮想ストレージ装置400の仮想リソースを物理ストレージ装置200の物理リソースより優先して構成情報を取得する理由は、統合仮想化機能を利用する管理者にとっては、仮想ストレージ装置400上での仮想リソースに対するストレージ管理が主となるため、管理者にとっては、仮想ストレージ装置400の構成情報を優先して参照、管理操作したいであろうと考えられるためである。また、図3(1)乃至(3)の処理により仮想リソースの構成情報を取得した段階では、各仮想リソースの物理特性を参照できない状態ではあるが、統合仮想化機能を利用すれば、仮想リソースと物理リソースとのマッピング関係は、後から変更することも可能であり、例えば、仮想ストレージ装置400の仮想リソースの構成情報に基づいて、ホスト計算機100に仮想ボリュームを割り当てておき、後から仮想ボリュームの物理特性が分かった段階で、仮想ボリュームに対する物理ボリュームのマッピング関係を変更するといった運用が可能となるためである。
 図4は、実施形態に係る構成情報取得方法における第2例の概要を示す図である。
 図4は、ストレージ管理サーバ300が、管理者による画面に対する操作等から、優先して構成情報を取得すべきリソースの範囲を特定できた場合における構成情報取得方法の概要を示している。より具体的には、ストレージ管理サーバ300が、未使用ボリューム(ここでは、仮想ボリューム6、7、8)を、構成情報を取得すべきリソースの範囲として特定した場合の概要を示している。この場合には、ストレージ管理サーバ300は、未使用ボリュームの構成情報を優先して取得する。
 具体的には、構成情報を取得すべきリソースと特定した未使用ボリュームのそれぞれに対して、そのリソースに関する構成情報と、そのリソースと関連するリソースに関する構成情報を、ホスト計算機100に近いレイヤから順に取得する。ここで、或るリソースに関する構成情報と、そのリソースと関連するリソースに関する構成情報を、レイヤの順序に従って取得することを、縦断取得ということとする。
 図4の例では、ストレージ管理サーバ300は、仮想ボリューム6に関する構成情報を取得し、仮想ボリューム6に関連する仮想パリティグループ2に関する構成情報を取得し、仮想ボリューム6に関連する物理ボリューム2に関する構成情報を取得し、物理ボリューム2に関連する物理パリティグループ1の構成情報を取得する(図4(1))。同様に、ストレージ管理サーバ300は、仮想ボリューム7に関する構成情報を取得し、仮想ボリューム7に関連する仮想パリティグループ3、物理ボリューム3、及び物理パリティグループ2の構成情報を順番に取得する(図4(2))。また、ストレージ管理サーバ300は、仮想ボリューム8に関する構成情報を取得し、仮想ボリューム8に関連する物理ボリューム4の情報を取得する(図4(3))。
 この縦断取得(図4(1)乃至(3))を実行することにより、ストレージ管理サーバ300は、例えば、1つの仮想ボリューム毎に、関連する仮想リソース及び物理リソースに関する構成情報を順次取得することができる。この縦断取得の途中においては、ストレージ管理サーバ300により表示される画面においては、表示されるボリュームが時間の経過とともに徐々に増えていくこととなる。管理者は、表示されているボリュームの中から好きなタイミングで任意のボリュームを選択し、任意のストレージ管理操作を指示することで、ストレージ管理サーバ300によりストレージ管理操作を行うことができる。したがって、管理者は画面に対する操作に関連するリソースの構成情報を早期に把握することができ、これらリソースに対する操作を早期に行うことができる。
 図4(1)乃至(3)の処理を実行した後には、ストレージ管理サーバ300は、縦断取得の対象とされていないリソースを対象として、図4(4)乃至(9)の処理を実行する。なお、図4(4)乃至(9)の処理は、図3(1)乃至(6)と同様な横断取得を行う処理である。
 図5は、実施形態に係る構成情報取得方法における第3例の概要を示す図である。
 図5は、ストレージ管理サーバ300が、管理者による画面に対する操作と、予めストレージ管理サーバ300に管理している管理サーバ情報342とに基づいて、優先して構成情報を取得すべきリソースの範囲を特定できた場合における構成情報取得方法の概要を示している。
 管理サーバ情報342としては、例えば、どのホスト計算機が、どの仮想ボリュームを使用するように予約しているかを表す情報(ボリューム予約表343)である。図5の例では、矢印に示すように、ホスト1は、仮想ボリューム3と4、ホスト2は、仮想ボリューム5と6、ホスト3は、仮想ボリューム7と8を、使用するボリュームとして予約しているとし、その内容がストレージ管理サーバ300に管理サーバ情報342として記憶されているものとする。
 ここで、ストレージ管理サーバ300が、管理者による操作により、特定のホスト計算機100(ここでは、ホスト3)で予約している仮想ボリュームの構成情報を優先して取得すべきと認識した場合には、管理サーバ情報342に基づいて、ホスト3が使用するとして予約しているボリューム(ここでは、仮想ボリューム7、8)を、構成情報を優先して取得すべきリソースとして特定する。
 ストレージ管理サーバ300は、特定した仮想ボリューム7、8のそれぞれに対して、縦断取得を実行する(図5(1)、(2))。この縦断取得による処理及び効果は、図4での横断取得と同様である。
 図5(1)及び(2)の処理を実行した後には、ストレージ管理サーバ300は、縦断取得の対象とされていないリソースを対象として、図5(3)乃至(8)の処理を実行する。なお、図5(3)乃至(8)の処理は、図3(1)乃至(6)と同様な横断取得を行う処理である。
 なお、この例における管理サーバ情報342(どのホスト計算機が、どの仮想ボリュームを使用するように予約しているかを表す情報)については、ストレージ管理サーバ300側で管理している情報であって、ストレージ装置200においては、管理されていない。このため、ストレージ管理サーバ300が、ホスト計算機100が使用するボリュームとして予約されている仮想ボリュームを特定する処理を行っている。また、この例における管理サーバ情報342は、ストレージ管理サーバ300の障害時に消失し得る情報であるため、定期的にストレージ装置200に保存しておき、消失時にストレージ装置200から回復するようにしても良い。この方法によると、管理サーバ情報342に基づいて、構成情報を優先して取得するリソースの範囲を適切に特定することができる。
 図6は、実施形態に係るストレージ管理サーバによって表示されるGUI画面の一例の構成図である。図6は、ストレージ管理サーバ300がストレージシステムの全てのリソースの構成情報を取得した後に表示されるGUI画面を示している。
 GUI画面1000は、管理者がストレージ管理操作を実施するための画面であり、ストレージシステム上のリソースの情報を表示するとともに、そのリソースに対する操作の指示を入力するための画面である。
 GUI画面1000は、ツリー表示領域1100と、詳細情報表示領域1200とを有する。
 ツリー表示領域1100には、ストレージ装置200やホスト計算機100の代表的なリソース名をノード(リソース情報の一例)とするツリーが表示される。管理者は、ツリーにおけるノードを選択することにより、詳細情報表示領域1200に表示させる内容を変更することができる。
 詳細情報表示領域1200は、ツリー表示領域1100において、管理者により選択されたノードに対応する1以上のリソースの詳細情報を、例えば表形式で表示させる表表示領域1210と、表表示領域1210で選択されリソースに対するストレージ管理操作を受け付ける1以上の管理操作ボタンを表示させる操作ボタン領域1220とを有する。表表示領域1210に表示されるリソースの詳細情報は、ディスクデバイス340内の構成管理情報341及び管理サーバ構成情報342を利用してGUI入力プログラム331により表示される。
 図7は、実施形態に係るストレージ管理サーバによって表示されるGUI画面の他の例の構成図である。図7は、ストレージ管理サーバ300が、ストレージシステムのリソースの構成情報を取得する構成情報取得処理の実施途中のGUI画面の一例であり、具体的には、図3(1)の末端仮想ボリュームの構成情報の取得途中におけるGUI画面の例である。
 このGUI画面1000のツリー表示領域1100においては、構成情報が未取得であるノードについては、構成情報が未取得であることを示す態様(未取得態様:例えば、黒地に白文字の態様)で表示される。図7に示す例では、レイヤL1の仮想末端ボリュームの構成情報を取得している途中であるため、それ以降に取得される予定となっている物理ストレージ装置200のリソースと、仮想プール、仮想パリティグループに関する構成情報は未取得の状態であり、これらに対応するノードは、未取得態様で表示されている。
 ツリー表示領域1100においては、未取得態様のノードについても管理者は選択することができる。なお、未取得態様のノードが選択された場合には、選択された直後には、そのノードに対応するリソースの構成情報が存在しないために、詳細情報表示領域1200の表表示領域1210には、何も表示されないが、ノードの選択によって、管理者による操作内容(例えば、管理者がどのノードのリソースを操作したいのか)をストレージ管理サーバ200に伝えることができる。本実施形態では、ストレージ管理サーバ200は、管理者の操作内容に応じて、画面の表示に必要なリソースの構成情報を優先して取得するように処理を切り替えることができるので、比較的早期に詳細情報表示領域1200に管理者の所望するリソースの詳細情報が表示され、管理者が実行可能なストレージ管理操作が増えていくようになる。
 詳細情報表示領域1200の表表示領域1210には、詳細情報を取得済のボリュームに関する情報が表示されている。この画面の表示時点では、一部のレコード(仮想ボリューム7、8の詳細情報が格納される予定のレコード)は未取得であるため、表示されていないが、時間が経過して仮想ボリューム7、8の詳細情報が取得されると、それらに対応するレコードが順次表示される。なお、表表示領域1210の各レコードの物理ボリュームおよび物理特性に関する列(派生元、容量、及び種別の列)には、この画面の表示時点ではこれら列に格納する構成情報を取得できていないため、未取得であることを示す「?」が表示されている。なお、時間が経過して物理ストレージ装置200のリソースに関する構成情報が取得された後には、各列には、「?」に代えて取得された値が表示されるようになる。
 操作ボタン領域1220においては、この画面の表示時点で実行できない管理操作に対応する管理操作ボタンは、管理操作を実行できないことを示す態様(否実行態様:例えば、黒地に白文字の態様)で表示される。例えば、「ボリュームの作成」ボタンに対応するボリューム作成は、仮想パリティグループ、もしくは、仮想プールに関する構成情報が存在しないと実施できないため、この画面の表示時点では、ストレージ管理サーバ300上に該当する構成情報が格納されていないので、否実行態様で表示されている。なお、時間が経過して、仮想プールに関する構成情報を取得した場合には、ボリューム作成が実施可能となるので、「ボリュームの作成」ボタンは、否実行態様ではなく、実行可能なことを示す態様となる。
 図8Aは、実施形態に係るストレージ装置の仮想ストレージ情報の構成図である。
 仮想ストレージ情報281は、仮想ストレージ装置がどの物理ストレージ装置上に構築されているかを管理する情報である。仮想ストレージ情報281によると、例えば、どの物理ストレージ装置に対して仮想構成管理情報280を同期しなければならないのかを特定することができる。
 仮想ストレージ情報281は、例えば、テーブル形式で構成され、仮想ストレージ識別子281aと、物理ストレージ識別子281bとのフィールドを含むレコードを記憶する。仮想ストレージ識別子281aには、仮想ストレージ装置を一意に識別するための識別子(仮想ストレージ識別子)が格納される。なお、物理ストレージ装置200において、統合仮想化機能を利用していない場合、仮想ストレージ識別子281aには、無効値を示す「-」が格納される。物理ストレージ識別子281bには、同一のレコードの仮想ストレージ識別子に対応する仮想ストレージ装置を構築している物理ストレージ装置200を一意に識別するための識別子(物理ストレージ識別子)が格納される。
 図8Bは、実施形態に係るストレージ装置の仮想パリティグループ情報の構成図である。
 仮想パリティグループ情報282は、例えば、テーブル形式で構成され、仮想ストレージ識別子282aと、仮想パリティグループ識別子282bと、物理ストレージ識別子282cと、物理パリティグループ識別子282dとのフィールドを含むレコードを記憶する。
 仮想ストレージ識別子282aには、仮想ストレージ装置を一意に識別するための仮想ストレージ識別子が格納される。仮想パリティグループ識別子282bには、仮想パリティグループを一意に識別するための識別子(仮想パリティグループ識別子)が格納される。物理ストレージ識別子282cには、同一のレコードの仮想パリティグループ識別子に対応する仮想パリティグループに割り当てられている物理パリティグループを有する物理ストレージ装置200の物理ストレージ識別子が格納される。物理パリティグループ識別子282dには、同一のレコードの仮想パリティグループ識別子に対応する仮想パリティグループに割り当てられている物理パリティグループの物理パリティグループ識別子が格納される。
 仮想パリティグループ情報282によると、仮想パリティグループがどの物理パリティグループに対応しているかを、物理ストレージ識別子と物理パリティグループ識別子との組み合わせとして特定することができる。
 図8Cは、実施形態に係るストレージ装置の仮想プール情報の構成図である。
 仮想プール情報283は、例えば、テーブル形式で構成され、仮想ストレージ識別子283aと、仮想プール識別子283bと、物理ストレージ識別子283cと、物理プール識別子283dとのフィールドを含むレコードを記憶する。
 仮想ストレージ識別子283aには、仮想ストレージ装置を一意に識別するための仮想ストレージ識別子が格納される。仮想プール識別子283bには、仮想プールを一意に識別するための識別子(仮想プール識別子)が格納される。物理ストレージ識別子283cには、同一のレコードの仮想プール識別子に対応する仮想プールに割り当てられている物理プールを有する物理ストレージ装置200の物理ストレージ識別子が格納される。物理プール識別子283dには、同一のレコードの仮想プール識別子に対応する仮想プールに割り当てられている物理プールの物理プール識別子が格納される。
 仮想プール情報283によると、仮想プールがどの物理プールに対応しているかを、物理ストレージ識別子と物理プール識別子との組み合わせとして特定することができる。
 図8Dは、実施形態に係るストレージ装置の仮想ボリューム情報の構成図である。
 仮想ボリューム情報284は、例えば、テーブル形式で構成され、仮想ボリューム毎に、仮想ストレージ識別子284aと、仮想ボリューム識別子284bと、利用者識別子284cと、仮想プール識別子284dと、仮想パリティグループ識別子284eと、ボリューム特性284fと、利用可否284gと、物理ストレージ識別子284hと、物理ボリューム識別子284iとのフィールドを含むレコードを記憶する。
 仮想ストレージ識別子284aには、仮想ストレージ装置を一意に識別するための仮想ストレージ識別子が格納される。仮想ボリューム識別子284bには、仮想ストレージ装置内で仮想ボリュームを一意に識別するための識別子(仮想ボリューム識別子)が格納される。利用者識別子284cには、同一レコードの仮想ボリュームの利用者を識別する識別子(利用者識別子)が格納される。例えば、ホスト計算機100が使用しているボリュームである場合には、利用者識別子284cには、ホスト計算機100を一意に識別する識別子(ホスト識別子)が格納される。また、仮想プールが使用している仮想ボリューム、すなわち、仮想プールを構成する仮想ボリューム(内部仮想ボリュームともいう)である場合には、その仮想プールの仮想プール識別子が格納される。仮想プール識別子284dには、レコードに対応する仮想ボリュームを切り出した仮想プールの仮想プール識別子が格納される。なお、レコードに対応する仮想ボリュームが仮想プールから切り出された仮想ボリュームでない場合には、仮想プール識別子284dには、無効値を示す「-」が格納される。仮想パリティグループ識別子284eには、レコードに対応する仮想ボリュームを切り出した仮想パリティグループの仮想パリティグループ識別子が格納される。なお、レコードに対応する仮想ボリュームが仮想パリティグループから直接切り出されていない場合、例えば、仮想ボリュームが仮想プールから切り出されている場合には、仮想パリティグループ識別子284eには、無効値を示す「-」が格納される。
 ボリューム特性284fには、レコードに対応する仮想ボリュームがホスト計算機100に割当て可能であるかを示すボリューム特性値が格納される。ボリューム特性値としては、レコードに対応する仮想ボリュームをホスト計算機100に割当て可能であることを示す「末端」と、レコードに対応する仮想ボリュームをストレージ装置200で内部的に使用しており、ホスト計算機100に割当て可能でないことを示す「内部」とがある。例えば、レコードに対する仮想ボリュームが仮想プールを構築する仮想ボリュームである場合には、ボリューム特性値は、「内部」となる。一方、レコードに対応する仮想ボリュームが仮想プールから切り出された仮想ボリュームである場合や、仮想パリティグループから切り出されてストレージ装置200で内部的に利用されていない仮想ボリュームである場合には、ボリューム特性値は、「末端」となる。
 利用可否284gには、レコードに対応する仮想ボリュームを利用できるか否かを示す情報が格納される。例えば、レコードに対応する仮想ボリュームをホスト計算機100が既に利用している場合や、レコードに対応する仮想ボリュームが仮想プールを構成する内部ボリュームである場合には、利用可否284gには、利用できないことを示す「使用中」が格納され、それ以外の場合には、利用可否284gには、利用できることを示す「未使用」が格納される。物理ストレージ識別子284hには、レコードに対応する仮想ボリュームに割り当てられている物理ボリュームを有する物理ストレージ装置200の物理ストレージ識別子が格納される。物理ボリューム識別子284iには、レコードに対応する仮想ボリュームに割り当てられている物理ボリュームの物理ボリューム識別子が格納される。
 仮想ボリューム情報284によると、仮想ボリュームがどの物理ボリュームに対応しているかを、物理ストレージ識別子と物理プール識別子との組み合わせとして特定することができる。
 図9Aは、実施形態に係るストレージ装置の物理パリティグループ情報の一例の構成図である。図9Bは、実施形態に係るストレージ装置の物理パリティグループ情報の他の例の構成図である。図9Aに示す物理パリティグループ情報は、図2に示す物理ストレージ1に格納されている物理パリティグループ情報を示し、図9Bに示す物理パリティグループ情報は、図2に示す物理ストレージ2に格納されている物理パリティグループ情報を示している。
 物理パリティグループ情報291は、例えば、テーブル形式で構成され、物理ストレージ識別子291aと、物理パリティグループ識別子291bと、容量291cと、種別291dとのフィールドを含むレコードを記憶する。
 物理ストレージ識別子291aには、レコードに対応する物理パリティグループを有する物理ストレージ装置200をストレージネットワーク内で一意に識別する識別子(物理ストレージ識別子)が格納される。物理パリティグループ識別子291bには、レコードに対応する物理パリティグループを物理ストレージ装置200内で一意に識別する識別子(物理パリティグループ識別子)が格納される。容量291cには、レコードに対応する物理パリティグループの容量が格納される。種別291dには、レコードに対応する物理パリティグループを構成する物理デバイスの種別を示す情報が格納される。物理デバイスの種別としては、「SSD」、「SAS」、「SATA」等がある。
 例えば、図9Aに示す物理パリティグループ情報291によると、物理ストレージ1の物理パリティグループ1は、容量が60GBであり、物理デバイスがSSDであることがわかる。また、図9Bに示す物理パリティグループ情報291によると、物理ストレージ2の物理パリティグループ2は、容量が60GBであり、物理デバイスがSATAであることがわかる。
 図9Cは、実施形態に係るストレージ装置の物理プール情報の構成図である。図9Cに示す物理プール情報は、図2に示す物理ストレージ1に格納されている物理プール情報を示している。
 物理プール情報292は、例えば、テーブル形式で構成され、物理ストレージ識別子292aと、物理プール識別子292bと、容量292cとのフィールドを含むレコードを記憶する。
 物理ストレージ識別子292aには、レコードに対応する物理プールを有する物理ストレージ装置200の物理ストレージ識別子が格納される。物理プール識別子292bには、レコードに対応する物理プールを物理ストレージ装置200内で一意に識別する識別子(物理プール識別子)が格納される。容量292cには、レコードに対応する物理プールの容量が格納される。
 図9Dは、実施形態に係るストレージ装置の物理ボリューム情報の一例の構成図である。図9Eは、実施形態に係るストレージ装置の物理ボリューム情報の他の例の構成図である。図9Dに示す物理ボリューム情報は、図2に示す物理ストレージ1に格納されている物理ボリューム情報を示し、図9Eに示す物理ボリューム情報は、図2に示す物理ストレージ2に格納されている物理ボリューム情報を示している。
 物理ボリューム情報293は、例えば、テーブル形式で構成され、自身が属する物理ストレージ装置200内の物理ボリューム毎に、物理ストレージ識別子293aと、物理ボリューム識別子293bと、利用者識別子293cと、物理プール識別子293dと、物理パリティグループ識別子293eと、ボリューム特性293fと、利用可否293gと、容量293hとのフィールドを含むレコードを記憶する。
 物理ストレージ識別子293aには、レコードに対応する物理ボリュームを有する物理ストレージ装置200を一意に識別するための物理ストレージ識別子が格納される。物理ボリューム識別子293bには、レコードに対応する物理ボリュームを、物理ストレージ装置200内で一意に識別するための識別子(物理ボリューム識別子)が格納される。利用者識別子293cには、同一レコードの物理ボリュームの利用者を識別する識別子(利用者識別子)が格納される。例えば、ホスト計算機100が使用している物理ボリュームである場合には、利用者識別子293cには、ホスト計算機100を一意に識別する識別子(ホスト計算機識別子)が格納される。また、物理プールが使用している物理ボリューム、すなわち、物理プールを構成する物理ボリューム(内部物理ボリュームともいう)である場合には、その物理プールの物理プール識別子が格納される。物理プール識別子293dには、レコードに対応する物理ボリュームを切り出した物理プールの物理プール識別子が格納される。なお、レコードに対応する物理ボリュームが物理プールから切り出された物理ボリュームでない場合には、物理プール識別子293dには、無効値を示す「-」が格納される。物理パリティグループ識別子293eには、レコードに対応する物理ボリュームを切り出した物理パリティグループの物理パリティグループ識別子が格納される。なお、レコードに対応する物理ボリュームが物理パリティグループから直接切り出されていない場合、例えば、物理ボリュームが物理プールから切り出されている場合には、物理パリティグループ識別子293eには、無効値を示す「-」が格納される。
 ボリューム特性293fには、レコードに対応する物理ボリュームがホスト計算機100に割当て可能であるかを示すボリューム特性値が格納される。ボリューム特性値としては、レコードに対応する物理ボリュームをホスト計算機100に割当て可能であることを示す「末端」と、レコードに対応する物理ボリュームをストレージ装置200で内部的に使用しており、ホスト計算機100に割当て可能でないことを示す「内部」とがある。例えば、レコードに対する物理ボリュームが物理プールを構築する物理ボリュームである場合には、ボリューム特性値は、「内部」となる。一方、レコードに対応する物理ボリュームが物理プールから切り出された物理ボリュームである場合や、物理パリティグループから切り出されてストレージ装置200で内部的に利用されていない物理ボリュームである場合には、ボリューム特性値は、「末端」となる。
 利用可否293gには、レコードに対応する物理ボリュームを利用できるか否かを示す情報が格納される。例えば、レコードに対応する物理ボリュームをホスト計算機100が既に利用している場合や、レコードに対応する物理ボリュームが物理プールを構成する内部ボリュームである場合には、利用可否293gには、利用できないことを示す「使用中」が格納され、それ以外の場合には、利用可否293gには、利用できることを示す「未使用」が格納される。容量293hには、レコードに対応する物理ボリュームの容量が格納される。
 図10Aは、実施形態に係るストレージ管理サーバのボリューム予約表の構成図である。
 ボリューム予約表343は、どのホスト計算機100が、どの仮想ボリュームの使用の予約をしているかを管理する情報である。なお、仮想ボリュームの使用の予約は、ストレージ装置200における仮想ボリュームの使用・未使用に依存していない。ボリューム予約表343は、仮想ストレージ識別子343aと、仮想ボリューム識別子343bと、ホスト識別子343cとのフィールドを含むレコードを記憶する。
 仮想ストレージ識別子343aには、予約対象の仮想ボリュームを有する仮想ストレージ装置の仮想ストレージ識別子が格納される。仮想ボリューム識別子343bには、予約対象の仮想ボリュームの仮想ボリューム識別子が格納される。ホスト識別子343cには、予約対象の仮想ボリュームを使用するホスト計算機100のホスト識別子が格納される。
 なお、ボリューム予約表343の情報は、例えば、ストレージ管理サーバ300がどの仮想ボリュームをどのホスト計算機100で利用するのかを予約するための予約用の画面(図示せず)をモニタ370に表示させ、入力装置380を介して管理者から予約の内容を受け付けることにより、設定することができる。
 図10Bは、実施形態に係るストレージ管理サーバの画面表の構成図である。
 画面表338は、構成情報取得プログラム334が利用する画面と、その画面に表示させるために必要な情報の検索条件との対応関係を管理するための情報である。本実施形態では、画面表338は、構成情報取得プログラム334が有する静的な情報としているが、これに限られず、画面表338をディスクデバイス340に格納するようにして、管理者が画面表338の内容を編集できるようにしても良い。
 画面表338は、画面識別子338aと、リソース識別子338bと、検索条件338cと、検索起点338dと、管理サーバ情報名338eとのフィールドを含むレコードを記憶する。
 画面識別子338aには、ストレージ管理サーバ300が提供する画面の種別を一意に識別する識別子(画面識別子)が格納される。リソース識別子338bには、画面識別子に対応する画面において着目しているリソース識別子名(例えば、レコードでのフィールド名で使用される名称)が格納される。検索条件338cには、レコードに対応する画面識別子の画面で着目しているリソース識別子名に対応するリソースに関する構成情報をストレージ装置200に検索させる際に送信する検索要求に含める検索条件の検索式が格納される。検索式には、例えば、置き換えが必要な値であることを示す置換記号「?」が含まれている場合がある。ストレージ管理サーバ300は、検索式に置換記号「?」が含まれている場合には、管理サーバ情報名338eの管理サーバ情報を参照して、置換記号「?」の値を解決する。詳細については、後述する。検索起点338dには、検索要求に含める検索起点の値が格納される。検索起点は、検索を開始する情報名である。管理サーバ情報名338eには、レコードの検索条件338cに置換記号「?」が含まれている場合に、置換記号「?」の値を解決するために利用する管理サーバ情報342中の情報名が格納される。
 図11Aは、実施形態に係るストレージ管理サーバの仮想ストレージ情報の構成図である。
 仮想ストレージ情報351は、仮想ストレージ識別子351aと、物理ストレージ識別子351bとのフィールドを含むレコードを記憶する。なお、各フィールドの内容は、図8Aの仮想ストレージ情報281の同名のフィールドと同様である。
 図11Bは、実施形態に係るストレージ管理サーバの仮想パリティグループ情報の構成図である。
 仮想パリティグループ情報352は、図8Bの仮想パリティグループ情報282と同様なフィールド(352a~352d)と、最終更新時間352eとを含むレコードを記憶する。最終更新時間352eには、レコードを更新した時刻(更新時刻)が格納される。
 図11Cは、実施形態に係るストレージ管理サーバの仮想プール情報の構成図である。
 仮想プール情報353は、図8Cの仮想プール情報283と同様なフィールド(353a~353d)と、最終更新時間353eとを含むレコードを記憶する。最終更新時間353eには、レコードを更新した時刻(更新時刻)が格納される。
 図11Dは、実施形態に係るストレージ管理サーバの仮想ボリューム情報の構成図である。
 仮想ボリューム情報354は、図8Dの仮想ボリューム情報284と同様なフィールド(354a~354i)と、最終更新時間354jとを含むレコードを記憶する。最終更新時間354jには、レコードを更新した時刻(更新時刻)が格納される。
 図12Aは、実施形態に係るストレージ管理サーバの物理パリティグループ情報の構成図である。
 物理パリティグループ情報361は、図9Aの物理パリティグループ情報291と同様なフィールド(361a~361d)と、最終更新時間361eとを含むレコードを記憶する。最終更新時間361eには、レコードを更新した時刻(更新時刻)が格納される。物理パリティグループ情報361は、複数のストレージ装置200の物理パリティグループ情報291が集約されるものである。
 図12Bは、実施形態に係るストレージ管理サーバの物理プール情報の構成図である。
 物理プール情報362は、図9Cの物理プール情報292と同様なフィールド(362a~362c)と、最終更新時間362dとを含むレコードを記憶する。最終更新時間362dには、レコードを更新した時刻(更新時刻)が格納される。物理プール情報362は、複数のストレージ装置200の物理プール情報292が集約されるものである。
 図12Cは、実施形態に係るストレージ管理サーバの物理ボリューム情報の構成図である。
 物理ボリューム情報363は、図9Dの物理ボリューム情報293と同様なフィールド(363a~363h)と、最終更新時間363iとを含むレコードを記憶する。最終更新時間363iには、レコードを更新した時刻(更新時刻)が格納される。物理ボリューム情報363は、複数のストレージ装置200の物理ボリューム情報293が集約されるものである。
 次に、本実施形態に係るストレージシステムにおける処理について説明する。まず、ストレージ装置200による処理について説明する。
 図13は、実施形態に係る構成情報検索処理のフローチャートである。
 構成情報検索処理は、ストレージ装置200の構成情報検索プログラム262をコントローラ210が実行することにより実行され、ストレージ装置200内の構成管理情報271に対して検索を実行し、その結果をストレージ管理サーバ300に返却する処理である。ストレージ管理サーバ300から発行された検索要求に応じて、柔軟な検索を実施する。
 構成情報検索プログラム262は、ストレージ装置200に検索要求が到着するまで待機する(ステップS11)。ここで、検索要求は、検索方法、検索起点、検索条件を含む。検索方法は、「単一のみ」または「関連を辿る」のいずれかの値である。「単一のみ」は、横断取得時に設定される値であり、検索要求に含まれている検索起点の情報のみを検索することを意味している。また、「関連を辿る」は、縦断取得時に設定される値であり、検索起点の情報から関連を辿って検索をすることを意味している。検索起点は、検索を開始する情報名(テーブル名)である。検索条件は、カラム名、演算子、及び値の組み合わせで表現する検索式である。検索条件に特別な値(「なし」)が指定されている場合には、構成情報検索プログラム262は、無条件ですべてのレコードと合致したと判定する。
 その後、検索要求が到着すると、構成情報検索プログラム262は、検索要求に基づいて、構成管理情報271を検索する共通検索を実行する(ステップS12)。共通検索では、構成情報検索プログラム262は、検索要求に含まれている検索起点の情報のみを対象に検索を行う。
 構成管理情報271の仮想ボリューム情報284が、図8Dに示す内容であり、検索要求中の検索起点が「仮想ボリューム情報」であり、検索条件が「仮想ストレージ識別子=仮想ストレージ1」かつ「ボリューム特性=末端」である例(例1という。)を挙げると、構成情報検索プログラム262は、仮想ボリューム情報284(図8D参照)に対して検索を行い、仮想ストレージ識別子284aが「仮想ストレージ1」であり、かつボリューム特性284fが「末端」を満たすレコードとして、仮想ボリューム識別子284bが「仮想ボリューム3、4、5、6、7、8」である6件(6つのレコード)を検索結果として取得する。
 次いで、構成情報検索プログラム262は、ステップS12の検索で検索条件に一致した件数(レコード数)を検索要求元のストレージ管理サーバ300に返却する(ステップS13)。例1の場合には、構成情報検索プログラム262は、件数として「6」を検索要求元(ストレージ管理サーバ300)に返却する。
 次いで、構成情報検索プログラム262は、検索要求元から件数を受信した旨の応答が返却されるまで待つ(ステップS14)。
 その後、検索要求元から件数を受信した旨の応答が返却された場合には、構成情報検索プログラム262は、検索要求における検索方法が「単一のみ」であるか否かを判定する(ステップS15)。
 この結果、検索方法が「単一のみ」である場合(ステップS15:Yes)には、構成情報検索プログラム262は、ステップS12で取得した検索結果から1つのレコードを選択して、検索要求元に返却する(ステップS16)。この際、構成情報検索プログラム262は、検索の対象となるテーブル名(対象テーブル名)と検索で得られたレコードの値との組を返却する。例1の場合には、1回目のステップS16の処理では、対象テーブル名=仮想ボリューム情報と、レコードの値=仮想ボリューム情報284中の仮想ボリューム3に関するレコードの値との組を返却する。また、後続のステップS18に引き続いて行われる2回目のステップS16の処理では、仮想ボリューム4に関するレコードの値が返却され、後続のステップS18に引き続いて行われる3回目のステップS16の処理では、仮想ボリューム5に関するレコードの値が返却されることとなる。
 このように、本実施形態では、検索結果として多くのレコードが取得された場合に、1レコードずつ返却するようにして、一度に多くのデータが検索要求元に返却されないようにしているので、この検索要求に対応する処理を取りやめて別の検索要求に対応する処理を行う場合等において、ストレージ装置200及びストレージ管理サーバ300において、迅速に処理を切り替えることができる。
 なお、本実施形態では、検索結果を1レコードずつ返却するようにしていたが、本発明はこれに限られず、検索結果のレコード数が多い場合に、検索結果を分割した所定の分割単位ずつ検索要求元に返却するようにすれば良く、例えば、複数レコードずつ返却しても良い。この場合、例えば、データ通信の一単位(通信パケット)に格納可能なレコードの数を分割単位としても良い。
 次いで、構成情報検索プログラム262は、検索要求元から1つのレコードの受信が完了した旨の応答が返却されるのを待つ(ステップS17)。そして、検索要求元から応答を受信した場合には、構成情報検索プログラム262は、全ての検索結果を返却したか否か、又は、検索要求元が検索結果の受信を打ち切ったか否か(例えば、検索要求元から受信打ち切りの応答を受信した、又は、検索要求元から一定時間応答が返却されなかった)を判定する(ステップS18)。この結果、全ての検索結果を返却した場合、又は、検索要求元が検索結果の受信を打ち切った場合(ステップS18:Yes)には、構成情報検索プログラム262は、処理をステップS11に進めて次の検索要求が到着するのを待つ。一方、全ての検索結果を返却していない場合、且つ、検索要求元が検索結果の受信を打ち切っていない場合(ステップS18:No)には、構成情報検索プログラム262は、検索結果の残りのレコードを送信するために、処理をステップS16に進める。
 一方、ステップS15で、検索方法が「単一のみ」でない、すなわち、検索方法が「関連を辿る」である場合(ステップS15:No)には、構成情報検索プログラム262は、ステップS12で取得した検索結果から1つのレコードを選択して、変数rscに格納する(ステップS19)。例1の場合には、構成情報検索プログラム262は、仮想ボリューム情報284の仮想ボリューム識別子284bが「仮想ボリューム3、4、5、6、7、8」であるレコードの中の1件を選択する。
 次いで、構成情報検索プログラム262は、変数rscに格納されている仮想リソースに関連する仮想ストレージ装置内の他の仮想リソースについての構成情報を取得する仮想関連検索を行う(ステップS20)。ここでは、変数rscが仮想ボリュームを対象としているレコードである場合の例について説明するが、変数rscがその他の仮想リソースを対象としているレコードである場合も、同様に仮想ストレージ装置内の関連するリソースの構成情報を同様に辿って検索を実施する。なお、変数rscがいずれのリソースを対象としているかは、変数rscのレコードに対応するテーブル名から把握することができる。
 ケース1:変数rscのレコード(ここでは、仮想ボリューム情報284のレコードに対応)の仮想プール識別子284dに有効値が格納されている場合(すなわち、仮想ボリュームが仮想プールから切り出されている仮想ボリュームである場合)には、構成情報検索プログラム262は、変数rscが示すレコードの仮想ボリューム(末端仮想ボリューム)から、(1)関連する仮想プール、(2)内部仮想ボリューム、(3)仮想パリティグループといったように、関連するリソースを辿り、そのリソースに関連する構成情報を取得する。具体的には、以下に示す処理を行う。
 (1)構成情報検索プログラム262は、変数rscに対応する仮想ボリュームと関連する仮想プールの構成情報を検索する。具体的には、構成情報検索プログラム262は、仮想プール情報283から仮想プール識別子283bの仮想プール識別子が変数rscのレコードの仮想プール識別子284dの仮想プール識別子と同一のレコードを検索する。ここで、この検索結果のレコード群を「pool」とする。
 (2)次に、構成情報検索プログラム262は、「pool」と関連する仮想ボリューム(内部仮想ボリューム)の構成情報を検索する。具体的には、構成情報検索プログラム262は、仮想ボリューム情報284から利用者識別子284cの利用者識別子が「pool」の仮想プール識別子283bの仮想プール識別子と一致するレコードを検索する。ここで、この検索結果のレコード群を「pool-vol群」とする。
 (3)最後に、構成情報検索プログラム262は、「pool-vol群」と関連する仮想パリティグループの構成情報を検索する。具体的には、構成情報検索プログラム262は、仮想パリティグループ情報282から、仮想パリティグループ識別子282bの仮想パリティグループ識別子が「pool-vol群」の仮想パリティグループ識別子284eの仮想パリティグループ識別子と同一のレコードを検索する。ここで、この検索結果のレコード群を「v-pg群」とする。
 より具体的な例を示すと、ケース1の変数rscの候補としては、図8Dに示す仮想ボリューム情報284では、仮想ボリューム識別子284bが「仮想ボリューム3」「仮想ボリューム4」のレコードが該当する。以下の処理では変数rscとして「仮想ボリューム3」のレコードが選択されている場合を例に説明する。
 変数rscが示す仮想ボリューム3と関連する仮想プールのレコード群である「pool」は、仮想プール情報283の仮想プール識別子283bが仮想プール1のレコードとなる。また、「pool」が示す仮想プール1と関連する仮想ボリュームのレコード群である「pool-vol群」は、仮想ボリューム情報284の仮想ボリューム識別子284bが「仮想ボリューム1」「仮想ボリューム2」であるレコードとなる。また、「pool-vol群」が示す仮想ボリューム1、2と関連する仮想パリティグループのレコード群である「v-pg群」は、仮想パリティグループ情報282の仮想パリティグループ識別子282bが「仮想パリティグループ1」であるレコードとなる。
 ケース2:変数rscのレコードの仮想パリティグループ識別子284eに有効値が格納されている場合(すなわち、仮想ボリュームが仮想パリティグループから切り出されている仮想ボリュームである場合)には、構成情報検索プログラム262は、変数rscが示す仮想ボリュームから、(4)関連する仮想パリティグループを辿り、そのリソースに関連する構成情報を取得する。具体的には、以下に示す処理を行う。
 (4)構成情報検索プログラム262は、変数rscが示す仮想ボリュームと関連する仮想パリティグループの構成情報を検索する。具体的には、構成情報検索プログラム262は、仮想パリティグループ情報282から、仮想パリティグループ識別子282bの仮想パリティグループ識別子が変数rscの仮想パリティグループ識別子284eの仮想パリティグループ識別子と同一のレコードを検索する。ここで、この検索結果のレコード群を「v-pg群」とする。
 より具体的な例を示すと、ケース2の変数rscの候補としては、図8Dに示す仮想ボリューム情報284では、仮想ボリューム識別子284bが「仮想ボリューム5」、「仮想ボリューム6」、「仮想ボリューム7」、「仮想ボリューム8」のレコードが該当する。以下の処理では変数rscとして「仮想ボリューム6」のレコードが選択されている場合を考える。
 変数rscが示す仮想ボリューム6と関連する仮想パリティグループのレコード群である「v-pg群」は、仮想パリティグループ情報282の仮想パリティグループ識別子282bが「仮想パリティグループ2」のレコードとなる。
 次いで、構成情報検索プログラム262は、変数rscに格納されている仮想リソースに関連する物理リソースの検索を行う(ステップS21)。具体的には、構成情報検索プログラム262は、変数rscに格納されている仮想ボリュームに対応する物理ストレージ識別子および物理ボリューム識別子を取得する。
 例えば、物理ストレージ識別子が、この構成情報検索処理を実行している自身のストレージ装置200を示している場合には、構成情報検索プログラム262は、自身のストレージ装置200の構成記憶デバイス270の物理構成管理情報290を検索し、物理ボリューム情報293において、物理ボリューム識別子293bの物理ボリューム識別子が、変数rscの物理ボリューム識別子284iの物理ボリューム識別子と同一のレコードを取得し、このレコードを新たな変数rscとする。例えば、変数rscに格納されている仮想リソースが「仮想ボリューム3」である場合、物理ストレージ識別子284hが「物理ストレージ1」であり、物理ボリューム識別子284iが「物理ボリューム3」である。そして、物理ストレージ1がこの構成情報検索処理を実行している場合には、このストレージ装置200の物理ボリューム情報293から物理ボリューム識別子293bが「物理ボリューム3」のレコードを取得し、このレコードを新たな変数rscとする。
 一方、物理ストレージ識別子が、この構成情報検索処理を実行している自身のストレージ装置200を示していない場合には、構成情報検索プログラム262は、物理ストレージ識別子を持つ他のストレージ装置200に対して通信ネットワーク20経由で検索要求を発行し、検索結果を受信し、受信したレコードを新たな変数rscとする。このとき、検索要求の検索方法は、「単一のみ」とし、検索起点は「物理ボリューム情報」とし、検索条件は、物理ボリューム識別子=変数rscの物理ボリューム識別子とする。例えば、変数rscに格納されている仮想リソースが「仮想ボリューム6」である場合、物理ストレージ識別子284hが「物理ストレージ2」であり、物理ボリューム識別子284iが「物理ボリューム2」である。そして、物理ストレージ1がこの構成情報検索処理を実行している場合には、変数rscの物理ストレージ識別子284hの物理ストレージ2が示すストレージ装置200に対して、検索要求を発行し、物理ストレージ2のストレージ装置200における物理ボリューム情報293の物理ボリューム識別子293bが「物理ボリューム2」のレコードを取得し、このレコードを新たな変数rscとする。
 次いで、構成情報検索プログラム262は、変数rscが示す物理リソースに関連するストレージ装置内の他の物理リソースについての構成情報を取得する物理関連検索を行う(ステップS22)。このステップでの処理は、ステップS20の仮想関連検索で実施する仮想ボリュームから関連する仮想リソースを辿る検索処理を、物理ボリュームから関連する物理リソースを辿る検索処理に置き換え、かつ、参照する情報をその物理リソースの構成情報に置き換えた処理であり、処理の本質は、仮想関連検索と同様である。
 ここで、変数rscのレコード(ここでは、物理ボリューム情報293のレコードに対応)の物理ストレージ識別子293bが、この構成情報検索処理を実行しているストレージ装置200の物理ストレージ識別子でない場合には、構成情報検索プログラム262は、物理ストレージ識別子293bの物理ストレージ識別子を持つストレージ装置200に対して通信ネットワーク20経由で検索要求を発行し、検索結果を受信する。
 一方、変数rscのレコードの物理ストレージ識別子293bがこの構成情報検索処理を実行しているストレージ装置200の物理ストレージ識別子である場合には、構成情報検索プログラム262は、以下の処理を実施する。
 ケース3:変数rscの物理プール識別子293dに有効値が格納されている場合(すなわち、物理ボリュームが物理プールから切り出されている物理ボリュームである場合)には、構成情報検索プログラム262は、変数rscが示すレコードの物理ボリューム(末端物理ボリューム)から、(1)関連する物理プール、(2)内部物理ボリューム、(3)物理パリティグループといったように、関連するリソースを辿り、そのリソースに関連する構成情報を取得する。
 ケース4:変数rscの物理パリティグループ識別子293eに有効値が格納されている場合(すなわち、物理ボリュームが物理パリティグループから切り出されている物理ボリュームである場合)には、構成情報検索プログラム262は、変数rscが示す物理ボリュームから、(4)物理パリティグループを辿り、そのリソースに関連する構成情報を取得する。
 次いで、構成情報検索プログラム262は、検索によって得られた変数rscに関連する仮想リソース、物理リソースのすべてのレコードを検索要求元に返却する(ステップS23)。この際、構成情報検索プログラム262は、レコードに対応するテーブル名(対象テーブル名)と、レコードの値の組との配列を返却する。
 例えば、ステップS19で変数rscに「仮想ボリューム3」のレコードが格納された場合には、ステップS23においては、構成情報検索プログラム262は、以下の(1)~(6)の全情報を返却する。
(1)「対象テーブル名=仮想ボリューム情報」、「レコードの値=仮想ボリューム1、2、3に関するレコード」
(2)「対象テーブル名=仮想プール」、「レコードの値=仮想プール1に関するレコード」
(3)「対象テーブル名=仮想パリティグループ情報」、「レコードの値=仮想パリティグループ1に関するレコード」
(4)「対象テーブル名=物理ボリューム情報」、「レコードの値=物理ボリューム1、2、3に関するレコード」
(5)「対象テーブル名=物理プール」、「レコードの値=物理プール1に関するレコード」
(6)「対象テーブル名=物理パリティグループ情報」、「レコードの値=物理パリティグループ1に関するレコード」
 一方、ステップS19で変数rscに「仮想ボリューム6」のレコードが格納された場合(図4(1)の処理に対応)には、ステップS23においては、構成情報検索プログラム262は、以下の(1)~(4)の全情報を返却する。
(1)「対象テーブル名=仮想ボリューム情報」、「レコードの値=仮想ボリューム6に関するレコード」
(2)「対象テーブル名=仮想パリティグループ情報」、「レコードの値=仮想パリティグループ2に関するレコード」
(3)「対象テーブル名=物理ボリューム情報」、「レコードの値=物理ボリューム2に関するレコード」
(4)「対象テーブル名=物理パリティグループ情報」、「レコードの値=物理パリティグループ1に関するレコード」
 次いで、構成情報検索プログラム262は、検索要求元から検索結果を受信した旨の応答が返却されるまで待つ(ステップS24)。そして、検索要求元から応答を受信した場合には、構成情報検索プログラム262は、全ての検索結果を返却したか否か、又は、検索要求元が検索結果の受信を打ち切ったか否か(例えば、検索要求元から受信打ち切りの応答を受信した、又は、検索要求元から一定時間応答が返却されなかった)を判定する(ステップS25)。この結果、全ての検索結果を返却した場合、又は、検索要求元が検索結果の受信を打ち切った場合(ステップS25:Yes)には、構成情報検索プログラム262は、処理をステップS11に進めて、次の検索要求が到着するのを待つ。一方、全ての検索結果を返却していない場合、且つ、検索要求元が検索結果の受信を打ち切っていない場合(ステップS25:No)には、構成情報検索プログラム262は、ステップS12での検索結果の残りのレコードを変数rscとして同様な処理を行うために、処理をステップS19に進める。
 図14は、実施形態に係る管理サーバ情報入出力処理のフローチャートである。
 管理サーバ情報入出処理は、通信ネットワーク20経由でのストレージ管理サーバ300の指示によって、ストレージ装置200により実行される。具体的には、管理サーバ情報入出処理は、ストレージ装置200の管理サーバ情報入出力プログラム263をコントローラ210が実行することにより実行される。管理サーバ情報入出処理は、ストレージ管理サーバ300が希望する情報をストレージ装置200の構成記憶デバイス270に保存したり、構成記憶デバイス270に保存しておいた情報を読み出したりする処理である。
 管理サーバ情報入出力プログラム263は、ストレージ管理サーバ300から管理サーバ情報の入出力要求が到着するまで待機する(ステップS31)。ここで、入出力要求は、入出力種別を含む。入出力種別は、構成記憶デバイス270に情報を保存する「入力」と、構成記憶デバイス270から情報を読み出す「出力」とのいずれかの値を取る。
 管理サーバ情報入出力プログラム263は、ストレージ管理サーバ300から管理サーバ情報の入出力要求が到着した場合には、入出力要求の入力種別が「入力」であるか否かを判定する(ステップS32)。
 この結果、入出力要求の入出力種別が「入力」である場合(ステップS32:Yes)には、管理サーバ情報入出力プログラム263は、ストレージ管理サーバ300から入力対象の情報を受信し(ステップS33)、受信した情報を構成記憶デバイス270の管理サーバ情報272に保存し(ステップS34)、処理をステップS31に進める。
 一方、入出力要求の入出力種別が「出力」である場合(ステップS32:No)には、管理サーバ情報入出力プログラム263は、構成記憶デバイス270の管理サーバ情報272を読み出し(ステップS35)、読み出した情報をストレージ管理サーバ200へ返却し(ステップS36)、処理をステップS31に進める。
 次に、ストレージ管理サーバ300による処理について説明する。
 まず、GUI入出力プログラム331によるGUI入出力処理について説明する。
 GUI入出力処理においては、GUI入出力プログラム331がGUI画面(図6,7参照)をモニタ370に表示し、入力装置380を介して管理者の操作を受信し、対話的に画面を切り替える。以下、具体的な処理を説明する。
 GUI入出力プログラム331は、GUI画面1000のツリー表示領域1100にツリーを描画する。具体的には、GUI入出力プログラム331は、ストレージ装置200やホスト計算機100の代表的なリソース名をノードとしたツリーを表示する。この際、GUI入出力プログラム331は、ストレージ装置200に関するノードのツリーについては、ストレージ管理サーバ300の仮想ストレージ情報351を利用して描画し、ホスト計算機100に関するノードのツリーについて、仮想ボリューム情報354の利用者識別子354cの値を利用して描画する。
 次いで、GUI入出力プログラム331は、入力装置380を介して、管理者からの画面に対する操作を受け取るまで待つ。
 そして、入力装置380を介して、管理者からの画面に対する操作を受け取った場合には、GUI入出力プログラム331は、ユーザがどのノードを選択したかを判定し、選択されたノードに予め対応付けられている画面識別子とリソース識別子(どのリソースに紐づいている情報であるかを表す識別子)との組を主メモリ330上に格納する。例えば、管理者がノード「仮想ストレージ1」の子ノード「プール」を選択した場合、GUI入出力プログラム331は、画面識別子には338aの値である「仮想ストレージ・プール」、リソース識別子には、仮想ストレージ識別子である「仮想ストレージ1」を格納する。
 次いで、GUI入出力プログラム331は、管理者が選択したノードに関する情報をテーブル形式で、GUI画面1000の表表示領域1210に描画する。この際、GUI入出力プログラム331は、構成管理情報341を適切に結合してテーブルを描画する。なお、必要な情報が構成管理情報341に揃っていない場合には、その情報に関しては表示されない。
 図15Aは、実施形態に係る同期処理のフローチャートである。
 同期処理は、ストレージ管理サーバ300を起動した際にコントローラ310が同期プログラム332の実行を行うことにより開始され、その後常時実行される常駐処理である。なお、ストレージ管理サーバ300を回復する際には、同期処理の実行が再度開始される。
 同期プログラム332は、初回起動時もしくは回復時であるか否かを判定する(ステップS41)。ここで、本実施形態では、同期プログラム332は、仮想ストレージ情報351にレコードが存在するか否かを判定し、レコードが1件も存在しない場合に、「初回もしくは回復時である」と判定する。
 この結果、初回起動時もしくは回復時である場合(ステップS41:Yes)には、同期プログラム332は、変数timeに現在の時刻を記憶する(ステップS42)。ここで、変数timeに記憶されている時刻は、同期処理を開始した時刻を示している。
 次いで、同期プログラム332は、ストレージ登録プログラム333を呼出してストレージ登録処理(図15B参照)を実行させる。ストレージ登録処理では、ストレージ管理サーバ300が管理すべきストレージ装置200の物理ストレージ識別子が管理者により登録されることとなる。
 次いで、同期プログラム332は、ストレージ装置200に退避させている管理サーバ情報272をストレージ装置200から取得する(ステップS44)。具体的には、同期プログラム332は、仮想ストレージ情報351の物理ストレージ識別子351bの物理ストレージ識別子に対応するすべての物理ストレージ装置200に対して、通信ネットワーク20経由で、入出力種別を「出力」とした管理サーバ情報の入出力要求を発行し、ストレージ装置200から保存されている管理サーバ情報272を取得し、取得した管理サーバ情報272をディスクデバイス341内の管理サーバ情報342に保存する。この処理により、障害が発生した場合等に以前利用していた管理サーバ情報を適切にストレージ管理サーバ300に復元することができるようになる。
 次いで、同期プログラム332は、構成情報取得プログラム334を呼出して構成情報取得処理(図16A参照)を実行させる(ステップS45)。この構成情報取得処理によると、ストレージ管理サーバ300の構成管理情報341を最新のものに更新することができる。
 次いで、同期プログラム332は、一定時間(たとえば、1日)経過するのを待つ。なお、同期プログラム332は、待ち時間中に、管理者により入力装置380を介して、構成情報取得処理の即時実行要求を受け取った場合には、待つのを中断して直ちに、ステップS47に処理を進める。
 ステップS47では、同期プログラム332は、変数timeに現在の時刻を記憶する。次いで、同期プログラム332は、ディスクデバイス340内の管理サーバ情報342をストレージ装置200に送信し、管理サーバ情報342をストレージ装置200の構成記憶デバイス270に格納させる(ステップS48)。具体的には、同期プログラム332は、仮想ストレージ情報351の物理ストレージ識別子351bの物理ストレージ識別子に対応するすべての物理ストレージ装置200に対して、通信ネットワーク20経由で、入出力種別を「入力」とした管理サーバ情報の入出力要求を発行し、ストレージ装置200に管理サーバ情報342を送信する。各物理ストレージ装置200では、管理サーバ情報入出力処理(図14参照)が実行されて、送信された情報が構成記憶デバイス270に保存される。これにより、ストレージ管理サーバ300における管理サーバ情報342をストレージ装置200に適切に退避させておくことができる。
 次いで、同期プログラム332は、構成情報取得プログラム334を呼出して構成情報取得処理(図16A参照)を実行させる(ステップS49)。この構成情報取得処理によると、ストレージ管理サーバ300の構成管理情報341を最新のものに更新することができる。その後、同期プログラム332は、処理をステップS46に進める。
 図15Bは、実施形態に係るストレージ登録処理のフローチャートである。
 ストレージ登録処理は、ストレージ管理サーバ300の初回起動もしくは障害からの回復時に同期処理のステップS43で実行される処理である。ストレージ登録処理は、コントローラ310がストレージ登録プログラム333を実行することにより、実行される処理であり、ストレージ管理サーバ300による管理対象とする物理ストレージ装置200の物理ストレージ識別子を管理者から受け付けて登録し、物理ストレージ装置200に関連する仮想ストレージ装置の仮想ストレージ識別子を取得する処理である。
 ストレージ登録プログラム333は、GUI入出力プログラム331により描画されるGUI画面において、管理者により入力装置380を介して管理対象とする物理ストレージ装置の物理ストレージ識別子(基本情報の一例)が入力するまで待つ(ステップS51)。なお、管理者は、GUI画面において、管理対象とする複数の物理ストレージ装置の物理ストレージ識別子を同時に入力することができる。
 そして、管理者により入力装置380を介して管理対象とする物理ストレージ装置200の物理ストレージ識別子が入力された場合には、ストレージ登録プログラム333は、管理者により入力された物理ストレージ識別子を受信する(ステップS52)。
 次いで、ストレージ登録プログラム333は、ストレージ装置200から仮想ストレージ装置400の基本情報(例えば、仮想ストレージ識別子)を取得する(ステップS53)。仮想ストレージ識別子としては、例えば、ID、仮想ストレージ装置のIPアドレス又はMACアドレスであっても良い。ストレージ登録プログラム333は、物理ストレージ識別子に対応するすべてのストレージ装置200に対して、仮想ストレージ装置の仮想ストレージ識別子を要求する。より具体的には、ストレージ登録プログラム333は、通信ネットワーク20経由でストレージ装置200に対して、検索方法を「単一のみ」とし、検索起点を「仮想ストレージ情報」とし、検索条件を「物理ストレージ識別子=ステップS52で取得した物理ストレージ識別子」とした検索要求を発行し、ストレージ装置200から検索要求の検索条件に一致するレコード(仮想ストレージ識別子と物理ストレージ識別子との組)を受け取る。
 ストレージ登録プログラム333は、ステップS53で取得した仮想ストレージ装置の基本情報(本実施形態では、仮想ストレージ識別子と物理ストレージ識別子との組)を仮想ストレージ情報351に保存する。
 図16Aは、実施形態に係る構成情報取得処理のフローチャートである。
 構成情報取得処理は、ストレージ管理サーバ300がストレージシステムの構成情報を一元管理するために構成管理情報341を複数のストレージ装置200から収集する処理である。構成情報取得処理が完了するまでには、長時間かかり得るため、本実施形態では、管理者視点に基づいた効率的なストレージシステムの構成情報の取得を実現できるようにしている。すなわち、管理者が実施したい(又は実施したいと想定される)ストレージシステムの管理操作に関する範囲のリソースの構成情報を、ストレージ装置200から優先して取得するようにしている。
 本実施形態では、管理者が実施したい管理操作に関する範囲のリソースの構成情報をストレージ装置200から優先して取得するために、管理者の操作が発生した場合、素早くそれを検知し、その時点で実行している構成情報の取得処理を打ち切り、管理者が実施したい管理操作に関する範囲のリソースの構成情報を取得処理の実行に迅速に切り替えるようにしている。これを実現するために、リソースの構成情報を取得する処理における処理ステップを細かく分け、各ステップの間に、管理者の入力操作がないかを確認し、実行中の取得処理を継続するか、実行中の取得処理を中断して管理者の希望する構成情報を優先して取得する別の取得処理に切り替えるかを逐次制御する。また、ストレージ装置200は、ストレージ管理サーバ300が実行する取得処理の処理ステップを細かく分けられるように、検索結果を例えば、1レコードずつに返却する。
 構成情報取得処理は、コントローラ310が構成情報取得プログラム334を実行することにより、実行される処理である。
 構成情報取得プログラム334は、GUI入出力プログラム331によって主メモリ330に格納されている、ユーザが選択したノードに対応する画面識別子とリソース識別子との組を読み取り、読み取った画面識別子を変数opにコピーし、リソース識別子を変数idにコピーする(ステップS61)。ここで、変数opは、管理者が操作中の画面を示す画面識別子を管理する変数であり、変数idは、管理者が着目している(又は着目していると想定される)リソース識別子を管理する変数である。管理者が操作中の画面がない場合には、変数op及び変数idには、「画面なし」が設定される。
 次いで、構成情報取得プログラム334は、ユーザが任意の画面を操作中であるか否かを判断することにより、或る特定のリソースの構成情報を優先して取得する必要があるか否かを判定する(ステップS62)。本実施形態では、変数opが「画面なし」である場合には、管理者の操作中の画面はないことを意味しているので、構成情報取得プログラム334は、優先して取得する必要はないと判定する一方、変数opが「画面なし」ではない場合には、管理者の操作中の画面があることを意味しているので、優先して取得する必要があると判定する。
 この結果、或る特定のリソースの構成情報を優先して取得する必要がないと判定した場合(ステップS62:No)には、構成情報取得プログラム334は、横断取得プログラム335を呼び出して、予め設定されているおすすめの取得順序でリソースの構成情報を検索する横断取得処理(図16B参照)を実行させ(ステップS63)、横断取得処理が終了した場合には、構成情報取得プログラム334は、処理をステップS65に進める。なお、横断取得処理中に管理者の画面操作が検知された場合には、構成情報取得プログラム334は、横断取得処理を即座に中断し、処理をステップS65に進める。
 一方、或る特定のリソースの構成情報を優先して取得する必要があると判定した場合(ステップS62:Yes)には、構成情報取得プログラム334は、縦断取得プログラム337を呼び出して、管理者が必要としているリソースの構成情報を優先的に検索する縦断取得処理(図17A参照)を実行させ(ステップS64)、縦断取得処理が終了した場合には、構成情報取得プログラム334は、処理をステップS65に進める。なお、縦断取得処理中に管理者の画面操作が検知された場合には、構成情報取得プログラム334は、縦断取得処理を即座に中断し、処理をステップS65に進める。
 ステップS65では、構成情報取得プログラム334は、構成管理情報341の情報群のうち、最終更新日時のフィールドを持つ情報のすべてのレコードの最終更新日時のフィールドの値が変数timeと同一であるか否かを検査することにより、構成管理情報341についての全ての更新が完了しているか否かを判定する。ここで、すべてのレコードの最終更新日時が同一であれば、全てのレコードの内容が最新であることを意味しているので、構成情報取得プログラム334は、すべての更新が完了している判定して(ステップS65:Yes)、構成情報取得処理を終了する。一方、すべてのレコードの最終更新日時が同一でない場合には、すべての更新が完了していないと判定して(ステップS65:No)、構成情報取得プログラム334は、更新されていないリソースの構成情報を取得するために、処理をステップS62に進める。
 図16Bは、実施形態に係る横断取得処理のフローチャートである。
 横断取得処理は、構成情報取得処理(図16A)のステップS63で実行される処理である。横断取得処理は、コントローラ310が横断取得プログラム335を実行することにより、実行される処理である。この横断取得処理によると、図3で示した構成情報取得方法が実現される。
 横断取得プログラム335は、ストレージシステムに仮想ストレージ装置が含まれているか否かを判定する(ステップS71)。本実施形態では、横断取得プログラム335は、仮想ストレージ情報351の仮想ストレージ識別子351aがすべて無効値を示す「-」であるか否かを判断して、仮想ストレージ情報351の仮想ストレージ識別子351aがすべて無効値を示す「-」である場合には、ストレージシステムにおいて統合仮想化機能を利用していないことを示すので、仮想ストレージ装置が含まれていないと判定する一方、それ以外の場合には、仮想ストレージ装置が含まれていると判定する。
 この結果、ストレージシステムに仮想ストレージ装置が含まれていない場合(ステップS71:No)には、横断取得プログラム335は、仮想リソースが存在しないので、仮想リソースの構成情報を取得するためのステップをスキップして、処理をステップS78に進める。
 一方、ストレージシステムに仮想ストレージ装置が含まれている場合(ステップS71:Yes)には、横断取得プログラム335は、末端仮想ボリューム(図2のレイヤL1のリソース)の構成情報を取得するための検索要求を作成し、検索発行処理(図17B参照)を実行させる(ステップS72)。ここで、この際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の仮想ストレージ識別子351aの仮想ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「仮想ボリューム情報」とし、検索方法を「単一のみ」とし、検索条件を「ボリューム特性=末端」としたものである。ここで、対象ストレージ群に、全ての仮想ストレージ装置の仮想ストレージ識別子を設定しているので、複数の仮想ストレージ装置に関する末端仮想ボリュームの構成情報を取得すること、すなわち末端仮想ボリュームの構成情報について横断取得することができる。
 次いで、横断取得プログラム335は、変数opおよび変数idの組の値が、主メモリ330の管理者が選択したノードに対応する画面識別子とリソース識別子との組の値と同じであるか否かを判定し、同じでない場合には、管理者の画面切り替えが発生していたと判定し(ステップS73:Yes)とし、横断取得処理を終了する一方、同じでない場合には、管理者の画面切り替えが発生していなかったと判定し(ステップS73:No)とし、処理を次のステップに進める。
 次いで、横断取得プログラム335は、仮想プールボリューム(及び内部仮想ボリューム)(図2のレイヤL2のリソース)の構成情報を取得するための検索要求を作成し、検索発行処理(図17B参照)を実行させる(ステップS74)。ここで、仮想プールボリュームの構成情報を取得する際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の仮想ストレージ識別子351aの仮想ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「仮想プール情報」とし、検索方法を「単一のみ」とし、検索条件を「なし」としたものである。また、内部仮想ボリュームの構成情報を取得する際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の仮想ストレージ識別子351aの仮想ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「仮想ボリューム情報」とし、検索方法を「単一のみ」とし、検索条件を「ボリューム特性=内部」としたものである。
 次いで、横断取得プログラム335は、変数opおよび変数idの組の値が、主メモリ330の管理者が選択したノードに対応する画面識別子とリソース識別子との組の値と同じであるか否かを判定し、同じでない場合には、管理者の画面切り替えが発生していたと判定し(ステップS75:Yes)とし、横断取得処理を終了する一方、同じでない場合には、管理者の画面切り替えが発生していなかったと判定し(ステップS75:No)とし、処理を次のステップに進める。
 次いで、横断取得プログラム335は、仮想パリティグループ(図2のレイヤL3のリソース)の構成情報を取得するための検索要求を作成し、検索発行処理(図17B参照)を実行させる(ステップS76)。ここで、この際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の仮想ストレージ識別子351aの仮想ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「仮想パリティグループ情報」とし、検索方法を「単一のみ」とし、検索条件を「なし」としたものである。
 次いで、横断取得プログラム335は、変数opおよび変数idの組の値が、主メモリ330の管理者が選択したノードに対応する画面識別子とリソース識別子との組の値と同じであるか否かを判定し、同じでない場合には、管理者の画面切り替えが発生していたと判定し(ステップS77:Yes)とし、横断取得処理を終了する一方、同じでない場合には、管理者の画面切り替えが発生していなかったと判定し(ステップS77:No)とし、処理をステップS78に進める。
 ステップS78では、横断取得プログラム335は、末端物理ボリューム(図2のレイヤL4のリソース)の構成情報を取得するための検索要求を作成し、検索発行処理(図17B参照)を実行させる。ここで、この際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の物理ストレージ識別子351bの物理ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「物理ボリューム情報」とし、検索方法を「単一のみ」とし、検索条件を「ボリューム特性=末端」としたものである。
 次いで、横断取得プログラム335は、変数opおよび変数idの組の値が、主メモリ330の管理者が選択したノードに対応する画面識別子とリソース識別子との組の値と同じであるか否かを判定し、同じでない場合には、管理者の画面切り替えが発生していたと判定し(ステップS79:Yes)とし、横断取得処理を終了する一方、同じでない場合には、管理者の画面切り替えが発生していなかったと判定し(ステップS79:No)とし、処理を次のステップに進める。
 次いで、横断取得プログラム335は、物理プールボリューム(及び内部物理ボリューム)(図2のレイヤL5のリソース)の構成情報を取得するための検索要求を作成し、検索発行処理(図17B参照)を実行させる(ステップS80)。ここで、物理プールボリュームの構成情報を取得する際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の物理ストレージ識別子351bの物理ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「物理プール情報」とし、検索方法を「単一のみ」とし、検索条件を「なし」としたものである。また、内部物理ボリュームの構成情報を取得する際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の物理ストレージ識別子351bの物理ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「物理ボリューム情報」とし、検索方法を「単一のみ」とし、検索条件を「ボリューム特性=内部」としたものである。
 次いで、横断取得プログラム335は、変数opおよび変数idの組の値が、主メモリ330の管理者が選択したノードに対応する画面識別子とリソース識別子との組の値と同じであるか否かを判定し、同じでない場合には、管理者の画面切り替えが発生していたと判定し(ステップS81:Yes)とし、横断取得処理を終了する一方、同じでない場合には、管理者の画面切り替えが発生していなかったと判定し(ステップS81:No)とし、処理を次のステップに進める。
 次いで、横断取得プログラム335は、物理パリティグループ(図2のレイヤL6のリソース)の構成情報を取得するための検索要求を作成し、検索発行処理(図17B参照)を実行させる(ステップS82)。ここで、この際の検索要求は、対象ストレージ装置群を仮想ストレージ情報351の物理ストレージ識別子351bの物理ストレージ識別子を重複なく一意になるようにまとめたものとし、検索起点を「物理パリティグループ情報」とし、検索方法を「単一のみ」とし、検索条件を「なし」としたものである。
 その後、横断取得プログラム335は、横断取得処理を終了する。
 この横断取得処理によると、仮想リソースに関する構成情報を物理リソースに関する構成情報よりも優先して取得することができる。
 また、検索発行処理では、管理者の画面切り替えを検知しており、画面の切り替えを検知した場合には、検索発行処理は即座に終了するようになっている。このため、検索発行処理が管理者の画面切り替えにより終了した場合には、上記処理により、この横断取得処理も即座に終了することができる。また、横断取得処理では、予め定められた単位毎(図16Bでは、各レイヤのリソース毎)に検索発行処理を行うようにし、それらの検索発行処理の間に管理者の画面切り替えを検知した場合には、横断取得処理を即座に終了するようにしているので、管理者の画面切り替えの発生に迅速に対応して、管理者が希望するリソースの構成情報を優先して取得することができる。
 図17Aは、実施形態に係る縦断取得処理のフローチャートである。
 縦断取得処理は、構成情報取得処理(図16A参照)のステップS64で実行される処理である。縦断取得処理は、コントローラ310が縦断取得プログラム337を実行することにより、実行される処理である。この縦断取得処理によると、図4又は図5で示した構成情報取得方法が実現される。
 縦断取得プログラム337は、管理者が操作中の画面における管理操作に必要なリソースの構成情報を取得するための検索条件を作成する(ステップS91)。
 具体的には、縦断取得プログラム337は、画面表338から、画面識別子338aの画面識別子と、変数opの値とが一致するレコードを検索して取得する。
 画面識別子338aの画面識別子と、変数opの値とが一致するレコードが存在しない場合には、縦断取得プログラム337は、管理者が操作中の画面に対応する必要なリソースの構成情報を取得するための最適な取得方法は存在せず、検索要求の作成に失敗したと判断する。一方、画面識別子338aの画面識別子と、変数opの値とが一致するレコードが存在してレコードを取得した場合には、縦断取得プログラム337は、取得したレコード(取得画面表レコードという。)の管理サーバ情報名338eの値が無効値「-」であるか否かを判定する。取得画面表レコードの管理サーバ情報名338eの値が無効値「-」である場合には、縦断取得プログラム337は、管理サーバ情報342を利用せずに、検索条件を作成する。この場合には、図4に示すような構成情報取得方法が実現される。この場合には、縦断取得プログラム337は、取得画面表レコードの検索条件338cに記載されている値をそのまま検索要求の検索条件として利用する。ただし、検索条件338cの値の中に「変数id」という文字列が含まれている場合には、縦断取得プログラム337は、その値の中の「変数id」を、変数idに設定されている実際の値に置き換えたものを検索条件とする。
 一方、取得画面表レコードの管理サーバ情報名338eの値が無効値「-」でない場合には、縦断取得プログラム337は、管理サーバ情報342を利用して検索条件を作成する。この場合には、図5に示すような構成情報取得方法が実現される。この場合には、縦断取得プログラム337は、取得画面表レコードの検索条件338cの値の中の「?」を解決するため、管理サーバ情報名338eに記載されている管理サーバ情報342中のテーブル名に対応するテーブル(例えば、ボリューム予約表343)を参照し、取得画面表レコードのリソース識別子338bのリソース識別子名に対応する列(フィールド)の値が変数idの値と一致するレコードを検索して取得する。そして、縦断取得プログラム337は、取得画面表レコードの検索条件338cの値の「?」を、管理サーバ情報342中のテーブルから取得したレコードの値で書き換えたものを検索条件とする。
 例えば、変数op=「ホスト・予約ボリューム」、変数id=「ホスト3」の場合には、縦断取得プログラム337は、画面表338の一番下のレコードを取得する。次に、取得したレコード(取得画面表レコード)の管理サーバ情報名338eに格納されている「ボリューム予約表」に対応するテーブル(ボリューム予約表343)を参照し、取得画面表レコードのリソース識別子338bの「ホスト識別子」に対応する列の値が「ホスト3」のレコードを検索する。これにより、ボリューム予約表343から仮想ボリューム識別子343bが「仮想ボリューム識別子7」、「仮想ボリューム識別子8」であるレコードを得ることができる。次いで、縦断取得プログラム337は、取得画面表レコードの検索条件338cの「?」を、ボリューム予約表343から取得したレコードの内容に置き換えることにより、「仮想ボリューム識別子」=「仮想ボリューム識別子7または8」を検索条件とする。これにより、構成情報を取得するリソースの範囲を、管理サーバ情報342を用いて適切な範囲に絞りこむようにすることができる。
 縦断取得プログラム337は、ステップS91で検索条件の作成に成功したか否かを判定する(ステップS92)。この結果、検索条件の作成に成功した場合(ステップS92:Yes)には、縦断取得プログラム337は、ステップS93に処理を進める一方、画面表338に一致するレコードが存在せずに検索条件の作成に成功しなかった場合(ステップS92:No)には、ステップS94に処理を進める。
 ステップS93では、縦断取得プログラム337は、検索要求を作成し、検索発行処理(図17B参照)を実行させる(ステップS93)。ここで、取得画面表レコードのリソース識別子338bが「仮想ストレージ識別子」もしくは「物理ストレージ識別子」である場合には、縦断取得プログラム337は、検索要求の対象ストレージ装置群を変数idに設定されているストレージ装置200のみとする。一方、取得画面表レコードのリソース識別子338bが「ホスト識別子」である場合、縦断取得プログラム337は、対象ストレージを特定できないため、すべての仮想ストレージ装置を対象とし、対象ストレージ装置群を仮想ストレージ情報351の仮想ストレージ識別子351aの仮想ストレージ識別子を重複なく一意になるようにまとめたものとする。また、縦断取得プログラム337は、検索要求の検索起点を取得画面表レコードの検索起点338dの値とし、検索条件をステップS91で作成した検索条件とし、検索方法を「関連を辿る」とする。
 ステップS94では、縦断取得プログラム337は、横断取得プログラム335を呼び出して、予め設定されているおすすめの取得順序でリソースの構成情報を検索する横断取得処理(図16B参照)を実行させ、縦断取得処理が終了する。
 図17Bは、実施形態に係る検索発行処理のフローチャートである。
 検索発行処理は、横断取得処理のステップS72、S74、S76、S78、S80、及びS82、及び縦断取得処理のステップS93で呼び出されて実行される処理である。検索発行処理は、コントローラ310が検索発行プログラム336を実行することにより、実行される処理である。
 検索発行処理は、検索発行プログラム336がストレージ装置200群に対して通信ネットワーク20経由で順番に任意の範囲のリソースの構成情報を絞り込んで取得するための検索要求を発行し、それに合致する検索結果のみを受信し、検索結果の情報を対応するストレージ管理サーバ300の構成管理情報341に保存する処理である。本実施形態では、検索発行プログラム336は、検索結果を1件受信するたびに、管理者の画面操作を確認し、画面操作があった場合には、検索発行処理を中断する。したがって、管理者の画面操作があった場合には、迅速に検索発行処理を中断することができる。
 検索発行プログラム336は、検索発行処理の呼び出し元の処理から引数として対象ストレージ装置群と、検索要求との組を受信する(ステップS101)。ここで、対象ストレージ装置群は、検索の発行対象となる1以上のストレージ装置(物理ストレージ装置又は仮想ストレージ装置)のストレージ識別子の配列である。検索要求は、ストレージ装置200に対する検索要求時に必要な、検索方法、検索起点、及び検索条件を含む。
 次いで、検索発行プログラム336は、対象ストレージ装置群から未処理のストレージ装置を1つ選択する(ステップS102)。ここで、対象ストレージ装置群のストレージ装置の識別子が仮想ストレージ識別子である場合には、検索発行プログラム336は、仮想ストレージ情報351を利用して、仮想ストレージ識別子に対応する物理ストレージ装置200の物理ストレージ識別子を取得する。
 次いで、検索発行プログラム336は、選択したストレージ装置に対応する物理ストレージ識別子のストレージ装置200に対して、引数として受け取った検索要求を発行する(ステップS103)。このとき、検索発行プログラム336は、検索要求中の検索条件については、現在選択中のストレージ装置に関する絞込み条件を追加する。例えば、現在選択中のストレージ装置が仮想ストレージ装置である場合には、検索発行プログラム336は、検索条件を「仮想ストレージ識別子=現在選択中の仮想ストレージ識別子 かつ 引数として受け取った検索条件」とし、選択中のストレージ装置が物理ストレージ装置200である場合には、「物理ストレージ識別子=現在選択中の物理ストレージ識別子 かつ 引数として受け取った検索条件」とする。これにより、検索要求を受信したストレージ装置200において、構成情報検索処理(図13参照)のステップS12以降の処理が開始され、検索要求の検索条件に一致した件数が返却されることとなる。
 次いで、検索発行プログラム336は、検索条件に一致した件数(一致件数)をストレージ装置200から受信する(ステップS104)。なお、検索発行プログラム336は、一致件数を受信した旨をストレージ装置200に返却する。
 次いで、検索発行プログラム336は、検索要求に対応する構成情報が受信済みであるか否かを判定する(ステップS105)。具体的には、検索発行プログラム336は、検索要求に対応する検索結果として受信する情報の保存先となる構成管理情報341のテーブル内を検索し、ストレージ装置200に発行した検索要求と一致し、かつ、最終更新時間が変数timeの値と一致しているレコードの件数をカウントする。そして、検索発行プログラム336は、このカウントの結果と、ステップS104で受信した一致件数が一致した場合には、すでに検索要求に対応する構成情報は受信済であると判定する一方、このカウントの結果と、ステップS104で受信した一致件数が一致しない場合には、すでに検索要求に対応する構成情報が受信済みでないと判定する。
 この結果、検索要求に対応する構成情報が受信済みである場合(ステップS105:Yes)には、検索発行プログラム336は検索要求を発行したストレージ装置から検索結果を受信する処理をスキップし、処理をステップS109に進める。一方、検索要求に対応する構成情報が受信済みでない場合(ステップS105:No)には、検索発行プログラム336は、処理をステップS106に進める。
 ステップS106では、検索発行プログラム336は、管理者の画面切り替えを検知したか否かを判定する。具体的には、検索発行プログラム336は、GUI入出力プログラム331によって主メモリ330に記憶されている画面識別子とリソース識別子との組を読み取り、その組の値と、変数opと変数idとの組の値とが一致している場合には、管理者が画面切り替えを実施していないと判定する一方、一致していない場合には、管理者が画面切り替えを実施したと判定する。
 この結果、管理者が画面切り替えを実施していると判定した場合(ステップS106:Yes)には、検索発行プログラム336は、変数opに取得した画面識別子を記憶し、変数idにリソース識別子を記憶し(ステップ111)、検索発行処理を即座に終了する。
 一方、管理者が画面切り替えを実施していないと判定した場合(ステップS106:No)には、検索発行プログラム336は、ストレージ装置200から送信される検索結果の所定件数分(例えば、1件分)を受信し、受信した検索結果の構成情報を構成管理情報341の対応する情報に格納する(ステップS107)。具体的には、検索発行プログラム336は、受信した情報と同名の情報(テーブル)にレコードを追加する。なお、そのテーブルに、既に同一識別子を持つレコードが登録されている場合には、そのレコードを受信した情報で上書きする。また、検索発行プログラム336は、そのレコードの最終更新時間のフィールドに、変数timeの値を格納する。なお、検索発行プログラム336は、検索結果を所定件数分受信した旨の応答をストレージ装置200に返却する。
 次いで、検索発行プログラム336は、受信した一致件数分だけレコードを処理したか否かにより、検索結果をすべて受信したか否かを判定する(ステップS108)。この結果、受信した一致件数分だけレコードを処理していない場合(ステップS108:No)には、検索発行プログラム336は、処理をステップS106に進める一方、受信した一致件数分だけレコードを処理した場合(ステップS108:Yes)には、処理をステップS109に進める。
 ステップS109では、検索発行プログラム336は、引数として受け取った対象ストレージ装置群の全てのストレージ装置に対する処理が完了したか否かを判定する。この結果、全てのストレージ装置に対する処理が完了していない場合(ステップS109:No)には、検索発行プログラム336は、処理をステップS102に進めて、未処理のストレージ装置に対する処理を行う一方、全てのストレージ装置に対する処理が完了した場合(ステップS109:Yes)には、処理をステップS110に進める。
 ステップS110では、優先すべき構成情報の取得が割り込みなくすべて完了したことを意味するので、検索発行プログラム336は、変数opに「画面なし」を記憶し、変数idに「なし」を記憶することにより、変数opと変数idとを初期化し、検索発行処理を終了する。
 以上、実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
 例えば、上記実施形態では、ストレージ管理サーバ300に接続されたモニタ370及び入力装置380を用いて、管理者に対する情報の提供と、管理者からの操作入力の受け付けとを行うようにしていたが、これに限られず、例えば、通信ネットワーク20を介して接続された端末を用いて、管理者に対する情報の提供と、管理者からの操作入力の受け付けとを行うようにしても良い。
 100…ホスト計算機 200…ストレージ装置 300…ストレージ管理サーバ。

Claims (15)

  1.  複数のリソースを管理する1以上のストレージ装置をそれぞれ識別可能な1以上の基本情報に基づいて、前記複数のリソースのうち前記1以上のストレージ装置のホスト計算機から論理的に近いリソースに関する構成情報を優先して取得するように前記1以上のストレージ装置に要求を送信し、
     前記1以上のストレージ装置から、前記要求に対応する構成情報を受信し、
     前記受信した構成情報を、前記1以上のストレージ装置が管理するリソースに関する構成情報を管理するための構成管理情報に反映する、
    構成情報取得方法。
  2.  起点のリソースを特定し、
     前記起点のリソースを含んだ所定のリソース範囲について、前記起点のリソース又は前記起点のリソースより後段のリソースから前記ホスト計算機に論理的に近い順に末端のリソースまで構成情報を取得するようにストレージ装置に構成情報を要求し、
     その後、前記所定のリソース範囲外について、前記ホスト計算機から論理的に近いリソースに関する構成情報を優先して取得するように前記1以上のストレージ装置に要求を送信する、
    請求項1に記載の構成情報取得方法。
  3.  前記基本情報と取得済の構成情報が反映された前記構成管理情報とのうちの少なくとも一方に基づき1以上のリソースに関連するリソース情報を表示装置に出力し、
     前記起点のリソースは、前記1以上のリソースからユーザに選択されたリソースである、
    請求項2に記載の構成情報取得方法。
  4.  前記複数のリソースのうちの1以上の特定のリソースについて予め定められた使用定義を表す情報を含んだ管理情報に基づく情報を表示装置に出力し、
     前記起点のリソースは、前記1以上の特定のリソースからユーザに選択されたリソースである、
    請求項2に記載の構成情報取得方法。
  5.  前記管理情報を前記1以上のストレージ装置のうちの少なくとも1つにバックアップする、
    請求項4に記載の構成情報取得方法。
  6.  前記1以上のストレージ装置が仮想リソース及び物理リソースを管理している場合に、前記仮想リソースに関する構成情報を優先して取得するように前記ストレージ装置に前記構成情報を要求する、
    請求項1に記載の構成情報取得方法。
  7.  予め定められた単位毎に、前記リソースに関する構成情報を取得するように、前記ストレージ装置に前記構成情報を要求する、
    請求項1に記載の構成情報取得方法。
  8.  前記予め定められた単位とは、同一種類のリソースの集合単位である、
    請求項7に記載の構成情報取得方法。
  9.  複数のリソースを管理する1以上のストレージ装置を管理する管理計算機であって、
     前記管理計算機は、記憶デバイスと制御デバイスとを備え、
     前記記憶デバイスは、
      前記1以上のストレージ装置をそれぞれ識別可能な1以上の基本情報と、
      1以上のストレージ装置が管理するリソースに関する構成情報を管理するための構成管理情報と
    を記憶し、
     前記制御デバイスは、
      前記1以上の基本情報に基づいて、前記ストレージ装置の前記リソースを利用するホスト計算機から論理的に近いリソースの構成情報を優先して取得するように前記ストレージ装置に前記リソースに関する前記構成情報を要求し、
      前記1以上のストレージ装置から、前記構成情報の要求に対応する前記リソースに関する構成情報を受信し、
      前記受信した構成情報を前記構成管理情報に反映する、
    管理計算機。
  10.  前記制御デバイスは、
      起点のリソースを特定し、
      前記起点のリソースを含んだ所定のリソース範囲について、前記起点のリソース又は前記起点のリソースより後段のリソースから前記ホスト計算機に論理的に近い順に末端のリソースまで構成情報を取得するようにストレージ装置に構成情報を要求し、
      その後、前記所定のリソース範囲外について、前記ホスト計算機から論理的に近いリソースに関する構成情報を優先して取得するように前記1以上のストレージ装置に要求を送信する、
    請求項9に記載の管理計算機。
  11.  前記制御デバイスは、前記基本情報と取得済の構成情報が反映された前記構成管理情報とのうちの少なくとも一方に基づき1以上のリソースに関連するリソース情報を表示装置に出力し、
     前記起点のリソースは、前記1以上のリソースからユーザに選択されたリソースである、
    請求項10に記載の管理計算機。
  12.  前記制御デバイスは、前記複数のリソースのうちの1以上の特定のリソースについて予め定められた使用定義を表す情報を含んだ管理情報に基づく情報を表示装置に出力し、
     前記起点のリソースは、前記1以上の特定のリソースからユーザに選択されたリソースである、
    請求項10に記載の管理計算機。
  13.  前記制御デバイスは、前記1以上のストレージ装置が仮想リソース及び物理リソースを管理している場合に、前記仮想リソースに関する構成情報を優先して取得するように前記ストレージ装置に前記構成情報を要求する、
    請求項9に記載の管理計算機。
  14.  予め定められた単位毎に、前記リソースに関する構成情報を取得するように、前記ストレージ装置に前記構成情報を要求する、
    請求項9に記載の管理計算機。
  15.  前記予め定められた単位とは、同一種類のリソースの集合単位である、
    請求項14に記載の管理計算機。
PCT/JP2013/055670 2013-03-01 2013-03-01 構成情報取得方法、及び管理計算機 WO2014132440A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/427,610 US9648104B2 (en) 2013-03-01 2013-03-01 Configuration information acquisition method and management computer
PCT/JP2013/055670 WO2014132440A1 (ja) 2013-03-01 2013-03-01 構成情報取得方法、及び管理計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/055670 WO2014132440A1 (ja) 2013-03-01 2013-03-01 構成情報取得方法、及び管理計算機

Publications (1)

Publication Number Publication Date
WO2014132440A1 true WO2014132440A1 (ja) 2014-09-04

Family

ID=51427739

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/055670 WO2014132440A1 (ja) 2013-03-01 2013-03-01 構成情報取得方法、及び管理計算機

Country Status (2)

Country Link
US (1) US9648104B2 (ja)
WO (1) WO2014132440A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5501052B2 (ja) * 2010-03-24 2014-05-21 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
WO2015104811A1 (ja) * 2014-01-09 2015-07-16 株式会社日立製作所 計算機システム及び計算機システムの管理方法
US11075979B2 (en) * 2016-02-29 2021-07-27 International Business Machines Corporation Optimized resource provisioning
CN110058963B (zh) * 2018-01-18 2023-05-09 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110971533B (zh) * 2018-09-30 2023-02-03 京东方科技集团股份有限公司 用于数据通信的方法、服务器装置、客户端装置和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268398A (ja) * 2005-03-24 2006-10-05 Hitachi Ltd 計算機システム、データ管理方法およびプログラム
JP2008033412A (ja) * 2006-07-26 2008-02-14 Hitachi Ltd 計算機システムの性能管理方法、管理計算機、及びストレージ装置
JP2011076286A (ja) * 2009-09-30 2011-04-14 Hitachi Ltd ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5087249B2 (ja) 2006-09-06 2012-12-05 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法
JP5425117B2 (ja) * 2011-01-26 2014-02-26 株式会社日立製作所 計算機システム、及びその管理方法、並びにプログラム
US20130212134A1 (en) * 2012-02-09 2013-08-15 Vijay Ram S Storage configuration discovery

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268398A (ja) * 2005-03-24 2006-10-05 Hitachi Ltd 計算機システム、データ管理方法およびプログラム
JP2008033412A (ja) * 2006-07-26 2008-02-14 Hitachi Ltd 計算機システムの性能管理方法、管理計算機、及びストレージ装置
JP2011076286A (ja) * 2009-09-30 2011-04-14 Hitachi Ltd ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法

Also Published As

Publication number Publication date
US9648104B2 (en) 2017-05-09
US20150373111A1 (en) 2015-12-24

Similar Documents

Publication Publication Date Title
US10222983B2 (en) Storage management computer and management method of storage apparatus
US8549248B2 (en) Data migration method and information processing system
JP5309043B2 (ja) ストレージシステム及びストレージシステムでの重複データ削除のための方法
US7130909B2 (en) Storage path control method
JP5154200B2 (ja) データ読出し方法、データ管理システム及びストレージシステム
JP4451293B2 (ja) 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
US7966470B2 (en) Apparatus and method for managing logical volume in distributed storage systems
US20060074957A1 (en) Method of configuration management of a computer system
JP5921684B2 (ja) 計算機システムおよびアプリケーションプログラム実行環境移行方法
US7908510B2 (en) Storage system and method of designing disaster recovery constitution
WO2014132440A1 (ja) 構成情報取得方法、及び管理計算機
JP2007257317A (ja) 記憶システム及び記憶領域解放方法並びにストレージシステム
KR20000076955A (ko) 저장 도메인 관리 시스템
JP2011516994A (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
JP2008304963A (ja) 計算機システムまたは計算機システムの性能管理方法
JP2006309483A (ja) ストレージ装置及びストレージシステム
JP2010128791A (ja) ストレージシステムおよび仮想インタフェース管理方法
EP1914625B1 (en) Method and program for supporting setting of access management information
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
US7496782B1 (en) System and method for splitting a cluster for disaster recovery
US10019182B2 (en) Management system and management method of computer system
JP5272185B2 (ja) 計算機システム及びストレージシステム
US9626117B2 (en) Computer system and management method for computer system
US20080005745A1 (en) Management server and server system
US20070124366A1 (en) Storage control method for managing access environment enabling host to access data

Legal Events

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

Ref document number: 13876464

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14427610

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13876464

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP