[go: up one dir, main page]

WO2015049742A1 - ストレージシステムおよびストレージシステム制御方法 - Google Patents

ストレージシステムおよびストレージシステム制御方法 Download PDF

Info

Publication number
WO2015049742A1
WO2015049742A1 PCT/JP2013/076856 JP2013076856W WO2015049742A1 WO 2015049742 A1 WO2015049742 A1 WO 2015049742A1 JP 2013076856 W JP2013076856 W JP 2013076856W WO 2015049742 A1 WO2015049742 A1 WO 2015049742A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
server computer
input information
hash value
output information
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2013/076856
Other languages
English (en)
French (fr)
Inventor
友也 海老原
岸本 敏道
敦史 宮垣
慎一郎 菅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to US14/767,024 priority Critical patent/US20150381734A1/en
Priority to PCT/JP2013/076856 priority patent/WO2015049742A1/ja
Publication of WO2015049742A1 publication Critical patent/WO2015049742A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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]
    • 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/0803Configuration setting
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the present invention relates to a storage system.
  • Patent Document 1 describes that a management server acquires configuration information indicating a configuration of a storage device from a control device of the storage device through an SVP (Service Processor) that is an information processing device for maintenance / management. Yes.
  • SVP Service Processor
  • a storage system includes a storage device, a storage controller connected to the storage device and the host computer, and a server computer connected to the storage controller. .
  • the storage controller controls the storage device based on a command from the host computer, stores a plurality of pieces of configuration information respectively indicating a plurality of types of configurations in the storage system, and updates the plurality of pieces of configuration information based on the control.
  • the server computer transmits input information specifying the configuration information of the plurality of configuration information to the storage controller according to a preset schedule. Based on the input information, the storage controller transmits output information including configuration information in the storage controller to the server computer.
  • the server computer receives the output information and stores the output information in association with the input information. When the server computer receives input information from the client computer, the server computer transmits output information associated with the received input information to the client computer.
  • the client computer transmits a request for configuration information to the storage system until it receives the configuration information.
  • FIG. 1 shows a hardware configuration of a storage system according to a first embodiment of the present invention.
  • 2 shows a software configuration of the storage system according to the first embodiment.
  • the structure of the hash management table 310 is shown.
  • the structure of the output information management table 320 is shown. Indicates polling processing.
  • the management information update process is shown.
  • the configuration information provision process is shown.
  • 2 shows a software configuration of a storage system according to a second embodiment.
  • An update management table 330 is shown.
  • 8 illustrates management information update processing according to the second embodiment.
  • a configuration information group provision process is shown.
  • the display screen of the display apparatus 500 is shown.
  • the total update count and update frequency measurement results are shown.
  • An acquisition cycle table 830 is shown.
  • FIG. 1 shows a hardware configuration of the storage system according to the first embodiment of the present invention.
  • the storage system 10 of this embodiment is connected to a host computer such as a business server 200 via a communication line such as a SAN (Storage Area Network).
  • the storage system 10 includes a storage device 20, a management terminal device 400, a display device 500, and an input device 40.
  • the management terminal device 400 is connected to the storage device 20 via a communication line such as a LAN (Local Area Network).
  • the display device 500 is connected to the management terminal device 400 via a video line such as DVI (Digital Visual Interface).
  • the input device 40 is connected to the management terminal device 400 via a communication line such as USB (Universal Serial Bus).
  • the storage apparatus 20 includes a disk controller (DKC) 600, a disk unit (DKU) 700, and a service processor (SVP) 800.
  • DKC disk controller
  • DKU disk unit
  • SVP service processor
  • the disk controller 600 is connected to the business server 200 via a communication line.
  • the disk controller 600 includes a memory 610, a plurality of processors (MP: Microprocessor) 620, a host interface such as an HBA (Host Bus Adapter) 640, a disk interface such as a DKA (Disk Adapter) 650, and a LAN card 660. Communication interface.
  • MP Microprocessor
  • the memory 610 includes a cache memory that stores write data received from the business server 200 and read data transmitted to the business server 200, and a request memory that stores configuration information indicating the configuration of the storage apparatus 20.
  • the memory 610 further stores programs and data for processing of the disk controller 600.
  • the processor 620 executes processing based on the program and data in the memory 610.
  • the HBA 640 is connected to the business server 200 and follows, for example, FC (Fibre Channel).
  • the DKA 650 is connected to the disk unit 700, and conforms to, for example, SAS (Serial Attached Small Computer System Interface) or SATA (Serial Advanced Technology Attachment).
  • the LAN card 660 is connected to the service processor 800.
  • the disk unit 700 is connected to the disk controller 600 via a communication line.
  • the disk unit 700 includes a disk interface 710 and a storage device 720.
  • the storage device 720 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Disk), and stores user data from the business server 200.
  • the service processor 800 is connected to the disk controller 600 via a communication line.
  • the service processor 800 includes a memory 810, a processor 820, a storage device 830, a communication interface such as a LAN card 840, and a communication interface such as a LAN card 850.
  • the memory 810 stores programs and data for processing of the service processor 800.
  • the processor 820 executes processing based on the program and data in the memory 810.
  • the storage device 830 stores data for managing the storage device 20 and is, for example, an HDD.
  • the LAN card 840 is connected to the disk controller 600 via the LAN.
  • the LAN card 850 is connected to the management terminal device 400.
  • the management terminal device 400 includes a memory 410, a processor 420, a storage device 430, a communication interface such as a LAN card 440, and a video interface such as a DVI interface 450.
  • the memory 410 stores a program and data for processing of the management terminal device 400.
  • the processor 420 executes processing based on the program and data in the memory 410.
  • the storage device 430 stores data for managing the storage device 20 and is, for example, an HDD.
  • the LAN card 440 is connected to the service processor 800 via the LAN.
  • the DVI interface 450 is connected to the display device 500 via a DVI cable.
  • the display device 500 includes a display unit 520 and a video interface such as a DVI interface 530.
  • the DVI interface 530 is connected to the management terminal device 400 via a DVI cable.
  • the display unit 520 receives display information from the management terminal device 400 via the DVI interface 530 and displays a display screen based on the display information.
  • the business server 200 includes a memory 210, a processor 220, a storage device 230, and a host interface such as an HBA 240.
  • the memory 210 stores programs and data for processing of the business server 200.
  • the processor 220 executes processing based on the program and data in the memory 210.
  • the storage device 230 is an HDD, for example, and stores data for business of the business server 200.
  • the HBA 240 is connected to the storage apparatus 20.
  • FIG. 2 shows the software configuration of the storage system of the first embodiment.
  • the memory 610 of the disk controller 600 stores configuration information 110, microcode 120, and a communication program 130.
  • the microcode 120 is a program for controlling the disk controller 600.
  • the communication program 130 is a program for communication with the service processor 800.
  • the memory 810 of the service processor 800 stores a communication program 340, a server program 350, and management information 360.
  • the communication program 330 is a program for communication with the disk controller 600.
  • the server program 350 is a program for communication with the management terminal device 400, and is a web server program including an RMI (Remote Method Invocation) server, for example.
  • the management information 360 includes a hash management table 310 and an output information management table 320.
  • the hash management table 310 stores the hash value of the input information input to the disk controller 600 and the hash value of the output information output from the disk controller 600 in association with each other.
  • the output information management table 320 stores the hash value of the output information and the output information in association with each other.
  • the management information may be stored in another storage device such as an HDD or an SSD.
  • the memory 410 of the management terminal device 400 stores the client program 370.
  • the client program 370 is a program for communication with the server program 350 of the service processor 800, and is a web browser program including an RMI client, for example.
  • a plurality of pieces of configuration information displayed by the display device 500 are referred to as a configuration information group.
  • the management information will be described below.
  • the input information is an object transmitted from the service processor 800 to the disk controller 600.
  • the input information is an object indicating a function for acquiring a specific type of configuration information in the configuration information group from the disk controller 600.
  • the input information may include parameters such as a function name and an argument of the function. For example, when a function POOLgetAOUVolRelation_IN (logical device number) that acquires information on a logical device having a specific logical device number is used, the input information object includes a function name and a logical device number.
  • the input information may be a function for setting a specific type of configuration information in the disk controller 600.
  • the output information is an object that is transmitted from the disk controller 600 to the service processor 800 when the input information is transmitted from the service processor 800 to the disk controller 600.
  • the output information is, for example, configuration information.
  • the output information may include the function name of the corresponding input information and the parameters of the input information.
  • the output information object obtained by the function POOLgetAOUVolRelation_IN (logical device number) includes a function name, a logical device number, a pool number (ID) including the physical storage area allocated to the logical device, and the logical device (DP). It includes the capacity of Vol: Dynamic Provisioning Volume) and the usage of the logical device.
  • the output information object may include information set in the disk controller 600 from the management terminal device 400 via the service processor 800, such as a usage threshold.
  • FIG. 3 shows the configuration of the hash management table 310.
  • the hash management table 310 includes entries for different pieces of input information. Each entry includes an input information number (#) 311, an input information hash value (Hash (IN)) 312 that is a hash value of the input information, and output information output from the disk controller 600 according to the input information. Output information hash value (Hash (OUT)) 313, which is a hash value of.
  • FIG. 4 shows the configuration of the output information management table 320.
  • the output information management table 320 includes entries for different pieces of output information. Each entry includes an output information number (#) 321, an output information hash value (Hash (OUT)) 322 that is a hash value of the output information, and the output information 323.
  • Each entry includes an output information number (#) 321, an output information hash value (Hash (OUT)) 322 that is a hash value of the output information, and the output information 323.
  • the service processor 800 executes a polling process for periodically acquiring a configuration information group from the disk controller 600.
  • the service processor 800 receives the configuration information group from the disk controller 600 by transmitting input information indicating a function for acquiring the configuration information group to the disk controller 600.
  • FIG. 5 shows the polling process
  • the service processor 800 executes a management information update process (S110).
  • the management information update process the service processor 800 transmits input information for acquiring configuration information to the disk controller 600 for each configuration information in the configuration information group, receives configuration information from the disk controller 600, and receives the configuration information.
  • the management information is updated based on the configured information. Details of the management information update process will be described later.
  • the disk controller 600 that has received the input information transmits the configuration information designated by the input information to the service processor 800.
  • the service processor 800 executes the management information update process every time a predetermined acquisition cycle elapses from the previous execution of the management information update process (S110).
  • This acquisition cycle is longer than the acquisition time required for the service processor 800 to acquire the configuration information group from the disk controller 600 by the management information update process. For example, if the acquisition time is 3 minutes, the acquisition cycle is 5 minutes.
  • the service processor 800 can update the configuration information group in the memory 810 for each acquisition cycle.
  • FIG. 6 shows the management information update process.
  • the service processor 800 may store an input information group in the memory 810 in advance, or may generate an input information group corresponding to the configuration information group based on a predetermined rule. From the input information group, one input information is selected as target input information according to a predetermined number (S220). Thereafter, the service processor 800 generates a hash value of the target input information as a target input information hash value using a hash function (S260). Thereafter, the service processor 800 transmits the target input information to the disk controller 600 (S270). The disk controller 600 that has received the target input information reads the configuration information specified by the target input information from the memory 610 by executing the process of the target input information, and generates output information including the read result. To the service processor 800.
  • the service processor 800 receives the output information as the target output information from the disk controller 600 (S280). Thereafter, the service processor 800 generates a hash value of the target output information as a target output information hash value using a hash function (S290).
  • the service processor 800 determines whether or not the target input information hash value is registered in the hash management table 310 (S310).
  • the service processor 800 When the target input information hash value is not registered in the hash management table 310 (S310: NO), the service processor 800 adds an entry including the target input information hash value and the target output information hash value to the hash management table 310. Thus, the hash management table 310 is updated (S320). Furthermore, the service processor 800 updates the output information management table 320 by adding an entry including the target output information and the target output information hash value to the output information management table 320 (S330), and shifts the processing to S410.
  • the service processor 800 uses the output information hash value associated with the target input information hash value in the hash management table 310 as related output information. It is set as a hash value, and it is determined whether or not the target output information hash value is equal to the related output information hash value (S350).
  • the service processor 800 changes the related output information hash value to the target output information hash value in the hash management table 310 to thereby obtain the hash management table. 310 is updated (S360). Further, the service processor 800 updates the output information management table 320 by changing the entry of the related output information hash value in the output information management table 320 to the target output information hash value and the target output information (S370). To S410.
  • the service processor 800 shifts the process to S410.
  • the service processor 800 ends the processing of the target input information (S410), and determines whether or not the processing of all the input information is ended. Determination is made (S430).
  • the service processor 800 shifts the processing to S220 and selects the next input information.
  • the service processor 800 can receive configuration information of a predetermined type from the disk controller 600, and update the management information in the memory 810 based on the received configuration information.
  • the service processor 800 executes a configuration information providing process for transmitting the configuration information requested from the management terminal device 400 to the management terminal device 400.
  • the server program 350 of the service processor 800 provides an object, and the client program 370 of the management terminal device 400 can acquire configuration information by calling a method (function) of the object using RMI.
  • the service processor 800 calculates whether or not the output information stored in the service processor 800 has been updated by calculating a hash value of the output information and comparing it with the hash value stored in the service processor 800. Can be determined.
  • FIG. 7 shows the configuration information providing process.
  • the service processor 800 acquires the received information as target input information (S510). Thereafter, the service processor 800 generates a hash value of the target input information as the target input information hash value (S520), and searches for the target input information hash value from the hash management table 310 (S530). Thereafter, the service processor 800 determines whether or not the target input information hash value is registered in the hash management table 310 (S540).
  • the service processor 800 transmits the target input information to the disk controller 600 (S610).
  • the service processor 800 interrupts the management information update process.
  • the disk controller 600 that has received the target input information generates output information based on the target input information and transmits it to the service processor 800.
  • the service processor 800 receives the output information from the disk controller 600 as target output information (S620). Thereafter, the service processor 800 generates the hash value of the target output information as the target output information hash value (S630). Thereafter, the service processor 800 updates the hash management table 310 by adding an entry including the target input information hash value and the target output information hash value to the hash management table 310 (S650). Furthermore, the service processor 800 updates the output information management table 320 by adding an entry including the target output information and the target output information hash value to the output information management table 320 (S660), and shifts the processing to S780. Here, the service processor 800 may update the hash management table 310 and the output information management table 320 during polling without updating the hash management table 310 and the output information management table 320.
  • the service processor 800 uses the output information hash value associated with the target input information hash value in the hash management table 310 as the target output information. Obtained as a hash value (S710). Thereafter, the service processor 800 searches for the target output information hash value from the output information management table 320 (S720). Thereafter, the service processor 800 acquires the output information associated with the target output information hash value in the output information management table 320 as the target output information (S730).
  • the service processor 800 transmits the target output information as a response to the management terminal device 400 (S780), and ends this flow.
  • the service processor 800 transmits the stored configuration information to the management terminal device 400.
  • the response time of the function call by the management terminal device 400 can be shortened. Even when a plurality of function calls for acquiring a plurality of pieces of configuration information are performed by the management terminal device 400, if some of the pieces of configuration information are stored in the service processor 800, the service processor 800 Transmits the stored configuration information to the management terminal device 400, so that it is not necessary to acquire all of the configuration information group from the disk controller 600. Thereby, the response time of the function call by the management terminal device 400 can be shortened. Further, the service processor 800 calculates a hash value of the input information and compares it with the hash value stored in the service processor 800, thereby quickly determining whether or not the input information is stored in the service processor 800. can do.
  • the configuration of the storage system 10 of this embodiment is the same as that of the first embodiment.
  • the storage system 10 of this embodiment updates the management information in consideration of the load of the disk controller 600, the update frequency of the configuration information, and the like.
  • the hardware configuration of the storage system of the second embodiment is the same as that of the first embodiment.
  • FIG. 8 shows the software configuration of the storage system of the second embodiment.
  • the disk controller 600 transmits status information such as an error code indicating the status to the service processor 800.
  • the status information indicates that the usage rate of the processor 620 of the disk controller 600 has reached a predetermined usage rate threshold or that an abnormality has occurred in the cache memory in the memory 610.
  • the memory 810 of the service processor 800 of this embodiment further stores an update management table 330 for managing the update frequency and output information acquisition time.
  • the management information of this embodiment further includes an update management table 330.
  • the service processor 800 counts the update frequency, which is the number of times the output information is updated, for each type of configuration information and for each measurement period of a predetermined time length, and stores the count in the update management table 330.
  • the service processor 800 further stores the time when each output information is acquired in the update management table 330 as the output information acquisition time.
  • FIG. 9 shows the update management table 330.
  • the update management table 330 includes an entry for each input information. Each entry includes an input information number (#) 331 in the input information group, an update frequency 332 of the input information counted in the immediately preceding measurement period, and finally output information corresponding to the input information from the disk controller 600. Output information acquisition time 333 that is the acquired time.
  • the configuration information providing process is the same as in the first embodiment.
  • FIG. 10 shows the management information update process of the second embodiment.
  • elements having the same reference numerals as the management information update process according to the first embodiment are the same elements as the management information update process according to the first embodiment.
  • the service processor 800 determines whether or not the usage rate of the processor 620 of the disk controller 600 exceeds the usage rate threshold based on the state information (S210).
  • the service processor 800 may determine whether an abnormality of the disk controller 600 has occurred using other state information such as an abnormality of the cache memory of the disk controller 600.
  • the service processor 800 ends this flow without acquiring the configuration information from the disk controller 600.
  • the service processor 800 selects target input information in the same manner as in the first embodiment (S220). Thereafter, the service processor 800 acquires the update frequency corresponding to the number of the target input information from the update management table 330, and determines whether or not the update frequency measured in the immediately preceding measurement period has exceeded a predetermined update frequency threshold. (S240).
  • the service processor 800 determines whether or not the elapsed time from the output information acquisition time corresponding to the target input information exceeds a predetermined elapsed time threshold. (S250).
  • the service processor 800 shifts the process to S410 as in the first embodiment.
  • the service processor 800 When it is determined that the elapsed time has exceeded the elapsed time threshold (S250: YES), the service processor 800 performs the processing after S260 as in the first embodiment.
  • the service processor 800 counts the update frequency by adding 1 to the update frequency (S380), and shifts the processing to S410 as in the first embodiment.
  • the acquisition cycle is 5 minutes
  • the length of the measurement period is 1 month
  • the update frequency threshold is 100 times
  • the elapsed time is 1 hour.
  • the service processor 800 does not acquire configuration information from the disk controller 600 when it is determined that the load of the disk controller 600 is higher than a predetermined reference. As a result, the performance degradation of the disk controller 600 can be prevented. Further, the service processor 800 can measure the update frequency of the output information for each input information, and determine whether or not to acquire the configuration information from the disk controller 600 based on the measured update frequency. As a result, it is possible to prevent the configuration information from being acquired from the disk controller 600 more than necessary, and the load applied to the disk controller 600 due to polling can be suppressed. The service processor 800 can measure the update frequency by updating the output information when the output information hash value generated from the output information is different from the stored value.
  • the service processor 800 stores the update time of the output information for each input information, and can determine whether or not to acquire the configuration information from the disk controller 600 based on the elapsed time from the update time. . As a result, it is possible to prevent the configuration information from being acquired from the disk controller 600 more than necessary, and the load applied to the disk controller 600 due to polling can be suppressed.
  • the service processor 800 When the service processor 800 receives a request for the latest configuration information group from the management terminal device 400, the service processor 800 acquires all of the configuration information group from the disk controller 600 and executes a configuration information group provision process for transmitting to the management terminal device 400. To do.
  • FIG. 11 shows a configuration information group providing process.
  • elements with the same reference numerals as the management information update process elements are the same elements as the management information update process elements.
  • the service processor 800 When the management terminal device 400 calls a function for acquiring the configuration information group using the RMI, the service processor 800 receives a plurality of pieces of input information corresponding to the configuration information group from the management terminal device 400 (S200). .
  • the service processor 800 interrupts the management information update process. Thereafter, the service processor 800 performs S220 and S260 and subsequent steps similar to the management information update process.
  • the service processor 800 transmits the target output information to the management terminal device 400 as a response to the call (S420), and performs S430 and subsequent steps similar to the management information update process.
  • the service processor 800 can acquire a plurality of configuration information from the disk controller 600 in response to a request from the management terminal device 400.
  • the management terminal device 400 can acquire the latest plurality of configuration information and display it on the display device 500.
  • FIG. 12 shows a display screen of the display device 500.
  • This display screen includes a configuration information display unit 540 and a configuration information group update button 550.
  • the configuration information display unit 540 shows configuration information received from the service processor 800 by the management terminal device 400.
  • the configuration information group update button 550 is a button for updating all the configuration information groups.
  • the management terminal device 400 transmits a function requesting the configuration information group to the service processor 800 using the RMI. .
  • the service processor 800 executes the above-described configuration information group providing process.
  • the configuration information display unit 540 includes a system information display unit 541, a status information display unit 542, and a system information edit button 543.
  • the system information display unit 541 indicates system information that is information of the storage system 10 in the configuration information group.
  • the status information display unit 542 indicates status information that is information indicating the status of various storage capacities in the storage system 10 in the configuration information group.
  • the system information edit button 543 is a button for setting system information. When the user of the management terminal device 400 presses the system information edit button 543 by input to the input device 40, the management terminal device 400 transmits a function for setting system information to the service processor 800.
  • the system information includes, for example, a storage system name 561, an IP (Internet Protocol) address 562, a program version 563, a total cache memory capacity 564, and the like.
  • the storage system name 561 indicates information for identifying the storage system 10.
  • the IP address 562 indicates an IP address assigned to the storage system 10.
  • the program version 563 indicates the version of the control program for the disk controller 600, the control program for the service processor 800, the server program 350, and the like.
  • the total cache memory capacity 564 indicates the capacity of all cache memories in the storage system 10.
  • the status information includes, for example, Allocated 571, Reserved 572, Available Space 573, physical total 574, and the like regarding physical capacity.
  • Allocated 571 indicates the capacity allocated to the logical device and the number of the logical devices.
  • Reserved 572 indicates the capacity and the number of logical devices of a used DP (Dynamic Provisioning or Thin Provisioning) pool, the capacity of an unused DP pool, the other capacity and the number of logical devices, and the like.
  • the usable area capacity 573 indicates the capacity not allocated to the logical device, the number of the logical devices, the capacity of the free area, and the like.
  • the physical total 574 indicates the total of the physical capacity and the number of logical devices in the storage system.
  • the state information may further include virtual capacity information.
  • the update frequency of the state information is higher than the update frequency of the system information.
  • the management terminal device 400 may switch a plurality of display screens according to an input from the user.
  • the display screen may include a button for acquiring a specific type of configuration information from the disk controller 600.
  • the service processor 800 may acquire a specific type of configuration information from the disk controller 600 and transmit it to the management terminal device 400 in the same manner as the configuration information group provision processing.
  • the user of the management terminal device 400 can browse the management information of the storage system 10. Also, the user of the management terminal device 400 can display the latest configuration information group on the display device.
  • the disk controller 600 may count the update frequency for each type of configuration information. In this case, the disk controller 600 transmits the update frequency to the service processor 800.
  • the update frequency may represent the frequency at which the configuration information in the memory 610 of the disk controller 600 is changed, not the frequency at which the management information of the service processor 800 is updated.
  • the service processor 800 may measure the total number of updates, which is the number of updates from the start of operation, and the update frequency for each measurement period for each type of configuration information.
  • FIG. 13 shows the total update count and update frequency measurement results.
  • the service processor 800 measures the update frequency 361 and the total number of updates 362 for each type of configuration information and for each measurement period.
  • the measurement period here is one day.
  • the service processor 800 may determine whether to update the management information based on the latest update frequency 361 and the total update count 362. For example, on a business holiday using the business server 200, the update frequency may not exceed the predetermined update frequency threshold even if the total update count of certain configuration information exceeds a predetermined total update count threshold. In such a case, the service processor 800 does not acquire the configuration information from the disk controller 600.
  • the service processor 800 may update the management information at a time when the load of the disk controller 600 is lower than a predetermined load threshold.
  • the acquisition cycle in the polling process may be set for each type of configuration information.
  • the service processor 800 executes the management information update process at a set acquisition cycle for each type of configuration information.
  • a plurality of types of configuration information may be classified into a plurality of groups, and an acquisition cycle may be set for each group.
  • the service processor 800 may store the acquisition cycle management table 830 for managing the acquisition cycle in the memory 810.
  • FIG. 14 shows the acquisition cycle management table 830.
  • the acquisition cycle management table 830 includes an entry for each input information. Each entry includes an input information number (#) 381 in the input information group and an acquisition cycle 382.
  • the service processor 800 transmits the input information to the disk controller 600 for each acquisition period corresponding to the input information based on the acquisition period management table 830. By setting the acquisition cycle for each type of configuration information, the load applied to the disk controller 600 can be suppressed.
  • the configuration information group may be classified into status information and system information.
  • the status information is frequently changed by the disk controller 600, whereas the system information is rarely changed after being set. Therefore, the acquisition period of system information is longer than the acquisition period of state information.
  • the acquisition cycle of status information is 5 minutes, and the acquisition cycle of system information is 1 day.
  • the configuration information that makes the acquisition cycle the shortest is, for example, an LDEV (Logical Device) usage amount that indicates the usage amount of a logical device, a processing progress rate that indicates a progress rate of processing by the disk controller 600, a task screen that indicates a task by the disk controller 600, etc. It is.
  • LDEV Logical Device
  • the system information may be classified into software configuration information indicating the software configuration and hardware configuration information indicating the hardware configuration.
  • the hardware configuration information acquisition cycle is longer than the software configuration information acquisition cycle. For example, the acquisition cycle of software configuration information is one day, and the acquisition cycle of hardware configuration information is six months.
  • the software configuration information is, for example, information indicating a pool configuration, information indicating a volume pair configuration for copying, user management information indicating a user, and a Tiering Policy indicating a hierarchical storage policy.
  • the hardware configuration information is, for example, information indicating a parity group, information indicating a cache memory, and information indicating a port.
  • the configuration information may be classified into DKC change information that is changed when the disk controller 600 is triggered and SVP change information that is changed when the service processor 800 is triggered.
  • the service processor 800 acquires DKC change information from the disk controller 600 by a function for acquiring configuration information.
  • the DKC change information is, for example, status information.
  • the service processor 800 sets SVP change information in the disk controller 600 by a function for setting configuration information.
  • the SVP change information is, for example, system information.
  • the service processor 800 may analyze the change in the update frequency for each measurement period for each type of configuration information, and set the acquisition cycle based on the analysis result. For example, the service processor 800 records the time change of the update frequency over a plurality of measurement periods for each type of configuration information, calculates the frequency component of the time change of the update frequency by Fourier transform, and uses the frequency component as the frequency component. Based on this, the acquisition cycle is determined. Thereby, the optimal acquisition cycle can be set for each type of configuration information.
  • the storage controller corresponds to the disk controller 600 or the like.
  • the server computer corresponds to the service processor 800 or the like.
  • the client computer corresponds to the management terminal device 400 or the like.
  • aaa table such as “aaa list”, “aaaDB”, “aaa queue”, etc.
  • these information include tables, lists, DBs, queues, etc. It may be expressed other than the data structure. Therefore, “aaa table”, “aaa list”, “aaaDB”, “aaa queue”, etc. may be referred to as “aaa information” to indicate that they are not dependent on the data structure.
  • program is the subject of the description, but since the program performs processing determined by being executed by the processor using the memory and the communication port, the description may be made with the processor as the subject. Further, the processing disclosed with the program as the subject may be processing performed by a management computer or an information processing apparatus. Further, part or all of the program may be realized by dedicated hardware.
  • Various programs may be installed in each computer by a program distribution server or a storage medium that can be read by the computer.
  • Storage system 20 Storage device 110: Configuration information 200: Business server 310: Hash management table 320: Output information management table 330: Update management table 400: Management terminal device 410: Memory 420: Processor 430: Storage device 500: Display Device 600: Disk controller 610: Memory 620: Processor 700: Disk unit 800: Service processor 810: Memory 820: Processor

Landscapes

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

Abstract

 クライアント計算機が、ストレージシステムに対して構成情報の要求を送信してから構成情報を受信するまでの応答時間を短縮することができる。 ストレージコントローラは、制御に基づいて複数の構成情報を更新する。サーバ計算機は、予め設定されたスケジュールに従って、複数の構成情報の中の構成情報を指定する入力情報をストレージコントローラへ送信する。ストレージコントローラは、入力情報に基づいて、ストレージコントローラ内の構成情報を含む出力情報をサーバ計算機へ送信する。サーバ計算機は、出力情報を受信し、出力情報を入力情報に関連付けて格納する。サーバ計算機は、クライアント計算機から入力情報を受信した場合、受信された入力情報に関連付けられている出力情報をクライアント計算機へ送信する。

Description

ストレージシステムおよびストレージシステム制御方法
 本発明は、ストレージシステムに関する。
 特許文献1には、管理サーバが、保守・管理用の情報処理装置であるSVP(Service Processor)を通じて、ストレージ装置の構成を示す構成情報を、ストレージ装置の制御装置から取得することが記載されている。
特開2008-233973号公報
 クライアント計算機が、ストレージシステムに対して構成情報の要求を送信してから、構成情報を受信するまでに時間が掛かる。
 上記課題を解決するために、本発明の一態様であるストレージシステムは、ストレージデバイスと、ストレージデバイスおよびホスト計算機に接続されているストレージコントローラと、ストレージコントローラに接続されているサーバ計算機と、を備える。ストレージコントローラは、ホスト計算機からの命令に基づいてストレージデバイスを制御し、ストレージシステムにおける複数の種類の構成をそれぞれ示す複数の構成情報を格納し、制御に基づいて複数の構成情報を更新する。サーバ計算機は、予め設定されたスケジュールに従って、複数の構成情報の中の構成情報を指定する入力情報をストレージコントローラへ送信する。ストレージコントローラは、入力情報に基づいて、ストレージコントローラ内の構成情報を含む出力情報をサーバ計算機へ送信する。サーバ計算機は、出力情報を受信し、出力情報を入力情報に関連付けて格納する。サーバ計算機は、クライアント計算機から入力情報を受信した場合、受信された入力情報に関連付けられている出力情報をクライアント計算機へ送信する。
 本発明の一態様によれば、クライアント計算機が、ストレージシステムに対して構成情報の要求を送信してから構成情報を受信するまでの応答時間を短縮することができる。
本発明の実施例1のストレージシステムのハードウェア構成を示す。 実施例1のストレージシステムのソフトウェア構成を示す。 ハッシュ管理テーブル310の構成を示す。 出力情報管理テーブル320の構成を示す。 ポーリング処理を示す。 管理情報更新処理を示す。 構成情報提供処理を示す。 実施例2のストレージシステムのソフトウェア構成を示す。 更新管理テーブル330を示す。 実施例2の管理情報更新処理を示す。 構成情報群提供処理を示す。 表示装置500の表示画面を示す。 通算更新回数と更新頻度の計測結果を示す。 取得周期テーブル830を示す。
 以下、本発明の実施例のストレージシステムの構成について説明する。
 図1は、本発明の実施例1のストレージシステムのハードウェア構成を示す。
 本実施例のストレージシステム10は、SAN(Storage Area Network)などの通信回線を介して業務サーバ200などのホスト計算機に接続されている。ストレージシステム10は、ストレージ装置20と、管理端末装置400と、表示装置500と、入力装置40とを含む。管理端末装置400は、LAN(Local Area Network)などの通信回線を介してストレージ装置20に接続されている。表示装置500は、DVI(Digital Visual Interface)などの映像回線を介して管理端末装置400に接続されている。入力装置40は、USB(Universal Serial Bus)などの通信回線を介して管理端末装置400に接続されている。
 ストレージ装置20は、ディスクコントローラ(DKC:Disk Controller)600と、ディスクユニット(DKU:Disk Unit)700と、サービスプロセッサ(SVP)800とを含む。
 ディスクコントローラ600は、通信回線を介して業務サーバ200に接続されている。ディスクコントローラ600は、メモリ610と、複数のプロセッサ(MP:Microprocessor)620と、HBA(Host Bus Adaptor)640などのホストインタフェースと、DKA(Disk Adaptor)650などのディスクインタフェースと、LANカード660などの通信インタフェースとを含む。
 メモリ610は、業務サーバ200から受信されたライトデータや業務サーバ200へ送信されるリードデータを格納するキャッシュメモリと、ストレージ装置20の構成を示す構成情報などを格納する要求メモリとを含む。メモリ610は更に、ディスクコントローラ600の処理のためのプログラムおよびデータを格納する。プロセッサ620は、メモリ610内のプログラムおよびデータに基づいて処理を実行する。HBA640は、業務サーバ200に接続されており、例えばFC(Fibre Channel)に従う。DKA650は、ディスクユニット700に接続されており、例えばSAS(Serial Attached Small Computer System Interface)やSATA(Serial Advanced Technology Attachment)に従う。LANカード660は、サービスプロセッサ800に接続されている。
 ディスクユニット700は、通信回線を介してディスクコントローラ600に接続されている。ディスクユニット700は、ディスクインタフェース710と、記憶装置720を含む。記憶装置720は、例えばHDD(Hard Disk Drive)やSSD(Solid State Disk)であり、業務サーバ200からのユーザデータを格納する。
 サービスプロセッサ800は、通信回線を介してディスクコントローラ600に接続されている。サービスプロセッサ800は、メモリ810と、プロセッサ820と、記憶装置830と、LANカード840などの通信インタフェースと、LANカード850などの通信インタフェースとを含む。メモリ810は、サービスプロセッサ800の処理のためのプログラムおよびデータを格納する。プロセッサ820は、メモリ810内のプログラムおよびデータに基づいて処理を実行する。記憶装置830は、ストレージ装置20の管理のためのデータを格納し、例えばHDDである。LANカード840は、LANを介してディスクコントローラ600に接続されている。LANカード850は、管理端末装置400に接続されている。
 管理端末装置400は、メモリ410と、プロセッサ420と、記憶装置430と、LANカード440などの通信インタフェースと、DVIインタフェース450などの映像インタフェースとを含む。メモリ410は、管理端末装置400の処理のためのプログラムおよびデータを格納する。プロセッサ420は、メモリ410内のプログラムおよびデータに基づいて処理を実行する。記憶装置430は、ストレージ装置20の管理のためのデータを格納し、例えばHDDである。LANカード440は、LANを介してサービスプロセッサ800に接続されている。DVIインタフェース450は、DVIケーブルを介して表示装置500に接続されている。
 表示装置500は、表示部520と、DVIインタフェース530などの映像インタフェースとを含む。DVIインタフェース530は、DVIケーブルを介して管理端末装置400に接続されている。表示部520は、DVIインタフェース530を介して、管理端末装置400からの表示情報を受信し、表示情報に基づいて表示画面を表示する。
 業務サーバ200は、メモリ210と、プロセッサ220と、記憶装置230と、HBA240などのホストインタフェースとを含む。メモリ210は、業務サーバ200の処理のためのプログラムおよびデータを格納する。プロセッサ220は、メモリ210内のプログラムおよびデータに基づいて処理を実行する。記憶装置230は、例えばHDDであり、業務サーバ200の業務のためのデータを格納する。HBA240は、ストレージ装置20に接続されている。
 図2は、実施例1のストレージシステムのソフトウェア構成を示す。
 ディスクコントローラ600のメモリ610は、構成情報110と、マイクロコード120と、通信プログラム130とを格納する。マイクロコード120は、ディスクコントローラ600の制御のためのプログラムである。通信プログラム130は、サービスプロセッサ800との通信のためのプログラムである。
 サービスプロセッサ800のメモリ810は、通信プログラム340と、サーバプログラム350と、管理情報360とを格納する。通信プログラム330は、ディスクコントローラ600との通信のためのプログラムである。サーバプログラム350は、管理端末装置400との通信のためのプログラムであり、例えばRMI(Remote Method Invocation)サーバを含む、ウェブサーバプログラムである。管理情報360は、ハッシュ管理テーブル310と、出力情報管理テーブル320とを含む。ハッシュ管理テーブル310は、ディスクコントローラ600へ入力される入力情報のハッシュ値と、ディスクコントローラ600から出力される出力情報のハッシュ値とを関連付けて格納する。出力情報管理テーブル320は、出力情報のハッシュ値と、出力情報とを関連付けて格納する。管理情報は、HDDやSSDなど他の記憶装置へ格納されても良い。
 管理端末装置400のメモリ410は、クライアントプログラム370を格納する。クライアントプログラム370は、サービスプロセッサ800のサーバプログラム350との通信のためのプログラムであり、例えばRMIクライアントを含む、ウェブブラウザプログラムである。
 以下、ディスクコントローラ600のメモリ610に格納されている複数の構成情報のうち、表示装置500により表示される複数の構成情報を構成情報群と呼ぶ。
 以下、管理情報について説明する。
 入力情報は、サービスプロセッサ800からディスクコントローラ600へ送信されたオブジェクトである。入力情報は例えば、構成情報群の中の特定の種類の構成情報をディスクコントローラ600から取得する関数を示すオブジェクトである。入力情報は、関数名や、その関数の引数などのパラメータを含んでも良い。例えば、特定の論理デバイス番号を有する論理デバイスの情報を取得する関数POOLgetAOUVolRelation_IN(論理デバイス番号)を用いる場合、入力情報のオブジェクトは、関数名と論理デバイス番号とを含む。
 入力情報は、特定の種類の構成情報をディスクコントローラ600へ設定する関数であっても良い。
 出力情報は、入力情報がサービスプロセッサ800からディスクコントローラ600へ送信された場合に、それに応じてディスクコントローラ600からサービスプロセッサ800へ送信されたオブジェクトである。出力情報は例えば、構成情報である。出力情報は、対応する入力情報の関数名や、入力情報のパラメータを含んでも良い。例えば、前述の関数POOLgetAOUVolRelation_IN(論理デバイス番号)により得られる出力情報のオブジェクトは、関数名、論理デバイス番号、当該論理デバイスに割り当てられた物理記憶領域を含むプール番号(ID)、当該論理デバイス(DP Vol:Dynamic Provisioning Volume)の容量、当該論理デバイスの使用量などを含む。また、出力情報のオブジェクトは、使用量の閾値など、管理端末装置400からサービスプロセッサ800を介してディスクコントローラ600へ設定された情報を含んでいても良い。
 図3は、ハッシュ管理テーブル310の構成を示す。
 ハッシュ管理テーブル310は、互いに異なる入力情報毎のエントリを含む。各エントリは、入力情報の番号(#)311と、当該入力情報のハッシュ値である入力情報ハッシュ値(Hash(IN))312と、当該入力情報に応じてディスクコントローラ600から出力される出力情報のハッシュ値である出力情報ハッシュ値(Hash(OUT))313とを含む。
 図4は、出力情報管理テーブル320の構成を示す。
 出力情報管理テーブル320は、互いに異なる出力情報毎のエントリを含む。各エントリは、出力情報の番号(#)321と、当該出力情報のハッシュ値である出力情報ハッシュ値(Hash(OUT))322と、当該出力情報323とを含む。
 以下、サービスプロセッサ800の動作について説明する。
 サービスプロセッサ800は、ディスクコントローラ600から定期的に構成情報群を取得するポーリング処理を実行する。ポーリング処理において、サービスプロセッサ800は、その構成情報群を取得するための関数を示す入力情報をディスクコントローラ600へ送信することにより、構成情報群をディスクコントローラ600から受信する。
 図5は、ポーリング処理を示す。
 サービスプロセッサ800は、管理情報更新処理を実行する(S110)。管理情報更新処理において、サービスプロセッサ800は、構成情報群内の各構成情報に対し、構成情報を取得するための入力情報をディスクコントローラ600へ送信し、ディスクコントローラ600から構成情報を受信し、受信された構成情報に基づいて管理情報を更新する。管理情報更新処理の詳細については後述する。入力情報を受信したディスクコントローラ600は、その入力情報により指定された構成情報をサービスプロセッサ800へ送信する。
 その後、サービスプロセッサ800は、前回の管理情報更新処理の実行から、所定の取得周期が経過する度に、管理情報更新処理を実行する(S110)。この取得周期は、管理情報更新処理によりサービスプロセッサ800がディスクコントローラ600から構成情報群を取得するのに必要な取得時間より長い。例えば、取得時間が3分である場合、取得周期を5分とする。
 以上のポーリング処理によれば、サービスプロセッサ800は、取得周期毎にメモリ810内の構成情報群を更新することができる。
 図6は、管理情報更新処理を示す。
 サービスプロセッサ800は、予めメモリ810に入力情報群を格納していても良いし、予め定められた規則に基づいて構成情報群に対応する入力情報群を生成しても良い。入力情報群の中から、予め定められた番号に従って一つの入力情報を対象入力情報として選択する(S220)。その後、サービスプロセッサ800は、ハッシュ関数を用いて対象入力情報のハッシュ値を対象入力情報ハッシュ値として生成する(S260)。その後、サービスプロセッサ800は、対象入力情報をディスクコントローラ600へ送信する(S270)。対象入力情報を受信したディスクコントローラ600は、対象入力情報の処理を実行することにより、対象入力情報により指定された構成情報をメモリ610から読み出し、読み出された結果を含む出力情報を生成してサービスプロセッサ800へ送信する。
 その後、サービスプロセッサ800は、ディスクコントローラ600から出力情報を対象出力情報として受信する(S280)。その後、サービスプロセッサ800は、ハッシュ関数を用いて対象出力情報のハッシュ値を対象出力情報ハッシュ値として生成する(S290)。
 その後、サービスプロセッサ800は、対象入力情報ハッシュ値がハッシュ管理テーブル310に登録されているか否かを判定する(S310)。
 対象入力情報ハッシュ値がハッシュ管理テーブル310に登録されていない場合(S310:NO)、サービスプロセッサ800は、対象入力情報ハッシュ値および対象出力情報ハッシュ値を含むエントリをハッシュ管理テーブル310へ追加することにより、ハッシュ管理テーブル310を更新する(S320)。更に、サービスプロセッサ800は、対象出力情報および対象出力情報ハッシュ値を含むエントリを出力情報管理テーブル320へ追加することにより、出力情報管理テーブル320を更新し(S330)、処理をS410へ移行させる。
 対象入力情報ハッシュ値がハッシュ管理テーブル310に登録されている場合(S310:YES)、サービスプロセッサ800は、ハッシュ管理テーブル310において対象入力情報ハッシュ値に関連付けられている出力情報ハッシュ値を関連出力情報ハッシュ値とし、対象出力情報ハッシュ値が関連出力情報ハッシュ値と等しいか否かを判定する(S350)。
 対象出力情報ハッシュ値が関連出力情報ハッシュ値と異なる場合(S350:NO)、サービスプロセッサ800は、ハッシュ管理テーブル310において関連出力情報ハッシュ値を対象出力情報ハッシュ値に変更することにより、ハッシュ管理テーブル310を更新する(S360)。更に、サービスプロセッサ800は、出力情報管理テーブル320において関連出力情報ハッシュ値のエントリを、対象出力情報ハッシュ値と対象出力情報に変更することにより、出力情報管理テーブル320を更新し(S370)、処理をS410へ移行させる。
 対象出力情報ハッシュ値が関連出力情報ハッシュ値と等しい場合(S350:YES)、サービスプロセッサ800は、処理をS410へ移行させる。
 前述のS330の後、S370の後、またはS350でYESと判定された後、サービスプロセッサ800は、対象入力情報の処理を終了し(S410)、すべての入力情報の処理が終了したか否かを判定する(S430)。
 すべての入力情報の処理が終了していない場合(S430:NO)、サービスプロセッサ800は、処理をS220へ移行させ、次の入力情報を選択する。
 すべての入力情報の処理が終了した場合(S430:YES)、サービスプロセッサ800は、このフローを終了する。
 以上の管理情報更新処理によれば、サービスプロセッサ800は、予め指定した種類の構成情報をディスクコントローラ600から受信し、受信した構成情報に基づいてメモリ810内の管理情報を更新することができる。
 サービスプロセッサ800は、管理端末装置400から要求された構成情報を管理端末装置400へ送信する構成情報提供処理を実行する。サービスプロセッサ800のサーバプログラム350がオブジェクトを提供し、管理端末装置400のクライアントプログラム370は、RMIを用いてそのオブジェクトのメソッド(関数)を呼び出すことにより、構成情報を取得することができる。また、サービスプロセッサ800は、出力情報のハッシュ値を算出し、サービスプロセッサ800に格納されているハッシュ値と比較することにより、サービスプロセッサ800に格納されている出力情報が更新されたか否かを高速に判定することができる。
 図7は、構成情報提供処理を示す。
 管理端末装置400がRMIを用いて構成情報を取得する関数をコールすると、サービスプロセッサ800は、受信した情報を対象入力情報として取得する(S510)。その後、サービスプロセッサ800は、対象入力情報のハッシュ値を対象入力情報ハッシュ値として生成し(S520)、ハッシュ管理テーブル310から対象入力情報ハッシュ値を探索する(S530)。その後、サービスプロセッサ800は、対象入力情報ハッシュ値がハッシュ管理テーブル310に登録されているか否かを判定する(S540)。
 対象入力情報ハッシュ値がハッシュ管理テーブル310に登録されていない場合(S540:NO)、サービスプロセッサ800は、対象入力情報をディスクコントローラ600へ送信する(S610)。ここで、サービスプロセッサ800は、前述の管理情報更新処理が実行中である場合、その管理情報更新処理を中断する。対象入力情報を受信したディスクコントローラ600は、対象入力情報に基づいて出力情報を生成してサービスプロセッサ800へ送信する。
 その後、サービスプロセッサ800は、ディスクコントローラ600から出力情報を対象出力情報として受信する(S620)。その後、サービスプロセッサ800は、対象出力情報のハッシュ値を対象出力情報ハッシュ値として生成する(S630)。その後、サービスプロセッサ800は、対象入力情報ハッシュ値および対象出力情報ハッシュ値を含むエントリをハッシュ管理テーブル310へ追加することにより、ハッシュ管理テーブル310を更新する(S650)。更に、サービスプロセッサ800は、対象出力情報および対象出力情報ハッシュ値を含むエントリを出力情報管理テーブル320へ追加することにより、出力情報管理テーブル320を更新し(S660)、処理をS780へ移行させる。ここで、サービスプロセッサ800は、ハッシュ管理テーブル310および出力情報管理テーブル320の更新を行わず、ポーリング時にハッシュ管理テーブル310および出力情報管理テーブル320の更新を行っても良い。
 対象入力情報ハッシュ値がハッシュ管理テーブル310に登録されている場合(S540:YES)、サービスプロセッサ800は、ハッシュ管理テーブル310において対象入力情報ハッシュ値に関連付けられている出力情報ハッシュ値を対象出力情報ハッシュ値として取得する(S710)。その後、サービスプロセッサ800は、出力情報管理テーブル320から対象出力情報ハッシュ値を探索する(S720)。その後、サービスプロセッサ800は、出力情報管理テーブル320において対象出力情報ハッシュ値に関連付けられている出力情報を対象出力情報として取得する(S730)。
 その後、サービスプロセッサ800は、対象出力情報を応答として管理端末装置400へ送信し(S780)、このフローを終了する。
 以上の構成情報提供処理によれば、管理端末装置400によりコールされた関数および構成情報がサービスプロセッサ800に格納されている場合、サービスプロセッサ800は、格納された構成情報を管理端末装置400へ送信し、ディスクコントローラ600から構成情報を取得する必要がないため、管理端末装置400による関数コールの応答時間を短縮させることができる。管理端末装置400により複数の構成情報をそれぞれ取得するための複数の関数コールが行われた場合であっても、それらの一部の構成情報がサービスプロセッサ800に格納されている場合、サービスプロセッサ800は、格納された構成情報を管理端末装置400へ送信することから、ディスクコントローラ600から構成情報群のすべてを取得する必要がない。これにより、管理端末装置400による関数コールの応答時間を短縮させることができる。また、サービスプロセッサ800は、入力情報のハッシュ値を算出し、サービスプロセッサ800に格納されているハッシュ値と比較することにより、当該入力情報がサービスプロセッサ800に格納されているか否かを高速に判定することができる。
 本実施例のストレージシステム10の構成は、実施例1と同様である。本実施例のストレージシステム10は、ディスクコントローラ600の負荷や、構成情報の更新頻度などを考慮して、管理情報を更新する。
 実施例2のストレージシステムのハードウェア構成は、実施例1と同様である。
 図8は、実施例2のストレージシステムのソフトウェア構成を示す。
 ディスクコントローラ600は、異常が発生した場合に、その状態を示すエラーコードなどの状態情報をサービスプロセッサ800へ送信する。例えば、状態情報は、ディスクコントローラ600のプロセッサ620の使用率が所定の使用率閾値以上になったことや、メモリ610におけるキャッシュメモリに異常が発生したことなどを示す。
 本実施例のサービスプロセッサ800のメモリ810は更に、更新頻度と出力情報取得時刻を管理するための更新管理テーブル330を格納する。本実施例の管理情報は更に、更新管理テーブル330を含む。サービスプロセッサ800は、構成情報の種類毎、所定の時間長の計測期間毎に、出力情報が更新された回数である更新頻度をカウントして更新管理テーブル330へ格納する。サービスプロセッサ800は更に、各出力情報を取得した時刻を出力情報取得時刻として更新管理テーブル330へ格納する。
 図9は、更新管理テーブル330を示す。
 更新管理テーブル330は、入力情報毎のエントリを含む。各エントリは、入力情報群における入力情報の番号(#)331と、直前の計測期間においてカウントされた当該入力情報の更新頻度332と、最後に当該入力情報に対応する出力情報がディスクコントローラ600から取得された時刻である出力情報取得時刻333とを含む。
 以下、本実施例のサービスプロセッサ800の動作について説明する。
 構成情報提供処理は、実施例1と同様である。
 図10は、実施例2の管理情報更新処理を示す。
 実施例2の管理情報更新処理において、実施例1の管理情報更新処理の要素と同一符号が付された要素は、実施例1の管理情報更新処理の要素と同一の要素である。
 サービスプロセッサ800は、状態情報に基づいて、ディスクコントローラ600のプロセッサ620の使用率が使用率閾値を超えたか否かを判定する(S210)。ここで、サービスプロセッサ800は、ディスクコントローラ600のキャッシュメモリの異常など、他の状態情報を用いて、ディスクコントローラ600の異常が発生したか否かを判定しても良い。
 プロセッサ620の使用率が使用率閾値を超えたと判定された場合(S210:YES)、サービスプロセッサ800は、ディスクコントローラ600から構成情報を取得せずに、このフローを終了する。
 プロセッサ620の使用率が使用率閾値を超えていないと判定された場合(S210:NO)、サービスプロセッサ800は、実施例1と同様にして、対象入力情報を選択する(S220)。その後、サービスプロセッサ800は、更新管理テーブル330から対象入力情報の番号に対応する更新頻度を取得し、直前の計測期間に計測された更新頻度が所定の更新頻度閾値を超えたか否かを判定する(S240)。
 当該更新頻度が更新頻度閾値を超えていない場合(S240:NO)、サービスプロセッサ800は、対象入力情報に対応する出力情報取得時刻からの経過時間が所定の経過時間閾値を超えたか否かを判定する(S250)。
 当該経過時間が経過時間閾値を超えていないと判定された場合(S250:NO)、サービスプロセッサ800は、処理を実施例1と同様のS410へ移行させる。
 当該経過時間が経過時間閾値を超えたと判定された場合(S250:YES)、サービスプロセッサ800は、実施例1と同様にS260以降の処理を行う。
 S370の後、サービスプロセッサ800は、更新頻度に1を加えることにより更新頻度をカウントし(S380)、処理を実施例1と同様のS410へ移行させる。
 例えば、取得周期を5分、計測期間の長さを1か月、更新頻度閾値を100回、経過時間を1時間とする。
 以上の管理情報更新処理によれば、サービスプロセッサ800は、ディスクコントローラ600の負荷が所定の基準より高いと判定した場合に、ディスクコントローラ600から構成情報を取得しない。これにより、ディスクコントローラ600の性能低下を防ぐことができる。また、サービスプロセッサ800は、入力情報毎に、出力情報の更新頻度を計測し、計測された更新頻度に基づいて、その構成情報をディスクコントローラ600から取得するか否かを決定することができる。これにより、必要以上にディスクコントローラ600から構成情報を取得することを防ぐことができ、ポーリングによるディスクコントローラ600へ与える負荷を抑えることができる。サービスプロセッサ800は、出力情報から生成された出力情報ハッシュ値が、格納されている値と異なる場合に、出力情報を更新することにより、更新頻度を計測できる。また、サービスプロセッサ800は、入力情報毎に、出力情報の更新時刻を格納し、更新時刻からの経過時間に基づいて、その構成情報をディスクコントローラ600から取得するか否かを決定することができる。これにより、必要以上にディスクコントローラ600から構成情報を取得することを防ぐことができ、ポーリングによるディスクコントローラ600へ与える負荷を抑えることができる。
 サービスプロセッサ800は、管理端末装置400から最新の構成情報群の要求を受信した場合、ディスクコントローラ600から構成情報群のすべてを取得して、管理端末装置400へ送信する構成情報群提供処理を実行する。
 図11は、構成情報群提供処理を示す。
 構成情報群提供処理において、管理情報更新処理の要素と同一符号が付された要素は、管理情報更新処理の要素と同一の要素である。
 管理端末装置400がRMIを用いて構成情報群を取得するための関数をコールすることにより、サービスプロセッサ800は、管理端末装置400から構成情報群に対応する複数の入力情報を受信する(S200)。ここで、サービスプロセッサ800は、前述の管理情報更新処理が実行中である場合、その管理情報更新処理を中断する。その後、サービスプロセッサ800は、管理情報更新処理と同様のS220とS260以降とを行う。
 S410の後、サービスプロセッサ800は、対象出力情報をコールに対する応答として管理端末装置400へ送信し(S420)、管理情報更新処理と同様のS430以降を行う。
 以上の構成情報群提供処理によれば、サービスプロセッサ800は、管理端末装置400からの要求に応じて、複数の構成情報をディスクコントローラ600から取得することができる。管理端末装置400は、最新の複数の構成情報を取得し、表示装置500へ表示させることができる。
 図12は、表示装置500の表示画面を示す。
 この表示画面は、構成情報表示部540と、構成情報群更新ボタン550とを含む。構成情報表示部540は、管理端末装置400がサービスプロセッサ800から受信した構成情報を示す。構成情報群更新ボタン550は、構成情報群のすべてを更新するためのボタンである。管理端末装置400のユーザが入力装置40への入力により、構成情報群更新ボタン550を押下すると、管理端末装置400は、構成情報群を要求する関数を、RMIを用いてサービスプロセッサ800へ送信する。これにより、サービスプロセッサ800は、前述の構成情報群提供処理を実行する。
 構成情報表示部540は、システム情報表示部541と、状態情報表示部542と、システム情報編集ボタン543とを含む。システム情報表示部541は、構成情報群のうち、ストレージシステム10の情報であるシステム情報を示す。状態情報表示部542は、構成情報群のうち、ストレージシステム10内の各種の記憶容量などの状態を示す情報である状態情報を示す。システム情報編集ボタン543は、システム情報を設定するためのボタンである。管理端末装置400のユーザが入力装置40への入力により、システム情報編集ボタン543を押下すると、管理端末装置400は、システム情報を設定するための関数をサービスプロセッサ800へ送信する。
 システム情報は例えば、ストレージシステム名561、IP(Internet Protocol)アドレス562、プログラムバージョン563、全キャッシュメモリ容量564などを含む。ストレージシステム名561は、ストレージシステム10を識別する情報を示す。IPアドレス562は、ストレージシステム10に割り当てられたIPアドレスを示す。プログラムバージョン563は、ディスクコントローラ600の制御プログラム、サービスプロセッサ800の制御プログラム、サーバプログラム350などのバージョンを示す。全キャッシュメモリ容量564は、ストレージシステム10内の全キャッシュメモリの容量を示す。
 状態情報は例えば、物理容量について、割当済(Allocated)571、予約済(Reserved)572、使用可能領域(Available Space)573、物理合計574などを含む。割当済571は、論理デバイスに割り当てられている容量およびその論理デバイス数を示す。予約済572は、使用済のDP(Dynamic ProvisioningまたはThin Provisioning)プールの容量および論理デバイス数、未使用のDPプールの容量、その他の容量および論理デバイス数などを示す。使用可能領域容量573は、論理デバイスに割り当てられていない容量およびその論理デバイス数、空き領域の容量などを示す。物理合計574は、ストレージシステム内の物理容量および論理デバイス数の合計を示す。状態情報は更に、仮想容量の情報を含んでいても良い。状態情報の更新頻度は、システム情報の更新頻度より高い。
 管理端末装置400は、ユーザからの入力に応じて複数の表示画面を切り替えても良い。表示画面は、特定の種類の構成情報をディスクコントローラ600から取得するためのボタンを含んでいても良い。この場合、なお、サービスプロセッサ800は、構成情報群提供処理と同様にして、特定の種類の構成情報をディスクコントローラ600から取得し、管理端末装置400へ送信しても良い。
 この表示画面によれば、管理端末装置400のユーザは、ストレージシステム10の管理情報を閲覧することができる。また、管理端末装置400のユーザは、最新の構成情報群を表示装置に表示させることができる。
 以下、ストレージシステム10の変形例について説明する。
 なお、ディスクコントローラ600が、構成情報の種類毎の更新頻度をカウントしても良い。この場合、ディスクコントローラ600は、サービスプロセッサ800へ更新頻度を送信する。この場合、更新頻度は、サービスプロセッサ800の管理情報が更新された頻度ではなく、ディスクコントローラ600のメモリ610内の構成情報が変更された頻度を表していても良い。
 管理情報更新処理において、サービスプロセッサ800は、構成情報の種類毎に、稼動開始からの更新の回数である通算更新回数と、計測期間毎の更新頻度とを計測しても良い。
 図13は、通算更新回数と更新頻度の計測結果を示す。
 サービスプロセッサ800は、構成情報の種類毎、計測期間毎に、更新頻度361と通算更新回数362を計測する。ここでの計測期間は、1日である。サービスプロセッサ800は、最新の更新頻度361と通算更新回数362に基づいて管理情報を更新するか否かを判定しても良い。例えば、業務サーバ200を用いる業務の休日において、或る構成情報の通算更新回数が所定の通算更新回数閾値を超えていても、更新頻度が所定の更新頻度閾値を超えていない場合がある。このような場合、サービスプロセッサ800は、ディスクコントローラ600からその構成情報を取得しない。
 サービスプロセッサ800は、ディスクコントローラ600の負荷が所定の負荷閾値より低い時刻に、管理情報の更新を行っても良い。
 ポーリング処理における取得周期は、構成情報の種類毎に、設定されても良い。この場合、サービスプロセッサ800は、構成情報の種類毎に、設定された取得周期で管理情報更新処理を実行する。また、構成情報の複数の種類が複数のグループに分類され、グループ毎に取得周期が設定されても良い。この場合、サービスプロセッサ800は、メモリ810に、取得周期を管理するための取得周期管理テーブル830を格納しても良い。
 図14は、取得周期管理テーブル830を示す。
 取得周期管理テーブル830は、入力情報毎のエントリを含む。各エントリは、入力情報群における入力情報の番号(#)381と、取得周期382とを含む。サービスプロセッサ800は、取得周期管理テーブル830に基づいて、入力情報に対応する取得周期毎に、その入力情報をディスクコントローラ600へ送信する。構成情報の種類毎に取得周期を設定することにより、ディスクコントローラ600へ与える負荷を抑えることができる。
 例えば、構成情報群を、状態情報とシステム情報とに分類しても良い。状態情報は、ディスクコントローラ600により頻繁に変更されるのに対し、システム情報は、設定された後に変更されることが少ない。したがって、システム情報の取得周期は、状態情報の取得周期より長い。例えば、状態情報の取得周期は5分であり、システム情報の取得周期は1日である。取得周期を最も短くする構成情報は例えば、論理デバイスの使用量を示すLDEV(Logical Device)使用量、ディスクコントローラ600による処理の進捗率を示す処理進捗率、ディスクコントローラ600によるタスクを示すタスク画面などである。
 更に、システム情報を、ソフトウェアの構成を示すソフトウェア構成情報と、ハードウェアの構成を示すハードウェア構成情報とに分類しても良い。そして、ハードウェア構成情報の取得周期は、ソフトウェア構成情報の取得周期より長い。例えば、ソフトウェア構成情報の取得周期は1日であり、ハードウェア構成情報の取得周期は6ヶ月である。ソフトウェア構成情報は例えば、プールの構成を示す情報、コピーのためのボリュームのペアの構成を示す情報、ユーザを示すユーザ管理情報、階層化ストレージのポリシーを示すTiering Policyである。ハードウェア構成情報は例えば、パリティグループを示す情報、キャッシュメモリを示す情報、ポートを示す情報である。
 また、構成情報を、ディスクコントローラ600の契機で変更されるDKC変更情報と、サービスプロセッサ800の契機で変更されるSVP変更情報とに分類してもよい。サービスプロセッサ800は構成情報を取得する関数によりDKC変更情報をディスクコントローラ600から取得する。DKC変更情報は、例えば状態情報である。サービスプロセッサ800は構成情報を設定する関数によりSVP変更情報をディスクコントローラ600へ設定する。SVP変更情報は、例えばシステム情報である。
 サービスプロセッサ800は、構成情報の種類毎に、計測期間毎の更新頻度の変化を分析し、分析結果に基づいて取得周期を設定しても良い。例えば、サービスプロセッサ800は、各種類の構成情報に対し、複数の計測期間に亘って更新頻度の時間変化を記録し、フーリエ変換により更新頻度の時間変化の周波数成分を算出し、その周波数成分に基づいて取得周期を決定する。これにより、構成情報の種類毎に最適な取得周期を設定することができる。
 以上の実施例および変形例の中の幾つかが組み合わせられても良い。
 本発明の一態様のストレージシステムにおける用語について説明する。ストレージコントローラは、ディスクコントローラ600などに対応する。サーバ計算機は、サービスプロセッサ800などに対応する。クライアント計算機は、管理端末装置400などに対応する。
 なお、以上の説明では「aaaテーブル」、「aaaリスト」、「aaaDB」、「aaaキュー」等の表現にて本発明の情報を説明するが、これら情報はテーブル、リスト、DB、キュー等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」、「aaaリスト」、「aaaDB」、「aaaキュー」等について「aaa情報」と呼ぶことがある。
 さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
 また、「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポートを用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理計算機や情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。
 また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
 10:ストレージシステム 20:ストレージ装置 110:構成情報 200:業務サーバ 310:ハッシュ管理テーブル 320:出力情報管理テーブル 330:更新管理テーブル 400:管理端末装置 410:メモリ 420:プロセッサ 430:記憶装置 500:表示装置 600:ディスクコントローラ 610:メモリ 620:プロセッサ 700:ディスクユニット 800:サービスプロセッサ 810:メモリ 820:プロセッサ
 

Claims (12)

  1.  ストレージシステムであって、
     ストレージデバイスと、
     前記ストレージデバイスおよびホスト計算機に接続されているストレージコントローラと、
     前記ストレージコントローラに接続されているサーバ計算機と、
    を備え、
     前記ストレージコントローラは、前記ホスト計算機からの命令に基づいて前記ストレージデバイスを制御し、前記ストレージシステムにおける複数の種類の構成をそれぞれ示す複数の構成情報を格納し、前記制御に基づいて前記複数の構成情報を更新し、
     前記サーバ計算機は、予め設定されたスケジュールに従って、前記複数の構成情報の中の構成情報を指定する入力情報を前記ストレージコントローラへ送信し、
     前記ストレージコントローラは、前記入力情報に基づいて、前記ストレージコントローラ内の前記構成情報を含む出力情報を前記サーバ計算機へ送信し、
     前記サーバ計算機は、前記出力情報を受信し、前記出力情報を前記入力情報に関連付けて格納し、
     前記サーバ計算機は、クライアント計算機から前記入力情報を受信した場合、前記受信された入力情報に関連付けられている出力情報を前記クライアント計算機へ送信する、
    ストレージシステム。
  2.  前記サーバ計算機は、前記入力情報のハッシュ値を入力情報ハッシュ値として算出し、前記入力情報に応じて受信された出力情報のハッシュ値を出力情報ハッシュ値として算出し、前記入力情報ハッシュ値と前記出力情報ハッシュ値と前記出力情報とを関連付けて格納し、
     前記サーバ計算機は、前記受信された入力情報のハッシュ値を算出し、前記算出されたハッシュ値に等しい入力情報ハッシュ値を格納している場合、前記入力情報ハッシュ値に関連付けられている前記出力情報を前記クライアント計算機へ送信する、
    請求項1に記載のストレージシステム。
  3.  前記サーバ計算機は、予め定められた周期で、前記入力情報を前記ストレージコントローラへ送信し、前記ストレージコントローラから前記出力情報を受信する、
    請求項2に記載のストレージシステム。
  4.  前記ストレージコントローラは、前記ストレージコントローラの負荷を示す負荷情報を前記サーバ計算機へ送信し、
     前記サーバ計算機は、前記負荷情報に基づいて、前記入力情報を前記ストレージコントローラへ送信するか否かを判定する、
    請求項3に記載のストレージシステム。
  5.  前記サーバ計算機は、予め定められた計測期間内に、前記サーバ計算機に格納されている出力情報の更新頻度を計測し、前記更新頻度に基づいて、前記入力情報を前記ストレージコントローラへ送信するか否かを判定する、
    請求項4に記載のストレージシステム。
  6.  前記サーバ計算機は、予め設定されたスケジュールに従って、前記複数の構成情報のそれぞれに対応する入力情報である対象入力情報を前記ストレージコントローラへ送信し、前記対象入力情報の送信に応じて受信された対象出力情報のハッシュ値を算出ハッシュ値として算出し、前記対象入力情報に関連付けられている出力情報ハッシュ値である対象出力情報ハッシュ値が前記算出ハッシュ値と異なる場合、前記対象出力情報ハッシュ値を前記算出ハッシュ値に変更し、前記対象入力情報に関連付けられている出力情報を前記対象出力情報に変更し、前記対象入力情報に関連付けられている更新頻度を増加させる、
    請求項5に記載のストレージシステム。
  7.  前記サーバ計算機は、前記サーバ計算機が前記ストレージコントローラから出力情報を受信した時刻を格納し、前記時刻からの経過時間に基づいて、前記入力情報を前記ストレージコントローラへ送信するか否かを判定する、
    請求項6に記載のストレージシステム。
  8.  前記サーバ計算機は、前記複数の構成情報のそれぞれに対し、取得周期を決定し、前記取得周期で前記入力情報を前記ストレージコントローラへ送信する、
    請求項3に記載のストレージシステム。
  9.  前記サーバ計算機は、前記クライアント計算機から最新の複数の構成情報を要求する構成情報群要求を受信した場合、前記構成情報群要求に基づいて、前記複数の構成情報にそれぞれ対応する複数の入力情報を前記ストレージコントローラへ送信し、
     前記ストレージコントローラは、前記複数の入力情報に基づいて、前記複数の構成情報をそれぞれ含む複数の出力情報を前記サーバ計算機へ送信し、
     前記サーバ計算機は、前記複数の出力情報を受信し、前記受信された複数の出力情報を前記クライアント計算機へ送信する、
    請求項3に記載のストレージシステム。
  10.  前記クライアント計算機を更に備え、
     前記クライアント計算機は、前記入力情報を前記サーバ計算機へ送信し、前記サーバ計算機から前記出力情報を受信し、前記出力情報に基づく情報を表示装置に表示させる、
    請求項9に記載のストレージシステム。
  11.  前記クライアント計算機は、ユーザからの入力に基づいて、前記構成情報群要求を前記サーバ計算機へ送信する、
    請求項10に記載のストレージシステム。
  12.  ストレージデバイスおよびホスト計算機に接続されているストレージコントローラによって、前記ホスト計算機からの命令に基づいて前記ストレージデバイスを制御し、前記ストレージデバイスを含むストレージシステムにおける複数の種類の構成をそれぞれ示す複数の構成情報を格納し、前記制御に基づいて前記複数の構成情報を更新し、
     前記ストレージコントローラに接続されているサーバ計算機によって、予め設定されたスケジュールに従って、前記複数の構成情報の中の構成情報を指定する入力情報を前記ストレージコントローラへ送信し、
     前記ストレージコントローラによって、前記入力情報に基づいて、前記ストレージコントローラ内の前記構成情報を含む出力情報を前記サーバ計算機へ送信し、
     前記サーバ計算機により、前記出力情報を受信し、前記出力情報を前記入力情報に関連付けて格納し、
     前記サーバ計算機によって、クライアント計算機から前記入力情報を受信した場合、前記受信された入力情報に関連付けられている出力情報を前記クライアント計算機へ送信する、
    ことを備えるストレージシステム制御方法。
     
PCT/JP2013/076856 2013-10-02 2013-10-02 ストレージシステムおよびストレージシステム制御方法 Ceased WO2015049742A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/767,024 US20150381734A1 (en) 2013-10-02 2013-10-02 Storage system and storage system control method
PCT/JP2013/076856 WO2015049742A1 (ja) 2013-10-02 2013-10-02 ストレージシステムおよびストレージシステム制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/076856 WO2015049742A1 (ja) 2013-10-02 2013-10-02 ストレージシステムおよびストレージシステム制御方法

Publications (1)

Publication Number Publication Date
WO2015049742A1 true WO2015049742A1 (ja) 2015-04-09

Family

ID=52778355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/076856 Ceased WO2015049742A1 (ja) 2013-10-02 2013-10-02 ストレージシステムおよびストレージシステム制御方法

Country Status (2)

Country Link
US (1) US20150381734A1 (ja)
WO (1) WO2015049742A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106453565A (zh) * 2016-10-17 2017-02-22 郑州云海信息技术有限公司 一种分布式存储域网络部署方法及装置
JP2018045688A (ja) * 2016-09-14 2018-03-22 三星電子株式会社Samsung Electronics Co.,Ltd. プロキシ装置、その動作方法、及びプロキシ装置に係る装置の動作方法
US11100024B2 (en) 2016-07-26 2021-08-24 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NVMe over fabrics devices
US11126583B2 (en) 2016-07-26 2021-09-21 Samsung Electronics Co., Ltd. Multi-mode NMVe over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US11441202B2 (en) 2017-12-26 2022-09-13 Posco Wire rod for cold heading, processed product using same, and manufacturing method therefor
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US11487691B2 (en) 2016-07-26 2022-11-01 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices
US11847038B1 (en) * 2022-07-15 2023-12-19 Vmware, Inc. System and method for automatically recommending logs for low-cost tier storage
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US12541480B2 (en) 2023-06-05 2026-02-03 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6753278B2 (ja) * 2016-11-22 2020-09-09 オムロン株式会社 制御システムおよび制御装置
CN112764660B (zh) * 2019-10-21 2024-08-02 伊姆西Ip控股有限责任公司 用于数据搬移的方法、设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108412A (ja) * 2001-10-02 2003-04-11 Hitachi Ltd ストレージ管理方式
JP2004139371A (ja) * 2002-10-18 2004-05-13 Hitachi Ltd ストレージ装置及びその構成設定方法
JP2005149336A (ja) * 2003-11-19 2005-06-09 Hitachi Ltd ストレージ管理方法及びその装置
JP2005284478A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd ストレージシステムおよびその制御方法
JP2006518508A (ja) * 2003-02-21 2006-08-10 カリンゴ・インコーポレーテッド コンテンツベースのアドレシングにおける追加ハッシュ関数

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4220724B2 (ja) * 2002-05-21 2009-02-04 株式会社日立製作所 ストレージ装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108412A (ja) * 2001-10-02 2003-04-11 Hitachi Ltd ストレージ管理方式
JP2004139371A (ja) * 2002-10-18 2004-05-13 Hitachi Ltd ストレージ装置及びその構成設定方法
JP2006518508A (ja) * 2003-02-21 2006-08-10 カリンゴ・インコーポレーテッド コンテンツベースのアドレシングにおける追加ハッシュ関数
JP2005149336A (ja) * 2003-11-19 2005-06-09 Hitachi Ltd ストレージ管理方法及びその装置
JP2005284478A (ja) * 2004-03-29 2005-10-13 Hitachi Ltd ストレージシステムおよびその制御方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US11487691B2 (en) 2016-07-26 2022-11-01 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices
US12314205B2 (en) 2016-07-26 2025-05-27 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVE over fabrics devices
US11100024B2 (en) 2016-07-26 2021-08-24 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NVMe over fabrics devices
US11126583B2 (en) 2016-07-26 2021-09-21 Samsung Electronics Co., Ltd. Multi-mode NMVe over fabrics devices
US11860808B2 (en) 2016-07-26 2024-01-02 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NVMe over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US11531634B2 (en) 2016-07-26 2022-12-20 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US11126352B2 (en) 2016-09-14 2021-09-21 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11989413B2 (en) 2016-09-14 2024-05-21 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
JP2018045688A (ja) * 2016-09-14 2018-03-22 三星電子株式会社Samsung Electronics Co.,Ltd. プロキシ装置、その動作方法、及びプロキシ装置に係る装置の動作方法
JP7084528B2 (ja) 2016-09-14 2022-06-14 三星電子株式会社 管理装置及びその動作方法
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
JP2021120908A (ja) * 2016-09-14 2021-08-19 三星電子株式会社Samsung Electronics Co., Ltd. 管理装置及びその動作方法
US11983405B2 (en) 2016-09-14 2024-05-14 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11983129B2 (en) 2016-09-14 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US11983406B2 (en) 2016-09-14 2024-05-14 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
CN106453565A (zh) * 2016-10-17 2017-02-22 郑州云海信息技术有限公司 一种分布式存储域网络部署方法及装置
US11441202B2 (en) 2017-12-26 2022-09-13 Posco Wire rod for cold heading, processed product using same, and manufacturing method therefor
US11847038B1 (en) * 2022-07-15 2023-12-19 Vmware, Inc. System and method for automatically recommending logs for low-cost tier storage
US12541477B2 (en) 2023-02-06 2026-02-03 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US12541480B2 (en) 2023-06-05 2026-02-03 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment

Also Published As

Publication number Publication date
US20150381734A1 (en) 2015-12-31

Similar Documents

Publication Publication Date Title
WO2015049742A1 (ja) ストレージシステムおよびストレージシステム制御方法
JP6530462B2 (ja) コンピュータリソースサービスの性能能力の決定及び監視
US10120727B2 (en) Techniques to allocate configurable computing resources
US9489137B2 (en) Dynamic storage tiering based on performance SLAs
JP5130375B2 (ja) コンピュータシステム、コンピュータシステムのリソース資源管理サーバ、及びコンピュータシステムのリソース管理方法
US9146793B2 (en) Management system and management method
JP4240062B2 (ja) 計算機システムおよび性能計測方法ならびに管理サーバ装置
US9466036B1 (en) Automated reconfiguration of shared network resources
WO2021126295A1 (en) Request throttling in distributed storage systems
US10108517B1 (en) Techniques for data storage systems using virtualized environments
US10013271B2 (en) Management system and method for controlling management system
US20080059602A1 (en) Load balancing method for data I/O paths between groups in which multi-path management is employed
JP6186787B2 (ja) データ転送装置、データ転送システム、データ転送方法及びプログラム
CN104424106B (zh) 为存储优化操作分配存储设备的资源的方法和系统
JP6273966B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US8914582B1 (en) Systems and methods for pinning content in cache
US10754368B1 (en) Method and system for load balancing backup resources
EP3697060A1 (en) Storage device and component management method for storage device
WO2016103471A1 (ja) 計算機システムおよび管理プログラム
JP6279816B2 (ja) ストレージ監視システムおよびその監視方法
JP6394313B2 (ja) ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラム
US20110179424A1 (en) Method and system for self-tuning of hardware resources
JP2018041282A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
CN113760940B (zh) 应用于分布式系统的配额管理方法、装置、设备及介质
JP6259547B2 (ja) 管理システム、及び、管理方法

Legal Events

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

Ref document number: 13895104

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14767024

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: 13895104

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP