WO2016125294A1 - Computer system, management device, and method - Google Patents

Computer system, management device, and method Download PDF

Info

Publication number
WO2016125294A1
WO2016125294A1 PCT/JP2015/053328 JP2015053328W WO2016125294A1 WO 2016125294 A1 WO2016125294 A1 WO 2016125294A1 JP 2015053328 W JP2015053328 W JP 2015053328W WO 2016125294 A1 WO2016125294 A1 WO 2016125294A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
update
server
target
link
Prior art date
Application number
PCT/JP2015/053328
Other languages
French (fr)
Japanese (ja)
Inventor
健 杉本
近藤 伸和
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2015/053328 priority Critical patent/WO2016125294A1/en
Publication of WO2016125294A1 publication Critical patent/WO2016125294A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Definitions

  • the present invention relates to a technique for managing a computer system.
  • Patent Document 1 A technique for maintaining system availability in a system having an active standby server configuration is known (Patent Document 1). This technology can maintain system availability by taking over the operation of the secondary server while the primary server is stopped by updating the firmware installed in the primary server.
  • the storage system has two storage controllers and storage devices connected to these storage controllers.
  • a host interface device is mounted on the storage controller.
  • This host interface device is, for example, a fiber channel card for connecting to a server apparatus.
  • a certain interface is defined between the firmware operating on the host interface device and the control software operating on the storage controller and including the driver of the host interface device. Control software and firmware with different interfaces cannot be combined. Therefore, in order to maintain the availability of the computer system, it is desirable that the control software is updated when the storage system is operating, and the firmware is also updated at the same timing.
  • one storage controller is stopped, the firmware and control software of the internal host interface device are updated, and then one storage controller is restarted.
  • the other storage controller is stopped and the firmware and control software of the internal host interface device are updated, some storage controllers are restarted.
  • the firmware and control software of the host interface device mounted on all the storage controllers in the storage system can be updated without stopping the storage system.
  • vertical integrated systems which are computer systems that integrate hardware such as storage, servers, and network devices, software such as databases, applications, and middleware, and tools that centrally manage them, have attracted attention.
  • a system in which hardware and software are integrated in advance in a form that matches the business needs of the vendor is provided to the customer through operation verification. This allows customers to quickly install a system with the best configuration for their business when they need it and get it up and running immediately.
  • the vertical integrated system can ensure high I / O (Input or Output) performance between the server and storage by closely linking the server device and the storage system.
  • the server apparatus and the storage system may be connected with a high-speed interface such as, for example, PCI Express (registered trademark) (hereinafter, PCIe).
  • PCIe registered trademark
  • the connection at this time is performed via an interface device such as Non-Transparent Bridge (NTB).
  • NTB Non-Transparent Bridge
  • the link between the interface device and the storage system can be made redundant. That is, the link between the server device and the storage system can be made redundant.
  • the host interface device firmware and the control software for controlling the host interface device and the storage device have a one-to-one relationship.
  • the device program that is the firmware of the interface device and the storage program that controls the interface device have a one-to-many relationship.
  • a computer system includes a storage apparatus, a plurality of server computers connected to the storage apparatus, and a management apparatus connected to the storage apparatus and the plurality of server computers.
  • the storage apparatus includes a storage device and first and second storage controllers connected to the storage device.
  • Each of the plurality of server computers is connected to the first and second storage controllers.
  • Each of the plurality of server computers has an interface device that stores a device program that controls communication with the first and second storage controllers.
  • the first and second storage controllers respectively store storage programs that control the storage device and the interface device.
  • the management apparatus controls the update order of the device programs of the plurality of server computers and the storage programs of the first and second storage controllers.
  • Each of the plurality of server computers disconnects the link between the first and second storage controllers when updating the device program.
  • Each of the first and second storage controllers disconnects links with a plurality of server computers when updating the storage program.
  • the management device transmits a first update instruction for instructing the update to a first device that is one of the first storage controller and the first server computer of the plurality of server computers.
  • the management apparatus receives the first update completion notification indicating the completion of the update based on the first update instruction
  • the management apparatus applies to the second apparatus that is the other of the first storage controller and the first server computer.
  • the second update instruction for instructing the update is transmitted.
  • the management device receives the second update completion notification indicating the completion of the update based on the second update instruction
  • the management device transmits the first device or the second device between the first device and the second device.
  • a first link connection instruction for instructing connection of the first link is transmitted.
  • An example of the firmware version management table 231 is shown.
  • An example of the storage micro version management table 232 is shown.
  • An example of the update target IO module list 233 is shown.
  • An example of the server apparatus-controller connection management table 234 is shown.
  • An example of the server apparatus-controller state management table 235 is shown.
  • An example of IO module firmware version information 211 is shown.
  • An example of the version management table 222 is shown.
  • An example of the operation version management table 223 is shown. It is an example of the flowchart of an update process. It is an example of the flowchart of a pre-process.
  • information may be described in terms of “kkk table”, “kkk list”, and “kkk information”, but the information may be expressed in a data structure other than a table or a list.
  • the “kkk table”, “kkk list”, and “kkk information” can be replaced with each other to indicate that they do not depend on the data structure.
  • the process may be described using “program” as a subject.
  • the program is executed by the processor, so that the determined process can be appropriately performed with storage resources (for example, memory) and / or Alternatively, since the processing is performed using a communication interface device (for example, a communication port), the subject of processing may be a processor. On the contrary, the processing whose subject is the processor can be interpreted as being executed by executing one or more programs.
  • the processor is typically a microprocessor such as a CPU (Central Processing Unit), but may include a hardware circuit that executes a part of the processing (for example, encryption / decryption, compression / decompression). .
  • FIG. 1 is a hardware configuration diagram of a computer system according to the present embodiment.
  • the computer system includes one or more server devices 100, one or more shared storage systems 120, and a management device 140.
  • the management device 140 is connected to the server device 100 via the network 150.
  • the management device 140 is connected to the shared storage system 120 via the network 160.
  • An example of the networks 150 and 160 is a WAN (Wide Area Network) or a LAN (Local Area Network), but is not limited thereto.
  • the server apparatus 100 and the management apparatus 140, and the shared storage system 120 and the management apparatus 140 may be directly connected without going through a network.
  • the shared storage system 120 may be simply abbreviated as the storage system 120.
  • the server apparatus 100 includes a plurality of server modules 110 (0 to n). Therefore, the server apparatus 100 is a server system including a plurality of server modules.
  • Each server module 110 is a physical computer (server computer) including a processor 111, a memory 112, an IO module 113, and a network interface (I / F) 114.
  • the server module 110 may have other configurations such as a storage medium and an input / output device (not shown). These components inside the server module 110 are connected to each other via an internal path.
  • the network interface 114 is an interface for connecting to the management apparatus 140 and is a device.
  • the IO module 113 is an interface device for connecting the server module 110 and a storage controller 130 described later.
  • the connection between the server module 110 and the storage controller 130 described later includes, for example, The PCIe connection standard established by PCI-SIG is used. Thereby, high-speed processing of the entire computer system can be realized.
  • the connection standard is not limited to this.
  • the processor 111 executes a program stored in the memory 112.
  • the processor 111 executes the program stored in the memory 112, the function of the server module 110 is realized.
  • the memory 112 stores a program executed by the processor 111 and information necessary for executing the program.
  • the memory 112 includes a work area used by the program.
  • the storage system 120 includes a plurality of storage controllers 130 and one or a plurality of storage media 121. Each storage controller 130 is connected to the storage medium 121. Each storage medium 121 has a storage area for storing data used by an application executed by each server module 110.
  • the storage system 120 provides LU (Logical Unit) to the server apparatus 100 based on the storage medium 121.
  • the storage medium 121 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive), but may be any device that can store data.
  • a plurality of storage media 121 may constitute a RAID (redundant array of inexpensive disks) volume.
  • the storage system 120 may be simply abbreviated as the storage system 120, and the storage controller 130 may be simply abbreviated as the controller 130.
  • the controller 130 controls the storage system 120.
  • the controller 130 includes a processor 131, a memory 132, a pass-through IO module 133, a network interface (I / F) 134, a storage interface (I / F) 135, and an inter-controller interface (I / F) 136. These components of the controller 130 are connected to each other via an internal path.
  • the pass-through IO module 133 may be simply referred to as a pass-through 133.
  • the processor 131 executes a program stored in the memory 132.
  • the processor 131 executes a program stored in the memory 132, thereby realizing the functions of the storage system 120.
  • the memory 132 stores a program executed by the processor 131 and information necessary for executing the program.
  • the memory 132 includes a work area used by the program.
  • the pass-through 133 is an interface device for mediating the connection between the IO module 113 and the controller 130.
  • the pass-through 133 includes a retimer for increasing the signal strength and does not interpret the signal. Therefore, from the controller 130 (specifically, a storage micro 220 described later), the pass-through 133 is not directly visible, and the IO module 113 appears to be connected to the controller 130.
  • the network I / F 134 is an interface for connecting to other devices via the network 160.
  • the storage I / F 135 is an interface for connecting to the storage medium 121.
  • the inter-controller I / F 136 is an interface for connecting the storage controllers.
  • the management device 140 manages each server module 110 and each storage system 120.
  • the management apparatus 140 includes a processor 141, a memory 142, a network interface (I / F) 143, and a network interface (I / F) 144. Each component of the management apparatus 140 is connected to each other via an internal path.
  • the processor 141 executes a program stored in the memory 142.
  • the processor 141 executes the program stored in the memory 142, the function of the management device 140 is realized.
  • the memory 142 stores a program executed by the processor 141 and information necessary for executing the program.
  • the memory 142 includes a work area used by the program.
  • the network I / F 143 is an interface for connecting to other devices via the network 150.
  • the network I / F 144 is an interface for connecting to other devices via the network 160.
  • FIG. 2 is a diagram illustrating an example of a software configuration of the computer system according to the present embodiment.
  • the software configuration of the server module 110 will be described.
  • the server module 110 stores the OS 200 and one or more applications 201 operating on the OS 200 in its own memory 112.
  • the application 201 is, for example, database software, a hypervisor, a virtual desktop infrastructure, or the like, but the type of the application 201 is not limited to these.
  • the OS 200 is control software that controls the entire server module 110.
  • the OS 200 includes a server IO module driver 202 that is a driver for controlling the IO module 113.
  • the application 201 operates on the OS 200.
  • the OS 200 formats the LU provided by the storage system 120 into a predetermined file system. At this time, the OS 200 divides the LU into predetermined logical blocks and assigns an identification number to each logical block.
  • the file system manages data composed of one or more block data as a file. Since the file system and the like included in the OS 200 are publicly known, description thereof will be omitted.
  • the server IO module driver 202 is a driver that controls the IO module 113 from the server side. Further, the server IO module driver 202 includes an interface with a firmware update management module 230 described later of the management apparatus 140.
  • the software configuration of the IO module 113 will be described.
  • the IO module 113 has firmware (FW) 210 and is controlled by the FW 210.
  • the FW 210 includes an interface with the server IO module driver 202 and an interface with an IO module driver 221 (described later) included in the controller 130.
  • the FW 210 includes IO module firmware (FW) version information 211.
  • the IO module firmware version information 211 may be simply referred to as FW version information 211.
  • the FW version information 211 is information for managing the version of the FW 210.
  • the software configuration of the controller 130 will be described.
  • the controller 130 stores a storage micro 220 that is control software for controlling the storage controller 13 and the storage medium 121 in the memory 132.
  • the storage micro 220 is executed by the processor 131.
  • the storage micro 220 generates a plurality of LUs by logically dividing a RAID volume, for example, and provides the generated plurality of LUs to the server module 110.
  • the storage micro 220 also holds management information (not shown) indicating the correspondence between the LU and the storage medium 121.
  • the storage micro 220 includes an IO module driver 221.
  • the IO module driver 221 holds a version management table 222 and an operation version management table 223.
  • the version management table 222 is a table for managing the version of the FW 210 of the IO module 113 that the storage micro 220 can handle.
  • the operation version management table 223 is a table for managing the version of the FW 210 of the IO module 113. There may be versions that are included in the version management table 222 but are not included in the operation version management table 223.
  • the management device 140 stores the firmware update management module 230 in the memory 142.
  • the firmware update management module 230 may be simply referred to as a management module.
  • the management module 230 is executed by the processor 141.
  • the management module 230 controls the update timing of the FW 210 of the IO module and the storage micro.
  • the management module 230 has a firmware version management table 231, a storage micro version management table 232, an update target IO module list 233, a server device / controller connection management table 234, and a server device / controller state management table 235.
  • the management module 230 exchanges the server IO module driver 202 and the IO module driver 221 with the version of the FW 210, the progress of the update, and the like, and appropriately controls and manages the update order of the FW 210 and the storage micro 220 of the IO module 113.
  • FIG. 3 shows an example of the firmware version management table 231.
  • the firmware version management table 231 is a table for managing the FW version for each IO module 113.
  • the management apparatus 140 generates and updates the firmware version management table 231 by acquiring the version information of the FW of the IO module from the server apparatus managed by itself.
  • Each entry of the firmware version management table 231 includes a server device number 2310, a server module number 2311, an IO module number 2312, and a version 2313.
  • the server device number 2310 and the server module number 2311 are fields for storing the identification number of the server device on which the IO module 113 is mounted and the identification number of the server module.
  • the IO module number 2312 is a field for storing position information of a slot in which the IO module is mounted in the corresponding server module.
  • the FW version 2313 is a field for storing the version of the FW 210 of the IO module. For example, the version of the FW 210 of the IO module # 0 mounted on the server module # 0 of the server device # 0 is 2.0.
  • FIG. 4 shows an example of the storage micro version management table 232.
  • the storage micro version management table 232 is a table for managing the version of the storage micro 220 for each controller 130.
  • the management apparatus 140 generates and updates the storage micro version management table 232 by acquiring storage micro version information from the storage system managed by the management apparatus 140.
  • Each entry of the storage micro version management table 232 includes a storage system number 2320, a controller number 2321, and storage micro version information 2322.
  • Storage system number 2320 and controller number 2321 are fields for storing the identification number of storage system 120 storing storage micro 220 and the identification number of controller 130.
  • the storage micro version information 2322 is a field for storing the version of the storage micro 220.
  • FIG. 5 shows an example of the update target IO module list 233.
  • the update target IO module list 233 is a list indicating whether or not an update of the FW mounted on the IO module 113 is necessary.
  • the update target IO module list 233 includes a server device number 2330, an IO module number 2331, and an update target 2332.
  • the server device number 2330 and the in-server device IO module number 2331 are fields in which position information of the server module 110 in which the IO module 113 is mounted is stored.
  • the update target 2332 is a field in which a flag indicating whether the FW 210 of the IO module 113 needs to be updated is stored.
  • the update target 2332 stores, for example, “1” indicating that update is necessary or “0” indicating that update is not necessary.
  • FIG. 6 shows an example of the server device / controller connection management table 234.
  • the server device / controller connection management table 234 is a table for managing a connection relationship between the server device and the controller 130.
  • Each entry of the server device / controller connection management table 234 includes a server device number 2340, a server module number 2341, an IO module number 2342, a connection destination controller (1) 2343, and a connection destination controller (2) 2344.
  • the connection destination controller (1) 2343 includes a connection destination system number (1) 23430 and a connection destination controller number (1) 23431.
  • the connection destination controller (2) 2344 includes a connection destination system number (2) 23440 and a connection destination controller number (2) 23441.
  • the server device number 2340 and the server module number 2341 are fields for storing the identification number of the server device 100 in which the IO module 113 is mounted and the identification number of the server module 110.
  • the IO module number 2342 is a field for storing position information of the slot in which the IO module 113 is mounted in the corresponding server module 110.
  • the connection destination controller (1) 2343 is a field related to one controller 130 connected to the IO module 113. Specifically, in each field of the connection destination system number (1) 23430 and the connection destination controller number (1) 23431, the identification number of the storage system 120 to which the IO module 113 is connected and the identification number of one controller 130 are stored. Are stored respectively.
  • the connection destination controller (2) 2344 is a field related to the other controller 130 connected to the IO module 113. Specifically, in the fields of the connection destination system number (2) 23440 and the connection destination controller number (2) 23441, the identification number of the storage system 120 to which the IO module 113 is connected and the identification number of the other controller 130 are stored. Are
  • FIG. 7 shows an example of the state management table 235 between the server device and the controller.
  • the server apparatus / controller state management table 235 is a table for managing a link establishment state between the server apparatus 100 and the controller 130.
  • Each entry in the server device / controller state management table 235 includes a server device number 2350, a server module number 2351, an IO module number 2352, a controller (1) connection state 2353, and a controller (2) connection state 2354.
  • the server device number 2350 and the server module number 2351 are fields for storing the identification number of the server device 100 in which the IO module 113 is mounted and the identification number of the server module 110.
  • the IO module number 2352 is a field for storing position information of the slot in which the IO module 113 is mounted in the corresponding server module 110.
  • the controller (1) connection state 2353 is a field for storing the connection state between the IO module and the controller 130 of the connection destination controller (1) 2343 in the server device / controller connection management table 234.
  • the controller (2) connection state 2354 is a field for storing the connection state between the IO module 113 and the controller 130 of the connection destination controller (2) 2344 in the server device / controller connection management table 234.
  • connection state 2353 and the controller (2) connection state 2354 for example, “connection” indicating that the link is established between the IO module 113 and the controller 130, and the link is established. “Disconnection” indicating that there is no connection, “blocking” indicating that a failure has occurred in the connection, and the like are stored.
  • FIG. 8 shows an example of the FW version information 211.
  • FW version information 211 includes FW version 2110.
  • FIG. 9 shows an example of the version management table 222.
  • the version management table 222 includes a corresponding FW version 2220 that is a version of the FW 210 that the storage micro 220 can support.
  • FIG. 10 shows an example of the operation version management table 223.
  • the operation version management table 223 includes an operating FW version 2230 and a valid bit 2231.
  • the operating FW version 2230 is a field for storing the version of the FW 210 acquired from the IO module 213.
  • the valid bit 2231 is a field for storing a flag indicating whether or not the operating FW version 2230 is valid. For example, the valid bit 2231 is valid when it is “1” and invalid when it is “0”. When invalid, it indicates that the currently operating version of the FW is not compatible with the currently operating storage micro 220. In this case, the currently operating storage micro 220 can support the version of the FW 210 indicated by the version management table 222.
  • FIG. 17 is an example of a flowchart of the initialization process of the server device / controller state management table 235.
  • the initialization process may be performed when the computer system is constructed, or may be performed before an update process (FIG. 11) described later.
  • This process is performed by the server IO module driver 202 of each server module 110.
  • this server IO module driver is abbreviated as a server driver.
  • an IO module corresponding to this server driver is referred to as a connection module.
  • a storage system and a storage controller connected to the server module are referred to as a connection system and a connection controller.
  • the server driver acquires the identification numbers of the connection system and the connection controller, and notifies the management module 230 of the acquired identification numbers (S700).
  • the storage micro 220 of the connection controller acquires the identification numbers of the server device 100 and the server module 110 having the connection module and notifies the management module 230 (S701).
  • the management module 230 creates a server device / controller state management table 235 based on the identification number of each device notified from the server driver and the storage controller storage micro 220 (S702).
  • the management module 230 may display the server device / controller state management table 235 on an output device (not shown) connected to itself. Thereby, the user can check the table 235 against the actual connection state.
  • FIG. 18 is a diagram for explaining a connection state between the processors 111 and IO modules 113 in the two server modules 110 and the two controllers 130 in the computer system of the specific example.
  • Servers # 0 and # 1 are processors 111 in the server module 110.
  • the IO module # 0 is connected to the server # 0 and to the controllers # 0 and # 1.
  • the IO module # 1 is connected to the server # 1 and to the controllers # 0 and # 1.
  • a storage micro that is mounted on the controllers # 0 and # 1 and is an update target may be referred to as a target micro.
  • the controllers # 0 and # 1 may be referred to as target controllers, and the storage system 120 equipped with the target controller may be referred to as a target system.
  • IO modules # 0 and # 1 are each referred to as a target IO module, and an FW that is mounted on the target IO module and is an object of update may be referred to as a target FW.
  • the servers # 0 and # 1 may be referred to as target servers.
  • the server when the server updates the FW of the IO module 113 connected to itself, the server disconnects the link between itself and the controller 130 connected to itself. For example, when the server # 0 updates the FW of the IO module # 0 connected to the server # 0, the server # 0 disconnects the link between the IO module # 0 and the controllers # 0 and # 1. For example, when the server # 1 updates the FW of the IO module # 1 connected to itself, the server # 1 disconnects the link between the IO module # 1 and the controllers # 0 and # 1.
  • FIG. 11 is an example of a flowchart of the update process.
  • the update process is a process for updating the target micro and the target FW in cooperation with each other.
  • the update process is started when the management module 230 receives an update instruction.
  • the management module 230 receives the update instruction and performs pre-processing (S100).
  • the pre-processing is processing for determining whether update processing is necessary. Details of this step will be described later.
  • the management module 230 ends the update process without performing the following steps.
  • the management module 230 performs a list-up process in which the target IO module is listed and registered in the update target IO module list 233 (S101). In this embodiment, for example, IO modules # 0 and # 1 are listed. Details of this processing will be described later.
  • the management module 230 performs a micro update process for updating the target micro 220 (S102). Details of this processing will be described later.
  • the target micro installed in the target controller # 0 is updated.
  • the management module 230 determines whether the firmware (FW) update process for updating the target FW is completed for all target IO modules (S103). Specifically, for example, the management module 230 corresponds to the server device number 2330 and the IO module number 2331 of all the target IO modules listed (IO modules # 0 and # 1) in the update target IO module list 233. It is determined whether the update target 2332 to be updated is “0”. If the update target 2332 of all target IO modules is “0” (Yes in S103), it means that all target FWs have been updated, and the management module 230 advances the process to S107. On the other hand, if the update target 2332 of at least one target IO module is “1” (No in S103), it means that there is a target FW that has not yet been updated, and the management module 230 advances the process to S104. .
  • the management module 230 selects one target server connected to one target IO module whose target FW is not updated based on the update target IO module list 233, and selects the selected target server (hereinafter referred to as a selection target server). ) Is instructed to transfer the job running on the selection target server to another target server (S104).
  • the management module 230 performs FW update processing for updating the target FW on the target IO module connected to the selection target server (S105). Details of this processing will be described later. Here, for example, the FW mounted on one of the IO modules # 0 and # 1 is updated.
  • the management module 230 performs connection establishment processing for connecting a link between the target controller on which the updated target micro is mounted and the target IO module on which the updated target FW is mounted (S106). Details of this processing will be described later. After S106, the management module 230 returns the process to S103. Thereby, the firmware update process and the connection establishment process can be sequentially executed for all the target FWs.
  • the management module 230 performs a micro update process for updating the target micro (S107). Details of this processing will be described later. Here, for example, the target micro installed in the target controller # 1 is updated.
  • the management module 230 performs connection establishment processing for connecting a link between the target controller on which the updated target micro is mounted and the target IO module on which the updated target FW is mounted (S108). Details of this processing will be described later.
  • all of the target FW and target micro can be updated while maintaining the availability of the computer system, that is, while maintaining the state where the server module of any target server can access the storage device.
  • an update process for updating all target FWs and target micros in cooperation with each other can be executed with only one update instruction input by the user.
  • the update process the following steps are performed according to an instruction from the management module 230.
  • the micro-update process (S102) is performed for one target controller (for example, target controller # 0).
  • the FW update process (S105) is performed for one target IO module (for example, target IO module # 0) among a plurality of target IO modules (for example, target IO modules # 0 and # 1).
  • a connection establishment process (S106) is performed.
  • the other target IO module # 1 can continue to access the storage device via the other target controller # 1. Therefore, the availability of the computer system can be maintained. As a result, for one target IO module # 0, there is a period in which the link between both target controllers # 0 and # 1 is disconnected and access to the storage device of the target server # 0 is blocked. It is suppressed only when updating its own target FW.
  • the link newly established in (3) is a link between the target controller and the target IO module based on the new version of the target micro and target FW that have been updated.
  • the update process of the first controller # 0 is performed, the FW update process of all the target IO modules (S105), all the target IO modules, and the one controller # 0.
  • the update process of the other controller # 1 is performed.
  • all the target servers # 0 and # 1 can continue to access the storage device via any of the target controllers when the FW update process is not performed for the target IO modules # 0 and # 1.
  • the target server is limited to two server modules, but there may be three or more target servers.
  • the management module 230 first instructs the update process of the first controller # 0, then instructs the FW update process (S105) of all target servers, and then all The connection establishment process (S106) between the target server and one controller # 0 is instructed, but the present invention is not limited to this.
  • the management module 230 may select one target server and instruct the selection target server to perform the FW update process (S105) of the target IO module.
  • the micro update process is instructed to one target controller, and after the completion notification indicating the completion of the micro update is received, the selection target server or one target controller is notified.
  • the connection establishment process (S106) for connecting the link between the selection target server and one target controller may be indicated.
  • the management module 230 may instruct the remaining target server and target controller in the FW update process and the micro update process in any way.
  • the job on the target server having the target IO is migrated to another target server, so that the application running on the target server can access the storage device while maintaining the target FW.
  • the target micro can be updated.
  • FIG. 12 is an example of a flowchart of pre-processing.
  • the pre-processing is the processing of S100 in FIG.
  • the management module 230 receives the update instruction input by the user (S200).
  • the update instruction is an instruction input from the input device connected to the management apparatus 140 by the user.
  • the user inputs one or more of the identification number of the computer system to be updated, the identification number of the IO module 113 to be updated, and the identification number of the controller 130 to be updated to the input device.
  • the management module 230 refers to the configuration information of the computer system (not shown) stored in the memory 142 of the management apparatus 140 and determines the target IO module from the identification number of the computer system.
  • the target controller may be specified.
  • the update instruction may include an updated version of the FW and storage micro that are to be updated.
  • the management module 230 checks whether the storage micro 220 and the FW 210 included in the update instruction need to be updated in cooperation with the target micro and the target FW (S201). Specifically, for example, the management module 230 determines the version of the currently operating FW 210 and storage micro 220 for the IO module 113 and the controller 130 based on the update instruction based on the firmware version management table 231 and the storage micro version management table 232. Get each. Then, the management module 230 checks whether it is necessary to update both the acquired FW 210 and the storage micro 220 and to perform these updates at the same timing.
  • the management module 230 advances the process to S202.
  • the management module 230 notifies the user that these coordinated update processes are not necessary, and ends the preliminary process and the update process.
  • the user updates the target micro and the target FW one by one as necessary.
  • the management module 230 may display the fact on the screen of the output device connected to the management device 140. The same applies to the following.
  • the management module 230 may acquire the version of the target micro and the target FW from the target storage system and the target server without using the firmware version management table 231 and the storage micro version management table 232, respectively.
  • the management module 230 checks whether the updated FW and storage micro version are compatible for the IO module 113 and the controller 130 based on the update instruction (S202). If there is compatibility, the management module 230 advances the process to S203. If there is no compatibility, the management module 230 notifies the user that the update is not possible, and ends the pre-processing and the update processing.
  • the management module 230 checks whether a failure of the computer system has occurred (S203). Specifically, for example, the management module 230 checks whether there is a blocked controller 130 based on the server device / controller state management table 235. If a failure has occurred, the management module 230 gives notice to the user that update processing cannot be performed because failure recovery is prioritized, and ends the pre-processing and update processing.
  • FIG. 13 is an example of a flowchart of the listing process.
  • the list-up process is the process of S101 in FIG.
  • the management module 230 lists the target IO modules based on the server device / controller connection management table 234 (S300).
  • the management module 230 checks the connection state between the listed target IO module and the target controller (S301). Specifically, for example, the management module 230 determines, based on the server device / controller state management table 235, between all the target IO modules listed between the controllers 130 physically connected for each target IO module. Check the link connection status.
  • the management module 230 determines the target IO module, registers the target IO module, and creates the update target IO module list 233 (S302). For example, the management module 230 selects an IO module whose connection state with a physically connected controller from among the listed IO modules 113 is “connected” based on the server device / controller state management table 235. The module is registered in the update target IO module list 233 as a module.
  • the IO module 113 whose connection state with the controller is “connected” can be determined as the target IO module to be subjected to the update process. Further, the target controller is also determined by determining the target IO module. This is because the IO module 113 disconnected from the controller 130 can individually update the FW 210 without using the update process.
  • FIG. 14 is an example of a flowchart of the micro update process.
  • the micro update process is the process of S102 and S107 in FIG.
  • the controller # 0 is the target controller and the target micro on the controller # 0 is updated.
  • the controller # 1 is the target controller and the target micro on the controller # 1 is updated.
  • the management module 230 instructs the target micro of any target controller to update the target micro (S400).
  • the target micro receives the update instruction. Based on the update instruction, the target micro disconnects all the connection states of the target IO modules physically connected to its target controller (S401).
  • the target micro transmits a stop request to stop the I / O transmitted from the target server to the target IO module.
  • the target IO module switches so that I / O from the target server is transmitted to the target micro of the target controller different from the transmission source of the stop request.
  • the target IO module notifies the target of the stop request transmission source that the transmission of the I / O is completed.
  • the target micro receives the notification and disconnects the connection state between itself and the target IO module to which the stop request is transmitted. Thereby, the I / O transmitted to the target IO module can be transmitted without leaving the target controller.
  • the target micro updates itself (S402). Updating the target micro may follow conventional procedures. For example, the management device 140 sends the update program of the target micro stored in the disk in the management device to the target micro via the network 160, and the target micro stores the received update program in the memory 132, and then Update itself by restarting. Note that the target controller is temporarily suspended while the target micro is being updated.
  • the target micro updates the version management table 222 based on its version after the update (S403).
  • the target micro updates the valid bit 2231 of the operation version management table 223 to “0”. (S404).
  • the target micro restarts itself (S405). After the restart, the target micro transmits an update completion notification of the target micro to the management module 230.
  • the target micro cannot reconnect its own target controller to the target IO module disconnected in S401. This is because the target FW is not yet compatible with the target micro because the target FW has not yet been updated.
  • the management module 230 receives an update completion notification. Then, the management module 230 updates the server device / controller state table 235 and the storage micro version management table 232 (S406, 407), and ends the micro update process.
  • the target micro of the target controller can be updated by the micro update process.
  • the management module 230 can update the various tables based on the notification from the target controller, thereby grasping the update of the target micro and the connection state of the target controller.
  • S107 unlike S102, there may be no target IO module connected to the target controller on which the target micro operates. In this case, the disconnection of the link between the target IO module and the target controller (S401) and the update of the server device / controller state management table 235 (S406) are not performed.
  • FIG. 15 is an example of a flowchart of the FW update process.
  • the FW update process is the process of S105 in FIG.
  • the management module 230 refers to the update target IO module list 233 and transmits an FW update instruction to update the target FW whose update target 2332 is “1” to the target server (S500).
  • the FW that is the target of the FW update instruction is the target FW on the target IO module that is physically connected to the target controller on which the micro update process has been performed and is in a disconnected state.
  • the server driver of the target server receives the FW update instruction, and disconnects the link between the target IO module and the target controller included in the instruction (S501). Note that the target server driver may disconnect the link between the target server and the target IO module as necessary.
  • the target driver performs target FW update (S502).
  • the update of the target FW may be a procedure for updating the FW in the conventional IO module.
  • the target server driver When the link between the target server and the target IO module is disconnected, the target server driver establishes the link (S503). Then, the target server driver transmits a completion notification indicating that the update of the target FW of the target IO module is completed to the management module 230.
  • the management module 230 receives a completion notification. Then, the management module 230 updates the firmware version management table 231 and the update target IO module list 233 based on the completion notification (S504, 505), and ends the FW update process.
  • the target FW can be updated to a version compatible with the updated target micro by the FW update process.
  • the target server driver can update the target server driver in accordance with the update timing of the target FW.
  • FIG. 16 is an example of a flowchart of connection establishment processing.
  • the connection establishment process is the process of S106 and S108 in FIG.
  • S106 a link between the controller # 0 and the IO module # 0 or a link between the controller # 0 and the IO module # 1 is connected.
  • S108 the controller # 1 and the IO module # 0 are connected. And # 1 are connected.
  • the management module 230 instructs the target server driver to connect the target IO module and the target controller (S600). Specifically, for example, the management module 230 is based on the update target IO module list 233 and the server device / controller state management table 235, the update target 2332 is “0”, and the connection state 2353 with the target controller. (Or 2354) transmits a connection instruction between the target IO module and the target controller in the “disconnected” state to the target server.
  • the target server receives the connection instruction and passes the connection instruction to the server IO module driver 202 corresponding to the target IO module. Based on the connection instruction, the server IO module driver 202 instructs the target IO module to reconnect to the target controller in the disconnected state.
  • the target IO module transmits a connection request to the target controller based on the reconnection instruction (S601).
  • the target controller receives the connection request and passes the connection request to the target micro.
  • the target micro acquires the FW version information 211 from the target IO module that is the source of the connection request (S602). Thereby, the target controller can acquire the version of the target FW currently operating on the target IO module in the disconnected state.
  • the target micro determines whether or not the operation version management table 223 valid bit 2231 is “1” (S603). If the valid bit 2231 is “0” (No in S603), it means that the operation version management table 223 is not valid, and the target micro advances the process to S608.
  • the target micro If it matches the acquired version (No in S604), the target micro establishes a connection between the target controller and the target IO module (S605). Then, the target micro transmits a completion notification indicating that the connection has been completed to the management module 230. The management module 230 receives the completion notification, updates the server-controller / controller state management table 235 (S606), and ends the connection establishment process.
  • the target micro notifies the management module 230 that the connection between the target controller and the target IO module is impossible (S607).
  • the establishment process is terminated.
  • the management module 230 may notify the user through the output device that the connection between the target controller and the target IO module is impossible.
  • the target micro determines whether or not the version of the target FW acquired in S602 is included in the corresponding FW version 2220 of the version management table 222. If the acquired version is included (Yes in S608), the target micro determines the version of the target FW corresponding to itself as the acquired version. Then, the target micro sets the acquired version in the operating FW version 2230 of the operation version management table 223, and sets the valid bit 2231 to “1” (S609). Then, the target micro establishes a connection between the target controller and the target IO module (S605), and transmits a connection completion notification to the management module 230. The management module 230 receives the completion notification, updates the server-controller / controller state management table 235 (S606), and ends the connection establishment process.
  • the target micro notifies the management module 230 that the connection between the target controller and the target IO module is impossible (S607). Then, the connection establishment process is terminated.
  • the target controller can connect to the target IO module.
  • the target IO module on which the updated FW operates can be connected only to the target controllers that can be connected to each other. That is, the target IO module is not connected to the target controller on which the target micro that does not correspond to the target FW operates, but is connected only to the target controller on which the target micro corresponding to the target FW operates.
  • the target micro manages the version of FW that can be handled by itself. Thereby, by acquiring the version of the updated target FW from the target IO, it is possible to determine whether or not the target micro can connect the IO module to itself.
  • the management module 230 can manage the connection state.
  • the fact can be notified to the user via the management module 230.
  • connection establishment process is started when the management module 230 transmits a connection instruction between the target IO module and the target controller to the target server driver of the target server.
  • the connection establishment process may be performed in any way.
  • the management module 230 may specify a target IO module as a connection destination for the target micro of the target controller.
  • connection establishment process in S106 of FIG. 11 has been described here, the connection establishment process in S108 of FIG. 11 is basically the same. However, in S106, one target IO module issued a reconnection request to the target controller. However, in S108, all IO modules 113 that updated the target FW issued reconnection requests to the target controller. You may make it take out. In this case, the already established link between the IO module 113 and the target controller is processed while being connected.
  • FIG. 19 is a diagram for explaining the procedure of the update process.
  • (1) is the initial state.
  • the link between the IO module # 0 in the server # 0 and the controller # 0 is the first link
  • the link between the IO module # 1 in the server # 1 and the controller # 0 is the second link
  • the link between the IO module # 0 controller # 1 in the server # 0 is the third link
  • the link between the IO module # 1 of the server # 1 and the controller # 1 is the fourth link.
  • the management module 230 performs a first micro-up process after the pre-process (S100) and the list-up process (S101) (S102).
  • the management module 230 stops (2) the controller # 0 and disconnects the first and second links and updates the controller # 0 based on the server device controller pipe state management table 235 as an update instruction.
  • An instruction to update (3) the target micro is transmitted to the controller # 0.
  • Controller # 0 performs (2) and (3) based on the update instruction.
  • the management module 230 performs a first firmware update process via S103 and S104 (S105).
  • the management module 230 stops (4) the server # 0 and disconnects the third link as a firmware update instruction on the basis of the server device controller pipe state management table 235, and targets the IO module # 0.
  • An instruction to update the FW (5) and restart the server # 0 (6) is transmitted to the server # 0.
  • the server # 0 performs (4) to (6) based on the update instruction, and transmits an update completion notification to the management module 230.
  • the management module 230 transmits a first link connection instruction for connecting the first link to the target server module of the server # 0.
  • the target server module transmits a connection instruction according to the first link connection instruction to the controller # 0.
  • Controller # 0 performs connection establishment processing in response to the instruction (S106).
  • the target micro of controller # 0 in the specific example computer system can be updated in a state where at least one of the first to fourth links is connected. Therefore, at least one of the servers # 0 and # 1 can access the storage device, that is, the target micro can be updated while maintaining the availability of the computer system.
  • the management module 230 performs the second firmware update process through S103 and S104 (S105).
  • the management module 230 stops (7) server # 1 and disconnects the fourth link as a firmware update instruction based on the server device controller pipe state management table 235, and targets the IO module # 1.
  • An instruction to update (8) the FW and restart the server # 1 (9) is transmitted to the server # 1.
  • the server # 1 performs (7) to (9) based on the update instruction, and transmits an update completion notification to the management module 230.
  • the management module 230 transmits a second link connection instruction for connecting the second link to the target server module of the server # 1.
  • the target server module transmits a connection instruction according to the second link connection instruction to the controller # 0.
  • Controller # 0 performs connection establishment processing for the second link in response to the instruction (S106).
  • the target FW can be updated while maintaining the state in which the application can access the storage device, that is, the availability of the computer system.
  • the management module 230 performs a second micro-up process (S107).
  • the management module 230 instructs to stop (10) the controller # 1 and update (11) the target micro of the controller # 0 based on the server device controller pipe state management table 235 as an update instruction. Is transmitted to the controller # 1.
  • the controller # 1 performs (11) based on the update instruction, and transmits an update completion notification to the management module 230.
  • the management module 230 transmits a third connection instruction for connecting the third and fourth links to the target server module of the server # 0 or the server # 1.
  • the target server module transmits a connection instruction according to the third link connection instruction to the controller # 1.
  • the controller # 1 performs connection establishment processing for the third and fourth links (S108).
  • the target FW of the IO module # 1 and the target micro of the controller # 1 in the specific example computer system can be updated in a state where at least one of the first to fourth links is connected. Therefore, the target micro and the target FW can be updated while maintaining the state in which the application can access the storage device, that is, the availability of the computer system.
  • a series of update processes for updating all of the target FW and the target micro can be executed with only one update instruction input by the user.
  • the management module 230 transmits the first to third link connection instructions to the target server module of the target server, but may transmit it to the target micro of the target controller.
  • the various software illustrated in the present embodiment can be stored in various recording media (for example, non-temporary storage media) such as electromagnetic, electronic, and optical, and through a communication network such as the Internet. It can be downloaded to a computer.
  • recording media for example, non-temporary storage media
  • a communication network such as the Internet. It can be downloaded to a computer.
  • the update process is performed by the management module 230 stored in the management apparatus 140.
  • the computer system has a function realized by the processor executing the management module 230? It may be a simple configuration.
  • a part or all of the management module 230 may be stored in a device different from the management device 140 and performed by another processor.
  • an example using software control of the management module 230 has been described, but a part thereof can be realized by hardware.
  • the server program corresponds to the server IO module driver 202 and the like
  • the device program corresponds to the firmware 220 and the like
  • the storage program corresponds to the storage micro 220 and the like.
  • the link information corresponds to the server device / controller state management table and the like
  • the corresponding version information corresponds to the operation version management table 223 and the like.
  • Server device 110 Server module 113 IO module 120 Shared storage system 130 Storage controller 140 Management device 200 OS 201 Application 202 Server IO Module Driver 210 Firmware 211 IO Module Firmware Version Information 220 Storage Micro 221 Storage IO Module Driver 222 Version Management Table 223 Operation Version Management Table 230 Firmware Update Management Module 231 IO Module Firmware Version Management Table 232 Storage Micro Version Management Table 233 Update target IO module list 234 Server device / controller connection management table 235 Server device / controller state management table

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

A management device transmits a first update instruction for giving an instruction of update to a first device, which is one of a first storage controller and a first server computer out of a plurality of server computers. When receiving a first update completion notification that indicates a completion of the update based on the first update instruction, the management device transmits a second update instruction for giving an instruction of update to a second device, which is the other one of the first storage controller and the first server computer. When receiving a second update completion notification that indicates a completion of the update based on the second update instruction, the management device transmits, to the first device or the second device, a first link connection instruction for giving an instruction of connection of a first link between the first device and the second device.

Description

計算機システム、管理装置及び方法Computer system, management apparatus and method
 本発明は、計算機システムを管理する技術に関する。 The present invention relates to a technique for managing a computer system.
 アクティブスタンバイのサーバ構成を有するシステムにおいて、システムの可用性を維持する技術が知られている(特許文献1)。この技術は、プライマリサーバに搭載されるファームウェアのアップデートにより、プライマリサーバが停止している間は、セカンダリサーバが動作を引き継ぐことで、システムの可用性を維持できる。 A technique for maintaining system availability in a system having an active standby server configuration is known (Patent Document 1). This technology can maintain system availability by taking over the operation of the secondary server while the primary server is stopped by updating the firmware installed in the primary server.
 また、サーバ装置とストレージシステムとを有する計算機システムにおいて、計算機システムの可用性を維持する技術がある。 Also, there is a technology for maintaining the availability of a computer system in a computer system having a server device and a storage system.
 ストレージシステムは、2つのストレージコントローラと、これらストレージコントローラに接続される記憶デバイスとを有する。ストレージコントローラには、ホストインタフェースデバイスが搭載される。このホストインタフェースデバイスは、例えば、サーバ装置に接続するためのファイバーチャネルカードである。このホストインタフェースデバイス上で稼働するファームウェアと、ストレージコントローラ上で動作しホストインタフェースデバイスのドライバを含む制御ソフトウェアとの間には、一定のインタフェースが規定される。インタフェースが異なる制御ソフトウェアとファームウェアを組み合わせることは出来ない。このため、計算機システムの可用性を維持するためには、ストレージシステムの稼働時に制御ソフトウェアがアップデートされ、かつ、同じタイミングでファームウェアもアップデートするのが望ましい。 The storage system has two storage controllers and storage devices connected to these storage controllers. A host interface device is mounted on the storage controller. This host interface device is, for example, a fiber channel card for connecting to a server apparatus. A certain interface is defined between the firmware operating on the host interface device and the control software operating on the storage controller and including the driver of the host interface device. Control software and firmware with different interfaces cannot be combined. Therefore, in order to maintain the availability of the computer system, it is desirable that the control software is updated when the storage system is operating, and the firmware is also updated at the same timing.
 例えば、上記のストレージシステムにおいては、一方のストレージコントローラを停止させ、その内部のホストインタフェースデバイスのファームウェアと制御ソフトウェアを更新した後に、一方のストレージコントローラを再起動する。次に、他方のストレージコントローラを停止させ、その内部のホストインタフェースデバイスのファームウェアと制御ソフトウェアを更新した後に、多少のストレージコントローラを再起動する。この場合、少なくとも1つのストレージコントローラが稼働しているので、ストレージシステムを停止することなく、その内部の全てのストレージコントローラに搭載されたホストインタフェースデバイスのファームウェアと制御ソフトウェアを更新できる。 For example, in the above storage system, one storage controller is stopped, the firmware and control software of the internal host interface device are updated, and then one storage controller is restarted. Next, after the other storage controller is stopped and the firmware and control software of the internal host interface device are updated, some storage controllers are restarted. In this case, since at least one storage controller is operating, the firmware and control software of the host interface device mounted on all the storage controllers in the storage system can be updated without stopping the storage system.
米国特許8713551号明細書US Pat. No. 8,813,551
 ところで、近年、ストレージ・サーバ・ネットワーク機器等のハードウェアと、データベース・アプリケーション・ミドルウェア等のソフトウェアと、これらを一元管理するツールと、を統合した計算機システムである垂直統合システムが注目されている。垂直統合システムでは、ベンダが顧客のビジネスニーズに適合する形で予めハード・ソフトを統合したシステムが構築され、動作検証を経て顧客に提供される。これにより、顧客は自社ビジネスに最適な構成のシステムを必要なときに迅速に導入し、直ちに稼働できる。 Incidentally, in recent years, vertical integrated systems, which are computer systems that integrate hardware such as storage, servers, and network devices, software such as databases, applications, and middleware, and tools that centrally manage them, have attracted attention. In the vertical integrated system, a system in which hardware and software are integrated in advance in a form that matches the business needs of the vendor is provided to the customer through operation verification. This allows customers to quickly install a system with the best configuration for their business when they need it and get it up and running immediately.
 垂直統合システムは、サーバ装置とストレージシステムを密に連携することで、高いサーバ・ストレージ間のI/O(Input or Output)性能を確保できる。垂直統合システムでは、サーバ装置とストレージシステムとの間を、例えば、PCI Express(登録商標)(以下、PCIe)等の高速なインタフェースで接続する場合がある。このときの接続は、例えば、Non-Transpearent Bridge(NTB)などのインタフェースデバイスを介して行われる。この場合、垂直統合システムの稼働性を維持するために、サーバ装置とストレージシステムとの間のリンクを冗長にする必要がある。例えば、インタフェースデバイスのストレージシステム側にポートを複数備え、複数のポートに同一ストレージシステム内の複数のストレージコントローラをそれぞれ接続することで、インタフェースデバイスとストレージシステムとの間のリンクを冗長にできる。つまり、サーバ装置とストレージシステムと間のリンクを冗長にすることができる。 The vertical integrated system can ensure high I / O (Input or Output) performance between the server and storage by closely linking the server device and the storage system. In the vertical integrated system, the server apparatus and the storage system may be connected with a high-speed interface such as, for example, PCI Express (registered trademark) (hereinafter, PCIe). The connection at this time is performed via an interface device such as Non-Transparent Bridge (NTB). In this case, in order to maintain the operability of the vertically integrated system, it is necessary to make the link between the server apparatus and the storage system redundant. For example, by providing a plurality of ports on the storage system side of the interface device, and connecting a plurality of storage controllers in the same storage system to the plurality of ports, the link between the interface device and the storage system can be made redundant. That is, the link between the server device and the storage system can be made redundant.
 上述した、従来のストレージシステムは、ホストインタフェースデバイスのファームウェアと、ホストインタフェースデバイス及び記憶デバイスを制御する制御ソフトウェアとは1対1の関係であった。しかし、垂直統合システムにおいては、インタフェースデバイスが複数のストレージコントローラで共有されるため、インタフェースデバイスのファームウェアであるデバイスプログラムと、インタフェースデバイスを制御するストレージプログラムとが1対多の関係となる。 In the conventional storage system described above, the host interface device firmware and the control software for controlling the host interface device and the storage device have a one-to-one relationship. However, in the vertically integrated system, since the interface device is shared by a plurality of storage controllers, the device program that is the firmware of the interface device and the storage program that controls the interface device have a one-to-many relationship.
 このような状況において、垂直統合システムの可用性を維持したまま、デバイスプログラムと、これを制御するストレージプログラムとをアップデートすることは困難である。 In such a situation, it is difficult to update the device program and the storage program that controls the device program while maintaining the availability of the vertically integrated system.
 上記課題を解決するために、本発明の一態様である計算機システムは、ストレージ装置と、ストレージ装置に接続される複数のサーバ計算機と、ストレージ装置及び複数のサーバ計算機に接続される管理装置とを備える。ストレージ装置は、記憶デバイスと、記憶デバイスに接続される第1及び第2ストレージコントローラと、を含む。複数のサーバ計算機のそれぞれは、第1及び第2ストレージコントローラに接続される。複数のサーバ計算機のそれぞれは、第1及び第2ストレージコントローラとの通信を制御するデバイスプログラムを記憶したインタフェースデバイスを有する。第1及び第2ストレージコントローラが、記憶デバイス及びインタフェースデバイスを制御するストレージプログラムをそれぞれ記憶する。管理装置は、複数のサーバ計算機それぞれのデバイスプログラムと、第1及び第2ストレージコントローラそれぞれのストレージプログラムと、のアップデートの順序を制御する。複数のサーバ計算機のそれぞれは、デバイスプログラムをアップデートするときに、第1及び第2ストレージコントローラとの間のリンクを切断する。第1及び第2ストレージコントローラのそれぞれは、ストレージプログラムをアップデートするときに、複数のサーバ計算機との間のリンクを切断する。管理装置は、前記第1ストレージコントローラと、前記複数のサーバ計算機のうちの第1サーバ計算機とのいずれか一方である第1装置に対し、前記アップデートを指示する第1アップデート指示を送信する。管理装置は、前記第1アップデート指示に基づくアップデートの完了を示す前記第1アップデート完了通知を受信した場合に、前記第1ストレージコントローラ及び前記第1サーバ計算機のいずれか他方である第2装置に対し、前記アップデートを指示する第2アップデート指示を送信する。管理装置は、前記第2アップデート指示に基づくアップデートの完了を示す前記第2アップデート完了通知を受信した場合に、前記第1装置又は第2装置に対し、前記第1装置及び前記第2装置間の第1リンクの接続を指示する第1リンク接続指示を送信する。 In order to solve the above problems, a computer system according to one aspect of the present invention includes a storage apparatus, a plurality of server computers connected to the storage apparatus, and a management apparatus connected to the storage apparatus and the plurality of server computers. Prepare. The storage apparatus includes a storage device and first and second storage controllers connected to the storage device. Each of the plurality of server computers is connected to the first and second storage controllers. Each of the plurality of server computers has an interface device that stores a device program that controls communication with the first and second storage controllers. The first and second storage controllers respectively store storage programs that control the storage device and the interface device. The management apparatus controls the update order of the device programs of the plurality of server computers and the storage programs of the first and second storage controllers. Each of the plurality of server computers disconnects the link between the first and second storage controllers when updating the device program. Each of the first and second storage controllers disconnects links with a plurality of server computers when updating the storage program. The management device transmits a first update instruction for instructing the update to a first device that is one of the first storage controller and the first server computer of the plurality of server computers. When the management apparatus receives the first update completion notification indicating the completion of the update based on the first update instruction, the management apparatus applies to the second apparatus that is the other of the first storage controller and the first server computer. The second update instruction for instructing the update is transmitted. When the management device receives the second update completion notification indicating the completion of the update based on the second update instruction, the management device transmits the first device or the second device between the first device and the second device. A first link connection instruction for instructing connection of the first link is transmitted.
 本発明の一態様によれば、計算機システムの可用性を維持したまま、サーバ装置とストレージコントローラを繋ぐインタフェースデバイス上のデバイスプログラムと、インタフェースデバイスを制御するストレージコントローラ上のストレージプログラムをアップデートできる。 According to one aspect of the present invention, it is possible to update the device program on the interface device that connects the server apparatus and the storage controller and the storage program on the storage controller that controls the interface device while maintaining the availability of the computer system.
本実施例に係る計算機システムのハードウェア構成図である。It is a hardware block diagram of the computer system which concerns on a present Example. 本実施例に係る計算機システムのソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software configuration of the computer system which concerns on a present Example. ファームウェアバージョン管理テーブル231の一例を示す。An example of the firmware version management table 231 is shown. ストレージマイクロバージョン管理テーブル232の一例を示す。An example of the storage micro version management table 232 is shown. アップデート対象IOモジュールリスト233の一例を示す。An example of the update target IO module list 233 is shown. サーバ装置・コントローラ間接続管理テーブル234の一例を示す。An example of the server apparatus-controller connection management table 234 is shown. サーバ装置・コントローラ間状態管理テーブル235の一例を示す。An example of the server apparatus-controller state management table 235 is shown. IOモジュールファームウェアバージョン情報211の一例を示す。An example of IO module firmware version information 211 is shown. バージョン管理テーブル222の一例を示す。An example of the version management table 222 is shown. 動作バージョン管理テーブル223の一例を示す。An example of the operation version management table 223 is shown. アップデート処理のフローチャートの一例である。It is an example of the flowchart of an update process. 事前処理のフローチャートの一例である。It is an example of the flowchart of a pre-process. リストアップ処理のフローチャートの一例である。It is an example of the flowchart of a list-up process. マイクロアップデート処理のフローチャートの一例である。It is an example of the flowchart of a micro update process. ファームウェアアップデート処理のフローチャートの一例である。It is an example of the flowchart of a firmware update process. 接続確立処理のフローチャートの一例である。It is an example of the flowchart of a connection establishment process. サーバ装置・コントローラ間状態管理テーブル235の初期化処理のフローチャートの一例である。It is an example of the flowchart of the initialization process of the server apparatus-controller state management table 235. 本実施例の基本的な冗長構成の計算機システムを説明する図である。It is a figure explaining the computer system of the basic redundant structure of a present Example. アップデート処理の手順を説明する図である。It is a figure explaining the procedure of an update process.
 以下、本実施例について図面を用いて説明する。 Hereinafter, the present embodiment will be described with reference to the drawings.
 以下の説明では、「kkkテーブル」、「kkkリスト」、「kkk情報」の表現にて情報を説明することがあるが、情報は、テーブル、リスト以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「kkkテーブル」、「kkkリスト」、「kkk情報」は互いに置換可能である。 In the following description, information may be described in terms of “kkk table”, “kkk list”, and “kkk information”, but the information may be expressed in a data structure other than a table or a list. The “kkk table”, “kkk list”, and “kkk information” can be replaced with each other to indicate that they do not depend on the data structure.
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶資源(例えば、メモリ)及び/又は通信インターフェイスデバイス(例えば、通信ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。逆に、プロセッサが主語となっている処理は、1以上のプログラムを実行することにより行われると解釈することができる。プロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、処理の一部(例えば、暗号化/復号化、圧縮/伸張)を実行するハードウェア回路を含んでもよい。 In the following description, the process may be described using “program” as a subject. However, the program is executed by the processor, so that the determined process can be appropriately performed with storage resources (for example, memory) and / or Alternatively, since the processing is performed using a communication interface device (for example, a communication port), the subject of processing may be a processor. On the contrary, the processing whose subject is the processor can be interpreted as being executed by executing one or more programs. The processor is typically a microprocessor such as a CPU (Central Processing Unit), but may include a hardware circuit that executes a part of the processing (for example, encryption / decryption, compression / decompression). .
 また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号を使用し、同種の要素を区別して説明する場合には、その要素の参照符号に代えて、その要素に割り振られた識別子(例えば番号及び符号のうちの少なくとも1つ)を使用することがある。 Further, in the following description, when a description is made without distinguishing the same type of element, a reference symbol is used, and when a description is made with a distinction between the same type of element, the element is replaced with the reference number. An assigned identifier (eg, at least one of a number and a sign) may be used.
 図1は、本実施例に係る計算機システムのハードウェア構成図である。計算機システムは、1つ又は複数のサーバ装置100と、1つ又は複数の共有ストレージシステム120と、管理装置140とを有する。管理装置140は、ネットワーク150を介してサーバ装置100に接続される。管理装置140は、ネットワーク160を介して共有ストレージシステム120に接続される。なお、ネットワーク150及び160の一例は、WAN(Wide Area Network)又はLAN(Local Area Network)であるが、これらに限定されない。なお、サーバ装置100と管理装置140、共有ストレージシステム120と管理装置140とは、それぞれ、ネットワークを介さずに直接接続されていてもよい。なお、以下の説明及び図面においては、共有ストレージシステム120を単にストレージシステム120と略記する場合がある。 FIG. 1 is a hardware configuration diagram of a computer system according to the present embodiment. The computer system includes one or more server devices 100, one or more shared storage systems 120, and a management device 140. The management device 140 is connected to the server device 100 via the network 150. The management device 140 is connected to the shared storage system 120 via the network 160. An example of the networks 150 and 160 is a WAN (Wide Area Network) or a LAN (Local Area Network), but is not limited thereto. The server apparatus 100 and the management apparatus 140, and the shared storage system 120 and the management apparatus 140 may be directly connected without going through a network. In the following description and drawings, the shared storage system 120 may be simply abbreviated as the storage system 120.
 サーバ装置100は、複数のサーバモジュール110(0~n)を備える。従って、サーバ装置100は、複数のサーバモジュールを備えたサーバシステムである。各サーバモジュール110は、プロセッサ111、メモリ112、IOモジュール113、及びネットワークインタフェース(I/F)114を備える物理的計算機(サーバ計算機)である。なお、サーバモジュール110は、図示しない、記憶媒体、入出力装置等の他の構成を備えてもよい。サーバモジュール110内部のこれらの構成要素は、内部経路を介して互いに接続される。 The server apparatus 100 includes a plurality of server modules 110 (0 to n). Therefore, the server apparatus 100 is a server system including a plurality of server modules. Each server module 110 is a physical computer (server computer) including a processor 111, a memory 112, an IO module 113, and a network interface (I / F) 114. The server module 110 may have other configurations such as a storage medium and an input / output device (not shown). These components inside the server module 110 are connected to each other via an internal path.
 ネットワークインタフェース114は、管理装置140に接続するためのインタフェースでデバイスある。IOモジュール113は、サーバモジュール110と後述のストレージコントローラ130を接続するためのインタフェースデバイスである。本実施例では、サーバモジュール110と後述のストレージコントローラ130との間の接続(例えば、プロセッサ111及びIOモジュール113との間と、IOモジュール113及びストレージコントローラ130との間の接続)には、例えば、PCI-SIGが策定したPCIeの接続規格を用いる。これにより、計算機システム全体の高速な処理を実現できる。しかし、接続規格は、これに限定されない。 The network interface 114 is an interface for connecting to the management apparatus 140 and is a device. The IO module 113 is an interface device for connecting the server module 110 and a storage controller 130 described later. In the present embodiment, the connection between the server module 110 and the storage controller 130 described later (for example, the connection between the processor 111 and the IO module 113 and the connection between the IO module 113 and the storage controller 130) includes, for example, The PCIe connection standard established by PCI-SIG is used. Thereby, high-speed processing of the entire computer system can be realized. However, the connection standard is not limited to this.
 プロセッサ111は、メモリ112に格納されるプログラムを実行する。プロセッサ111が、メモリ112に格納されるプログラムを実行することによって、サーバモジュール110が有する機能が実現される。 The processor 111 executes a program stored in the memory 112. When the processor 111 executes the program stored in the memory 112, the function of the server module 110 is realized.
 メモリ112は、プロセッサ111によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。また、メモリ112は、プログラムが使用するワークエリアを含む。 The memory 112 stores a program executed by the processor 111 and information necessary for executing the program. The memory 112 includes a work area used by the program.
 ストレージシステム120は、複数のストレージコントローラ130と、1つ又は複数の記憶媒体121を備える。各ストレージコントローラ130が、記憶媒体121接続される。各記憶媒体121は、各サーバモジュール110により実行されるアプリケーションが使用するデータ等を格納する記憶領域を有する。ストレージシステム120は、記憶媒体121に基づきLU(Logical Unit)をサーバ装置100に提供する。記憶媒体121は、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)等であるが、データを格納できる装置であればどのような装置であってもよい。複数の記憶媒体121によりRAID(redundant array of inexpensive disks)ボリュームが構成されてよい。なお、以下の説明及び図面においては、ストレージシステム120を単にストレージシステム120と、ストレージコントローラ130を単にコントローラ130と略記する場合がある。 The storage system 120 includes a plurality of storage controllers 130 and one or a plurality of storage media 121. Each storage controller 130 is connected to the storage medium 121. Each storage medium 121 has a storage area for storing data used by an application executed by each server module 110. The storage system 120 provides LU (Logical Unit) to the server apparatus 100 based on the storage medium 121. The storage medium 121 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive), but may be any device that can store data. A plurality of storage media 121 may constitute a RAID (redundant array of inexpensive disks) volume. In the following description and drawings, the storage system 120 may be simply abbreviated as the storage system 120, and the storage controller 130 may be simply abbreviated as the controller 130.
 コントローラ130は、ストレージシステム120を制御する。コントローラ130は、プロセッサ131、メモリ132、パススルーIOモジュール133、ネットワークインタフェース(I/F)134、ストレージインタフェース(I/F)135、コントローラ間インタフェース(I/F)136を備える。コントローラ130のこれらの構成要素は、内部経路を介して互いに接続される。なお、以下の説明では、パススルーIOモジュール133を単にパススルー133と説明する場合がある。 The controller 130 controls the storage system 120. The controller 130 includes a processor 131, a memory 132, a pass-through IO module 133, a network interface (I / F) 134, a storage interface (I / F) 135, and an inter-controller interface (I / F) 136. These components of the controller 130 are connected to each other via an internal path. In the following description, the pass-through IO module 133 may be simply referred to as a pass-through 133.
 プロセッサ131は、メモリ132に格納されるプログラムを実行する。プロセッサ131が、メモリ132に格納されるプログラムを実行することによって、ストレージシステム120が有する機能が実現される。 The processor 131 executes a program stored in the memory 132. The processor 131 executes a program stored in the memory 132, thereby realizing the functions of the storage system 120.
 メモリ132は、プロセッサ131によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。また、メモリ132は、プログラムが使用するワークエリアを含む。 The memory 132 stores a program executed by the processor 131 and information necessary for executing the program. The memory 132 includes a work area used by the program.
 パススルー133は、IOモジュール113とコントローラ130との接続を仲介するためのインタフェースデバイスである。例えば、パススルー133は、信号強度を強めるためのリタイマなどを含み、信号の解釈は行わない。従って、コントローラ130(具体的には、後述のストレージマイクロ220)からは、パススルー133が直接見えず、IOモジュール113がコントローラ130に接続されているように見える。 The pass-through 133 is an interface device for mediating the connection between the IO module 113 and the controller 130. For example, the pass-through 133 includes a retimer for increasing the signal strength and does not interpret the signal. Therefore, from the controller 130 (specifically, a storage micro 220 described later), the pass-through 133 is not directly visible, and the IO module 113 appears to be connected to the controller 130.
 ネットワークI/F134は、ネットワーク160を介して他の装置と接続するためのインタフェースである。ストレージI/F135は、記憶媒体121に接続するためのインタフェースである。コントローラ間I/F136はストレージコントローラ間を接続するインタフェースである。 The network I / F 134 is an interface for connecting to other devices via the network 160. The storage I / F 135 is an interface for connecting to the storage medium 121. The inter-controller I / F 136 is an interface for connecting the storage controllers.
 管理装置140は、各サーバモジュール110及び各ストレージシステム120の管理を行う。管理装置140は、プロセッサ141、メモリ142、ネットワークインタフェース(I/F)143、及びネットワークインタフェース(I/F)144を備える。管理装置140の各構成要素は、内部経路を介して互いに接続される。 The management device 140 manages each server module 110 and each storage system 120. The management apparatus 140 includes a processor 141, a memory 142, a network interface (I / F) 143, and a network interface (I / F) 144. Each component of the management apparatus 140 is connected to each other via an internal path.
 プロセッサ141は、メモリ142に格納されるプログラムを実行する。プロセッサ141が、メモリ142に格納されるプログラムを実行することによって、管理装置140が有する機能が実現される。 The processor 141 executes a program stored in the memory 142. When the processor 141 executes the program stored in the memory 142, the function of the management device 140 is realized.
 メモリ142は、プロセッサ141によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。また、メモリ142は、プログラムが使用するワークエリアを含む。 The memory 142 stores a program executed by the processor 141 and information necessary for executing the program. The memory 142 includes a work area used by the program.
 ネットワークI/F143は、ネットワーク150を介して他の装置と接続するためのインタフェースである。ネットワークI/F144は、ネットワーク160を介して他の装置と接続するためのインタフェースである。 The network I / F 143 is an interface for connecting to other devices via the network 150. The network I / F 144 is an interface for connecting to other devices via the network 160.
 図2は、本実施例に係る計算機システムのソフトウェア構成の一例を示す図である。サーバモジュール110のソフトウェア構成を説明する。サーバモジュール110は、自身のメモリ112に、OS200及びOS200上で動作する1つ以上のアプリケーション201を格納する。なお、アプリケーション201は、例えば、データベースソフトウェア、ハイパーバイザ、仮想デスクトップインフラストラクチャなどであるが、アプリケーション201の種類は、これらに限定されない。 FIG. 2 is a diagram illustrating an example of a software configuration of the computer system according to the present embodiment. The software configuration of the server module 110 will be described. The server module 110 stores the OS 200 and one or more applications 201 operating on the OS 200 in its own memory 112. The application 201 is, for example, database software, a hypervisor, a virtual desktop infrastructure, or the like, but the type of the application 201 is not limited to these.
 OS200は、サーバモジュール110全体を制御する制御ソフトウェアである。OS200には、IOモジュール113を制御するドライバであるサーバIOモジュールドライバ202が含まれる。アプリケーション201は、OS200上で動作する。OS200は、ストレージシステム120によって提供されるLUを所定のファイルシステムにフォーマットする。このとき、OS200は、LUを所定の論理ブロックに分割し、各論理ブロックに識別番号を割り当てる。ファイルシステムは、1つ以上のブロックデータから構成されるデータをファイルとして管理する。OS200に含まれるファイルシステム等は、公知のものであるため説明を省略する。 The OS 200 is control software that controls the entire server module 110. The OS 200 includes a server IO module driver 202 that is a driver for controlling the IO module 113. The application 201 operates on the OS 200. The OS 200 formats the LU provided by the storage system 120 into a predetermined file system. At this time, the OS 200 divides the LU into predetermined logical blocks and assigns an identification number to each logical block. The file system manages data composed of one or more block data as a file. Since the file system and the like included in the OS 200 are publicly known, description thereof will be omitted.
 サーバIOモジュールドライバ202は、IOモジュール113をサーバ側から制御するドライバである。また、サーバIOモジュールドライバ202は、管理装置140の後述するファームウェアアップデート管理モジュール230とのインタフェースを含む。 The server IO module driver 202 is a driver that controls the IO module 113 from the server side. Further, the server IO module driver 202 includes an interface with a firmware update management module 230 described later of the management apparatus 140.
 IOモジュール113のソフトウェア構成を説明する。IOモジュール113は、ファームウェア(FW)210を有し、FW210によって制御される。FW210は、サーバIOモジュールドライバ202とのインタフェース、及び、コントローラ130に含まれる後述のIOモジュールドライバ221とのインタフェースを含む。また、FW210はIOモジュールファームウェア(FW)バージョン情報211を含む。以下の説明及び図面では、IOモジュールファームウェアバージョン情報211を、単にFWバージョン情報211という場合がある。FWバージョン情報211は、FW210のバージョンを管理する情報である。 The software configuration of the IO module 113 will be described. The IO module 113 has firmware (FW) 210 and is controlled by the FW 210. The FW 210 includes an interface with the server IO module driver 202 and an interface with an IO module driver 221 (described later) included in the controller 130. The FW 210 includes IO module firmware (FW) version information 211. In the following description and drawings, the IO module firmware version information 211 may be simply referred to as FW version information 211. The FW version information 211 is information for managing the version of the FW 210.
 コントローラ130のソフトウェア構成を説明する。コントローラ130は、そのメモリ132に、ストレージコントローラ13及び記憶媒体121を制御する制御ソフトウェアであるストレージマイクロ220を格納する。ストレージマイクロ220は、プロセッサ131によって実行される。 The software configuration of the controller 130 will be described. The controller 130 stores a storage micro 220 that is control software for controlling the storage controller 13 and the storage medium 121 in the memory 132. The storage micro 220 is executed by the processor 131.
 ストレージマイクロ220は、例えば、RAIDボリュームを論理的に分割することによって、複数のLUを生成し、生成された複数のLUをサーバモジュール110に提供する。また、ストレージマイクロ220は、LUと記憶媒体121との対応関係を示す管理情報(図示なし)を保持する。 The storage micro 220 generates a plurality of LUs by logically dividing a RAID volume, for example, and provides the generated plurality of LUs to the server module 110. The storage micro 220 also holds management information (not shown) indicating the correspondence between the LU and the storage medium 121.
 ストレージマイクロ220は、IOモジュールドライバ221を含む。IOモジュールドライバ221は、バージョン管理テーブル222、及び動作バージョン管理テーブル223を保持する。 The storage micro 220 includes an IO module driver 221. The IO module driver 221 holds a version management table 222 and an operation version management table 223.
 バージョン管理テーブル222は、ストレージマイクロ220が対応可能なIOモジュール113のFW210のバージョンを管理するテーブルである。 The version management table 222 is a table for managing the version of the FW 210 of the IO module 113 that the storage micro 220 can handle.
 動作バージョン管理テーブル223は、IOモジュール113のFW210のバージョンを管理するテーブルである。バージョン管理テーブル222に含まれるが動作バージョン管理テーブル223には含まれないバージョンが存在しうる。 The operation version management table 223 is a table for managing the version of the FW 210 of the IO module 113. There may be versions that are included in the version management table 222 but are not included in the operation version management table 223.
 管理装置140のソフトウェア構成について説明する。管理装置140は、そのメモリ142に、ファームウェアアップデート管理モジュール230を格納する。以下の説明及び図面では、ファームウェアップデート管理モジュール230を単に管理モジュールという場合がある。管理モジュール230は、プロセッサ141によって実行される。管理モジュール230は、IOモジュールのFW210とストレージマイクロとのアップデートのタイミングを制御する。 The software configuration of the management apparatus 140 will be described. The management device 140 stores the firmware update management module 230 in the memory 142. In the following description and drawings, the firmware update management module 230 may be simply referred to as a management module. The management module 230 is executed by the processor 141. The management module 230 controls the update timing of the FW 210 of the IO module and the storage micro.
 管理モジュール230は、ファームウェアバージョン管理テーブル231、ストレージマイクロバージョン管理テーブル232、アップデート対象IOモジュールリスト233、サーバ装置・コントローラ間接続管理テーブル234、サーバ装置・コントローラ間状態管理テーブル235を有する。 The management module 230 has a firmware version management table 231, a storage micro version management table 232, an update target IO module list 233, a server device / controller connection management table 234, and a server device / controller state management table 235.
 管理モジュール230は、サーバIOモジュールドライバ202及びIOモジュールドライバ221と、FW210のバージョンやアップデートの進捗状況等をやり取りし、IOモジュール113のFW210とストレージマイクロ220のアップデート順序を適切に制御及び管理する。 The management module 230 exchanges the server IO module driver 202 and the IO module driver 221 with the version of the FW 210, the progress of the update, and the like, and appropriately controls and manages the update order of the FW 210 and the storage micro 220 of the IO module 113.
 図3は、ファームウェアバージョン管理テーブル231の一例を示す。ファームウェアバージョン管理テーブル231は、IOモジュール113毎のFWバージョンを管理するテーブルである。管理装置140は、自身が管理するサーバ装置からIOモジュールのFWのバージョン情報を取得することで、ファームウェアバージョン管理テーブル231を生成及び更新する。ファームウェアバージョン管理テーブル231の各エントリは、サーバ装置番号2310、サーバモジュール番号2311、IOモジュール番号2312、及び、バージョン2313を含む。 FIG. 3 shows an example of the firmware version management table 231. The firmware version management table 231 is a table for managing the FW version for each IO module 113. The management apparatus 140 generates and updates the firmware version management table 231 by acquiring the version information of the FW of the IO module from the server apparatus managed by itself. Each entry of the firmware version management table 231 includes a server device number 2310, a server module number 2311, an IO module number 2312, and a version 2313.
 サーバ装置番号2310及びサーバモジュール番号2311は、当該IOモジュール113が搭載されているサーバ装置の識別番号及びサーバモジュールの識別番号を格納するフィールドである。IOモジュール番号2312は、対応するサーバモジュール内でIOモジュールが搭載されているスロットの位置情報を格納するフィールドである。FWバージョン2313は、当該IOモジュールのFW210のバージョンを格納するフィールドである。例えば、サーバ装置#0のサーバモジュール#0に搭載されたIOモジュール#0のFW210のバージョンは、2.0である。 The server device number 2310 and the server module number 2311 are fields for storing the identification number of the server device on which the IO module 113 is mounted and the identification number of the server module. The IO module number 2312 is a field for storing position information of a slot in which the IO module is mounted in the corresponding server module. The FW version 2313 is a field for storing the version of the FW 210 of the IO module. For example, the version of the FW 210 of the IO module # 0 mounted on the server module # 0 of the server device # 0 is 2.0.
 図4は、ストレージマイクロバージョン管理テーブル232の一例を示す。ストレージマイクロバージョン管理テーブル232は、コントローラ130毎のストレージマイクロ220のバージョンを管理するテーブルである。管理装置140は、自身が管理するストレージシステムからストレージマイクロのバージョン情報を取得することで、ストレージマイクロバージョン管理テーブル232を生成及び更新する。ストレージマイクロバージョン管理テーブル232の各エントリは、ストレージシステム番号2320、コントローラ番号2321、及び、ストレージマイクロバージョン情報2322を含む。 FIG. 4 shows an example of the storage micro version management table 232. The storage micro version management table 232 is a table for managing the version of the storage micro 220 for each controller 130. The management apparatus 140 generates and updates the storage micro version management table 232 by acquiring storage micro version information from the storage system managed by the management apparatus 140. Each entry of the storage micro version management table 232 includes a storage system number 2320, a controller number 2321, and storage micro version information 2322.
 ストレージシステム番号2320及びコントローラ番号2321は、ストレージマイクロ220を格納しているストレージシステム120の識別番号及びコントローラ130の識別番号を格納するフィールドである。ストレージマイクロバージョン情報2322は、当該ストレージマイクロ220のバージョンを格納するフィールドである。 Storage system number 2320 and controller number 2321 are fields for storing the identification number of storage system 120 storing storage micro 220 and the identification number of controller 130. The storage micro version information 2322 is a field for storing the version of the storage micro 220.
 図5は、アップデート対象IOモジュールリスト233の一例を示す。アップデート対象IOモジュールリスト233は、IOモジュール113に搭載されたFWのアップデートが必要か否かを示すリストである。アップデート対象IOモジュールリスト233は、サーバ装置番号2330、IOモジュール番号2331、及び、アップデート対象2332を含む。 FIG. 5 shows an example of the update target IO module list 233. The update target IO module list 233 is a list indicating whether or not an update of the FW mounted on the IO module 113 is necessary. The update target IO module list 233 includes a server device number 2330, an IO module number 2331, and an update target 2332.
 サーバ装置番号2330及びサーバ装置内IOモジュール番号2331は、当該IOモジュール113が搭載されているサーバモジュール110の位置情報が格納されるフィールドである。アップデート対象2332は、当該IOモジュール113のFW210をアップデートする必要があるかを示すフラグが格納されるフィールドである。アップデート対象2332には、例えば、アップデートの必要があることを示す“1”、又は、アップデートの必要が無いことを示す“0”が格納される。 The server device number 2330 and the in-server device IO module number 2331 are fields in which position information of the server module 110 in which the IO module 113 is mounted is stored. The update target 2332 is a field in which a flag indicating whether the FW 210 of the IO module 113 needs to be updated is stored. The update target 2332 stores, for example, “1” indicating that update is necessary or “0” indicating that update is not necessary.
 図6は、サーバ装置・コントローラ間接続管理テーブル234の一例を示す。サーバ装置・コントローラ間接続管理テーブル234は、サーバ装置とコントローラ130との間の接続関係を管理するテーブルである。サーバ装置・コントローラ間接続管理テーブル234の各エントリは、サーバ装置番号2340、サーバモジュール番号2341、IOモジュール番号2342、接続先コントローラ(1)2343、接続先コントローラ(2)2344を含む。接続先コントローラ(1)2343には、接続先システム番号(1)23430及び接続先コントローラ番号(1)23431が含まれる。接続先コントローラ(2)2344には、接続先システム番号(2)23440及び接続先コントローラ番号(2)23441が含まれる。 FIG. 6 shows an example of the server device / controller connection management table 234. The server device / controller connection management table 234 is a table for managing a connection relationship between the server device and the controller 130. Each entry of the server device / controller connection management table 234 includes a server device number 2340, a server module number 2341, an IO module number 2342, a connection destination controller (1) 2343, and a connection destination controller (2) 2344. The connection destination controller (1) 2343 includes a connection destination system number (1) 23430 and a connection destination controller number (1) 23431. The connection destination controller (2) 2344 includes a connection destination system number (2) 23440 and a connection destination controller number (2) 23441.
 サーバ装置番号2340及びサーバモジュール番号2341は、当該IOモジュール113が搭載されているサーバ装置100の識別番号及びサーバモジュール110の識別番号を格納するフィールドである。IOモジュール番号2342は、対応するサーバモジュール110内でIOモジュール113が搭載されているスロットの位置情報を格納するフィールドである。接続先コントローラ(1)2343は、当該IOモジュール113と接続している一方のコントローラ130に関するフィールドである。具体的には、接続先システム番号(1)23430及び接続先コントローラ番号(1)23431の各フィールドには、当該IOモジュール113の接続先のストレージシステム120の識別番号及び一方のコントローラ130の識別番号がそれぞれ格納される。接続先コントローラ(2)2344は、当該IOモジュール113と接続している他方のコントローラ130に関するフィールドである。具体的には、接続先システム番号(2)23440及び接続先コントローラ番号(2)23441の各フィールドには、当該IOモジュール113の接続先のストレージシステム120の識別番号及び他方のコントローラ130の識別番号がそれぞれ格納される。 The server device number 2340 and the server module number 2341 are fields for storing the identification number of the server device 100 in which the IO module 113 is mounted and the identification number of the server module 110. The IO module number 2342 is a field for storing position information of the slot in which the IO module 113 is mounted in the corresponding server module 110. The connection destination controller (1) 2343 is a field related to one controller 130 connected to the IO module 113. Specifically, in each field of the connection destination system number (1) 23430 and the connection destination controller number (1) 23431, the identification number of the storage system 120 to which the IO module 113 is connected and the identification number of one controller 130 are stored. Are stored respectively. The connection destination controller (2) 2344 is a field related to the other controller 130 connected to the IO module 113. Specifically, in the fields of the connection destination system number (2) 23440 and the connection destination controller number (2) 23441, the identification number of the storage system 120 to which the IO module 113 is connected and the identification number of the other controller 130 are stored. Are stored respectively.
 図7は、サーバ装置・コントローラ間状態管理テーブル235の一例を示す。サーバ装置・コントローラ間状態管理テーブル235は、サーバ装置100とコントローラ130との間のリンク確立状態を管理するテーブルである。サーバ装置・コントローラ間状態管理テーブル235の各エントリは、サーバ装置番号2350、サーバモジュール番号2351、IOモジュール番号2352、コントローラ(1)接続状態2353、コントローラ(2)接続状態2354を含む。 FIG. 7 shows an example of the state management table 235 between the server device and the controller. The server apparatus / controller state management table 235 is a table for managing a link establishment state between the server apparatus 100 and the controller 130. Each entry in the server device / controller state management table 235 includes a server device number 2350, a server module number 2351, an IO module number 2352, a controller (1) connection state 2353, and a controller (2) connection state 2354.
 サーバ装置番号2350及びサーバモジュール番号2351は、当該IOモジュール113が搭載されているサーバ装置100の識別番号及びサーバモジュール110の識別番号を格納するフィールドである。IOモジュール番号2352は、対応するサーバモジュール110内でIOモジュール113が搭載されているスロットの位置情報を格納するフィールドである。コントローラ(1)接続状態2353は、当該IOモジュールと、サーバ装置・コントローラ間接続管理テーブル234の接続先コントローラ(1)2343のコントローラ130との接続状態を格納するフィールドである。コントローラ(2)接続状態2354は、当該IOモジュール113と、サーバ装置・コントローラ間接続管理テーブル234の接続先コントローラ(2)2344のコントローラ130との接続状態を格納するフィールドである。なお、コントローラ(1)接続状態2353及びコントローラ(2)接続状態2354には、例えば、IOモジュール113とコントローラ130との間でリンクが確立されていることを表す“接続”、リンクが確立されていないことを表す“切断”、接続に障害が発生していることを示す“閉塞”等が格納される。 The server device number 2350 and the server module number 2351 are fields for storing the identification number of the server device 100 in which the IO module 113 is mounted and the identification number of the server module 110. The IO module number 2352 is a field for storing position information of the slot in which the IO module 113 is mounted in the corresponding server module 110. The controller (1) connection state 2353 is a field for storing the connection state between the IO module and the controller 130 of the connection destination controller (1) 2343 in the server device / controller connection management table 234. The controller (2) connection state 2354 is a field for storing the connection state between the IO module 113 and the controller 130 of the connection destination controller (2) 2344 in the server device / controller connection management table 234. In the controller (1) connection state 2353 and the controller (2) connection state 2354, for example, “connection” indicating that the link is established between the IO module 113 and the controller 130, and the link is established. “Disconnection” indicating that there is no connection, “blocking” indicating that a failure has occurred in the connection, and the like are stored.
 図8は、FWバージョン情報211の一例を示す。 FWバージョン情報211は、FWバージョン2110を含む。 FIG. 8 shows an example of the FW version information 211. FW version information 211 includes FW version 2110.
 図9は、バージョン管理テーブル222の一例を示す。バージョン管理テーブル222は、ストレージマイクロ220が対応可能なFW210のバージョンである対応FWバージョン2220を含む。 FIG. 9 shows an example of the version management table 222. The version management table 222 includes a corresponding FW version 2220 that is a version of the FW 210 that the storage micro 220 can support.
 図10は、動作バージョン管理テーブル223の一例を示す。動作バージョン管理テーブル223は、動作中FWバージョン2230及び有効ビット2231を含む。動作中FWバージョン2230は、IOモジュール213から取得されたFW210のバージョンを格納するフィールドである。有効ビット2231は、動作中FWバージョン2230が有効か否かを示すフラグを格納するフィールドである。例えば、有効ビット2231が、“1”の場合を有効とし、“0”の場合を無効とする。無効の場合、現在動作中のFWのバージョンは、現在動作中のストレージマイクロ220に対応できないことを示す。この場合、現在動作中のストレージマイクロ220は、バージョン管理テーブル222が示すFW210のバージョンに対応可能である。 FIG. 10 shows an example of the operation version management table 223. The operation version management table 223 includes an operating FW version 2230 and a valid bit 2231. The operating FW version 2230 is a field for storing the version of the FW 210 acquired from the IO module 213. The valid bit 2231 is a field for storing a flag indicating whether or not the operating FW version 2230 is valid. For example, the valid bit 2231 is valid when it is “1” and invalid when it is “0”. When invalid, it indicates that the currently operating version of the FW is not compatible with the currently operating storage micro 220. In this case, the currently operating storage micro 220 can support the version of the FW 210 indicated by the version management table 222.
 以下、計算機システムの動作について説明する。 The operation of the computer system is described below.
 図17は、サーバ装置・コントローラ間状態管理テーブル235の初期化処理のフローチャートの一例である。初期化処理は、計算機システムを構築したときに行われてもよいし、後述のアップデート処理(図11)の前に行われてもよい。この処理は、各サーバモジュール110のサーバIOモジュールドライバ202により行われる。以下では、一例として、任意のサーバモジュールのサーバIOモジュールドライバ202が行う処理を説明する。このサーバIOモジュールドライバを、以下では、サーバドライバと略記する。また、以下の説明では、このサーバドライバに対応するIOモジュールを接続モジュールという。さらに、以下の説明では、当該サーバモジュールに接続されるストレージシステム及びストレージコントローラを、接続システム及び接続コントローラという。 FIG. 17 is an example of a flowchart of the initialization process of the server device / controller state management table 235. The initialization process may be performed when the computer system is constructed, or may be performed before an update process (FIG. 11) described later. This process is performed by the server IO module driver 202 of each server module 110. Hereinafter, as an example, processing performed by the server IO module driver 202 of an arbitrary server module will be described. Hereinafter, this server IO module driver is abbreviated as a server driver. In the following description, an IO module corresponding to this server driver is referred to as a connection module. Furthermore, in the following description, a storage system and a storage controller connected to the server module are referred to as a connection system and a connection controller.
 サーバドライバは、接続システム及び接続コントローラの識別番号を取得し、取得した識別番号を管理モジュール230に通知する(S700)。 The server driver acquires the identification numbers of the connection system and the connection controller, and notifies the management module 230 of the acquired identification numbers (S700).
 接続コントローラのストレージマイクロ220は、接続モジュールを有するサーバ装置100及びサーバモジュール110の識別番号を取得し、管理モジュール230に通知する(S701)。 The storage micro 220 of the connection controller acquires the identification numbers of the server device 100 and the server module 110 having the connection module and notifies the management module 230 (S701).
 管理モジュール230は、サーバドライバ及び接続コントローラのストレージマイクロ220から通知された各装置の識別番号に基づき、サーバ装置・コントローラ間状態管理テーブル235を作成する(S702)。 The management module 230 creates a server device / controller state management table 235 based on the identification number of each device notified from the server driver and the storage controller storage micro 220 (S702).
 初期化処理の後、管理モジュール230は、自身に接続された図示しない出力装置に、サーバ装置・コントローラ間状態管理テーブル235を表示してもよい。これにより、ユーザが、このテーブル235と実際の接続状態とを照らし合わせて確認することができる。 After the initialization process, the management module 230 may display the server device / controller state management table 235 on an output device (not shown) connected to itself. Thereby, the user can check the table 235 against the actual connection state.
 管理装置140のプロセッサ141は、メモリ142に格納された管理モジュール230に従ってアップデート処理を行う。ここでは、具体例の計算機システムにおけるアップデート処理を説明する。図18は、具体例の計算機システムにおける、二つのサーバモジュール110内の各のプロセッサ111及び各IOモジュール113と、二つのコントローラ130と間の接続状態を説明する図である。 The processor 141 of the management device 140 performs update processing according to the management module 230 stored in the memory 142. Here, an update process in a computer system of a specific example will be described. FIG. 18 is a diagram for explaining a connection state between the processors 111 and IO modules 113 in the two server modules 110 and the two controllers 130 in the computer system of the specific example.
 サーバ#0及び#1は、サーバモジュール110内のプロセッサ111である。IOモジュール#0は、サーバ#0に接続されるとともに、コントローラ#0及び#1に接続されている。IOモジュール#1は、サーバ#1に接続されるとともに、コントローラ#0及び#1に接続されている。 Servers # 0 and # 1 are processors 111 in the server module 110. The IO module # 0 is connected to the server # 0 and to the controllers # 0 and # 1. The IO module # 1 is connected to the server # 1 and to the controllers # 0 and # 1.
 以下の説明において、コントローラ#0及び#1に搭載され、アップデートの対象となるストレージマイクロを、対象マイクロという場合がある。また、コントローラ#0及び#1をそれぞれ対象コントローラといい、対象コントローラを搭載したストレージシステム120を対象システムという場合がある。さらに、IOモジュール#0及び1を、それぞれ対象IOモジュールといい、対象IOモジュールに搭載されアップデートの対象となるFWを対象FWという場合がある。さらに、サーバ#0及び#1を対象サーバという場合がある。コントローラ130がストレージマイクロをアップデートする場合、コントローラ130は、自身と、自身に接続されるIOモジュールとの間のリンクを切断する。例えば、対象コントローラが対象マイクロをアップデートする場合、対象コントローラは、自身に接続される対象IOモジュールとのリンクを切断する。 In the following description, a storage micro that is mounted on the controllers # 0 and # 1 and is an update target may be referred to as a target micro. Further, the controllers # 0 and # 1 may be referred to as target controllers, and the storage system 120 equipped with the target controller may be referred to as a target system. Furthermore, IO modules # 0 and # 1 are each referred to as a target IO module, and an FW that is mounted on the target IO module and is an object of update may be referred to as a target FW. Furthermore, the servers # 0 and # 1 may be referred to as target servers. When the controller 130 updates the storage micro, the controller 130 disconnects the link between itself and the IO module connected thereto. For example, when the target controller updates the target micro, the target controller disconnects the link with the target IO module connected to itself.
 また、サーバが自身に接続されたIOモジュール113のFWをアップデートする場合、サーバは、自身と自身に接続されるコントローラ130とのリンクを切断する。例えば、サーバ#0が自身に接続されたIOモジュール#0のFWをアップデートする場合、サーバ#0は、IOモジュール#0とコントローラ#0及び#1のリンクを切断する。又、例えば、サーバ#1が自身に接続されたIOモジュール#1のFWをアップデートする場合、サーバ#1は、IOモジュール#1とコントローラ#0及び#1のリンクを切断する。 Also, when the server updates the FW of the IO module 113 connected to itself, the server disconnects the link between itself and the controller 130 connected to itself. For example, when the server # 0 updates the FW of the IO module # 0 connected to the server # 0, the server # 0 disconnects the link between the IO module # 0 and the controllers # 0 and # 1. For example, when the server # 1 updates the FW of the IO module # 1 connected to itself, the server # 1 disconnects the link between the IO module # 1 and the controllers # 0 and # 1.
 図11は、アップデート処理のフローチャートの一例である。 FIG. 11 is an example of a flowchart of the update process.
 アップデート処理は、対象マイクロ及び対象FWのそれぞれのアップデートを連携して行う処理である。アップデート処理は、管理モジュール230がアップデート指示を受信したことを契機に開始される。 The update process is a process for updating the target micro and the target FW in cooperation with each other. The update process is started when the management module 230 receives an update instruction.
 管理モジュール230は、アップデート指示を受信し、事前処理を行う(S100)。事前処理は、アップデート処理が必要か否かを判断する処理である。このステップの詳細は、後述する。なお、管理モジュール230は、アップデート処理が必要でないと判断した場合、以下のステップを行わずにアップデート処理を終了する。 The management module 230 receives the update instruction and performs pre-processing (S100). The pre-processing is processing for determining whether update processing is necessary. Details of this step will be described later. When the management module 230 determines that the update process is not necessary, the management module 230 ends the update process without performing the following steps.
 管理モジュール230は、対象IOモジュールをリストアップしアップデート対象IOモジュールリスト233に登録する、リストアップ処理を行う(S101)。本実施例では、例えば、IOモジュール#0及び#1がリストアップされる。この処理の詳細は、後述する。 The management module 230 performs a list-up process in which the target IO module is listed and registered in the update target IO module list 233 (S101). In this embodiment, for example, IO modules # 0 and # 1 are listed. Details of this processing will be described later.
 管理モジュール230は、対象マイクロ220をアップデートするマイクロアップデート処理を行う(S102)。この処理の詳細は、後述する。ここでは、例えば、対象コントローラ#0に搭載された対象マイクロがアップデートされる。 The management module 230 performs a micro update process for updating the target micro 220 (S102). Details of this processing will be described later. Here, for example, the target micro installed in the target controller # 0 is updated.
 管理モジュール230は、全ての対象IOモジュールについて、対象FWをアップデートするファームウェア(FW)アップデート処理が完了したか否かを判定する(S103)。具体的には、例えば、管理モジュール230は、アップデート対象IOモジュールリスト233において、リストアップされた全ての対象IOモジュール(IOモジュール#0及び#1)のサーバ装置番号2330及びIOモジュール番号2331に対応するアップデート対象2332が、“0”か否かを判定する。全ての対象IOモジュールのアップデート対象2332が“0”の場合(S103で、Yes)、全ての対象FWがアップデートされたことを意味するので、管理モジュール230は、S107に処理を進める。一方、少なくとも1つの対象IOモジュールのアップデート対象2332が“1”の場合(S103で、No)、未だアップデートされていない対象FWがあることを意味するので、管理モジュール230は、S104に処理を進める。 The management module 230 determines whether the firmware (FW) update process for updating the target FW is completed for all target IO modules (S103). Specifically, for example, the management module 230 corresponds to the server device number 2330 and the IO module number 2331 of all the target IO modules listed (IO modules # 0 and # 1) in the update target IO module list 233. It is determined whether the update target 2332 to be updated is “0”. If the update target 2332 of all target IO modules is “0” (Yes in S103), it means that all target FWs have been updated, and the management module 230 advances the process to S107. On the other hand, if the update target 2332 of at least one target IO module is “1” (No in S103), it means that there is a target FW that has not yet been updated, and the management module 230 advances the process to S104. .
 管理モジュール230は、アップデート対象IOモジュールリスト233に基づき、対象FWがアップデートされていない1つの対象IOモジュールに接続された対象サーバを1つ選択し、選択された対象サーバ(以下、選択対象サーバという)に対し、選択対象サーバ上で動作しているジョブの他の対象サーバへの移行を指示する(S104)。 The management module 230 selects one target server connected to one target IO module whose target FW is not updated based on the update target IO module list 233, and selects the selected target server (hereinafter referred to as a selection target server). ) Is instructed to transfer the job running on the selection target server to another target server (S104).
 管理モジュール230は、選択対象サーバに接続された対象IOモジュール上の対象FWをアップデートするFWアップデート処理を行う(S105)。この処理の詳細は、後述する。ここでは、例えば、IOモジュール#0及び#1のうちの1つのIOモジュールに搭載されたFWがアップデートされる。 The management module 230 performs FW update processing for updating the target FW on the target IO module connected to the selection target server (S105). Details of this processing will be described later. Here, for example, the FW mounted on one of the IO modules # 0 and # 1 is updated.
 管理モジュール230は、アップデートされた対象マイクロを搭載した対象コントローラと、アップデートされた対象FWを搭載した対象IOモジュールとの間のリンクを接続する、接続確立処理を行う(S106)。この処理の詳細は、後述する。S106の後、管理モジュール230は、S103に処理を戻す。これにより、全ての対象FWに対し、順にファームウェアアップデート処理及び接続確立処理を実行できる。 The management module 230 performs connection establishment processing for connecting a link between the target controller on which the updated target micro is mounted and the target IO module on which the updated target FW is mounted (S106). Details of this processing will be described later. After S106, the management module 230 returns the process to S103. Thereby, the firmware update process and the connection establishment process can be sequentially executed for all the target FWs.
 管理モジュール230は、対象マイクロをアップデートするマイクロアップデート処理を行う(S107)。この処理の詳細は、後述する。ここでは、例えば、対象コントローラ#1に搭載された対象マイクロがアップデートされる。 The management module 230 performs a micro update process for updating the target micro (S107). Details of this processing will be described later. Here, for example, the target micro installed in the target controller # 1 is updated.
 管理モジュール230は、アップデートされた対象マイクロを搭載した対象コントローラと、アップデートされた対象FWを搭載した対象IOモジュールとの間のリンクを接続する、接続確立処理を行う(S108)。この処理の詳細は、後述する。 The management module 230 performs connection establishment processing for connecting a link between the target controller on which the updated target micro is mounted and the target IO module on which the updated target FW is mounted (S108). Details of this processing will be described later.
 以上のアップデート処理により、計算機システムの可用性を維持したまま、つまり、いずれかの対象サーバのサーバモジュールが記憶デバイスにアクセスできる状態を維持しつつ、対象FW及び対象マイクロ全てをアップデートできる。また、ユーザにより入力される1つのアップデート指示のみで、すべての対象FW及び対象マイクロを連携してアップデートするアップデート処理を実行できる。 With the above update processing, all of the target FW and target micro can be updated while maintaining the availability of the computer system, that is, while maintaining the state where the server module of any target server can access the storage device. In addition, an update process for updating all target FWs and target micros in cooperation with each other can be executed with only one update instruction input by the user.
 具体的には、アップデート処理において、管理モジュール230の指示により、以下のステップが行われる。
(1)2つの対象コントローラのうち、1つの対象コントローラ(例えば、対象コントローラ#0)についてマイクロアップデート処理(S102)が行われる。
(2)複数の対象IOモジュール(例えば、対象IOモジュール#0、#1)のうち、1つの対象IOモジュール(例えば、対象IOモジュール#0)についてFWアップデート処理(S105)が行われる。
(3)接続確立処理(S106)が行われる。
(1)で、対象コントローラ#0と対象コントローラ#0に接続される全ての対象IOモジュール(例えば、対象IOモジュール#0、#1)との間のリンクが全て切断され、対象コントローラ#0の対象マイクロがアップデートされ、(2)で、対象IOモジュール#0と対象コントローラ#1との間のリンクが切断され、対象IOモジュール#0の対象FWがアップデートされ、(3)で、対象IOモジュール#0と対象コントローラ#0とのリンクが接続される。つまり、1の対象コントローラ#0のマイクロアップデート処理を行われた後、1の対象IOモジュール#0のFWアップデート処理が行われ、これら対象コントローラ#0及び対象IOモジュール#0の接続確立処理が続いて行われる。これにより、他の対象IOモジュール#1は、他の対象コントローラ#1を介して記憶デバイスにアクセスを継続できる。従って、計算機システムの可用性は維持できる。また、これにより、1の対象IOモジュール#0については、両方の対象コントローラ#0、#1との間のリンクが切断され、対象サーバ#0の記憶デバイスへのアクセスが遮断されてしまう期間が、自身の対象FWをアップデートするときだけに抑えられる。なお、(3)で新たに接続が確立されたリンクは、アップデートが行われた新たなバージョンの対象マイクロ及び対象FWに基づく、対象コントローラ及び対象IOモジュール間のリンクである。
Specifically, in the update process, the following steps are performed according to an instruction from the management module 230.
(1) Of the two target controllers, the micro-update process (S102) is performed for one target controller (for example, target controller # 0).
(2) The FW update process (S105) is performed for one target IO module (for example, target IO module # 0) among a plurality of target IO modules (for example, target IO modules # 0 and # 1).
(3) A connection establishment process (S106) is performed.
In (1), all the links between the target controller # 0 and all target IO modules (for example, target IO modules # 0, # 1) connected to the target controller # 0 are disconnected, and the target controller # 0 The target micro is updated, the link between the target IO module # 0 and the target controller # 1 is disconnected in (2), and the target FW of the target IO module # 0 is updated. In (3), the target IO module is updated. The link between # 0 and the target controller # 0 is connected. That is, after the micro update process of one target controller # 0 is performed, the FW update process of one target IO module # 0 is performed, and the connection establishment process of these target controller # 0 and target IO module # 0 continues. Done. Thereby, the other target IO module # 1 can continue to access the storage device via the other target controller # 1. Therefore, the availability of the computer system can be maintained. As a result, for one target IO module # 0, there is a period in which the link between both target controllers # 0 and # 1 is disconnected and access to the storage device of the target server # 0 is blocked. It is suppressed only when updating its own target FW. The link newly established in (3) is a link between the target controller and the target IO module based on the new version of the target micro and target FW that have been updated.
 また、管理モジュール230の指示により、まず1のコントローラ#0のアップデート処理が行われ、全ての対象IOモジュールのFWアップデート処理(S105)、及び、全ての対象IOモジュールと、1のコントローラ#0との接続確立処理(S106)が終了した後、他のコントローラ#1のアップデート処理が行われる。これにより、全ての対象サーバ#0、#1は、対象IOモジュール#0、#1のFWアップデート処理以外のときには、いずれかの対象コントローラを介して記憶デバイスへのアクセスを継続できる。 Further, according to the instruction from the management module 230, first, the update process of the first controller # 0 is performed, the FW update process of all the target IO modules (S105), all the target IO modules, and the one controller # 0. After the connection establishment process (S106) is completed, the update process of the other controller # 1 is performed. As a result, all the target servers # 0 and # 1 can continue to access the storage device via any of the target controllers when the FW update process is not performed for the target IO modules # 0 and # 1.
 また、管理モジュール230の指示により、1の対象コントローラ#0と1の対象IOモジュール#0との間のリンクが接続された後、他の対象IOモジュール#1のアップデート処理(S105)及び接続確立処理(S106)が順次行われる。これにより、他の対象IOモジュール#1と対象コントローラ#0、#1との間のそれぞれのリンクが切断され、対象サーバ#1の記憶デバイスへのアクセスが遮断されてしまう期間が、自身の対象FWをアップデートするときだけに抑えられる。 Further, after the link between one target controller # 0 and one target IO module # 0 is connected according to an instruction from the management module 230, update processing (S105) and connection establishment of the other target IO module # 1 Processing (S106) is performed sequentially. As a result, each link between the other target IO module # 1 and the target controllers # 0 and # 1 is disconnected and access to the storage device of the target server # 1 is blocked. Suppressed only when updating FW.
 なお、この具体例では、対象サーバを2つのサーバモジュールとして限定していたが、対象サーバは、3つ以上であってもよい。また、本実施例のアップデート処理においては、管理モジュール230は、まず1のコントローラ#0のアップデート処理を指示し、次に全ての対象サーバのFWアップデート処理(S105)を指示し、その後に、全ての対象サーバと、1のコントローラ#0との接続確立処理(S106)を指示していたが、これに限られない。例えば、管理モジュール230は、S102のマイクロアップデート処理に代えて、1の対象サーバを選択し、選択対象サーバに対してその対象IOモジュールのFWアップデート処理(S105)を指示してもよい。この場合、選択対象サーバのFWアップデート処理の後、1の対象コントローラに対してマイクロアップデート処理を指示し、マイクロアップデートの完了を示す完了通知を受信した後、選択対象サーバ又は1の対象コントローラに対し、選択対象サーバと1の対象コントローラとの間のリンクを接続するための接続確立処理(S106)を指示すればよい。この接続確立処理の後、管理モジュール230は、残る対象サーバ及び対象コントローラへの、FWアップデート処理及びマイクロアップデート処理の指示は、どのように行ってもよい。 In this specific example, the target server is limited to two server modules, but there may be three or more target servers. In the update process of the present embodiment, the management module 230 first instructs the update process of the first controller # 0, then instructs the FW update process (S105) of all target servers, and then all The connection establishment process (S106) between the target server and one controller # 0 is instructed, but the present invention is not limited to this. For example, instead of the micro update process of S102, the management module 230 may select one target server and instruct the selection target server to perform the FW update process (S105) of the target IO module. In this case, after the FW update process of the selection target server, the micro update process is instructed to one target controller, and after the completion notification indicating the completion of the micro update is received, the selection target server or one target controller is notified. The connection establishment process (S106) for connecting the link between the selection target server and one target controller may be indicated. After this connection establishment process, the management module 230 may instruct the remaining target server and target controller in the FW update process and the micro update process in any way.
 さらに、対象FWをアップデートするときにその対象IOを有する対象サーバ上のジョブを他の対象サーバに移行することで、対象サーバで稼働するアプリケーションが記憶デバイスにアクセスできる状態を維持しつつ、対象FW及び対象マイクロのアップデートを行うことができる。 Furthermore, when updating the target FW, the job on the target server having the target IO is migrated to another target server, so that the application running on the target server can access the storage device while maintaining the target FW. And the target micro can be updated.
 図12は、事前処理のフローチャートの一例である。事前処理は、図11のS100の処理である。 FIG. 12 is an example of a flowchart of pre-processing. The pre-processing is the processing of S100 in FIG.
 管理モジュール230は、ユーザにより入力されたアップデート指示を受信する(S200)。アップデート指示は、ユーザが管理装置140に接続される入力装置からの入力される指示である。例えば、ユーザは、アップデートしようとしている計算機システムの識別番号、アップデートしようとしているIOモジュール113の識別番号、及び、アップデートしようとしているコントローラ130の識別番号のうちのいずれか1つ以上を入力装置に入力する。例えば、アップデート指示に計算機システムの識別番号が含まれる場合、管理モジュール230は、管理装置140のメモリ142に格納された図示しない計算機システムの構成情報を参照し、計算機システムの識別番号から対象IOモジュール及び対象コントローラを特定してもよい。また、例えば、アップデート指示に対象IOモジュール及び対象コントローラのうちのいずれか一方の識別番号が含まれる場合、その識別番号からいずれか他方を特定してもよい。なお、アップデート指示には、アップデートしようとしているFW及びストレージマイクロのアップデート後のバージョンが含まれてもよい。 The management module 230 receives the update instruction input by the user (S200). The update instruction is an instruction input from the input device connected to the management apparatus 140 by the user. For example, the user inputs one or more of the identification number of the computer system to be updated, the identification number of the IO module 113 to be updated, and the identification number of the controller 130 to be updated to the input device. To do. For example, when the update instruction includes the identification number of the computer system, the management module 230 refers to the configuration information of the computer system (not shown) stored in the memory 142 of the management apparatus 140 and determines the target IO module from the identification number of the computer system. And the target controller may be specified. For example, when the update instruction includes an identification number of one of the target IO module and the target controller, either one of the identification numbers may be specified. The update instruction may include an updated version of the FW and storage micro that are to be updated.
 管理モジュール230は、アップデート指示に含まれるストレージマイクロ220及びFW210に、対象マイクロと対象FWと連携してのアップデート処理が必要か否かをチェックする(S201)。具体的には、例えば、管理モジュール230は、ファームウェアバージョン管理テーブル231及びストレージマイクロバージョン管理テーブル232に基づき、アップデート指示に基づくIOモジュール113及びコントローラ130について、現在動作中のFW210及びストレージマイクロ220のバージョンをそれぞれ取得する。そして、管理モジュール230は、取得したFW210及びストレージマイクロ220の両者のアップデートが必要であり、かつ、これらのアップデートを同じタイミングで行う必要があるか否かをチェックする。例えば、現在動作中のFW210及びストレージマイクロ220がともにアップデート可能であっても、現在動作中のストレージマイクロ220がアップデート後の新たなバージョンのFW210に対応可能であれば、現在動作中のFW210のみをアップデートすればよい。このため、このような場合は、この両者を一連のアップデート処理でアップデートする必要がない。 The management module 230 checks whether the storage micro 220 and the FW 210 included in the update instruction need to be updated in cooperation with the target micro and the target FW (S201). Specifically, for example, the management module 230 determines the version of the currently operating FW 210 and storage micro 220 for the IO module 113 and the controller 130 based on the update instruction based on the firmware version management table 231 and the storage micro version management table 232. Get each. Then, the management module 230 checks whether it is necessary to update both the acquired FW 210 and the storage micro 220 and to perform these updates at the same timing. For example, even if both the currently operating FW 210 and the storage micro 220 can be updated, if the currently operating storage micro 220 can support the updated new version of the FW 210, only the currently operating FW 210 is used. Update it. For this reason, in such a case, it is not necessary to update both in a series of update processes.
 対象マイクロと対象FWの連携したアップデート処理が必要ある場合、管理モジュール230は、S202に処理を進める。これらの連携したアップデート処理が必要ない場合、管理モジュール230は、ユーザにこれらの連携したアップデート処理が必要ないことを通知し、事前処理及びアップデート処理を終了する。この場合、ユーザは必要に応じて対象マイクロと対象FWを片方ずつアップデートする。また、例えば、ユーザへの通知について、管理モジュール230は、管理装置140に接続された出力装置の画面にその旨を表示するようにしてもよい。以下も同様である。 If the target micro and the target FW need to be updated, the management module 230 advances the process to S202. When these coordinated update processes are not necessary, the management module 230 notifies the user that these coordinated update processes are not necessary, and ends the preliminary process and the update process. In this case, the user updates the target micro and the target FW one by one as necessary. Further, for example, regarding the notification to the user, the management module 230 may display the fact on the screen of the output device connected to the management device 140. The same applies to the following.
 なお、管理モジュール230は、ファームウェアバージョン管理テーブル231及びストレージマイクロバージョン管理テーブル232を利用せずに、対象ストレージシステム及び対象サーバから、対象マイクロ及び対象FWのバージョンをそれぞれ取得してもよい。 The management module 230 may acquire the version of the target micro and the target FW from the target storage system and the target server without using the firmware version management table 231 and the storage micro version management table 232, respectively.
 管理モジュール230は、アップデート指示に基づくIOモジュール113及びコントローラ130について、アップデート後のFW及びストレージマイクロバージョンに互換性があるかをチェックする(S202)。互換性がある場合は、管理モジュール230は、S203に処理を進める。互換性が無い場合は、管理モジュール230は、ユーザにアップデート不可能な旨を通知し、事前処理及びアップデート処理を終了する。 The management module 230 checks whether the updated FW and storage micro version are compatible for the IO module 113 and the controller 130 based on the update instruction (S202). If there is compatibility, the management module 230 advances the process to S203. If there is no compatibility, the management module 230 notifies the user that the update is not possible, and ends the pre-processing and the update processing.
 管理モジュール230は、計算機システムの障害が発生しているか否かをチェックする(S203)。具体的には、例えば、管理モジュール230は、サーバ装置・コントローラ間状態管理テーブル235に基づき、閉塞しているコントローラ130がないかを確認する。障害が発生している場合、管理モジュール230は、障害回復を優先するためアップデート処理ができない旨をユーザ通知し、事前処理及びアップデート処理を終了する。 The management module 230 checks whether a failure of the computer system has occurred (S203). Specifically, for example, the management module 230 checks whether there is a blocked controller 130 based on the server device / controller state management table 235. If a failure has occurred, the management module 230 gives notice to the user that update processing cannot be performed because failure recovery is prioritized, and ends the pre-processing and update processing.
 事前処理により、アップデート指示に基づくIOモジュール113及びコントローラ130上のFW210及びストレージマイクロ220に、対象マイクロと対象FWの連携したアップデート処理が必要か否かを判断できる。 By pre-processing, it is possible to determine whether or not update processing in cooperation between the target micro and the target FW is necessary for the FW 210 and the storage micro 220 on the IO module 113 and the controller 130 based on the update instruction.
 図13は、リストアップ処理のフローチャートの一例である。リストアップ処理は、図11のS101の処理である。 FIG. 13 is an example of a flowchart of the listing process. The list-up process is the process of S101 in FIG.
 管理モジュール230は、サーバ装置・コントローラ間接続管理テーブル234に基づき、対象IOモジュールをリストアップする(S300)。 The management module 230 lists the target IO modules based on the server device / controller connection management table 234 (S300).
 管理モジュール230は、リストアップした対象IOモジュールと対象コントローラとの接続状態をチェックする(S301)。具体的には、例えば、管理モジュール230は、サーバ装置・コントローラ間状態管理テーブル235に基づき、リストアップした全ての対象IOモジュールについて、対象IOモジュール毎に物理的に接続されたコントローラ130の間のリンクの接続状態を確認する。 The management module 230 checks the connection state between the listed target IO module and the target controller (S301). Specifically, for example, the management module 230 determines, based on the server device / controller state management table 235, between all the target IO modules listed between the controllers 130 physically connected for each target IO module. Check the link connection status.
 管理モジュール230は、対象IOモジュールを確定し、対象IOモジュールを登録してアップデート対象IOモジュールリスト233を作成する(S302)。例えば、管理モジュール230は、サーバ装置・コントローラ間状態管理テーブル235に基づき、リストアップしたIOモジュール113のうち、物理的に接続されたコントローラとの接続状態が“接続”であるIOモジュールを対象IOモジュールとして、アップデート対象IOモジュールリスト233に登録する。 The management module 230 determines the target IO module, registers the target IO module, and creates the update target IO module list 233 (S302). For example, the management module 230 selects an IO module whose connection state with a physically connected controller from among the listed IO modules 113 is “connected” based on the server device / controller state management table 235. The module is registered in the update target IO module list 233 as a module.
 リストアップ処理により、コントローラとの接続状態が“接続”であるIOモジュール113を、アップデート処理の対象となる対象IOモジュールとして確定できる。また、対象IOモジュールが確定されることにより、対象コントローラも確定される。コントローラ130と切断された状態のIOモジュール113は、アップデート処理によらずに、個別にそのFW210をアップデートできるからである。 By the list-up process, the IO module 113 whose connection state with the controller is “connected” can be determined as the target IO module to be subjected to the update process. Further, the target controller is also determined by determining the target IO module. This is because the IO module 113 disconnected from the controller 130 can individually update the FW 210 without using the update process.
 図14は、マイクロアップデート処理のフローチャートの一例である。マイクロアップデート処理は、図11のS102及びS107の処理である。例えば、S102では、コントローラ#0が対象コントローラであり、コントローラ#0上の対象マイクロがアップデートされ、S107では、コントローラ#1が対象コントローラであり、コントローラ#1上の対象マイクロがアップデートされる。 FIG. 14 is an example of a flowchart of the micro update process. The micro update process is the process of S102 and S107 in FIG. For example, in S102, the controller # 0 is the target controller and the target micro on the controller # 0 is updated. In S107, the controller # 1 is the target controller and the target micro on the controller # 1 is updated.
 管理モジュール230は、任意の対象コントローラの対象マイクロに対し、対象マイクロのアップデートを指示する(S400)。 The management module 230 instructs the target micro of any target controller to update the target micro (S400).
 対象マイクロは、アップデートの指示を受信する。対象マイクロはアップデートの指示に基づき、自身の対象コントローラと物理的に接続されている対象IOモジュールの接続状態をすべて切断にする(S401)。 The target micro receives the update instruction. Based on the update instruction, the target micro disconnects all the connection states of the target IO modules physically connected to its target controller (S401).
 具体的には、例えば、対象マイクロは、対象サーバから送信されるI/Oを停止する停止要求を、対象IOモジュールに送信する。対象IOモジュールは、対象サーバからのI/Oを停止要求の送信元とは別の対象コントローラの対象マイクロに送信するように切り替える。そして、対象IOモジュールは、自身のキューに格納された切り替え前の全てのI/Oを送信した後、I/Oの送信が完了した旨を停止要求の送信元の対象に通知する。対象マイクロは、通知を受信し、自身と停止要求の送信先の対象IOモジュールとの接続状態を切断とする。これにより、対象IOモジュールに送信されたI/Oを対象コントローラに残さず送信できる。 Specifically, for example, the target micro transmits a stop request to stop the I / O transmitted from the target server to the target IO module. The target IO module switches so that I / O from the target server is transmitted to the target micro of the target controller different from the transmission source of the stop request. Then, after transmitting all the I / O before switching stored in its own queue, the target IO module notifies the target of the stop request transmission source that the transmission of the I / O is completed. The target micro receives the notification and disconnects the connection state between itself and the target IO module to which the stop request is transmitted. Thereby, the I / O transmitted to the target IO module can be transmitted without leaving the target controller.
 対象マイクロは、自身をアップデートする(S402)。対象マイクロのアップデートは、従来の手順に従ってよい。例えば、管理装置140は管理装置内のディスクに格納された対象マイクロの更新プログラムを、ネットワーク160を介して対象マイクロに送付し、対象マイクロは受け取った更新プログラムをメモリ132上に格納した後、自身を再起動することで自身をアップデートする。なお、対象マイクロをアップデートしている間、当該対象コントローラは一時停止される。 The target micro updates itself (S402). Updating the target micro may follow conventional procedures. For example, the management device 140 sends the update program of the target micro stored in the disk in the management device to the target micro via the network 160, and the target micro stores the received update program in the memory 132, and then Update itself by restarting. Note that the target controller is temporarily suspended while the target micro is being updated.
 対象マイクロは、アップデート後の自身のバージョンに基づいてバージョン管理テーブル222を更新する(S403)。 The target micro updates the version management table 222 based on its version after the update (S403).
 対象マイクロは、動作バージョン管理テーブル223の有効ビット2231を“0”に更新する。(S404)。 The target micro updates the valid bit 2231 of the operation version management table 223 to “0”. (S404).
 対象マイクロは、自身を再起動する(S405)。再起動後対象マイクロは、管理モジュール230に対象マイクロのアップデート完了通知を送信する。なおここでは、対象マイクロは、自身の対象コントローラとS401で切断した対象IOモジュールとの再接続は出来ない。これは、対象FWのアップデートはまだ行われていないので、対象FWが対象マイクロに対応できていないためである。 The target micro restarts itself (S405). After the restart, the target micro transmits an update completion notification of the target micro to the management module 230. Here, the target micro cannot reconnect its own target controller to the target IO module disconnected in S401. This is because the target FW is not yet compatible with the target micro because the target FW has not yet been updated.
 管理モジュール230は、アップデート完了通知を受信する。そして、管理モジュール230は、サーバ装置・コントローラ間状態テーブル235及びストレージマイクロバージョン管理テーブル232を更新し(S406、407)、マイクロアップデート処理を終了する。 The management module 230 receives an update completion notification. Then, the management module 230 updates the server device / controller state table 235 and the storage micro version management table 232 (S406, 407), and ends the micro update process.
 マイクロアップデート処理により、対象コントローラの対象マイクロをアップデートできる。また、管理モジュール230が、対象コントローラからの通知に基づき各種のテーブルを更新することにより、対象マイクロの更新及び対象コントローラの接続状態を把握できる。 The target micro of the target controller can be updated by the micro update process. In addition, the management module 230 can update the various tables based on the notification from the target controller, thereby grasping the update of the target micro and the connection state of the target controller.
 なお、ここでは、図11のS102及びS107におけるマイクロアップデート処理を説明した。ただし、S107では、S102と異なり、対象マイクロが動作する対象コントローラに接続している対象IOモジュールがない場合がある。この場合、対象IOモジュールと対象コントローラとの間のリンクの切断(S401)、及び、サーバ装置・コントローラ間状態管理テーブル235の更新(S406)を行われない。 Here, the micro update process in S102 and S107 of FIG. 11 has been described. However, in S107, unlike S102, there may be no target IO module connected to the target controller on which the target micro operates. In this case, the disconnection of the link between the target IO module and the target controller (S401) and the update of the server device / controller state management table 235 (S406) are not performed.
 図15は、FWアップデート処理のフローチャートの一例である。FWアップデート処理は、図11のS105の処理である。 FIG. 15 is an example of a flowchart of the FW update process. The FW update process is the process of S105 in FIG.
 管理モジュール230は、アップデート対象IOモジュールリスト233を参照し、アップデート対象2332が“1”の対象FWのアップデートを行うFWアップデート指示を、対象サーバに送信する(S500)。ここで、FWアップデート指示の対象となるFWは、マイクロアップデート処理が行われた対象コントローラに物理的に接続されており、かつ、切断状態である対象IOモジュール上の対象FWである。 The management module 230 refers to the update target IO module list 233 and transmits an FW update instruction to update the target FW whose update target 2332 is “1” to the target server (S500). Here, the FW that is the target of the FW update instruction is the target FW on the target IO module that is physically connected to the target controller on which the micro update process has been performed and is in a disconnected state.
 対象サーバのサーバドライバ(以下、対象サーバドライバ)は、FWアップデート指示を受信し、指示に含まれる対象IOモジュールと対象コントローラとの間のリンクを切断する(S501)。なお、対象サーバドライバは、必要に応じて、自身の対象サーバと対象IOモジュールとの間のリンクを切断してもよい。 The server driver of the target server (hereinafter referred to as the target server driver) receives the FW update instruction, and disconnects the link between the target IO module and the target controller included in the instruction (S501). Note that the target server driver may disconnect the link between the target server and the target IO module as necessary.
 対象ドライバは、対象FWアップデートする(S502)。対象FWのアップデートは、従来のIOモジュールにおけるFWをアップデートするための手順であってよい。 The target driver performs target FW update (S502). The update of the target FW may be a procedure for updating the FW in the conventional IO module.
 対象サーバドライバは、対象サーバと対象IOモジュールとの間のリンクが切断されている場合は、当該リンクを確立する(S503)。そして、対象サーバドライバは、対象IOモジュールの対象FWのアップデートが完了したことを示す完了通知を管理モジュール230に送信する。 When the link between the target server and the target IO module is disconnected, the target server driver establishes the link (S503). Then, the target server driver transmits a completion notification indicating that the update of the target FW of the target IO module is completed to the management module 230.
 管理モジュール230は、完了通知を受信する。そして、管理モジュール230は、完了通知に基づきファームウェアバージョン管理テーブル231及びアップデート対象IOモジュールリスト233を更新し(S504、505)、FWアップデート処理を終了する。 The management module 230 receives a completion notification. Then, the management module 230 updates the firmware version management table 231 and the update target IO module list 233 based on the completion notification (S504, 505), and ends the FW update process.
 FWアップデート処理により、対象FWを、アップデートされた対象マイクロに対応可能なバージョンにアップデートすることができる。なお、対象FWのアップデートに応じて、対象サーバドライバのアップデートが必要となった場合、対象サーバドライバは、対象FWのアップデートのタイミングに合わせて対象サーバドライバのアップデートを行うことができる。 The target FW can be updated to a version compatible with the updated target micro by the FW update process. When the target server driver needs to be updated in accordance with the update of the target FW, the target server driver can update the target server driver in accordance with the update timing of the target FW.
 図16は、接続確立処理のフローチャートの一例である。接続確立処理は、図11のS106及びS108の処理である。例えば、S106では、コントローラ#0とIOモジュール#0との間のリンク、又は、コントローラ#0とIOモジュール#1との間のリンクがそれぞれ接続され、S108では、コントローラ#1とIOモジュール#0及び#1との間のリンクが接続される。 FIG. 16 is an example of a flowchart of connection establishment processing. The connection establishment process is the process of S106 and S108 in FIG. For example, in S106, a link between the controller # 0 and the IO module # 0 or a link between the controller # 0 and the IO module # 1 is connected. In S108, the controller # 1 and the IO module # 0 are connected. And # 1 are connected.
 管理モジュール230は、対象サーバドライバに対し、対象IOモジュールと対象コントローラとの接続を指示する(S600)。具体的には、例えば、管理モジュール230は、アップデート対象IOモジュールリスト233及びサーバ装置・コントローラ間状態管理テーブル235に基づき、アップデート対象2332が“0”であり、かつ、対象コントローラとの接続状態2353(または2354)が“切断”状態である対象IOモジュール及び対象コントローラ間の接続指示を、対象サーバに送信する。 The management module 230 instructs the target server driver to connect the target IO module and the target controller (S600). Specifically, for example, the management module 230 is based on the update target IO module list 233 and the server device / controller state management table 235, the update target 2332 is “0”, and the connection state 2353 with the target controller. (Or 2354) transmits a connection instruction between the target IO module and the target controller in the “disconnected” state to the target server.
 対象サーバは、接続指示を受信し、対象IOモジュールに対応するサーバIOモジュールドライバ202に接続指示を渡す。サーバIOモジュールドライバ202は、接続指示に基づき、対象IOモジュールに対し、切断状態にある対象コントローラとの再接続指示を行う。対象IOモジュールは、再接続指示に基づき、対象コントローラに対して接続要求を送信する(S601)。対象コントローラは、接続要求を受信し、接続要求を対象マイクロに渡す。 The target server receives the connection instruction and passes the connection instruction to the server IO module driver 202 corresponding to the target IO module. Based on the connection instruction, the server IO module driver 202 instructs the target IO module to reconnect to the target controller in the disconnected state. The target IO module transmits a connection request to the target controller based on the reconnection instruction (S601). The target controller receives the connection request and passes the connection request to the target micro.
 対象マイクロは、接続要求の送信元の対象IOモジュールからFWバージョン情報211を取得する(S602)。これにより、対象コントローラが、切断状態にある対象IOモジュール上で現在動作中の対象FWのバージョンを取得できる。 The target micro acquires the FW version information 211 from the target IO module that is the source of the connection request (S602). Thereby, the target controller can acquire the version of the target FW currently operating on the target IO module in the disconnected state.
 対象マイクロは、動作バージョン管理テーブル223有効ビット2231が“1”であるか否かを判定する(S603)。有効ビット2231が“0”の場合(S603で、No)、動作バージョン管理テーブル223が有効でないことを意味するので、対象マイクロは、S608に処理を進める。 The target micro determines whether or not the operation version management table 223 valid bit 2231 is “1” (S603). If the valid bit 2231 is “0” (No in S603), it means that the operation version management table 223 is not valid, and the target micro advances the process to S608.
 一方、有効ビット2231が“1”の場合(S603で、Yes)、動作バージョン管理テーブル223が有効であることを意味するので、動作中FWバージョン2230と、S602で取得した対象FWのバージョンが一致するか否かを判定する(S604)。 On the other hand, when the valid bit 2231 is “1” (Yes in S603), it means that the operation version management table 223 is valid, so the operating FW version 2230 and the version of the target FW acquired in S602 match. It is determined whether or not to perform (S604).
 取得したバージョンと一致する場合(S604で、No)、対象マイクロは、対象コントローラと対象IOモジュールとの間の接続を確立する(S605)。そして、対象マイクロは、接続完了した旨の完了通知を、管理モジュール230に送信する。管理モジュール230は、完了通知を受信し、サーバ装置・コントローラ間状態管理テーブル235を更新し(S606)、接続確立処理を終了する。 If it matches the acquired version (No in S604), the target micro establishes a connection between the target controller and the target IO module (S605). Then, the target micro transmits a completion notification indicating that the connection has been completed to the management module 230. The management module 230 receives the completion notification, updates the server-controller / controller state management table 235 (S606), and ends the connection establishment process.
 一方、取得したバージョンと一致しない場合(S604で、No)、対象マイクロは、対象コントローラと対象IOモジュールとの間の接続が不可能であることを、管理モジュール230に通知し(S607)、接続確立処理を終了する。なお、管理モジュール230は、通知を受信した場合、対象コントローラと対象IOモジュールとの間の接続が不可能である旨を、出力装置を介してユーザに通知してもよい。 On the other hand, if it does not match the acquired version (No in S604), the target micro notifies the management module 230 that the connection between the target controller and the target IO module is impossible (S607). The establishment process is terminated. When receiving the notification, the management module 230 may notify the user through the output device that the connection between the target controller and the target IO module is impossible.
 S608で、対象マイクロは、S602で取得した対象FWのバージョンが、バージョン管理テーブル222の対応FWバージョン2220に含まれているか否かを判定する。取得したバージョンが含まれている場合(S608で、Yes)、対象マイクロは、自身に対応する対象FWのバージョンを、取得したバージョンに決定する。そして、対象マイクロは動作バージョン管理テーブル223の動作中FWバージョン2230に、取得したバージョンを設定するとともに、その有効ビット2231を“1”に設定する(S609)。そして、対象マイクロは、対象コントローラと対象IOモジュールとの間の接続を確立し(S605)、接続の完了通知を、管理モジュール230に送信する。管理モジュール230は、完了通知を受信し、サーバ装置・コントローラ間状態管理テーブル235を更新し(S606)、接続確立処理を終了する。 In S608, the target micro determines whether or not the version of the target FW acquired in S602 is included in the corresponding FW version 2220 of the version management table 222. If the acquired version is included (Yes in S608), the target micro determines the version of the target FW corresponding to itself as the acquired version. Then, the target micro sets the acquired version in the operating FW version 2230 of the operation version management table 223, and sets the valid bit 2231 to “1” (S609). Then, the target micro establishes a connection between the target controller and the target IO module (S605), and transmits a connection completion notification to the management module 230. The management module 230 receives the completion notification, updates the server-controller / controller state management table 235 (S606), and ends the connection establishment process.
 一方、取得したバージョンが含まれていない場合(S608で、No)、対象マイクロは、対象コントローラと対象IOモジュールとの間の接続が不可能であることを、管理モジュール230に通知し(S607)、接続確立処理を終了する。 On the other hand, when the acquired version is not included (No in S608), the target micro notifies the management module 230 that the connection between the target controller and the target IO module is impossible (S607). Then, the connection establishment process is terminated.
 接続確立処理においては、管理モジュール230の指示に基づき、対象コントローラが、対象IOモジュールと接続ができるか否かを確認できる。これにより、アップデートされたFWが動作する対象IOモジュールは、相互に接続可能な対象コントローラのみと接続できる。つまり、対象IOモジュールは、対象FWに対応しない対象マイクロが動作する対象コントローラとは接続せず、対象FWに対応する対象マイクロが動作する対象コントローラにのみ接続されることとなる。 In the connection establishment process, based on an instruction from the management module 230, it can be confirmed whether or not the target controller can connect to the target IO module. As a result, the target IO module on which the updated FW operates can be connected only to the target controllers that can be connected to each other. That is, the target IO module is not connected to the target controller on which the target micro that does not correspond to the target FW operates, but is connected only to the target controller on which the target micro corresponding to the target FW operates.
 また、対象マイクロが、自身に対応可能なFWのバージョンを管理している。これにより、対象IOからアップデート後の対象FWのバージョンを取得することで、対象マイクロが、自身とIOモジュールを接続してよいかの可否を判断できる。 Also, the target micro manages the version of FW that can be handled by itself. Thereby, by acquiring the version of the updated target FW from the target IO, it is possible to determine whether or not the target micro can connect the IO module to itself.
 対象IOモジュールと対象コントローラとが接続された場合、その接続状態を管理モジュール230が管理できる。また、対象IOモジュールと対象コントローラとが接続できなかった場合、その旨を、管理モジュール230を介してユーザに通知できる。 When the target IO module and the target controller are connected, the management module 230 can manage the connection state. When the target IO module and the target controller cannot be connected, the fact can be notified to the user via the management module 230.
 なお、ここでは、管理モジュール230が、対象サーバの対象サーバドライバに対して対象IOモジュールと対象コントローラとの間の接続指示を送信するのを契機に、接続確立処理が開始された。しかし、接続確立処理は、どのように行われてもよい。例えば、管理モジュール230が、対象コントローラの対象マイクロに対して、接続先となる対象IOモジュールを指定する方式であってもよい。 In this case, the connection establishment process is started when the management module 230 transmits a connection instruction between the target IO module and the target controller to the target server driver of the target server. However, the connection establishment process may be performed in any way. For example, the management module 230 may specify a target IO module as a connection destination for the target micro of the target controller.
 なお、ここでは、図11のS106における接続確立処理を説明したが、図11のS108における接続確立処理も基本的には同様である。ただし、S106では、1つの対象IOモジュールが、対象コントローラに対して再接続要求を出していたが、S108では、対象FWを更新した全てのIOモジュール113が、対象コントローラに対して再接続要求を出すようにしてもよい。この場合、IOモジュール113と対象コントローラとの間の既に確立されているリンクは、接続されたまま処理される。 Although the connection establishment process in S106 of FIG. 11 has been described here, the connection establishment process in S108 of FIG. 11 is basically the same. However, in S106, one target IO module issued a reconnection request to the target controller. However, in S108, all IO modules 113 that updated the target FW issued reconnection requests to the target controller. You may make it take out. In this case, the already established link between the IO module 113 and the target controller is processed while being connected.
 ここで、具体例の計算機システムにおける、アップデート処理の手順を簡単に説明する。図19は、アップデート処理の手順を説明する図である。 Here, the procedure of the update process in the specific example computer system will be briefly described. FIG. 19 is a diagram for explaining the procedure of the update process.
 (1)は、初期状態である。説明においては、サーバ#0内のIOモジュール#0とコントローラ#0との間のリンクを第1リンク、サーバ#1内のIOモジュール#1とコントローラ#0との間のリンクを第2リンク、サーバ#0内のIOモジュール#0コントローラ#1との間のリンクを第3リンク、サーバ#1のIOモジュール#1と、コントローラ#1との間のリンクを第4リンク、とする。 (1) is the initial state. In the description, the link between the IO module # 0 in the server # 0 and the controller # 0 is the first link, the link between the IO module # 1 in the server # 1 and the controller # 0 is the second link, The link between the IO module # 0 controller # 1 in the server # 0 is the third link, and the link between the IO module # 1 of the server # 1 and the controller # 1 is the fourth link.
 管理モジュール230は、事前処理(S100)及びリストアップ処理(S101)の後、第1のマイクロアップ処理を行う(S102)。 The management module 230 performs a first micro-up process after the pre-process (S100) and the list-up process (S101) (S102).
 第1のマイクロアップ処理では、管理モジュール230は、アップデート指示として、サーバ装置コントローラ管状態管理テーブル235に基づき、コントローラ#0を停止(2)し第1及び第2リンクを切断しコントローラ#0の対象マイクロをアップデート(3)する指示を、コントローラ#0に送信する。コントローラ#0は、アップデート指示に基づき(2)、(3)を行う。 In the first micro-up process, the management module 230 stops (2) the controller # 0 and disconnects the first and second links and updates the controller # 0 based on the server device controller pipe state management table 235 as an update instruction. An instruction to update (3) the target micro is transmitted to the controller # 0. Controller # 0 performs (2) and (3) based on the update instruction.
 管理モジュール230は、S103、S104を経て、第1のファームウェアアップデート処理を行う(S105)。 The management module 230 performs a first firmware update process via S103 and S104 (S105).
 第1のファームウェアアップデート処理では、管理モジュール230は、ファームウェアアップデート指示として、サーバ装置コントローラ管状態管理テーブル235に基づき、サーバ#0を停止(4)し第3リンクを切断しIOモジュール#0の対象FWをアップデート(5)しサーバ#0を再起動する(6)指示を、サーバ#0へ送信する。サーバ#0は、アップデート指示に基づき、(4)~(6)を行い、アップデートの完了通知を管理モジュール230に送信する。 In the first firmware update process, the management module 230 stops (4) the server # 0 and disconnects the third link as a firmware update instruction on the basis of the server device controller pipe state management table 235, and targets the IO module # 0. An instruction to update the FW (5) and restart the server # 0 (6) is transmitted to the server # 0. The server # 0 performs (4) to (6) based on the update instruction, and transmits an update completion notification to the management module 230.
 管理モジュール230は、第1リンクを接続する第1リンク接続指示をサーバ#0の対象サーバモジュールに送信する。対象サーバモジュールは、第1リンク接続指示に応じた接続の指示をコントローラ#0に送信する。コントローラ#0は、当該指示に応じて接続確立処理を行う(S106)。 The management module 230 transmits a first link connection instruction for connecting the first link to the target server module of the server # 0. The target server module transmits a connection instruction according to the first link connection instruction to the controller # 0. Controller # 0 performs connection establishment processing in response to the instruction (S106).
 これにより、具体例の計算機システムにおけるコントローラ#0の対象マイクロのアップデートを、第1~第4リンクのうちの少なくとも1つのリンクを接続した状態で行うことができる。従って、少なくともサーバ#0及び#1のいずれかが記憶デバイスにアクセスできる状態、つまり計算機システムの可用性を維持しつつ、対象マイクロをアップデートできる。 Thereby, the target micro of controller # 0 in the specific example computer system can be updated in a state where at least one of the first to fourth links is connected. Therefore, at least one of the servers # 0 and # 1 can access the storage device, that is, the target micro can be updated while maintaining the availability of the computer system.
 管理モジュール230は、S103、S104を経て、第2のファームウェアアップデート処理を行う(S105)。 The management module 230 performs the second firmware update process through S103 and S104 (S105).
 第2のファームウェアアップデート処理では、管理モジュール230は、ファームウェアアップデート指示として、サーバ装置コントローラ管状態管理テーブル235に基づき、サーバ#1を停止(7)し第4リンクを切断しIOモジュール#1の対象FWをアップデート(8)しサーバ#1を再起動する(9)指示を、サーバ#1へ送信する。サーバ#1は、アップデート指示に基づき、(7)~(9)を行い、アップデートの完了通知を管理モジュール230に送信する。 In the second firmware update process, the management module 230 stops (7) server # 1 and disconnects the fourth link as a firmware update instruction based on the server device controller pipe state management table 235, and targets the IO module # 1. An instruction to update (8) the FW and restart the server # 1 (9) is transmitted to the server # 1. The server # 1 performs (7) to (9) based on the update instruction, and transmits an update completion notification to the management module 230.
 管理モジュール230は、第2のリンクを接続する第2リンク接続指示をサーバ#1の対象サーバモジュールに送信する。対象サーバモジュールは、第2リンク接続指示に応じた接続の指示をコントローラ#0に送信する。コントローラ#0は、当該指示に応じて第2リンクの接続確立処理を行う(S106)。 The management module 230 transmits a second link connection instruction for connecting the second link to the target server module of the server # 1. The target server module transmits a connection instruction according to the second link connection instruction to the controller # 0. Controller # 0 performs connection establishment processing for the second link in response to the instruction (S106).
 これにより、具体例の計算機システムにおけるIOモジュール#0の対象マイクロのアップデートを、第1~第4リンクのうちの少なくとも1つのリンクを接続した状態で行うことができる。従って、アプリケーションが記憶デバイスにアクセスできる状態、つまり計算機システムの可用性を維持しつつ、対象FWをアップデートできる。 This makes it possible to update the target micro of the IO module # 0 in the specific example computer system with at least one of the first to fourth links connected. Therefore, the target FW can be updated while maintaining the state in which the application can access the storage device, that is, the availability of the computer system.
 管理モジュール230は、第2のマイクロアップ処理を行う(S107)。 The management module 230 performs a second micro-up process (S107).
 第2のマイクロアップ処理では、管理モジュール230は、アップデート指示として、サーバ装置コントローラ管状態管理テーブル235に基づき、コントローラ#1を停止(10)しコントローラ#0の対象マイクロをアップデート(11)する指示を、コントローラ#1に送信する。コントローラ#1は、アップデート指示に基づき(11)を行い、アップデートの完了通知を管理モジュール230に送信する。 In the second micro-up process, the management module 230 instructs to stop (10) the controller # 1 and update (11) the target micro of the controller # 0 based on the server device controller pipe state management table 235 as an update instruction. Is transmitted to the controller # 1. The controller # 1 performs (11) based on the update instruction, and transmits an update completion notification to the management module 230.
 管理モジュール230は、第3及び第4のリンクを接続する第3接続指示をサーバ#0又はサーバ#1の対象サーバモジュールに送信する。対象サーバモジュールは、第3リンク接続指示に応じた接続の指示をコントローラ#1に送信する。コントローラ#1は、当該指示に応じて第3及び第4リンクの接続確立処理を行う(S108)。 The management module 230 transmits a third connection instruction for connecting the third and fourth links to the target server module of the server # 0 or the server # 1. The target server module transmits a connection instruction according to the third link connection instruction to the controller # 1. In response to the instruction, the controller # 1 performs connection establishment processing for the third and fourth links (S108).
 これにより、具体例の計算機システムにおけるIOモジュール#1の対象FW及びコントローラ#1の対象マイクロのアップデートを、第1~第4リンクのうちの少なくとも1つのリンクを接続した状態で行うことができる。従って、アプリケーションが記憶デバイスにアクセスできる状態、つまり計算機システムの可用性を維持しつつ、対象マイクロ及び対象FWをアップデートできる。また、ユーザにより入力される1つのアップデート指示のみで、対象FW及び対象マイクロをすべてアップデートする一連のアップデート処理を実行できる。 Thereby, the target FW of the IO module # 1 and the target micro of the controller # 1 in the specific example computer system can be updated in a state where at least one of the first to fourth links is connected. Therefore, the target micro and the target FW can be updated while maintaining the state in which the application can access the storage device, that is, the availability of the computer system. In addition, a series of update processes for updating all of the target FW and the target micro can be executed with only one update instruction input by the user.
 なお、本実施例では、管理モジュール230は、第1~3リンク接続指示を対象サーバの対象サーバモジュールに送信していたが、対象コントローラの対象マイクロに送信してもよい。 In the present embodiment, the management module 230 transmits the first to third link connection instructions to the target server module of the target server, but may transmit it to the target micro of the target controller.
 なお、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。 The various software illustrated in the present embodiment can be stored in various recording media (for example, non-temporary storage media) such as electromagnetic, electronic, and optical, and through a communication network such as the Internet. It can be downloaded to a computer.
 本実施例では、アップデート処理を管理装置140に記憶された管理モジュール230が行っていたが、管理モジュール230をプロセッサが実行することにより実現される機能を、計算機システムが有していればどのような構成であってもよい。例えば、管理モジュール230の一部又は全部が、管理装置140とは別の装置に記憶され、別のプロセッサが行うとしてもよい。また、本実施例では、管理モジュール230というソフトウェアによる制御を用いた例について説明したが、その一部をハードウェアによって実現することも可能である。 In this embodiment, the update process is performed by the management module 230 stored in the management apparatus 140. However, what if the computer system has a function realized by the processor executing the management module 230? It may be a simple configuration. For example, a part or all of the management module 230 may be stored in a device different from the management device 140 and performed by another processor. Further, in this embodiment, an example using software control of the management module 230 has been described, but a part thereof can be realized by hardware.
 なお、サーバプログラムは、サーバIOモジュールドライバ202等に対応し、デバイスプログラムは、ファームウェア220等に対応し、ストレージプログラムは、ストレージマイクロ220等に対応する。また、リンク情報は、サーバ装置・コントローラ間状態管理テーブル等に対応し、対応バージョン情報は、動作バージョン管理テーブル223等に対応する。 The server program corresponds to the server IO module driver 202 and the like, the device program corresponds to the firmware 220 and the like, and the storage program corresponds to the storage micro 220 and the like. The link information corresponds to the server device / controller state management table and the like, and the corresponding version information corresponds to the operation version management table 223 and the like.
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。 Although the present invention has been described in detail with reference to the accompanying drawings, the present invention is not limited to such specific configurations, and various modifications and equivalents within the spirit of the appended claims Includes configuration.
100 サーバ装置
110 サーバモジュール
113 IOモジュール
120 共有ストレージシステム
130 ストレージコントローラ
140 管理装置
200 OS
201 アプリケーション
202 サーバIOモジュールドライバ
210 ファームウェア
211 IOモジュールファームウェアバージョン情報
220 ストレージマイクロ
221 ストレージIOモジュールドライバ
222 バージョン管理テーブル
223 動作バージョン管理テーブル
230 ファームウェアアップデート管理モジュール
231 IOモジュールファームウェアバージョン管理テーブル
232 ストレージマイクロバージョン管理テーブル
233 アップデート対象IOモジュールリスト
234 サーバ装置・コントローラ間接続管理テーブル
235 サーバ装置・コントローラ間状態管理テーブル
 
100 Server device 110 Server module 113 IO module 120 Shared storage system 130 Storage controller 140 Management device 200 OS
201 Application 202 Server IO Module Driver 210 Firmware 211 IO Module Firmware Version Information 220 Storage Micro 221 Storage IO Module Driver 222 Version Management Table 223 Operation Version Management Table 230 Firmware Update Management Module 231 IO Module Firmware Version Management Table 232 Storage Micro Version Management Table 233 Update target IO module list 234 Server device / controller connection management table 235 Server device / controller state management table

Claims (15)

  1.  ストレージ装置と、
     前記ストレージ装置に接続される複数のサーバ計算機と、
     前記ストレージ装置及び前記複数のサーバ計算機に接続される管理装置と
    を備え、
     前記ストレージ装置は、
      記憶デバイスと、
      前記記憶デバイスに接続される第1及び第2ストレージコントローラと、を含み、
     複数のサーバ計算機のそれぞれは、前記第1及び第2ストレージコントローラに接続され、
     前記複数のサーバ計算機のそれぞれは、前記第1及び第2ストレージコントローラとの通信を制御するデバイスプログラムを記憶したインタフェースデバイスを有し、
     前記第1及び第2ストレージコントローラが、前記記憶デバイス及び前記インタフェースデバイスを制御するストレージプログラムをそれぞれ記憶し、
     前記管理装置は、前記複数のサーバ計算機それぞれのデバイスプログラムと、前記第1及び第2ストレージコントローラそれぞれのストレージプログラムと、のアップデートの順序を制御し、
     前記複数のサーバ計算機のそれぞれは、デバイスプログラムをアップデートするときに、前記第1及び第2ストレージコントローラとの間のリンクを切断し、
     前記第1及び第2ストレージコントローラのそれぞれは、ストレージプログラムをアップデートするときに、前記複数のサーバ計算機との間のリンクを切断し、
     前記管理装置は、
      (*)前記第1ストレージコントローラと、前記複数のサーバ計算機のうちの第1サーバ計算機とのいずれか一方である第1装置に対し、前記アップデートを指示する第1アップデート指示を送信し、
      (*)前記第1アップデート指示に基づくアップデートの完了を示す前記第1アップデート完了通知を受信した場合に、前記第1ストレージコントローラ及び前記第1サーバ計算機のいずれか他方である第2装置に対し、前記アップデートを指示する第2アップデート指示を送信し、
      (*)前記第2アップデート指示に基づくアップデートの完了を示す前記第2アップデート完了通知を受信した場合に、前記第1装置又は第2装置に対し、前記第1装置及び前記第2装置間の第1リンクの接続を指示する第1リンク接続指示を送信する、
    計算機システム。
    A storage device;
    A plurality of server computers connected to the storage device;
    A management device connected to the storage device and the plurality of server computers,
    The storage device
    A storage device;
    First and second storage controllers connected to the storage device,
    Each of the plurality of server computers is connected to the first and second storage controllers,
    Each of the plurality of server computers has an interface device that stores a device program for controlling communication with the first and second storage controllers,
    The first and second storage controllers respectively store storage programs for controlling the storage device and the interface device;
    The management device controls the update order of the device programs of the plurality of server computers and the storage programs of the first and second storage controllers,
    Each of the plurality of server computers disconnects the link between the first and second storage controllers when updating the device program,
    Each of the first and second storage controllers disconnects the link with the plurality of server computers when updating the storage program,
    The management device
    (*) A first update instruction for instructing the update is transmitted to the first device that is one of the first storage controller and the first server computer of the plurality of server computers.
    (*) When the first update completion notification indicating completion of the update based on the first update instruction is received, for the second device that is either the first storage controller or the first server computer, Sending a second update instruction to instruct the update;
    (*) When the second update completion notification indicating completion of the update based on the second update instruction is received, the first device or the second device is notified of the second update between the first device and the second device. Transmitting a first link connection instruction instructing connection of one link;
    Computer system.
  2.  請求項1に記載の計算機システムであって、
     前記第1装置は、前記第1ストレージコントローラであり、
     前記第2装置は、前記第1サーバ計算機である、
    計算機システム。
    The computer system according to claim 1,
    The first device is the first storage controller;
    The second device is the first server computer;
    Computer system.
  3.  請求項2に記載の計算機システムであって、
     前記管理装置は、
      (*)前記第1リンク接続指示に基づく前記第1リンク接続完了通知を受信した場合に、前記複数のサーバ計算機のうちの第2サーバ計算機に対し、前記アップデートを指示する第3アップデート指示を送信し、
      (*)前記第3アップデート指示に基づくアップデートの完了を示す前記第3アップデート完了通知を受信した場合に、前記第2サーバ計算機又は前記第1ストレージコントローラに対し、前記第2サーバ計算機及び前記第1ストレージコントローラ間の第2リンクの接続を指示する第2リンク接続指示を送信する、
    計算機システム。
    The computer system according to claim 2,
    The management device
    (*) When the first link connection completion notification based on the first link connection instruction is received, a third update instruction for instructing the update is transmitted to the second server computer among the plurality of server computers. And
    (*) When the third update completion notification indicating completion of the update based on the third update instruction is received, the second server computer and the first storage controller are sent to the second server computer or the first storage controller. Transmitting a second link connection instruction for instructing connection of the second link between the storage controllers;
    Computer system.
  4.  請求項3に記載の計算機システムであって、
     前記管理装置は、
      (*)前記第2リンク接続指示に基づく前記第2リンク接続完了通知を受信した場合に、前記第2ストレージコントローラに対し、前記アップデートを指示する第4アップデート指示を送信し、
      (*)前記第4アップデート指示に基づくアップデートの完了を示す前記第4アップデート完了通知を受信した場合に、前記第1及び第2サーバ計算機と、前記第2ストレージコントローラとの何れかに対し、前記第1サーバ計算機及び前記第2ストレージコントローラ間の第3リンクと、前記第2サーバ計算機及び前記第2ストレージコントローラと間の第4リンクとの接続を指示する第3リンク接続指示を送信する、
    計算機システム。
    The computer system according to claim 3,
    The management device
    (*) When the second link connection completion notification based on the second link connection instruction is received, a fourth update instruction for instructing the update is transmitted to the second storage controller;
    (*) When the fourth update completion notification indicating completion of the update based on the fourth update instruction is received, either the first or second server computer or the second storage controller Transmitting a third link connection instruction for instructing a connection between a third link between the first server computer and the second storage controller and a fourth link between the second server computer and the second storage controller;
    Computer system.
  5.  請求項4に記載の計算機システムであって、
     前記管理装置が、
      前記複数のサーバ計算機のそれぞれと、前記第1及び第2ストレージコントローラとの間のリンクの接続状態を示すリンク情報を記憶し、
      前記第1アップデート完了通知及び前記第2アップデート完了通知に応じて、前記リンク情報を更新し、
     前記第1サーバ計算機が前記第1リンク接続指示を受信した場合、前記第1サーバ計算機は、前記第1リンク接続指示に応じて、前記第1ストレージコントローラに対し前記第1リンク接続要求を送信し、
     前記第1ストレージコントローラが、
      前記第1リンク接続要求に応じて、前記第1リンクを接続し、
      前記第1リンク接続通知を前記管理装置に送信し、
     前記管理装置が、前記第1リンク接続通知に応じて、前記リンク情報を更新する
    計算機システム。
    A computer system according to claim 4, wherein
    The management device is
    Storing link information indicating a connection state of a link between each of the plurality of server computers and the first and second storage controllers;
    In response to the first update completion notification and the second update completion notification, the link information is updated,
    When the first server computer receives the first link connection instruction, the first server computer transmits the first link connection request to the first storage controller in response to the first link connection instruction. ,
    The first storage controller is
    In response to the first link connection request, the first link is connected,
    Sending the first link connection notification to the management device;
    A computer system in which the management device updates the link information in response to the first link connection notification.
  6.  請求項5に記載の計算機システムであって、
     前記第1サーバ計算機は、前記第1サーバ計算機の第1デバイスプログラムのアップデートされた第1バージョンを記憶し、
     前記第1ストレージコントローラが、  前記第1サーバ計算機から前記第1バージョンを取得して記憶し、
      前記第1ストレージコントローラの第1ストレージプログラムのアップデートされたバージョンに対応可能なデバイスプログラムのバージョンを示す対応バージョン情報を記憶し、 前記第1ストレージコントローラが、前記第1リンク接続要求を受信した場合に、  前記第1リンク接続要求に応じて、前記第1バージョンが有効か否かを判定し、
      前記第1バージョンが無効な場合に、前記第1リンク接続要求に含まれる第1デバイスプログラムの第2バージョンが、前記対応バージョン情報に含まれるか否かを判定し、
      前記第2バージョンが前記対応バージョン情報に含まれる場合に、前記第1リンクを接続する
    計算機システム。
    The computer system according to claim 5,
    The first server computer stores an updated first version of the first device program of the first server computer;
    The first storage controller acquires and stores the first version from the first server computer;
    Corresponding version information indicating a version of a device program that can correspond to an updated version of the first storage program of the first storage controller is stored, and when the first storage controller receives the first link connection request Determining whether the first version is valid in response to the first link connection request;
    When the first version is invalid, it is determined whether the second version of the first device program included in the first link connection request is included in the corresponding version information;
    A computer system for connecting the first link when the second version is included in the corresponding version information.
  7.  請求項6に記載の計算機システムであって、
     前記第1ストレージコントローラが、
      前記第2バージョンが前記対応バージョン情報に含まれない場合に、前記第1リンクを接続できない旨の通知を前記管理装置に送信する
    計算機システム。
    A computer system according to claim 6, wherein
    The first storage controller is
    A computer system that transmits a notification to the management apparatus that the first link cannot be connected when the second version is not included in the corresponding version information.
  8.  請求項5に記載の計算機システムであって、
     前記第2サーバ計算機が、前記第2リンク接続指示を受信した場合に、前記第2リンク接続指示に応じて、前記第1ストレージコントローラに対し、第2リンク接続要求を送信し、
     前記第1ストレージコントローラが、
      前記第2リンク接続要求に応じて、前記第2リンクを接続し、
      前記第2リンク接続完了通知を、前記管理装置に送信し、
     前記管理装置は、前記第2リンク接続完了通知に応じて、前記リンク情報を更新する
    計算機システム。
    The computer system according to claim 5,
    When the second server computer receives the second link connection instruction, the second server computer transmits a second link connection request to the first storage controller in response to the second link connection instruction.
    The first storage controller is
    In response to the second link connection request, connect the second link,
    Sending the second link connection completion notification to the management device;
    The management apparatus updates the link information in response to the second link connection completion notification.
  9.  請求項8に記載の計算機システムであって、
     前記第1及び第2サーバ計算機のそれぞれは、前記第3リンク接続指示を受信した場合、前記第3リンク接続指示に応じて、前記第2ストレージコントローラに対し、第3リンク接続要求を送信し、
     前記第2ストレージコントローラが、
      前記第3リンク接続要求に応じて、前記第3及び第4リンクを接続し、
      前記第3及び第4リンクの接続完了を示す第3リンク接続完了通知を、前記管理装置に送信し、
     前記管理装置は、前記第3リンク接続完了通知に応じて、前記リンク情報を更新する
    計算機システム。
    A computer system according to claim 8, wherein
    Each of the first and second server computers, when receiving the third link connection instruction, transmits a third link connection request to the second storage controller in response to the third link connection instruction,
    The second storage controller is
    In response to the third link connection request, the third and fourth links are connected,
    A third link connection completion notification indicating completion of connection of the third and fourth links is transmitted to the management device;
    The management device is a computer system that updates the link information in response to the third link connection completion notification.
  10.  請求項9に記載の計算機システムであって、
     前記第1ストレージコントローラが、
      前記第1アップデート指示を受信した場合に、前記第1サーバ計算機の第1インタフェースデバイスから前記第1ストレージコントローラへの送信されるI/O(Input or Output)を停止する停止要求を前記第1インタフェースデバイスに送信し、
     前記第1インタフェースデバイスが、
      前記I/Oを、前記第2リンクを介した前記第2ストレージコントローラに送信するように切替え、
      前記切替え前のすべてのI/Oを前記第1ストレージコントローラに送信した後、前記I/Oの送信の完了を示す完了通知を前記第1ストレージコントローラに通知し、
     前記第1ストレージコントローラが、前記完了通知を受信し、前記第1リンクを切断する、
    計算機システム。
    A computer system according to claim 9, wherein
    The first storage controller is
    When the first update instruction is received, a stop request for stopping I / O (Input or Output) transmitted from the first interface device of the first server computer to the first storage controller is issued to the first interface. Send it to the device,
    The first interface device is
    Switching the I / O to be transmitted to the second storage controller via the second link;
    After transmitting all the I / O before switching to the first storage controller, a completion notification indicating completion of transmission of the I / O is sent to the first storage controller,
    The first storage controller receives the completion notification and disconnects the first link;
    Computer system.
  11.  請求項2に記載の計算機システムであって、
     前記複数のサーバ計算機のそれぞれは、メモリと、前記メモリ及び前記インタフェースデバイスに接続されるプロセッサと、を有し、
     前記メモリは、サーバプログラムを記憶し、
     前記プロセッサは、前記サーバプログラムに従って前記インタフェースデバイスを制御し、
     前記第1サーバの第1プロセッサが、
      前記第2アップデート指示を受信したときに、前記第1インタフェースデバイスと、前記第1プロセッサとの間のサーバリンクを切断し、
      前記第1デバイスプログラムをアップデートした後、前記サーバリンクを接続し、前記第2アップデート完了通知を、前記管理装置に送信する
    計算機システム。
    The computer system according to claim 2,
    Each of the plurality of server computers includes a memory and a processor connected to the memory and the interface device.
    The memory stores a server program,
    The processor controls the interface device according to the server program;
    A first processor of the first server;
    When receiving the second update instruction, the server link between the first interface device and the first processor is disconnected;
    A computer system that updates the first device program, connects the server link, and transmits the second update completion notification to the management apparatus.
  12.  請求項11に記載の計算機システムであって、
     前記複数のサーバ計算機のそれぞれの内部のプロセッサ及びインタフェースデバイスの間と、各インタフェースデバイス及び前記第1ストレージコントローラの間と、各インタフェースデバイス及び前記第2ストレージコントローラとの間のそれぞれは、PCI Expressで接続されている
    計算機システム。
    The computer system according to claim 11,
    Each of the plurality of server computers, between each internal processor and interface device, between each interface device and the first storage controller, and between each interface device and the second storage controller is PCI Express. Connected computer system.
  13.  請求項4に記載の計算機システムであって、
     前記第2サーバ計算機が2つ以上のサーバ計算機である場合、
     前記管理装置は、
      前記第2サーバ計算機のうち任意の1のサーバ計算機を順に選択サーバ計算機として選択し、
      前記第3アップデート指示及び前記第2リンク接続指示を前記選択サーバ計算機に対して送信する、
    計算機システム。
    A computer system according to claim 4, wherein
    When the second server computer is two or more server computers,
    The management device
    Select any one of the second server computers as a selected server computer in order,
    Transmitting the third update instruction and the second link connection instruction to the selected server computer;
    Computer system.
  14. 記憶デバイス、第1及び第2ストレージコントローラを有するストレージ装置と、前記ストレージ装置に接続される複数のサーバ計算機とに接続される管理装置であって、
     管理メモリと、
     前記管理メモリに接続される管理プロセッサと、
    を備え、
     前記ストレージ装置は、記憶デバイスと、前記記憶デバイスに接続される第1及び第2ストレージコントローラと、を有し、
     前記複数のサーバ計算機のそれぞれは、前記第1及び第2ストレージコントローラとの通信を制御するデバイスプログラムを記憶したインタフェースデバイスを有し、
     前記第1及び第2ストレージコントローラが、前記記憶デバイス及び前記インタフェースデバイスを制御するストレージプログラムをそれぞれ記憶し、
     管理プロセッサは、前記複数のサーバ計算機それぞれのデバイスプログラムと、前記第1及び第2ストレージコントローラそれぞれのストレージプログラムと、のアップデートの順序を制御し、
     前記複数のサーバ計算機のそれぞれは、デバイスプログラムをアップデートするときに、前記第1及び第2ストレージコントローラとの間のリンクを切断し、
     前記第1及び第2ストレージコントローラのそれぞれは、ストレージプログラムをアップデートするときに、前記複数のサーバ計算機との間のリンクを切断し、
     前記管理プロセッサは、
      (*)前記第1ストレージコントローラと、前記複数のサーバ計算機のうちの第1サーバ計算機とのいずれか一方である第1装置に対し、前記アップデートを指示する第1アップデート指示を送信し、
      (*)前記第1アップデート指示に基づくアップデートの完了を示す前記第1アップデート完了通知を受信した場合に、前記第1ストレージコントローラ及び前記第1サーバ計算機のいずれか他方である第2装置に対し、前記アップデートを指示する第2アップデート指示を送信し、
      (*)前記第2アップデート指示に基づくアップデートの完了を示す前記第2アップデート完了通知を受信した場合に、前記第1装置又は第2装置に対し、前記第1装置及び前記第2装置間の第1リンクの接続を指示する第1リンク接続指示を送信する、
    管理装置。
    A management device connected to a storage device having a storage device, first and second storage controllers, and a plurality of server computers connected to the storage device,
    Management memory,
    A management processor connected to the management memory;
    With
    The storage apparatus includes a storage device, and first and second storage controllers connected to the storage device,
    Each of the plurality of server computers has an interface device that stores a device program for controlling communication with the first and second storage controllers,
    The first and second storage controllers respectively store storage programs for controlling the storage device and the interface device;
    The management processor controls the update order of the device programs of the plurality of server computers and the storage programs of the first and second storage controllers,
    Each of the plurality of server computers disconnects the link between the first and second storage controllers when updating the device program,
    Each of the first and second storage controllers disconnects the link with the plurality of server computers when updating the storage program,
    The management processor is
    (*) A first update instruction for instructing the update is transmitted to the first device that is one of the first storage controller and the first server computer of the plurality of server computers.
    (*) When the first update completion notification indicating completion of the update based on the first update instruction is received, for the second device that is either the first storage controller or the first server computer, Sending a second update instruction to instruct the update;
    (*) When the second update completion notification indicating completion of the update based on the second update instruction is received, the first device or the second device is notified of the second update between the first device and the second device. Transmitting a first link connection instruction instructing connection of one link;
    Management device.
  15.  ストレージ装置と、前記ストレージ装置に接続される複数のサーバ計算機とを制御する方法であって、
     前記ストレージ装置は、記憶デバイスと、前記記憶デバイスに接続される第1及び第2ストレージコントローラと、を含み、複数のサーバ計算機のそれぞれは、前記第1及び第2ストレージコントローラに接続され、前記複数のサーバ計算機のそれぞれは、前記第1及び第2ストレージコントローラとの通信を制御するデバイスプログラムを記憶したインタフェースデバイスを有し、
     前記第1及び第2ストレージコントローラを用いて、前記記憶デバイス及び前記インタフェースデバイスを制御するストレージプログラムをそれぞれ記憶し、
     前記ストレージ装置及び前記複数のサーバ計算機に接続される管理装置を用いて、前記複数のサーバ計算機それぞれのデバイスプログラムと、前記第1及び第2ストレージコントローラそれぞれのストレージプログラムと、のアップデートの順序を制御し、
     前記複数のサーバ計算機のそれぞれを用いて、デバイスプログラムをアップデートするときに、前記第1及び第2ストレージコントローラとの間のリンクを切断し、
     前記第1及び第2ストレージコントローラのそれぞれを用いて、ストレージプログラムをアップデートするときに、前記複数のサーバ計算機との間のリンクを切断し、
     前記管理装置を用いて、
      (*)前記第1ストレージコントローラと、前記複数のサーバ計算機のうちの第1サーバ計算機とのいずれか一方である第1装置に対する、前記アップデートを指示する第1アップデート指示を送信し
      (*)前記第1アップデート指示に基づくアップデートの完了を示す前記第1アップデート完了通知を受信した場合に、前記第1ストレージコントローラ及び前記第1サーバ計算機のいずれか他方である第2装置に対する、前記アップデートを指示する第2アップデート指示を送信し、
      (*)前記第2アップデート指示に基づくアップデートの完了を示す前記第2アップデート完了通知を受信した場合に、前記第1装置又は第2装置に対する、前記第1装置及び前記第2装置間の第1リンクの接続を指示する第1リンク接続指示を送信する
    ことを備える方法。

     
    A method of controlling a storage device and a plurality of server computers connected to the storage device,
    The storage apparatus includes a storage device and first and second storage controllers connected to the storage device, and each of a plurality of server computers is connected to the first and second storage controllers. Each of the server computers has an interface device that stores a device program for controlling communication with the first and second storage controllers,
    Storing storage programs for controlling the storage device and the interface device, respectively, using the first and second storage controllers;
    Using the management device connected to the storage device and the plurality of server computers, the update order of the device programs of the plurality of server computers and the storage programs of the first and second storage controllers is controlled. And
    When updating the device program using each of the plurality of server computers, the link between the first and second storage controllers is disconnected,
    When updating the storage program using each of the first and second storage controllers, the link between the plurality of server computers is disconnected,
    Using the management device,
    (*) A first update instruction that instructs the update is transmitted to the first device that is one of the first storage controller and the first server computer of the plurality of server computers. (*) When the first update completion notification indicating completion of the update based on the first update instruction is received, the update is instructed to the second device that is the other of the first storage controller and the first server computer Send a second update instruction,
    (*) When the second update completion notification indicating completion of the update based on the second update instruction is received, the first between the first device and the second device with respect to the first device or the second device. Transmitting a first link connection instruction indicating a link connection.

PCT/JP2015/053328 2015-02-06 2015-02-06 Computer system, management device, and method WO2016125294A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/053328 WO2016125294A1 (en) 2015-02-06 2015-02-06 Computer system, management device, and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/053328 WO2016125294A1 (en) 2015-02-06 2015-02-06 Computer system, management device, and method

Publications (1)

Publication Number Publication Date
WO2016125294A1 true WO2016125294A1 (en) 2016-08-11

Family

ID=56563658

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/053328 WO2016125294A1 (en) 2015-02-06 2015-02-06 Computer system, management device, and method

Country Status (1)

Country Link
WO (1) WO2016125294A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181195A (en) * 2017-04-20 2018-11-15 富士通株式会社 Storage control device and storage control program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277120A (en) * 2008-05-16 2009-11-26 Fujitsu Ltd Server system
WO2013140608A1 (en) * 2012-03-23 2013-09-26 株式会社日立製作所 Method and system that assist analysis of event root cause
JP2014067162A (en) * 2012-09-25 2014-04-17 Nec Corp Cluster system and method of updating the cluster system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009277120A (en) * 2008-05-16 2009-11-26 Fujitsu Ltd Server system
WO2013140608A1 (en) * 2012-03-23 2013-09-26 株式会社日立製作所 Method and system that assist analysis of event root cause
JP2014067162A (en) * 2012-09-25 2014-04-17 Nec Corp Cluster system and method of updating the cluster system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181195A (en) * 2017-04-20 2018-11-15 富士通株式会社 Storage control device and storage control program

Similar Documents

Publication Publication Date Title
US11249857B2 (en) Methods for managing clusters of a storage system using a cloud resident orchestrator and devices thereof
JP4295184B2 (en) Virtual computer system
US7529816B2 (en) System for providing multi-path input/output in a clustered data storage network
US8621603B2 (en) Methods and structure for managing visibility of devices in a clustered storage system
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
TWI439867B (en) Dynamic physical and virtual multipath i/o
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
US8448167B2 (en) Storage system, and remote copy control method therefor
US8375385B1 (en) Techniques for parallel drive upgrade while maintaining host accessibility
US9098466B2 (en) Switching between mirrored volumes
US20160077752A1 (en) Fibre Channel Storage Array Methods for Handling Cache-Consistency Among Controllers of an Array and Consistency Among Arrays of a Pool
JP4497953B2 (en) Information processing system and information processing method
JP2007226400A (en) Computer management method, computer management program, stand-by server for managing configuration of execution server, and computer system
JP6007547B2 (en) Virtualization system, switch controller, fiber channel switch, migration method, migration program
JP2008269469A (en) Storage system and management method therefor
JP2007323218A (en) Backup system
WO2012004902A1 (en) Computer system and system switch control method for computer system
US8949562B2 (en) Storage system and method of controlling storage system
EP2725496A1 (en) Information processing device, virtual machine control method and program
WO2013076872A1 (en) Computer system
US10761767B2 (en) Computer system and method for controlling storage apparatus that has replication direction from first logical device (in first storage) to second logical device (in second storage) and from said second logical device to third logical device (in said second storage), wherein said replication direction is reversed when second computer takes over for first computer
JP5843888B2 (en) Computer system management method, computer system, and storage medium
US20170052709A1 (en) Storage system, storage control apparatus, and storage control method
JP2006092535A (en) Internal mirroring operation in storage network
WO2016125294A1 (en) Computer system, management device, and method

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15881111

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP