WO2012176278A1 - 情報処理装置、仮想マシン制御方法およびプログラム - Google Patents

情報処理装置、仮想マシン制御方法およびプログラム Download PDF

Info

Publication number
WO2012176278A1
WO2012176278A1 PCT/JP2011/064125 JP2011064125W WO2012176278A1 WO 2012176278 A1 WO2012176278 A1 WO 2012176278A1 JP 2011064125 W JP2011064125 W JP 2011064125W WO 2012176278 A1 WO2012176278 A1 WO 2012176278A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
adapter
virtual machine
interface
control unit
Prior art date
Application number
PCT/JP2011/064125
Other languages
English (en)
French (fr)
Inventor
宮内 啓次
堀内 俊宏
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2011/064125 priority Critical patent/WO2012176278A1/ja
Priority to EP11868053.7A priority patent/EP2725496A1/en
Publication of WO2012176278A1 publication Critical patent/WO2012176278A1/ja
Priority to US14/055,963 priority patent/US20140047441A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Definitions

  • the present invention relates to an information processing apparatus, a virtual machine control method, and a program.
  • virtualization that runs multiple virtual computers (sometimes called virtual machines or logical hosts) on physical computers (sometimes called physical machines or physical hosts) Technology is being used.
  • software such as an operating system (OS) can be executed.
  • a physical machine that uses a virtualization technology executes software for managing a plurality of virtual machines.
  • hypervisor For example, software called a hypervisor allocates CPU (Central Processing Unit) processing capacity and RAM (Random Access Memory) storage areas to multiple virtual machines as computing resources. Further, for example, the hypervisor may allocate the processing capability of the interface unit such as NIC (Network Interface Card) or HBA (Host Bus Adapter) to a plurality of virtual machines as communication resources. The virtual machine can access the device via the interface unit using the communication resource allocated to the virtual machine.
  • NIC Network Interface Card
  • HBA Hyper Bus Adapter
  • a storage system has been proposed in which a host adapter connected to a CPU, a disk adapter connected to a storage device, and a common bus are duplicated so that a degenerate operation can be performed when a failure occurs.
  • an information processing apparatus has been proposed in which an adapter block including a plurality of adapters is duplicated, and when one adapter in one adapter block breaks down, an adapter used in units of adapter blocks is switched.
  • the impact on I / O requests of other virtual machines is suppressed by blocking I / O (Input / Output) requests of virtual machines with many failures.
  • I / O Input / Output
  • two or more virtual machines may share one interface unit for access to a device.
  • an error occurs in access using the interface unit in one virtual machine
  • a resource such as a memory area provided in the interface unit is divided and allocated to two or more virtual machines
  • a failure may occur only in the memory area allocated to a certain virtual machine.
  • An advantage of some aspects of the invention is that it provides an information processing apparatus, a virtual machine control method, and a program that can smoothly maintain an interface unit included in the information processing apparatus. .
  • An information processing apparatus capable of operating a plurality of virtual machines and mounting a plurality of interface units used for accessing a device from the plurality of virtual machines.
  • This information processing apparatus includes a storage unit and a control unit.
  • the storage unit stores information indicating an interface unit used for access by each of the plurality of virtual machines among the plurality of interface units.
  • the control unit refers to the storage unit to determine the second virtual machine that uses the first interface unit, and the second virtual machine
  • the interface unit used by the virtual machine is switched from the first interface unit to the second interface unit mounted on the information processing apparatus.
  • a virtual machine control method is provided. In this virtual machine control method, it is detected that an error has occurred in access using the first interface unit in the first virtual machine.
  • a second virtual machine that uses the first interface unit is determined with reference to a storage device that stores information indicating the interface unit used by each of the plurality of virtual machines for access. The interface unit used by the second virtual machine is switched from the first interface unit to the second interface unit installed in the information processing apparatus.
  • This program causes the computer or another computer communicating with the computer to execute the following processing. It detects that an error has occurred in access using the first interface unit in the first virtual machine.
  • a second virtual machine that uses the first interface unit is determined with reference to a storage device that stores information indicating the interface unit used by each of the plurality of virtual machines for access.
  • the interface unit used by the second virtual machine is switched from the first interface unit to the second interface unit installed in the computer.
  • FIG. 3 is a diagram illustrating an example of hardware of a storage device according to a second embodiment.
  • FIG. It is a figure which shows the example of arrangement
  • FIG. It is a block diagram which shows the example of allocation of hardware.
  • FIG. 1 is a diagram illustrating the information processing apparatus according to the first embodiment.
  • a plurality of virtual machines including the virtual machines 1a and 1b can operate.
  • the information processing apparatus 1 can be equipped with a plurality of interface units including interface units 1c and 1d used for accessing the device 2 from the plurality of virtual machines.
  • the device 2 is, for example, a communication device, a storage device, another information processing device, or the like.
  • the information processing apparatus 1 includes interface units 1c and 1d, a storage unit 1e, and a control unit 1f.
  • the interface units 1c and 1d perform signal processing and are used to access the device 2 from the virtual machines 1a and 1b.
  • the interface units 1c and 1d may be mounted as adapters such as NIC and HBA.
  • the interface units 1c and 1d and the device 2 may be directly connected by a cable or may be connected via a relay device such as a switch.
  • the interface unit 1d may be a spare unit used when the interface unit 1c fails, or may be added to the information processing apparatus 1 after the interface unit 1c fails.
  • the storage unit 1e stores information indicating an interface unit used for access by each of a plurality of virtual machines among a plurality of interface units that can be mounted on the information processing apparatus 1.
  • the storage unit 1e may be implemented as a nonvolatile NVRAM (NonNVolatile RAM), RAM, or HDD (Hard Disk Drive).
  • NVRAM NonNVolatile RAM
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • the control unit 1 f controls assignment of the interface units 1 c and 1 d to a plurality of virtual machines operating on the information processing apparatus 1.
  • the control unit 1f may be implemented as a program executed using a CPU and a RAM, or may be implemented as a module in the hypervisor.
  • the control unit 1f detects that an error has occurred in access using the interface unit 1c in the virtual machine 1a. Then, the control unit 1f refers to the storage unit 1e and searches for the virtual machine 1b that uses the interface unit 1c in addition to the virtual machine 1a. Then, the interface unit used by the virtual machine 1b is switched from the interface unit 1c to the interface unit 1d.
  • the control unit 1f may switch from the interface unit 1c to the interface unit 1d together with the interface unit used by the virtual machine 1a.
  • control unit 1f assigns a first resource to the virtual machine 1a and assigns a second resource to the virtual machine 1b among a plurality of resources (for example, a plurality of memory areas) provided in the interface unit 1c. Also good. When an error occurs in access using the first resource in the virtual machine 1a, the control unit 1f can switch the interface unit used by the virtual machine 1b even if no error occurs in the second resource.
  • a plurality of resources for example, a plurality of memory areas
  • control unit 1f may perform control so that the switching to the interface unit 1d is performed at a timing when the virtual machine 1b is not accessing the device 2. Therefore, the control unit 1f may manage the access state by storing information indicating whether or not the virtual machine 1b is being accessed in the storage unit 1e. In addition, the control unit 1f controls the switching to the interface unit 1d after it is confirmed that the device accessible using the interface unit 1c can be accessed using the interface unit 1d. May be. Further, the control unit 1f may detect that an error has occurred in access using the interface unit 1c in the virtual machine 1a based on the notification from the virtual machine 1a.
  • the storage unit 1e and the control unit 1f are provided in the information processing apparatus 1 on which the virtual machines 1a and 1b operate.
  • the storage unit 1e and the control unit 1f may be provided in other apparatuses that communicate with the information processing apparatus 1.
  • a communication device, a storage device, a computer, or the like that communicates with the information processing device 1 may include the storage unit 1e and the control unit 1f and control the information processing device 1.
  • the storage unit 1e may be provided outside the information processing device 1 (or another device including the control unit 1f).
  • the information processing apparatus 1 of the first embodiment it is detected that an error has occurred in access using the interface unit 1c in the virtual machine 1a.
  • the storage unit 1e that stores information indicating the interface unit used by each of the plurality of virtual machines for access is referred to, and the virtual machine 1b that uses the interface unit 1c in which an error has occurred is determined.
  • the interface unit used by the determined virtual machine 1b is switched from the interface unit 1c to the interface unit 1d.
  • the maintenance of the interface units 1c and 1d in the information processing apparatus 1 capable of operating a plurality of virtual machines can be performed smoothly.
  • the interface unit used by the virtual machine 1b is switched even if no error is detected in the virtual machine 1b sharing the interface unit 1c. Therefore, the interface unit 1c is not used by the virtual machine 1b in addition to the virtual machine 1a that has recognized the error, and can be easily stopped and removed from the information processing apparatus 1.
  • the information processing apparatus 1 can be equipped with a plurality of interface units, and the interface unit 1c can be exchanged without stopping the virtual machine 1b.
  • FIG. 2 is a diagram illustrating an overall configuration of an information processing system according to the second embodiment.
  • the information processing system includes a server device 100, an FC (FC: Fiber Channel) switch device 200, a storage device 300, and a management terminal device 400.
  • the server device 100 is connected to the network 10.
  • the server apparatus 100 is a server computer capable of operating a plurality of virtual machines.
  • the server apparatus 100 manages activation and termination of a plurality of virtual machines.
  • the server device 100 enables the function of the virtual machine to be used by a client device connected to the network 10 via the network 10.
  • the FC switch device 200 is a communication path switching machine that includes a plurality of FC interfaces and relays between the interfaces.
  • the FC switch device 200 relays data communication between the server device 100 and the storage device 300.
  • Communication between the server apparatus 100 and the FC switch apparatus 200 can be performed via I2C (Inter Integrated Circuit), LAN (Local Area Network), or the like in addition to FC communication.
  • I2C Inter Integrated Circuit
  • LAN Local Area Network
  • the storage device 300 is a storage device that stores data and programs used by the server device 100.
  • the storage apparatus 300 transmits various data stored therein to the server apparatus 100 in response to a request from the server apparatus 100.
  • the storage device 300 is an example of a connection destination device of the server device 100.
  • the management terminal device 400 is a computer operated by an administrator.
  • the management terminal device 400 is connected to the server device 100.
  • the management terminal device 400 is for an administrator to input an instruction to the server device 100.
  • FIG. 3 is a diagram illustrating a hardware example of the server device according to the second embodiment.
  • the server apparatus 100 includes a CPU board 101, a crossbar switch 102, a PCI Express (Peripheral Component Interconnect Express) controller 103, a SAS (Serial Attached SCSI (Small Computer System Interface) interface 104, an HDD 105, FC interfaces 106 and 106a, and a network interface. 107, an SVP (SerVice processor) 108, and a disk drive 109.
  • PCI Express Peripheral Component Interconnect Express
  • the CPU board 101 is an information processing unit including a CPU and a memory.
  • the CPU board 101 includes a CPU 111, a RAM 112, and an NVRAM 113.
  • the CPU 111 is a computing device that executes a hypervisor program, an OS program, and an application program to realize a virtual machine and an application on the virtual machine.
  • the CPU board 101 may include a plurality of CPUs.
  • the RAM 112 is a volatile storage device that temporarily stores at least a part of a hypervisor program, an OS program, and an application program executed by the CPU 111.
  • the CPU board 101 may include a plurality of RAMs.
  • the NVRAM 113 is a non-volatile storage device that stores data used for processing of the hypervisor.
  • the CPU board 101 may include a plurality of NVRAMs.
  • the server device 100 may include a plurality of CPU boards.
  • the crossbar switch 102 relays data communication between the CPU board 101 and the PCI Express controller 103.
  • the PCI Express controller 103 controls data communication between the crossbar switch 102 and the SAS interface 104, the FC interfaces 106 and 106a, and the network interface 107.
  • the SAS interface 104 is connected to the HDD 105 and the disk drive 109, and controls data input / output with respect to the HDD 105 and the disk drive 109.
  • the disk drive 109 may perform input / output control by encapsulating a SATA (Serial ATA) protocol.
  • the HDD 105 is a non-volatile storage device that stores data used for hypervisor programs and hypervisor processing.
  • the HDD 105 reads from and writes to the built-in magnetic disk in accordance with instructions from the CPU 111.
  • the server device 100 may include a nonvolatile storage device (for example, SSD (Solid State Drive)) other than the HDD, or may include a plurality of storage devices.
  • the hypervisor program executed on the CPU board 101 may be stored in the NVRAM 113.
  • the FC interfaces 106 and 106a are HBAs that are connected to the FC switch device 200 and control data communication with the FC switch device 200.
  • the FC interfaces 106 and 106a have a control device that performs the control.
  • the network interface 107 is connected to the network 10 and controls data communication with other devices via the network 10.
  • the SVP 108 is a device for managing the server device 100.
  • the SVP 108 is connected to the CPU board 101, the crossbar switch 102, and the PCI Express controller 103 of the server apparatus by I2C or the like.
  • the SVP 108 is connected to the management terminal device 400.
  • the SVP 108 causes the management terminal device 400 to display a GUI (Graphical User Interface) for managing the server device 100.
  • the administrator can issue an instruction to the server apparatus 100 by operating the GUI using the management terminal apparatus 400.
  • the disk drive 109 is a drive device that reads programs and data recorded on the recording medium 12.
  • a magnetic disk such as a flexible disk (FD) or HDD
  • an optical disk such as a CD (Compact Disk) or a DVD (Digital Versatile Disk), or a magneto-optical disk (MO: Magneto-Optical disk).
  • the disk drive 109 stores a program or data read from the recording medium 12 in the RAM 112 or the HDD 105 in accordance with a command from the CPU 111.
  • the management terminal device 400 also has a CPU, ROM, RAM, HDD, network interface, disk drive, and the like, similar to the server device 100.
  • the function of the management terminal device 400 is realized by the CPU on the management terminal device 400 executing a predetermined program.
  • FIG. 4 is a diagram illustrating a hardware example of the FC switch device according to the second embodiment.
  • the FC switch device 200 includes a routing controller 201, a memory 202, an SVP 203, a crossbar switch 204, I / F (InterFace) controllers 205, 205a, 205b, 205c, 205d, 205e, buffers 206, 206a, 206b, 206c, 206d, 206e and ports 207, 207a, 207b, 207c, 207d, and 207e.
  • I / F InterFace
  • the I / F controller 205, the buffer 206, and the port 207 will be described below, but the I / F controllers 205a, 205b, 205c, 205d, and 205e, the buffers 206a, 206b, 206c, 206d, and 206e, and the ports 207a, 207b, The same applies to 207c, 207d, and 207e.
  • the routing controller 201 controls data communication between a plurality of SANs (Storage Area Networks).
  • the memory 202 stores data used for processing of the routing controller 201.
  • a routing table for connecting between SANs and FC zone setting information are stored.
  • the zone is for dividing traffic by dividing a communication path in the FC switch device 200.
  • the SVP 203 is a device for managing the FC switch device 200.
  • the SVP 203 is responsible for various management functions on the FC switch device 200 (for example, communication failure management and power management).
  • the SVP 203 may be connected to a management terminal device (not shown) for managing the FC switch device 200.
  • the SVP 203 can display a management GUI on the management terminal device.
  • the administrator can input an instruction to the FC switch device 200 by operating the GUI.
  • the SVP 203 has a memory for storing programs and data used for the processing of the SVP 203. These programs and data may be stored in the memory 202.
  • the crossbar switch 204 relays data communication between devices via each port.
  • the I / F controller 205 controls the data flow between the ports.
  • the buffer 206 is a storage area for temporarily storing data in order to control the flow of data.
  • the port 207 is an adapter for connecting to an external device.
  • the port 207 is connected to the server apparatus 100 via an FC cable.
  • the port 207c is connected to the storage apparatus 300 via an FC cable.
  • the port 207d is connected to the storage apparatus 300 via an FC cable.
  • FIG. 5 is a diagram illustrating a hardware example of the storage apparatus according to the second embodiment.
  • the storage apparatus 300 includes a RAID (Redundant Arrays of Inexpensive Disks) control unit 301, a storage unit 302, I / F controllers 303 and 303a, and an SVP 304.
  • RAID Redundant Arrays of Inexpensive Disks
  • the RAID control unit 301 is a device for realizing RAID.
  • the RAID control unit 301 makes a plurality of HDDs provided in the storage unit 302 usable as a logical single storage device from a virtual machine on the server device 100.
  • the RAID control unit 301 includes control boards 310 and 310a, I / F controllers 320 and 320a, buffers 330 and 330a, and ports 340 and 340a.
  • the control boards 310 and 310a are provided for the ports 340 and 340a, respectively.
  • the control boards 310 and 310a access the storage unit 302 and read / write data in response to a request received from the server device 100 via the ports 340 and 340a.
  • the control board 310 includes a CPU 311, a memory 312, and a PCI Express controller 313.
  • the CPU 311 controls processing of the control board 310.
  • the memory 312 stores data used for the processing of the CPU 311.
  • the PCI Express controller 313 is connected to the storage unit 302 via the I / F controller 303.
  • the PCI Express controller 313 is connected to the I / F controller 320.
  • the PCI Express controller 313 relays communication between interfaces.
  • the control board 310a includes a CPU 311a, a memory 312a, and a PCI Express controller 313a.
  • the CPU 311a, the memory 312a, and the PCI Express controller 313a correspond to the CPU 311, the memory 312 and the PCI Express controller 313.
  • the I / F controller 320 controls the flow of data input from the port 340 or output to the port 340. Similarly, the I / F controller 320a controls the flow of data to and from the port 340a.
  • Buffer 330 controls the flow of data between I / F controller 320 and port 340. Similarly, the buffer 330a controls the flow of data between the I / F controller 320a and the port 340a.
  • the port 340 is an adapter for connecting to an external device.
  • the port 340 is connected to the port 207c of the FC switch device 200 via an FC cable.
  • the port 340a is connected to the port 207d of the FC switch device 200 via an FC cable.
  • the storage unit 302 includes I / F switches 350 and 350a and HDDs 351, 351a, 352, 352a, 353, and 353a.
  • the I / F switches 350 and 350a control communication between the HDD accessed by the control boards 310 and 310a and the I / F controllers 303 and 303a.
  • the HDDs 351, 351a, 352, 352a, 353, 353a read from and write to the built-in magnetic disk in accordance with instructions from the CPUs 311 and 311a.
  • the HDDs 351, 352, and 353 are connected to the I / F switch 350.
  • the HDDs 351a, 352a, 353a are connected to the I / F switch 350a.
  • the storage unit 302 may include a nonvolatile storage device (for example, SSD) other than the HDD.
  • the I / F controllers 303 and 303a relay data communication between the RAID control unit 301 and the storage unit 302.
  • the I / F controller 303 is connected to the PCI Express controller 313 and the I / F switches 350 and 350a.
  • the I / F controller 303a is connected to the PCI Express controller 313a and the I / F switches 350 and 350a.
  • the SVP 304 is a device for managing the storage device 300.
  • the SVP 304 is responsible for various functions (for example, disk failure management and power management) on the storage apparatus 300.
  • the SVP 304 may be connected to a management terminal device (not shown) for managing the storage device 300.
  • the SVP 304 can display a management GUI on the management terminal device.
  • the administrator can also input an instruction to the storage apparatus 300 by operating the GUI.
  • the SVP 304 has a memory for storing programs and data used for the processing of the SVP 304.
  • FIG. 6 is a diagram illustrating an arrangement example of virtual machines.
  • the server apparatus 100 includes hardware 120, a hypervisor 140, and virtual machines 150 and 150a.
  • the hardware 120 is a physical resource included in the server device 100.
  • the hardware 120 includes a CPU board 101, a PCI Express controller 103, a SAS interface 104, an HDD 105, FC interfaces 106 and 106 a, a network interface 107, and a disk drive 109.
  • the hypervisor 140 implements a virtual machine.
  • the hypervisor 140 assigns the hardware 120 to each virtual machine, and controls the start / stop of each virtual machine.
  • the hypervisor 140 arbitrates access to the hardware 120 of each virtual machine so that the virtual machines can use the hardware 120 jointly. Further, the hypervisor 140 monitors the usage status of the hardware 120 assigned to each virtual machine.
  • the virtual machines 150 and 150a are virtual machines realized on the server apparatus 100 by the hypervisor 140.
  • the virtual machines 150 and 150a execute independent OSs.
  • the OS executed by the virtual machines 150 and 150a may be the same or different.
  • the server apparatus 100 may execute three or more virtual machines.
  • FIG. 7 is a block diagram showing an example of hardware allocation.
  • the virtual machines 150 and 150a are realized by resources obtained by logically dividing the hardware 120 on the server apparatus 100.
  • the CPU 111, the RAM 112, and the FC interface 106 are shown as main components included in the hardware 120.
  • CPU 111 is time-divided into CPU resources l1, l2, l3, and l4.
  • the CPU 111 may divide the area. For example, the CPU resources l1 and l2 are allocated to the virtual machine 150, and the CPU resources l3 and l4 are allocated to the virtual machine 150a.
  • the RAM 112 is divided into RAM resources m1 and m2.
  • the RAM resource m1 is allocated to the virtual machine 150
  • the RAM resource m2 is allocated to the virtual machine 150a.
  • the FC interface 106 is divided into FC interface resources n1 and n2.
  • the FC interface resources n1 and n2 include resources obtained by time-sharing the processing capability of the control device on the FC interface 106.
  • the FC interface resources n1 and n2 include resources obtained by dividing the physical memory on the FC interface 106 reserved for buffers.
  • the FC interface resource n1 is assigned to the virtual machine 150
  • the FC interface resource n2 is assigned to the virtual machine 150a. If the FC interface 106 is a physical HBA, the FC interface resources n1 and n2 are virtual HBAs realized on the physical HBA.
  • FIG. 8 is a block diagram illustrating functions of the server device according to the second embodiment.
  • the server apparatus 100 includes a management information storage unit 130, a hypervisor 140, virtual machines 150 and 150a, and virtual adapters 160, 160a, 160b, and 160c.
  • the functions of the management information storage unit 130, the hypervisor 140, and the virtual machines 150 and 150a are realized on the server device 100 by the CPU 111 executing a predetermined program.
  • the functions of the virtual adapters 160 and 160a are realized on the FC interface 106 by a control device on the FC interface 106 executing a predetermined program.
  • the functions of the virtual adapters 160b and 160c are realized on the FC interface 106a when the control device on the FC interface 106a executes a predetermined program.
  • all or part of these units may be realized by dedicated hardware.
  • the management information storage unit 130 stores management information.
  • the management information includes a connection configuration management table and a redundancy group management table.
  • the connection configuration management table is data for managing the correspondence between virtual machines and virtual adapters.
  • the redundancy group management table is data for managing a redundancy group in which a plurality of virtual adapters are bundled.
  • the hypervisor 140 has a control unit 141.
  • the control unit 141 controls communication paths of the virtual machines 150 and 150a.
  • the control unit 141 receives a notification that a failure has occurred in communication via the FC interface from the virtual machine. Then, the control unit 141 refers to the management information storage unit 130 and identifies another virtual machine that communicates using the FC interface. The control unit 141 assigns the identified other virtual machine to another interface.
  • the virtual machine 150 includes an OS 151, an adapter driver 152, a redundant path control unit 153, and a connection destination device driver 154.
  • the OS 151 is a basic program that runs on the virtual machine 150.
  • the adapter driver 152 is software for using a virtual adapter on the OS 151.
  • the redundant path control unit 153 is software that makes the virtual adapter redundant and improves the reliability of the communication path in the virtual machine 150.
  • the redundant path control unit 153 manages a plurality of virtual adapters by distinguishing between the active system and the standby system.
  • the redundant path control unit 153 switches the virtual adapter used by the virtual machine 150 to the standby system when a failure occurs in the active virtual adapter and the virtual machine 150 becomes unable to communicate.
  • the redundant path control unit 153 switches the adapter used by the virtual machine 150 to the standby system upon receiving an adapter switching instruction from the control unit 141.
  • the connection destination device driver 154 is driver software for using the storage device 300 from the virtual machine 150.
  • the virtual machine 150a includes an OS 151a, an adapter driver 152a, a redundant path control unit 153a, and a connection destination device driver 154a.
  • the OS 151a, adapter driver 152a, redundant path control unit 153a, and connection destination device driver 154a correspond to the OS 151, adapter driver 152, redundant path control unit 153, and connection destination device driver 154, respectively.
  • the virtual adapters 160, 160a, 160b, and 160c are virtual adapters for data communication realized by resources on the FC interfaces 106 and 106a.
  • FIG. 9 is a diagram illustrating an example of a connection configuration management table.
  • the connection configuration management table 131 includes a slot, a physical adapter, a virtual adapter, a virtual machine ID (IDentifier), a virtual port number, and the like.
  • a connection destination WWN (World Wide Name) and a zone item are provided.
  • the information arranged in the horizontal direction of each item is associated with each other to indicate one correspondence between the virtual machine and the virtual adapter.
  • the PCI slot ID of the PCI in which the physical adapter is mounted is set.
  • Information on the physical adapter is set in the item of the physical adapter.
  • the item of physical adapter includes device path, instance number, , VID (Vendor ID) and DID (Device ID) items are provided.
  • Device path information for accessing the physical adapter is set in the device path item.
  • Instance No. the function identification number (physical port number) of the physical adapter is set. If there are multiple physical ports for the function identification number of the physical adapter, the instance number In addition, the physical port number may be managed.
  • a VID for identifying the vendor that manufactured the physical adapter is set. If the VID is the same vendor, the same ID is used.
  • a DID for identifying a device (function) of the physical adapter is set.
  • the DID is an ID for uniquely identifying the physical adapter in the server device 100.
  • Virtual adapter information is set in the virtual adapter item.
  • the virtual adapter item includes a device path, an instance number, and the like. (Identification number assigned to the function of the virtual adapter), VID, and DID are provided.
  • the setting contents of these items are the same as the setting contents of the physical adapter information described above.
  • SVID (Sub Vendor ID) and SDID (Sub Device ID) may be used.
  • the ID of the virtual machine associated with the virtual adapter is set.
  • Virtual port No. In this item, the identification number of the virtual port on the physical adapter is set.
  • the WWN of the FC interface of the connection destination storage apparatus is set.
  • the zone item which zone on the FC switch device 200 belongs is specified by the ID of the zone.
  • connection configuration management table 131 for each virtual machine and the virtual adapter on each FC interface.
  • connection configuration management table 131 for each virtual machine and the virtual adapter on each FC interface.
  • the connection configuration management table 131 has a slot “0”, a device path “/ pci @ 0 / pci @ 0 / fibre-channel @ 0”, an instance No. Is “0”, VID is “10CF”, DID is “0001”, and the device path is “/ pci @ 0 / pci @ 0 / pci @ 0 / fibre-channel @ 0” for each virtual adapter. "0”, VID "10CF”, DID "0001", virtual machine ID "0”, virtual port No. Is set to “00”, the connection destination WWN is “xxxy01”, and the zone is “Zone0”.
  • FC interface 106 is connected to the PCI slot “0” and the device path and instance number of the FC interface 106 are , VID, and DID indicate the above settings. Also, the device path and port number of the virtual adapter 160 are displayed. , VID, and DID indicate the above settings. Further, a virtual machine 150 (virtual machine ID “0”) is associated with the virtual adapter 160. Further, in the FC interface 106, the virtual port No. This indicates that a virtual port of “00” is assigned. This indicates that “xxxy01” is designated as the WWN of the connection destination device via the virtual adapter. Further, the communication path by the virtual adapter 160 indicates that it belongs to “Zone 0” in the zone managed by the FC switch device 200.
  • the slot is “0”
  • the device path is “/ pci @ 0 / pci @ 0 / fibre-channel @ 0”
  • VID is “10CF”
  • DID is “0001”
  • the device path is “/ pci @ 0 / pci @ 0 / pci @ 0 / fibre-channel @ 1”
  • the connection destination WWN is "xxx02”
  • the zone is "Zone1".
  • the connection configuration management table 131 includes a slot “1”, a device path “/ pci @ 1 / pci @ 0 / fibre-channel @ 0”, an instance No. Is “1”, VID is “10CF”, DID is “0001”, and the device path is “/ pci @ 1 / pci @ 0 / pci @ 0 / fibre-channel @ 2”, instance No. "2”, VID "10CF”, DID "0001", virtual machine ID "0”, virtual port No. Is set to “10”, the connection destination WWN is “xxxy01”, and the zone is “Zone0”.
  • the connection configuration management table 131 includes a slot “1”, a device path “/ pci @ 1 / pci @ 0 / fibre-channel @ 0”, an instance No. Is “1”, VID is “10CF”, DID is “0001”, and the device path is “/ pci @ 1 / pci @ 0 / pci @ 0 / fibre-channel @ 3” for each virtual adapter, instance No. Is “3”, VID is “10CF”, DID is “0001”, virtual machine ID is “1”, virtual port No. Is “11”, the connection destination WWN is “xxx02”, and the zone is “Zone1”.
  • connection destination WWN “xxxy01” corresponds to the port 340 of the storage apparatus 300.
  • connection destination WWN “xxx02” corresponds to the port 340 a of the storage apparatus 300.
  • FIG. 10 is a diagram showing an example of a redundancy group management table.
  • the redundancy group management table 132 includes a virtual machine ID, a physical adapter instance number, and the like. , Virtual adapter instance No. , Adapter identification information, operation status, IO (Input / Output) request status, items indicating redundancy groups and other virtual adapters of the same physical adapter are provided. Information arranged in the horizontal direction of each item is associated with each other to indicate information of one redundancy group.
  • the virtual machine ID is set in the virtual machine ID item.
  • Physical adapter instance No. The item of the physical adapter instance No. Is set.
  • Physical adapter instance No. Is the function number (physical port number) of the physical adapter.
  • Virtual adapter instance No. The item of the virtual adapter instance No. Is set.
  • Virtual adapter instance No. Is a function number of the virtual adapter (a number for identifying a virtual function of the virtual adapter).
  • adapter information used for accessing the connection destination device is set.
  • the item of adapter identification information further includes a physical device path item and a slot item.
  • the physical device path item device path information of the physical adapter is set.
  • the slot item the PCI slot ID of the PCI slot in which the physical adapter is provided is set.
  • the operation state item information indicating the operation state of data communication via the virtual adapter is set.
  • the IO request status item information indicating the status of the IO request in data communication via the virtual adapter is set.
  • the redundant group item information on the redundant group (virtual adapter combination) to which the virtual adapter belongs is set.
  • the redundant group item further includes a group ID item and a virtual adapter item.
  • the group ID item the group ID of the redundant group is set.
  • the virtual adapter item the virtual adapter instance number of the virtual adapter that is a pair of the group is displayed. Is set.
  • virtual adapter instance numbers of other virtual adapters on the FC interface to which the virtual adapter belongs are displayed. Is set. For example, in the redundancy group management table 132, the following redundancy group is set for each virtual adapter.
  • the redundancy group management table 132 shows that the virtual machine ID is “0”, the physical adapter instance number. Is “0”, the virtual adapter instance No. Is “0”, the physical device path is “/ pci @ 0 / pci @ 0 / fiber-channel @ 0”, the slot is “0”, the operation status is “abnormal”, and the IO request status is “stopped”.
  • the redundant group has a group ID “multipath A”, a paired virtual adapter ID “2”, and another virtual adapter instance number of the same physical adapter. Is set to information “1”.
  • the virtual adapter 160 (virtual adapter instance number “0”) on the FC interface 106 (physical adapter instance number “0”) is assigned to the virtual machine 150.
  • the physical device path and slot number are set as information for identifying the physical adapter. Further, it indicates that the operation state of the virtual adapter 160 is “abnormal” and the IO request state is “stopped”. Further, it is indicated that the group ID of the redundant group to which the virtual adapter 160 belongs is “multipath A”, and the virtual adapter to be paired is the virtual adapter 160b (virtual adapter instance No. “2”).
  • the virtual adapter 160a (virtual adapter instance number “1”) is present as another virtual adapter on the FC interface 106.
  • the redundancy group management table 132 shows that the virtual machine ID is “0”, the physical adapter instance number. Is “1”, the virtual adapter instance No. Is “2”, the physical device path is “/ pci @ 1 / pci @ 0 / fibre-channel @ 0” for the adapter identification information, the slot is “1”, the operation state is “standby”, and the IO request state is “retry”.
  • Each redundant group has a group ID “multipath A”, a pair of virtual adapter instance Nos. Is “0”, another virtual adapter instance number of the same physical adapter. Is set to information “3”.
  • the redundancy group management table 132 has a virtual machine ID “1”, a physical adapter instance No. Is “0”, the virtual adapter instance No. Is “1”, the physical device path is “/ pci @ 0 / pci @ 0 / fiber-channel @ 0”, the slot is “0”, the operation state is “standby”, and the IO request state is “stop”.
  • Each redundant group has a group ID “multipath B”, a pair of virtual adapter instance numbers. Is “3” and another virtual adapter instance number of the same physical adapter. Is set to "0".
  • the redundancy group management table 132 has a virtual machine ID “1”, a physical adapter instance No. Is “1”, the virtual adapter instance No. Is “3”, the physical device path for the adapter identification information is “/ pci @ 1 / pci @ 0 / fiber-channel @ 0”, the slot is “1”, the operation state is “operation”, and the IO request state is “communication” "For each redundant group, the group ID is" multipath B "and the paired virtual adapter instance No. Is “1”, and other virtual adapter instance No. of the same physical adapter. Is set to information “2”.
  • each setting of operation status is as follows. “Abnormal” indicates a failure or failure of the virtual adapter. “Standby” indicates that the virtual adapter is a standby system of a redundancy group. “Operation” indicates that the virtual adapter is the active system of the redundancy group and is available for communication.
  • each setting content of the IO request status is as follows. “Stop” indicates that no IO (data transmission / reception operation) has occurred in the virtual adapter. “Retry” indicates that communication via the virtual adapter is being attempted. “Communicating” indicates that communication via the virtual adapter has been established and is being used for communication.
  • FIG. 11 is a flowchart illustrating an overall process when a failure is detected according to the second embodiment. In the following, the process illustrated in FIG. 11 will be described in order of step number. It is assumed that the virtual machine 150 is accessing the storage apparatus 300 via the virtual adapter 160 and the virtual machine 150a is accessing the storage apparatus 300 via the virtual adapter 160a immediately before step S11 shown below.
  • Step S11 The adapter driver 152 detects a failure through communication via the virtual adapter 160. Then, the adapter driver 152 notifies the hypervisor 140 of failure detection of the virtual adapter 160 by inter-process communication. In response to the notification, the control unit 141 detects a failure of the virtual adapter 160.
  • the control unit 141 refers to the connection configuration management table 131 stored in the management information storage unit 130, and confirms the configuration of the virtual adapter. Specifically, the control unit 141 confirms the presence of another virtual adapter on the FC interface 106 to which the virtual adapter 160 that detects the failure belongs. The control unit 141 identifies the virtual adapter 160a as the other virtual adapter. The control unit 141 refers to the connection configuration management table 131 and identifies the virtual machine 150a corresponding to the virtual adapter 160a.
  • Step S13 The control unit 141 inquires of the virtual machine 150a whether it has a save-destination virtual adapter (hereinafter referred to as a save-destination adapter) on another physical adapter.
  • the redundant path control unit 153a of the virtual machine 150a responds to the inquiry with or without the save destination adapter.
  • the redundant path control unit 153a notifies the control unit 141 of the identification information.
  • the control unit 141 sets the received identification information of the save destination adapter in the redundancy group management table 132. For example, the redundant path control unit 153a notifies the control unit 141 that the save destination adapter (virtual adapter 160c) on the FC interface 106a exists for the virtual adapter 160a.
  • control unit 141 registers the virtual adapters 160a and 160c in the redundancy group management table 132 in association with each other.
  • the control unit 141 acquires information from the redundant path control unit 153 and registers it in the redundancy group management table 132 in the same manner as for the correspondence between the failed virtual adapter 160 and the virtual adapter 160b.
  • Step S14 The control unit 141 selects one unsaved virtual adapter from the other virtual adapters confirmed in step S12. For example, the virtual adapter 160a is selected.
  • Step S15 The control unit 141 refers to the redundancy group management table 132 to determine whether or not the virtual adapter has a save destination adapter. If there is no save destination adapter, the process proceeds to step S16. If there is a save destination adapter, the process proceeds to step S19.
  • the control unit 141 performs a process of adding a physical adapter. For example, a message prompting the administrator to add the FC interface 106a is notified. After the administrator performs the work of newly installing the FC interface 106a in the server apparatus 100, the control unit 141 performs processing for making the FC interface 106a available from the virtual machine 150a. The control unit 141 allocates a save destination virtual adapter 160c from the virtual adapter on the FC interface 106a to the virtual machine 150a. The control unit 141 registers the connection configuration related to the added FC interface 106a in the connection configuration management table 131. The control unit 141 registers the correspondence relationship between the save-source virtual adapter and the save-destination virtual adapter in the redundancy group management table 132 stored in the management information storage unit 130.
  • Step S17 The control unit 141 refers to the connection configuration management table 131 and determines whether or not a zone corresponding to the save destination adapter has been set in the FC switch device 200. If the zone has been set, the process proceeds to step S19. If no zone has been set, the process proceeds to step S18.
  • Step S18 The control unit 141 adds port information corresponding to the save destination adapter to the zone information of the FC switch device 200.
  • Step S19 The control unit 141 notifies the virtual machine 150a of an instruction to incorporate a connection destination device of the save destination adapter through inter-process communication.
  • the virtual machine 150a receives the installation instruction, the virtual machine 150a communicates with the connection destination device and performs processing for enabling the connection destination device to be used via the save destination adapter.
  • the virtual machine 150a notifies the hypervisor 140 of the completion.
  • Step S20 The control unit 141 notifies the virtual machine 150a of an instruction to switch communication to the save destination adapter.
  • the redundant path control unit 153a switches the adapter used for communication from the virtual adapter 160a to the virtual adapter 160c.
  • the redundant path control unit 153a notifies the control unit 141 that the switching has been completed.
  • the control unit 141 updates the operation status of the virtual adapters 160a and 160c in the redundancy group management table 132.
  • Step S21 The control unit 141 refers to the redundancy group management table 132 and determines whether saving has been completed for all the virtual adapters specified in Step S12. If all virtual adapters have been saved, the process proceeds to step S22. If there is an unsaved virtual adapter, the process proceeds to step S14.
  • Step S22 The control unit 141 sets the failed physical adapter (FC interface 106) to a failed state and stops its operation.
  • the control unit 141 prevents a resource acquisition request to the physical adapter by the virtual machines 150 and 150a and closes the failed physical adapter. Then, the control unit 141 turns off the power supply of the failed physical adapter and disconnects it from the server device 100.
  • control unit 141 controls the switching of the virtual adapter.
  • control unit 141 may refer to the connection configuration management table 131 stored in the management information storage unit 130 and check whether there is a save destination adapter.
  • step S22 is performed after the switching of the virtual adapter 160 in which a failure is detected on the virtual machine 150 to the virtual adapter 160b is completed.
  • the redundant path control unit 153 switches from the virtual adapter 160 to the virtual adapter 160b after the failure detection.
  • the redundant path control unit 153 notifies the control unit 141 of the completion of the switching. In this way, the control unit 141 also manages the switching status between the virtual adapters 160 and 160b.
  • control unit 141 may also instruct the redundant path control unit 153 to perform switching.
  • controller 141 reserves adapter switching by the redundant path controller 153 until the FC interface 106a is newly installed in the server device 100.
  • FIG. 12 is a sequence diagram illustrating an entire process when a failure is detected according to the second embodiment.
  • the process illustrated in FIG. 12 will be described in order of step number. Note that immediately before step ST101 shown below, the virtual machine 150 is accessing the storage apparatus 300 via the virtual adapter 160, and the virtual machine 150a is accessing the storage apparatus 300 via the virtual adapter 160a. Further, it is assumed that the FC interface 106a is not installed in the server device 100.
  • Step ST101 The virtual machine 150 notifies the hypervisor 140 of the failure of the virtual adapter 160.
  • the hypervisor 140 refers to the connection configuration management table 131 stored in the management information storage unit 130, and confirms the virtual adapter 160a sharing the FC interface 106 with the virtual adapter 160. Further, it is confirmed that the virtual machine 150a is associated with the virtual adapter 160a.
  • Step ST103 The hypervisor 140 inquires of the virtual machine 150a whether there is a save destination adapter.
  • the virtual machine 150a responds to the hypervisor 140 that there is no save destination adapter. Thereafter, the hypervisor 140 notifies the administrator to newly provide the FC interface 106a in the server device 100. In response to the notification, the administrator installs the FC interface 106a in the server device 100.
  • the virtual machine 150 also has no save destination adapter. For this reason, the hypervisor 140 reserves the virtual adapter switching processing by the redundant path control unit 153 until the added FC interface 106a becomes usable after the failure is detected.
  • Step ST104 The hypervisor 140 instructs the virtual machines 150 and 150a to incorporate the driver modules of the virtual adapters 160b and 160c on the FC interface 106a.
  • the virtual machines 150 and 150a incorporate virtual adapters 160b and 160c in response to the instruction.
  • the virtual machine 150 can use the virtual adapter 160b.
  • the virtual machine 150a can use the virtual adapter 160c.
  • the hypervisor 140 registers the virtual adapters 160 and 160b as a redundancy group pair in the redundancy group management table 132 stored in the management information storage unit 130.
  • the virtual adapters 160a and 160c are registered as a redundancy group pair.
  • Step ST105 The hypervisor 140 adds port information (physical adapter information and physical adapter virtual port number information) corresponding to the virtual adapters 160b and 160c to the zone information of the FC switch device 200. Thereby, communication via the zone of FC switch device 200 is attained from virtual adapters 160b and 160c.
  • port information physical adapter information and physical adapter virtual port number information
  • Step ST106 The hypervisor 140 instructs the virtual machines 150 and 150a to incorporate the storage apparatus 300 via the virtual adapters 160b and 160c.
  • the virtual machines 150 and 150a communicate with the storage apparatus 300 in response to the instruction, and make the storage apparatus 300 usable through the virtual adapters 160b and 160c.
  • the virtual machine 150 can access the storage apparatus 300 via the virtual adapter 160b.
  • the virtual machine 150a can access the storage apparatus 300 via the virtual adapter 160c.
  • Step ST107 The hypervisor 140 instructs the virtual machines 150 and 150a to switch the virtual adapter.
  • the virtual machine 150 switches from the virtual adapter 160 to the virtual adapter 160b.
  • the virtual machine 150a switches from the virtual adapter 160a to the virtual adapter 160c.
  • Step ST108 The hypervisor 140 confirms that all virtual machines sharing the FC interface 106 have been transferred to other FC interfaces, and communication has been stopped by all virtual adapters on the FC interface 106.
  • the hypervisor 140 closes the FC interface 106, turns off the power, and stops it.
  • Step ST109 The hypervisor 140 disconnects the FC interface 106 from the server device 100.
  • the FC interface 106 is removable from the server device 100.
  • the hypervisor 140 detects a failure in the virtual adapter 160
  • the virtual machine 150a sharing the FC interface 106 with the virtual machine 150 is also transferred to the FC interface 106a.
  • all virtual machines that use the FC interface 106 are saved in the FC interface 106a.
  • FIG. 13 is a flowchart illustrating physical adapter addition processing according to the second embodiment. In the following, the process illustrated in FIG. 13 will be described in order of step number.
  • Step S31 The FC interface 106a is installed in the server apparatus 100 by the administrator.
  • the administrator connects the FC interface 106a and the FC switch device 200 via an FC cable.
  • the control unit 141 detects that the FC interface 106a has been added to the server device 100.
  • Step S32 The control unit 141 registers the information of the FC interface 106a and the virtual adapters 160b and 160c in the connection configuration management table 131 stored in the management information storage unit 130.
  • the control unit 141 obtains connection destination WWN and zone information related to the save source virtual adapter from the connection configuration management table 131 and registers them in the same table as connection destination WWN and zone information of the save destination adapter.
  • the control unit 141 may register information input by the administrator in the management terminal device 400 in the connection configuration management table 131 as information on the connection destination WWN and zone of the save destination adapter.
  • control unit 141 registers the virtual adapters 160b and 160c as save destinations of the virtual adapters 160 and 160a in the redundancy group management table 132 stored in the management information storage unit 130. Which virtual adapter is paired with which virtual adapter may be specified by the administrator from the management terminal device 400, or automatically specified by the control unit 141 based on conditions such as ascending order of DID. Good.
  • the control unit 141 refers to the connection configuration management table 131 and confirms the VID and DID of the newly registered FC interface 106a and virtual adapters 160b and 160c.
  • Step S34 The control unit 141 determines whether or not the VID and DID of the virtual adapters are the same in the redundancy group. If they are the same, the process proceeds to step S35. If they are not the same, the administrator is instructed to mount a physical adapter having the same function, and the process proceeds to step S31.
  • Step S ⁇ b> 35 The control unit 141 refers to the connection configuration management table 131 and identifies the virtual machines 150 and 150 a corresponding to the save-source virtual adapters 160 and 160 a.
  • Step S36 The control unit 141 instructs the adapter drivers 152 and 152a, the redundant path control units 153 and 153a, and the connection destination device drivers 154 and 154a to incorporate the driver modules of the virtual adapters 160b and 160c.
  • Step S37 The adapter drivers 152 and 152a, the redundant path control units 153 and 153a, and the connection destination device drivers 154 and 154a incorporate the driver modules of the virtual adapters 160b and 160c in response to an instruction from the control unit 141.
  • FIG. 14 is a sequence diagram illustrating physical adapter addition processing according to the second embodiment. In the following, the process illustrated in FIG. 14 will be described in order of step number.
  • Step ST111 The administrator installs the FC interface 106a in the server apparatus 100.
  • the administrator connects the FC interface 106a and the FC switch device 200 with an FC cable.
  • Step ST112 When the hypervisor 140 detects that the FC interface 106a has been added, the hypervisor 140 acquires information on the physical adapter and the virtual adapter from the FC interface 106a. The hypervisor 140 registers the acquired information in the connection configuration management table 131 stored in the management information storage unit 130. In addition, the hypervisor 140 registers the virtual adapters 160b and 160c in the redundancy group management table 132 stored in the management information storage unit 130 as the save destination of the virtual adapters 160 and 160a.
  • the hypervisor 140 refers to the connection configuration management table 131 and confirms the VID and DID of the newly registered FC interface 106a and virtual adapters 160b and 160c.
  • the hypervisor 140 confirms that the VID and the DID are the same between the redundant pair of virtual adapters. Specifically, it is confirmed that the VID and DID of the virtual adapters 160 and 160b are the same. It is also confirmed that the virtual adapters 160a and 160c have the same VID and DID.
  • the hypervisor 140 refers to the connection configuration management table 131 and identifies the virtual machine 150 associated with the virtual adapter 160. Similarly, the virtual machine 150a associated with the virtual adapter 160a is specified.
  • Step ST115 The hypervisor 140 instructs the virtual machines 150 and 150a to incorporate the virtual adapters 160b and 160c.
  • the virtual machines 150 and 150a incorporate the driver modules of the virtual adapters 160b and 160c. As a result, the virtual machine 150 can use the virtual adapter 160b. Further, the virtual machine 150a can use the virtual adapter 160c.
  • the hypervisor 140 causes the virtual machines 150 and 150a to incorporate the virtual adapters 160b and 160c.
  • the hypervisor 140 manages the allocation status of the virtual adapters 160b and 160c to the virtual machines 150 and 150a using the connection configuration management table 131. Further, the hypervisor 140 manages the correspondence relationship of the redundant groups by the virtual adapters 160, 160a, 160b, and 160c with the redundant group management table 132.
  • FIG. 15 is a flowchart illustrating connection destination device addition processing according to the second embodiment. In the following, the process illustrated in FIG. 15 will be described in order of step number.
  • Step S41 The control unit 141 instructs the virtual machines 150 and 150a to incorporate the connection destination device (storage device 300). At this time, the control unit 141 refers to the connection configuration management table 131 stored in the management information storage unit 130 and notifies the virtual machine 150 of the connection destination WWN of the virtual adapter 160b. Similarly, the control unit 141 notifies the virtual machine 150a of the connection destination WWN of the virtual adapter 160c.
  • Step S42 The redundant path control unit 153 confirms the connection destination WWN of the virtual adapter 160.
  • the redundant path control unit 153a confirms the connection destination WWN of the virtual adapter 160a.
  • Step S43 The redundant path control units 153 and 153a determine whether or not the connection destination WWN received in step S41 is the same as the connection destination WWN confirmed in step S42. If they are the same, that is, if it is confirmed that the original connection destination device can be accessed even after the FC interface is changed, the redundant path control units 153 and 153a incorporate the connection destination device. Thereafter, the redundant path control units 153 and 153a notify the hypervisor 140 that the incorporation has been completed, and the process proceeds to step S44. If the connection destination WWNs are different, that is, if the original connection destination device cannot be accessed after the FC interface is changed, this is notified to the hypervisor 140, and the process proceeds to step S45.
  • Step S44 The control unit 141 updates the redundancy group management table 132 stored in the management information storage unit 130. Specifically, the control unit 141 updates the operation state of the virtual adapters 160b and 160c to “standby”.
  • Step S45 The control unit 141 prompts the administrator to confirm the connection destination devices of the virtual adapters 160b and 160c. For example, the control unit 141 notifies the management terminal device 400 of a predetermined message, or transmits an e-mail describing the predetermined message to the administrator's e-mail address.
  • control unit 141 makes the storage apparatus 300 usable from the virtual machines 150 and 150a via the save destination virtual adapter. Since the control unit 141 confirms in advance that the save destination device is the same before and after the save, it is possible to reduce the influence on the processing of the virtual machines 150 and 150a after the save.
  • FIG. 16 is a sequence diagram illustrating connection destination device addition processing according to the second embodiment. In the following, the process illustrated in FIG. 16 will be described in order of step number.
  • the hypervisor 140 instructs the virtual machines 150 and 150a to incorporate the storage apparatus 300.
  • Step ST122 The virtual machines 150 and 150a confirm that the storage device 300 as a new connection destination is the same as the storage device 300 as the current connection destination. Then, the virtual machines 150 and 150a incorporate the storage apparatus 300. As a result, the virtual machine 150 can access the storage apparatus 300 via the virtual adapter 160b. The virtual machine 150a can access the storage apparatus 300 via the virtual adapter 160c.
  • Step ST123 The virtual machines 150 and 150a respond to the hypervisor 140 that the incorporation of the storage apparatus 300 has been completed.
  • the hypervisor 140 updates the redundancy group management table 132 stored in the management information storage unit 130. Specifically, the control unit 141 updates the operation state of the virtual adapters 160b and 160c to “standby”.
  • FIG. 17 is a flowchart illustrating adapter switching processing according to the second embodiment. In the following, the process illustrated in FIG. 17 will be described in order of step number.
  • Step S51 The control unit 141 confirms the virtual adapter to be saved. Specifically, the control unit 141 confirms the virtual adapter 160a on the FC interface 106 in which a failure is detected. The control unit 141 refers to the redundancy group management table 132 stored in the management information storage unit 130, and identifies the virtual adapter 160c as the save destination adapter of the virtual adapter 160a.
  • Step S52 The control unit 141 instructs the virtual machine 150a to switch to the virtual adapter 160c.
  • Step S53 Upon receiving the instruction from the control unit 141, the redundant path control unit 153a refers to the redundancy group management table 132 and confirms the IO request status of the virtual machine 150a. The redundant path control unit 153a may check the IO request state of the connection destination device driver 154a with reference to the IO request state. The redundant path control unit 153a switches the adapter from the virtual adapter 160a to the virtual adapter 160c when the IO request state by the virtual adapter 160a of the virtual machine 150a becomes “stopped”.
  • Step S54 The redundant path control unit 153a notifies the control unit 141 of the completion of switching.
  • Step S55 Upon receiving a notification of switching completion from the redundant path control unit 153a, the control unit 141 updates the redundancy group management table 132. Specifically, the control unit 141 confirms that the IO request state of the virtual adapter 160a is “stopped”, changes the operation state item for the virtual adapter 160a to “standby”, and changes the operation state for the virtual adapter 160c. Change the item to "Operation".
  • control unit 141 controls switching of adapters within the redundancy group.
  • the control unit 141 confirms that the virtual machine 150a sharing the FC interface 106 exists. Then, the control unit 141 instructs the redundant path control unit 153a of the virtual machine 150a to switch the virtual adapter.
  • the redundant path control unit 153a switches the adapter from the virtual adapter 160a on the FC interface 106 to the virtual adapter 160c on the FC interface 106a at a timing when the virtual machine 150a is not accessing the storage apparatus 300. Thereby, the adapter can be switched so that the processing of the virtual machine 150a is not interrupted.
  • the controller 141 reserves switching of the adapter of the virtual machine 150 (see, for example, step ST103 in FIG. 12), the virtual adapter 160b is set as the save destination adapter of the virtual machine 150 in step S51. Identify. In subsequent steps S52 to S55, the control unit 141 controls the redundant path control unit 153 of the virtual machine 150 to switch from the virtual adapter 160 to the virtual adapter 160b in the same manner as the virtual machine 150a.
  • control unit 141 transfers another virtual machine to the FC interface 106a at a timing when a failure is detected by the FC interface 106. For this reason, the maintenance work of the server apparatus 100 can be started quickly, and the maintenance work can be performed efficiently.
  • the virtual machines 150 and 150a are transferred to the same FC interface 106a, the virtual machines may be transferred to different FC interfaces. Further, although the connection destination devices of the virtual machines 150 and 150a are the storage device 300, they may be connected to different connection destination devices.
  • the virtual machines 150 and 150a include the redundant path control units 153 and 153a and the virtual adapter switching process is performed in accordance with an instruction from the control unit 141.
  • the hypervisor may have the functions of the redundant path control units 153 and 153a.
  • the third embodiment exemplifies this case.
  • the overall configuration of the information processing system according to the third embodiment is the same as the overall configuration of the information processing system according to the second embodiment described with reference to FIG.
  • the hardware examples of the server device, FC switch device, storage device, and management terminal device according to the third embodiment are as described with reference to FIGS.
  • the hardware, FC switch device, storage device, and management terminal device of the server device 100a described below are indicated by the same reference numerals as those in the second embodiment. Corresponding identical configurations are denoted by the same reference numerals.
  • FIG. 18 is a block diagram illustrating functions of the server device according to the third embodiment.
  • the server apparatus 100a includes a management information storage unit 130, a hypervisor 140a, virtual machines 150b and 150c, and virtual adapters 160, 160a, 160b, and 160c.
  • the functions of the management information storage unit 130, the hypervisor 140a, and the virtual machines 150b and 150c are realized on the server device 100a when the CPU 111 executes a predetermined program. However, all or part of these units may be realized by dedicated hardware.
  • the management information storage unit 130 corresponds to the management information storage unit 130 of the second embodiment.
  • the hypervisor 140a corresponds to the hypervisor 140 of the second embodiment.
  • the hypervisor 140a has a control unit 141a.
  • the control unit 141a corresponds to the control unit 141 of the second embodiment. However, in addition to the function of the control part 141, the control part 141a bears the function of the redundant path control parts 153 and 153a of 2nd Embodiment.
  • the control unit 141a performs redundancy control on the virtual adapters assigned to the virtual machines 150b and 150c.
  • the virtual machine 150b has an OS 151, an adapter driver 152b, and a connection destination device driver 154b.
  • the virtual machine 150c includes an OS 151a, an adapter driver 152c, and a connection destination device driver 154c.
  • the OSs 151b and 151c, the adapter drivers 152b and 152c, and the connection destination device drivers 154b and 154c correspond to the OSs 151 and 151a, the adapter drivers 152 and 152a, and the connection destination device drivers 154 and 154a of the second embodiment.
  • the virtual adapters 160, 160a, 160b, and 160c correspond to the virtual adapters 160, 160a, 160b, and 160c of the second embodiment. Even with such a configuration, the same processing as in the second embodiment can be performed. At that time, the processing performed on the redundant path control units 153 and 153a in the second embodiment is performed on the control unit 141a. In addition, the processing executed by the redundant path control units 153 and 153a in the second embodiment is executed by the control unit 141a.
  • step ST101 in the sequence diagram of the overall processing at the time of failure detection according to the second embodiment shown in FIG. I can judge.
  • the control unit 141a communicates with the adapter drivers 152b and 152c and monitors the IO request status of the virtual machines 150b and 150c.
  • the control unit 141a may monitor the IO request status by communicating with the connection destination device drivers 154b and 154c. Thereby, the control unit 141a can determine the IO request status for a certain virtual adapter, and can determine the adapter switching completion state.
  • the control unit 141a performs control so that the virtual adapter 160a does not enter a standby state while the virtual machine 150c is accessing the storage apparatus 300 using the virtual adapter 160a.
  • step ST103 in FIG. 12 is confirmed by the control unit 141a referring to the connection configuration management table 131 stored in the management information storage unit 130. For this reason, the processing load due to the inquiry to the virtual machine is reduced. Further, the control unit 141a performs the virtual adapter switching process in step ST107.
  • control unit 141a performs the switching process all at once, it is possible to omit communication such as an adapter confirmation inquiry or a switching instruction that occurs for each virtual machine. Therefore, the switching process can be performed at high speed.
  • the function of the control unit that manages the connection configuration of the physical adapter and the virtual adapter is provided in the hypervisor.
  • the management terminal device 400 shows the example provided with a control part.
  • the overall configuration of the information processing system of the fourth embodiment is the same as the overall configuration of the information processing system of the second embodiment described with reference to FIG.
  • the hardware examples of the server device, the FC switch device, the storage device, and the management terminal device according to the fourth embodiment are as described with reference to FIGS.
  • the server device, the FC switch device, the storage device, and the management terminal device are indicated by the same reference numerals as those in the second embodiment.
  • FIG. 19 is a block diagram illustrating functions of the management terminal device according to the fourth embodiment.
  • the management terminal device 400 includes a management information storage unit 410 and a control unit 420. Each of these functions is realized on the management terminal device 400 by the CPU on the management terminal device 400 executing a predetermined program stored in the memory on the management terminal device 400.
  • the control unit 420 may be realized by dedicated hardware.
  • the management information storage unit 410 corresponds to the management information storage unit 130 of the second embodiment.
  • the management information storage unit 410 stores management information.
  • the management information includes the connection configuration management table and the redundancy group management table described with reference to FIGS.
  • the control unit 420 corresponds to the control unit 141 of the second embodiment. That is, the control unit 420 takes on the function of the control unit 141 of the second embodiment. Specifically, the control unit 420 receives a notification from the hypervisor 140 that a failure has occurred in communication via the FC interface in any virtual machine. Then, the control unit 420 refers to the management information storage unit 410 and identifies another virtual machine that communicates using the FC interface. The control unit 420 instructs the hypervisor 140 to assign the identified other virtual machine to another FC interface. The hypervisor 140 allocates the other virtual machine to another FC interface according to an instruction from the control unit 420.
  • FIG. 20 is a sequence diagram illustrating an overall process when a failure is detected according to the fourth embodiment.
  • the process illustrated in FIG. 20 will be described in order of step number. Note that immediately before step ST131 shown below, it is assumed that the virtual machine 150 is accessing the storage apparatus 300 via the virtual adapter 160 and the virtual machine 150a is accessing via the virtual adapter 160a. Further, it is assumed that the FC interface 106a is not installed in the server device 100.
  • Step ST131 The virtual machine 150 notifies the control unit 420 of the failure of the virtual adapter 160 via the hypervisor 140.
  • communication between the virtual machines 150 and 150a and the control unit 420 is performed via the hypervisor 140 similarly to the step ST131.
  • Step ST132 The control unit 420 refers to the connection configuration management table stored in the management information storage unit 410 and confirms the virtual adapter 160a sharing the FC interface 106 with the virtual adapter 160. Further, it is confirmed that the virtual machine 150a is associated with the virtual adapter 160a.
  • Step ST133 The control unit 420 inquires of the virtual machine 150a whether there is a save destination adapter.
  • the virtual machine 150a responds to the control unit 420 that there is no save destination adapter. Thereafter, the control unit 420 notifies the administrator to newly provide the FC interface 106a in the server device 100. In response to the notification, the administrator installs the FC interface 106a in the server device 100.
  • the virtual machine 150 also has no save destination adapter. For this reason, the controller 420 reserves the virtual adapter switching process by the redundant path controller 153 until the added FC interface 106a becomes available after the failure is detected.
  • Step ST134 The control unit 420 instructs the virtual machines 150 and 150a to incorporate the driver modules of the virtual adapters 160b and 160c on the FC interface 106a.
  • the virtual machines 150 and 150a incorporate virtual adapters 160b and 160c in response to the instruction.
  • the virtual machine 150 can use the virtual adapter 160b.
  • the virtual machine 150a can use the virtual adapter 160c.
  • the control unit 420 registers the virtual adapters 160 and 160b as a redundancy group pair in the redundancy group management table stored in the management information storage unit 410.
  • the virtual adapters 160a and 160c are registered as a redundancy group pair.
  • Step ST135) The control unit 420 instructs the hypervisor 140 to add zone information of the FC switch device 200.
  • the hypervisor 140 adds port information corresponding to the virtual adapters 160b and 160c to the zone information of the FC switch device 200. Thereby, communication via the zone of FC switch device 200 is attained from virtual adapters 160b and 160c.
  • the zone may be directly set from the control unit 420 to the FC switch device 200. For example, if the management terminal device 400 and the SVP 203 of the FC switch device 200 are connected, an instruction can be sent directly from the control unit 420 to the FC switch device 200.
  • Step ST136 The control unit 420 refers to the redundancy group management table and confirms that the IO request state by the virtual adapters 160 and 160a is “stopped”.
  • the virtual machine 150, 150a is instructed to incorporate the storage apparatus 300 via the virtual adapters 160b, 160c.
  • the virtual machines 150 and 150a communicate with the storage apparatus 300 in response to the instruction, and make the storage apparatus 300 usable through the virtual adapters 160b and 160c.
  • the virtual machine 150 can access the storage apparatus 300 via the virtual adapter 160b.
  • the virtual machine 150a can access the storage apparatus 300 via the virtual adapter 160c.
  • Step ST137 The control unit 420 instructs the virtual machines 150 and 150a to switch the virtual adapter.
  • the virtual machine 150 switches from the virtual adapter 160 to the virtual adapter 160b.
  • the virtual machine 150a switches from the virtual adapter 160a to the virtual adapter 160c.
  • Step ST138 The control unit 420 confirms that all virtual machines sharing the FC interface 106 have been transferred to another FC interface, and communication has been stopped by all virtual adapters on the FC interface 106.
  • the control unit 420 instructs the hypervisor 140 to stop the FC interface 106.
  • the hypervisor 140 closes the FC interface 106, turns off the power, and stops it.
  • Step ST139 The control unit 420 instructs the hypervisor 140 to disconnect the FC interface 106.
  • the hypervisor 140 disconnects the FC interface 106 from the server device 100.
  • the FC interface 106 is removable from the server device 100.
  • the control unit 420 controls switching of the virtual adapter of the virtual machine 150a sharing the FC interface 106.
  • the control unit 420 can instruct switching of adapters in order from the virtual adapter 160, 160a in which the IO request state is “stopped”.
  • the management terminal device 400 controls adapter switching, integrated operation management including devices other than the server device 100 (for example, the FC switch device 200 and the storage device 300) is performed on the management terminal device 400. Yes.
  • the administrator can manage the connection configuration between the virtual machine and the connection destination device, the redundancy group allocation status, and the like using the management terminal device 400. For this reason, the operation management of the entire information processing system can be made efficient.
  • control unit 420 is provided in the management terminal device 400 has been described.
  • the function of the control unit 420 may be provided in the FC switch device 200.
  • FC switch device 200 includes a control unit is shown.
  • the overall configuration of the information processing system of the fifth embodiment is the same as the overall configuration of the information processing system of the second embodiment described in FIG.
  • the hardware examples of the server device, FC switch device, storage device, and management terminal device of the fifth embodiment are as described with reference to FIGS.
  • the server device, the FC switch device, the storage device, and the management terminal device are indicated by the same reference numerals as those in the second embodiment.
  • FIG. 21 is a block diagram illustrating functions of the FC switch device according to the fifth embodiment.
  • the FC switch device 200 includes a management information storage unit 210 and a control unit 220. Each of these functions is realized on the FC switch device 200 by the SVP 203 executing a predetermined program stored in the memory on the SVP 203 or the memory 202.
  • the control unit 220 may be realized by dedicated hardware.
  • the management information storage unit 210 corresponds to the management information storage unit 130 of the second embodiment.
  • the management information storage unit 210 stores management information.
  • the management information includes the connection configuration management table and the redundancy group management table described with reference to FIGS.
  • the control unit 220 corresponds to the control unit 141 of the second embodiment. That is, the control unit 220 takes on the function of the control unit 141 of the second embodiment. Specifically, the control unit 220 receives a notification from the hypervisor 140 that a failure has occurred in communication via the FC interface in any virtual machine. Then, the control unit 220 refers to the management information storage unit 210 and identifies another virtual machine that communicates using the FC interface. The control unit 220 instructs the hypervisor 140 to assign the identified other virtual machine to another FC interface. The hypervisor 140 allocates the other virtual machine to another FC interface according to an instruction from the control unit 220.
  • FIG. 22 is a sequence diagram illustrating an entire process when a failure is detected according to the fifth embodiment.
  • the process illustrated in FIG. 22 will be described in order of step number. Note that immediately before step ST141 shown below, it is assumed that the virtual machine 150 is accessing the storage apparatus 300 via the virtual adapter 160 and the virtual machine 150a is accessing via the virtual adapter 160a. Further, it is assumed that the FC interface 106a is not installed in the server device 100.
  • Step ST141 The virtual machine 150 notifies the controller 220 of the failure of the virtual adapter 160 via the hypervisor 140.
  • communication between the virtual machines 150 and 150a and the control unit 220 is performed via the hypervisor 140 in the same manner as in step ST141.
  • Step ST142 The control unit 220 refers to the connection configuration management table stored in the management information storage unit 210, and confirms the virtual adapter 160a sharing the FC interface 106 with the virtual adapter 160. Further, it is confirmed that the virtual machine 150a is associated with the virtual adapter 160a.
  • Step ST143 The control unit 220 inquires of the virtual machine 150a whether there is a save destination adapter.
  • the virtual machine 150a responds to the control unit 220 that there is no save destination adapter. Thereafter, the control unit 220 notifies the administrator to newly provide the FC interface 106a in the server apparatus 100. In response to the notification, the administrator installs the FC interface 106a in the server device 100.
  • the virtual machine 150 also has no save destination adapter. Therefore, the control unit 220 reserves the virtual adapter switching process by the redundant path control unit 153 until the added FC interface 106a becomes usable after the failure is detected.
  • Step ST144 The control unit 220 instructs the virtual machines 150 and 150a to incorporate the driver modules of the virtual adapters 160b and 160c on the FC interface 106a.
  • the virtual machines 150 and 150a incorporate virtual adapters 160b and 160c in response to the instruction.
  • the virtual machine 150 can use the virtual adapter 160b.
  • the virtual machine 150a can use the virtual adapter 160c.
  • the control unit 220 registers the virtual adapters 160 and 160b as a redundancy group pair in the redundancy group management table stored in the management information storage unit 210. Similarly, the virtual adapters 160a and 160c are registered as a redundancy group pair.
  • Step ST145 The control unit 220 adds port information corresponding to the virtual adapters 160b and 160c to the zone information of the FC switch device 200. Thereby, communication via the zone of FC switch device 200 is attained from virtual adapters 160b and 160c.
  • Step ST146 The control unit 220 instructs the virtual machines 150 and 150a to incorporate the storage apparatus 300 via the virtual adapters 160b and 160c.
  • the virtual machines 150 and 150a communicate with the storage apparatus 300 in response to the instruction, and make the storage apparatus 300 usable through the virtual adapters 160b and 160c.
  • the virtual machine 150 can access the storage apparatus 300 via the virtual adapter 160b.
  • the virtual machine 150a can access the storage apparatus 300 via the virtual adapter 160c.
  • Step ST147 The control unit 220 refers to the redundancy group management table and confirms that the IO request state by the virtual adapters 160 and 160a is “stopped”.
  • the control unit 220 instructs the virtual machines 150 and 150a to switch the virtual adapter.
  • the virtual machine 150 switches from the virtual adapter 160 to the virtual adapter 160b.
  • the virtual machine 150a switches from the virtual adapter 160a to the virtual adapter 160c.
  • Step ST148 The control unit 220 confirms that all virtual machines sharing the FC interface 106 have been transferred to another FC interface, and communication has been stopped by all virtual adapters on the FC interface 106.
  • the control unit 220 instructs the hypervisor 140 to stop the FC interface 106.
  • the hypervisor 140 closes the FC interface 106, turns off the power, and stops it.
  • Step ST149 The control unit 220 instructs the hypervisor 140 to disconnect the FC interface 106.
  • the hypervisor 140 disconnects the FC interface 106 from the server device 100.
  • the FC interface 106 is removable from the server device 100.
  • the control unit 220 controls switching of the virtual adapter of the virtual machine 150a sharing the FC interface 106.
  • the control unit 220 can instruct switching of adapters in order from the virtual adapter 160, 160a in which the IO request state is “stopped”.
  • the storage apparatus 300 includes a control unit.
  • the overall configuration of the information processing system according to the sixth embodiment is the same as the overall configuration of the information processing system according to the second embodiment described with reference to FIG.
  • the hardware examples of the server device, FC switch device, storage device, and management terminal device according to the sixth embodiment are as described with reference to FIGS.
  • the server device, the FC switch device, the storage device, and the management terminal device are indicated by the same reference numerals as those in the second embodiment.
  • the server apparatus 100 and the SVP 304 on the storage apparatus 300 are connected by a dedicated management LAN.
  • FIG. 23 is a block diagram illustrating functions of the storage apparatus according to the sixth embodiment.
  • the storage apparatus 300 includes a management information storage unit 360 and a control unit 370. Each of these functions is realized on the storage apparatus 300 by the SVP 304 executing a predetermined program stored in the memory on the SVP 304.
  • the control unit 370 may be realized by dedicated hardware.
  • the management information storage unit 360 corresponds to the management information storage unit 130 of the second embodiment.
  • the management information storage unit 360 stores management information.
  • the management information includes the connection configuration management table and the redundancy group management table described with reference to FIGS.
  • the control unit 370 corresponds to the control unit 141 of the second embodiment. That is, the control unit 370 has the function of the control unit 141 according to the second embodiment. Specifically, when detecting an access abnormality such as a timeout in any of the virtual machines, the control unit 370 detects that a failure has occurred in the virtual adapter corresponding to the virtual machine. Then, the control unit 370 refers to the management information storage unit 360 and identifies another virtual machine that communicates using the FC interface corresponding to the virtual machine. The control unit 370 instructs the hypervisor 140 to assign the identified other virtual machine to another FC interface. The hypervisor 140 allocates the other virtual machine to another FC interface according to an instruction from the control unit 370.
  • FIG. 24 is a sequence diagram illustrating an entire process when a failure is detected according to the sixth embodiment.
  • the process illustrated in FIG. 24 will be described in order of step number. Note that immediately before step ST151 shown below, it is assumed that the virtual machine 150 is accessing the storage apparatus 300 via the virtual adapter 160, and the virtual machine 150a is accessing the storage apparatus 300 via the virtual adapter 160a. Further, it is assumed that the FC interface 106a is not installed in the server device 100.
  • Step ST151 The control unit 370 detects an access abnormality due to a timeout or the like for access from the virtual machine 150.
  • the control unit 370 refers to the connection configuration management table stored in the management information storage unit 360 and identifies the virtual adapter 160 corresponding to the virtual machine 150. Then, the control unit 370 detects a failure of the virtual adapter 160.
  • Step ST152 The control unit 370 refers to the connection configuration management table and confirms the virtual adapter 160a sharing the FC interface 106 with the virtual adapter 160. Further, it is confirmed that the virtual machine 150a is associated with the virtual adapter 160a.
  • Step ST153 The control unit 370 inquires of the virtual machine 150a via the hypervisor 140 whether there is a save destination adapter.
  • the virtual machine 150a responds to the control unit 370 that there is no save destination adapter. Thereafter, the control unit 370 notifies the administrator to newly provide the FC interface 106a in the server apparatus 100. In response to the notification, the administrator installs the FC interface 106a in the server device 100.
  • the virtual machine 150 also has no save destination adapter. For this reason, the control unit 370 reserves the virtual adapter switching processing by the redundant path control unit 153 until the added FC interface 106a becomes usable after the failure is detected.
  • communication between the virtual machines 150 and 150a and the control unit 370 is performed via the hypervisor 140 similarly to the step ST153.
  • Step ST154 The control unit 370 instructs the virtual machines 150 and 150a to incorporate the driver modules of the virtual adapters 160b and 160c on the FC interface 106a.
  • the virtual machines 150 and 150a incorporate virtual adapters 160b and 160c in response to the instruction.
  • the virtual machine 150 can use the virtual adapter 160b.
  • the virtual machine 150a can use the virtual adapter 160c.
  • the control unit 370 registers the virtual adapters 160 and 160b as a redundancy group pair in the redundancy group management table stored in the management information storage unit 360. Similarly, the virtual adapters 160a and 160c are registered as a redundancy group pair.
  • Step ST155 The control unit 370 adds the port information corresponding to the virtual adapters 160b and 160c to the zone information of the FC switch device 200. Thereby, communication via the zone of FC switch device 200 is attained from virtual adapters 160b and 160c.
  • Step ST156 The control unit 370 instructs the virtual machines 150 and 150a to incorporate the storage apparatus 300 via the virtual adapters 160b and 160c.
  • the virtual machines 150 and 150a communicate with the storage apparatus 300 in response to the instruction, and make the storage apparatus 300 usable through the virtual adapters 160b and 160c.
  • the virtual machine 150 can access the storage apparatus 300 via the virtual adapter 160b.
  • the virtual machine 150a can access the storage apparatus 300 via the virtual adapter 160c.
  • Step ST157 The control unit 370 refers to the redundancy group management table and confirms that the IO request state by the virtual adapters 160 and 160a is “stopped”.
  • the control unit 370 instructs the virtual machines 150 and 150a to switch the virtual adapter.
  • the virtual machine 150 switches from the virtual adapter 160 to the virtual adapter 160b.
  • the virtual machine 150a switches from the virtual adapter 160a to the virtual adapter 160c.
  • Step ST158 The control unit 370 confirms that all virtual machines sharing the FC interface 106 have been transferred to another FC interface, and communication has been stopped by all virtual adapters on the FC interface 106.
  • the control unit 370 instructs the hypervisor 140 to stop the FC interface 106.
  • the hypervisor 140 closes the FC interface 106, turns off the power, and stops it.
  • Step ST159 The control unit 370 instructs the hypervisor 140 to disconnect the FC interface 106.
  • the hypervisor 140 disconnects the FC interface 106 from the server device 100.
  • the FC interface 106 is removable from the server device 100.
  • the control unit 370 controls switching of the virtual adapter of the virtual machine 150a sharing the FC interface 106.
  • the control unit 370 can instruct switching of adapters in order from the virtual adapter 160, 160a in which the IO request state is “stopped”.
  • the server apparatus 100 includes the FC interfaces 106 and 106a as physical adapters.
  • the function of the control unit 141 can be used for other types of physical adapters.
  • the seventh embodiment shows a case in which the function of the control unit 141 is applied to a server device having an FCoE (FC Over Ethernet, Ethernet is a registered trademark) interface.
  • FCoE FC Over Ethernet, Ethernet is a registered trademark
  • the overall configuration of the information processing system according to the seventh embodiment is the same as the overall configuration of the information processing system according to the second embodiment described with reference to FIG.
  • the information processing system according to the seventh embodiment includes a server apparatus 100b instead of the server apparatus 100 and an FCoE switch apparatus 200a instead of the FC switch apparatus 200.
  • the FCoE switch device 200a is connected to the network 20.
  • the FCoE switch device 200a may use a CEE (Converged Enhanced Ethernet) switch device.
  • the hardware examples of the server device 100b, the FCoE switch device 200a, the storage device, and the management terminal device according to the seventh embodiment are as described with reference to FIGS.
  • the storage device and the management terminal device are indicated by the same reference numerals as those in the second embodiment.
  • the server apparatus 100b includes FCoE interfaces 106b and 106c instead of the FC interfaces 106 and 106a.
  • FCoE is a technology for transmitting FC data over Ethernet (registered trademark).
  • FC data can be encapsulated in an Ethernet frame and transmitted.
  • the FCoE switch device 200a performs FC communication with the storage device 300. If the storage apparatus 300 is connected by FCoE, communication by FCoE may be used.
  • the FCoE switch device 300a performs Ethernet communication with the network 20.
  • the FCoE interfaces 106b and 106c are examples of HBAs.
  • FIG. 25 is a block diagram illustrating functions of the server device according to the seventh embodiment.
  • the server apparatus 100b includes a management information storage unit 130, a hypervisor 140, virtual machines 150d and 150e, FC virtual adapters 160d, 160e, 160f, and 160g, and NIC virtual adapters 170, 170a, 170b, and 170c.
  • the functions of the management information storage unit 130, the hypervisor 140, and the virtual machines 150d and 150e are realized on the server device 100b by the CPU 111 executing a predetermined program. Further, the functions of the FC virtual adapters 160d and 160e and the NIC virtual adapters 170 and 170a are realized on the FCoE interface 106b when the control device on the FCoE interface 106b executes a predetermined program. Further, the functions of the FC virtual adapters 160f and 160g and the NIC virtual adapters 170b and 170c are realized on the FCoE interface 106c when a control device on the FCoE interface 106c executes a predetermined program. However, all or part of these units may be realized by dedicated hardware.
  • the management information storage unit 130 corresponds to the management information storage unit 130 of the second embodiment.
  • the hypervisor 140 corresponds to the hypervisor 140 of the second embodiment.
  • the virtual machines 150d and 150e correspond to the virtual machines 150 and 150a of the second embodiment.
  • the virtual machine 150d includes an OS 151, adapter drivers 152 and 152d, redundant path control units 153 and 153d, and a connection destination device driver 154.
  • the OS 151 and the connection destination device driver 154 correspond to the OS 151 and the connection destination device driver 154 according to the second embodiment.
  • the adapter driver 152 is software for using the FC virtual adapter from the OS 151.
  • the adapter driver 152d is software for using the NIC virtual adapter from the OS 151.
  • the redundant path control unit 153 is software that makes the FC virtual adapter redundant and improves the reliability of the FC communication path in the virtual machine 150d.
  • the redundant path control unit 153d is software that makes the NIC virtual adapter redundant and improves the reliability of the Ethernet communication path in the virtual machine 150d.
  • the virtual machine 150e includes an OS 151a, adapter drivers 152a and 152e, redundant path controllers 153a and 153e, and a connection destination device driver 154a.
  • the OS 151a and the connection destination device driver 154a correspond to the OS 151a and the connection destination device driver 154a of the second embodiment.
  • the adapter drivers 152a and 152e correspond to the adapter drivers 152 and 152d.
  • the redundant path controllers 153a and 153e correspond to the redundant path controllers 153 and 153d.
  • FC virtual adapters 160d, 160e, 160f, and 160g are virtual FC adapters realized by resources on the FCoE interfaces 106b and 106c (an example of an access unit).
  • the virtual machines 150d and 150e can perform data communication using the FC with the storage apparatus 300 using the FC virtual adapters 160d, 160e, 160f, and 160g.
  • the NIC virtual adapters 170, 170a, 170b, and 170c are virtual NIC adapters realized by resources on the FCoE interfaces 106b and 106c (an example of an access unit).
  • the virtual machines 150d and 150e can perform data communication with the information processing apparatus connected to the network 20 by Ethernet using the NIC virtual adapters 170, 170a, 170b, and 170c.
  • the FC virtual adapters 160d and 160e and the NIC virtual adapters 170 and 170a on the FCoE interface 106b are realized by a single physical port (four virtual ports).
  • the FC virtual adapters 160d and 160e are implemented with two physical ports such as one physical port (two virtual ports) and the NIC virtual adapters 170 and 170a with one physical port (two virtual ports). May be.
  • the control unit 141 can perform the same processing as in the second embodiment. Specifically, it is as follows.
  • the FC virtual adapter 160d and the NIC virtual adapter 170 are allocated to the virtual machine 150d.
  • the FC virtual adapter 160e and the NIC virtual adapter 170a are allocated to the virtual machine 150e.
  • the FC virtual adapter 160d and the FC virtual adapter 160f are set as a redundancy group pair.
  • the FC virtual adapter 160e and the FC virtual adapter 160g are set as a redundancy group pair.
  • the NIC virtual adapter 170 and the NIC virtual adapter 170b are set as a redundancy group pair.
  • the NIC virtual adapter 170a and the NIC virtual adapter 170c are set as a redundancy group pair.
  • control unit 141 receives a failure notification of the FC virtual adapter 160d from the redundant path control unit 153 of the virtual machine 150d. Then, the control unit 141 refers to the connection configuration management table 131 and identifies the virtual machine 150e that shares the FCoE interface 106b with the virtual machine 150d. The control unit 141 assigns the FC virtual adapter 160f and the NIC virtual adapter 170b to the virtual machine 150d. The control unit 141 assigns the FC virtual adapter 160g and the NIC virtual adapter 170c to the virtual machine 150e. The control unit 141 instructs the virtual machines 150d and 150e to switch adapters based on the assignment.
  • the controller 141 controls the adapter drivers 152, 152a, 152d, and 152e and the redundant path controllers 153, 153a, 153d, and 153e as in the second to sixth embodiments. In addition, install the connection destination device in advance.
  • the redundant path control unit 153d switches the NIC virtual adapter from the NIC virtual adapter 170 to the NIC virtual adapter 170b.
  • the redundant path control unit 153a switches the FC virtual adapter from the FC virtual adapter 160e to the FC virtual adapter 160g.
  • the redundant path control unit 153e switches the NIC virtual adapter from the NIC virtual adapter 170a to the NIC virtual adapter 170c.
  • switching control can be performed for virtual adapters having different interfaces with the same physical adapter.
  • the virtual machine 150d is instructed to switch the NIC virtual adapter 170. Therefore, even if the redundant path control unit 153d does not detect a failure of the NIC virtual adapter 170, the redundant path control unit 153d can switch to the NIC virtual adapter 170b in accordance with the instruction.
  • control unit 141 Even when the control unit 141 receives a notification of the failure of the NIC virtual adapter 170 from the redundant path control unit 153d, the control unit 141 similarly controls switching of the adapters of the virtual machines 150d and 150e.
  • the redundant path control units 153, 153a, 153d, and 153e confirmed that the virtual machines 150d and 150e can access the storage apparatus 300 before and after the virtual adapter switching. Later, each virtual adapter is switched. In addition, the redundant path control units 153, 153a, 153d, and 153e switch the virtual adapters at a timing when the virtual machines 150d and 150e are not accessing the storage apparatus 300 by the virtual adapters.
  • control unit 141 may include the functions of the redundant path control units 153, 153a, 153d, and 153e.
  • virtual adapter which communicates by a different kind of protocol like the FC virtual adapter and the NIC virtual adapter was shown, the same protocol may be used.
  • the controller 141 can similarly control adapter switching for a NIC interface, a SAS interface, an Infiniband interface, and a PCI Express interface.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 情報処理装置が備えるインタフェース部の保守を円滑に行うことができる。 記憶部(1e)は、インタフェース部(1c,1d)のうち仮想マシン(1a,1b)がアクセスに用いるインタフェース部(1c)を示す情報を記憶する。制御部(1f)は、仮想マシン(1a)においてインタフェース部(1c)を用いたアクセスにエラーが発生すると、記憶部(1e)を参照して、インタフェース部(1c)を用いる仮想マシン(1b)を判定する。制御部(1f)は、仮想マシン(1b)が用いるインタフェース部を、インタフェース部(1c)から情報処理装置(1)に搭載したインタフェース部(1d)に切り換える。

Description

情報処理装置、仮想マシン制御方法およびプログラム
 本発明は情報処理装置、仮想マシン制御方法およびプログラムに関する。
 現在、情報処理の分野では、物理的なコンピュータ(物理マシンや物理ホストと呼ぶことがある)上で、複数の仮想的なコンピュータ(仮想マシンや論理ホストと呼ぶことがある)を動作させる仮想化技術が利用されている。各仮想マシン上では、オペレーティングシステム(OS:Operating System)などのソフトウェアを実行できる。仮想化技術を利用する物理マシンは、複数の仮想マシンを管理するためのソフトウェアを実行する。
 例えば、ハイパーバイザと呼ばれるソフトウェアが、CPU(Central Processing Unit)の処理能力やRAM(Random Access Memory)の記憶領域を、演算のリソースとして複数の仮想マシンに割り振る。また、例えば、ハイパーバイザが、NIC(Network Interface Card)やHBA(Host Bus Adapter)などのインタフェース部の処理能力を、通信のリソースとして複数の仮想マシンに割り振ることがある。仮想マシンは、自身に割り振られた通信のリソースを用いて、インタフェース部を介してデバイスにアクセスできる。
 なお、CPUに接続されるホストアダプタと記憶装置に接続されるディスクアダプタと共通バスとを二重化し、障害発生時に縮退運転できるようにした記憶システムが提案されている。また、複数のアダプタを含むアダプタブロックを二重化し、一方のアダプタブロック内の1つのアダプタが故障すると、アダプタブロック単位で使用するアダプタを切り換える情報処理装置が提案されている。また、複数の仮想マシンが1つのHBAを共用するとき、障害回数の多い仮想マシンのI/O(Input/Output)要求を遮断することで他の仮想マシンのI/O要求への影響を抑制する仮想計算機システムが提案されている。
特開2004-303256号公報 特開平10-312301号公報 特開2009-294758号公報
 ところで、上記のように、複数の仮想マシンが動作する情報処理装置では、デバイスへのアクセスのため2以上の仮想マシンが1つのインタフェース部を共用することがある。このとき、1つの仮想マシンで当該インタフェース部を用いたアクセスにエラーが発生しても、他の仮想マシンではエラーが発生しない場合が生じ得る。例えば、インタフェース部が備えるメモリ領域などのリソースを分割して2以上の仮想マシンに割り振った場合、ある仮想マシンに割り振ったメモリ領域のみに障害が発生することが考えられる。
 しかし、1つのインタフェース部を共用する2以上の仮想マシンの一部のみでエラーが検出された場合に、インタフェース部の保守が容易でないという問題がある。例えば、各仮想マシンは、情報処理が互いに干渉しないよう他の仮想マシンから分離されていることが多く、自身がエラーを検出しない限り、他の仮想マシンでのエラーの検出状況にかかわらず当該インタフェース部を使用し続ける可能性がある。この状態では、エラーが検出されたインタフェース部の停止や交換などの保守を円滑に行えないおそれがある。
 本発明はこのような点に鑑みてなされたものであり、情報処理装置が備えるインタフェース部の保守を円滑に行うことができる情報処理装置、仮想マシン制御方法およびプログラムを提供することを目的とする。
 複数の仮想マシンが動作可能であり複数の仮想マシンからデバイスへのアクセスに用いられる複数のインタフェース部を搭載可能な情報処理装置が提供される。この情報処理装置は、記憶部と制御部とを有する。記憶部は、複数のインタフェース部のうち複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する。制御部は、第1の仮想マシンにおいて第1のインタフェース部を用いたアクセスにエラーが発生すると、記憶部を参照して、第1のインタフェース部を用いる第2の仮想マシンを判定し、第2の仮想マシンが用いるインタフェース部を、第1のインタフェース部から情報処理装置に搭載した第2のインタフェース部に切り換える。
 また、複数の仮想マシンが動作可能であり複数の仮想マシンからデバイスへのアクセスに用いられる複数のインタフェース部を搭載可能な情報処理装置、または、情報処理装置と通信する他の情報処理装置が実行する仮想マシン制御方法が提供される。この仮想マシン制御方法では、第1の仮想マシンにおいて第1のインタフェース部を用いたアクセスにエラーが発生したことを検知する。複数のインタフェース部のうち複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する記憶装置を参照して、第1のインタフェース部を用いる第2の仮想マシンを判定する。第2の仮想マシンが用いるインタフェース部を、第1のインタフェース部から情報処理装置に搭載した第2のインタフェース部に切り換える。
 また、複数の仮想マシンが動作可能であり複数の仮想マシンからデバイスへのアクセスに用いられる複数のインタフェース部を搭載可能なコンピュータを制御するためのプログラムが提供される。このプログラムは、コンピュータまたはコンピュータと通信する他のコンピュータに、以下の処理を実行させる。第1の仮想マシンにおいて第1のインタフェース部を用いたアクセスにエラーが発生したことを検知する。複数のインタフェース部のうち複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する記憶装置を参照して、第1のインタフェース部を用いる第2の仮想マシンを判定する。第2の仮想マシンが用いるインタフェース部を、第1のインタフェース部からコンピュータに搭載した第2のインタフェース部に切り換える。
 上記情報処理装置、仮想マシン制御方法およびプログラムによれば、情報処理装置が備えるインタフェース部の保守を円滑に行うことができる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理装置を示す図である。 第2の実施の形態の情報処理システムの全体構成を示す図である。 第2の実施の形態のサーバ装置のハードウェア例を示す図である。 第2の実施の形態のFCスイッチ装置のハードウェア例を示す図である。 第2の実施の形態のストレージ装置のハードウェア例を示す図である。 仮想マシンの配置例を示す図である。 ハードウェアの割当例を示すブロック図である。 第2の実施の形態のサーバ装置の機能を示すブロック図である。 接続構成管理テーブルの例を示す図である。 冗長グループ管理テーブルの例を示す図である。 第2の実施の形態の障害検知時の全体処理を示すフローチャートである。 第2の実施の形態の障害検知時の全体処理を示すシーケンス図である。 第2の実施の形態の物理アダプタ追加処理を示すフローチャートである。 第2の実施の形態の物理アダプタ追加処理を示すシーケンス図である。 第2の実施の形態の接続先装置追加処理を示すフローチャートである。 第2の実施の形態の接続先装置追加処理を示すシーケンス図である。 第2の実施の形態のアダプタ切り換え処理を示すフローチャートである。 第3の実施の形態のサーバ装置の機能を示すブロック図である。 第4の実施の形態の管理端末装置の機能を示すブロック図である。 第4の実施の形態の障害検知時の全体処理を示すシーケンス図である。 第5の実施の形態のFCスイッチ装置の機能を示すブロック図である。 第5の実施の形態の障害検知時の全体処理を示すシーケンス図である。 第6の実施の形態のストレージ装置の機能を示すブロック図である。 第6の実施の形態の障害検知時の全体処理を示すシーケンス図である。 第7の実施の形態のサーバ装置の機能を示すブロック図である。
 以下、本実施の形態を図面を参照して説明する。
 [第1の実施の形態]
 図1は、第1の実施の形態の情報処理装置を示す図である。第1の実施の形態の情報処理装置1では、仮想マシン1a,1bを含む複数の仮想マシンが動作可能である。また、情報処理装置1には、当該複数の仮想マシンからデバイス2へのアクセスに用いられる、インタフェース部1c,1dを含む複数のインタフェース部を搭載可能である。デバイス2は、例えば、通信装置、ストレージ装置、他の情報処理装置などである。情報処理装置1は、インタフェース部1c,1d、記憶部1eおよび制御部1fを有する。
 インタフェース部1c,1dは、信号処理を行い、仮想マシン1a,1bからデバイス2へのアクセスに用いられる。インタフェース部1c,1dは、NICやHBAなどのアダプタとして実装してもよい。インタフェース部1c,1dとデバイス2とは、ケーブルで直接接続されてもよいし、スイッチなどの中継装置を介して接続されてもよい。なお、インタフェース部1dは、インタフェース部1cが故障したときに使用される予備のものでもよく、インタフェース部1cが故障した後に情報処理装置1に追加されてもよい。
 記憶部1eは、情報処理装置1に搭載可能な複数のインタフェース部のうち、複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する。記憶部1eは、不揮発NVRAM(Non Volatile RAM)やRAM、HDD(Hard Disk Drive)として実装してもよい。なお、第1の実施の形態では、インタフェース部1c,1dが正常に動作しているとき、仮想マシン1a,1bはインタフェース部1cを用いてデバイス2にアクセスするものとする。
 制御部1fは、情報処理装置1で動作する複数の仮想マシンへのインタフェース部1c,1dの割り当てを制御する。制御部1fは、CPUとRAMを用いて実行されるプログラムとして実装してもよく、ハイパーバイザ内のモジュールとして実装してもよい。制御部1fは、仮想マシン1aにおいてインタフェース部1cを用いたアクセスにエラーが発生したことを検知する。すると、制御部1fは、記憶部1eを参照して、仮想マシン1aの他にインタフェース部1cを用いる仮想マシン1bを検索する。そして、仮想マシン1bが用いるインタフェース部を、インタフェース部1cからインタフェース部1dに切り換える。制御部1fは、仮想マシン1aが用いるインタフェース部も併せて、インタフェース部1cからインタフェース部1dに切り換えてもよい。
 ここで、制御部1fは、インタフェース部1cが備える複数のリソース(例えば、複数のメモリ領域など)のうち、第1のリソースを仮想マシン1aに割り当て、第2のリソースを仮想マシン1bに割り当ててもよい。仮想マシン1aにおいて第1のリソースを用いたアクセスにエラーが発生すると、制御部1fは、第2のリソースについてエラーが発生していなくても、仮想マシン1bが用いるインタフェース部を切り換えることができる。
 また、制御部1fは、仮想マシン1bがデバイス2にアクセス中でないタイミングで、インタフェース部1dへの切り換えが行われるように制御してもよい。そのため、制御部1fは、仮想マシン1bがアクセス中であるか否かを示す情報を記憶部1eに格納して、アクセス状態を管理してもよい。また、制御部1fは、インタフェース部1cを用いてアクセス可能であったデバイスに、インタフェース部1dを用いてアクセス可能であることが確認されてから、インタフェース部1dへの切り換えが行われるよう制御してもよい。また、制御部1fは、仮想マシン1aからの通知に基づいて、仮想マシン1aにおいてインタフェース部1cを用いたアクセスにエラーが発生したことを検知してもよい。
 なお、第1の実施の形態では、記憶部1eおよび制御部1fを、仮想マシン1a,1bが動作する情報処理装置1に設けたが、情報処理装置1と通信する他の装置に設けてもよい。例えば、情報処理装置1と通信する通信装置、ストレージ装置、コンピュータなどが記憶部1eおよび制御部1fを備え、情報処理装置1を制御してもよい。また、記憶部1eは、情報処理装置1(または、制御部1fを備える他の装置)の外部に設けてもよい。
 第1の実施の形態の情報処理装置1によれば、仮想マシン1aにおいてインタフェース部1cを用いたアクセスにエラーが発生したことが検知される。複数のインタフェース部のうち複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する記憶部1eが参照されて、エラーが発生したインタフェース部1cを用いる仮想マシン1bが判定される。判定された仮想マシン1bの用いるインタフェース部が、インタフェース部1cからインタフェース部1dに切り換えられる。
 これにより、複数の仮想マシンが動作可能な情報処理装置1におけるインタフェース部1c,1dの保守を円滑に行うことができる。例えば、仮想マシン1aでインタフェース部1cについてのエラーが検出されると、インタフェース部1cを共用する仮想マシン1bでエラーが検出されなくても、仮想マシン1bの使用するインタフェース部が切り換えられる。よって、インタフェース部1cは、エラーを認識した仮想マシン1aに加えて仮想マシン1bからも使用されなくなり、停止させて情報処理装置1から取り外すことが容易となる。また、情報処理装置1には複数のインタフェース部を搭載でき、仮想マシン1bを停止させずにインタフェース部1cを交換することが可能となる。
 [第2の実施の形態]
 図2は、第2の実施の形態の情報処理システムの全体構成を示す図である。この情報処理システムは、サーバ装置100、FC(FC:Fibre Channel)スイッチ装置200、ストレージ装置300および管理端末装置400を含む。サーバ装置100は、ネットワーク10に接続されている。
 サーバ装置100は、複数の仮想マシンが動作可能なサーバコンピュータである。サーバ装置100は、複数の仮想マシンの起動や停止を管理する。サーバ装置100は、ネットワーク10を介して、ネットワーク10に接続されたクライアント装置で仮想マシンの機能を利用可能とする。
 FCスイッチ装置200は、FC用の複数のインタフェースを備え、各インタフェース間を中継する通信経路切り換え機である。FCスイッチ装置200は、サーバ装置100およびストレージ装置300の間のデータ通信を中継する。サーバ装置100とFCスイッチ装置200との間の通信は、FCによる通信の他にも、I2C(Inter Integrated Circuit)やLAN(Local Area Network)などを介して行える。
 ストレージ装置300は、サーバ装置100が利用するデータやプログラムを記憶する記憶装置である。ストレージ装置300は、サーバ装置100の要求に応じて、自身が記憶する各種のデータをサーバ装置100に送信する。ストレージ装置300は、サーバ装置100の接続先装置の一例である。
 管理端末装置400は、管理者が操作するコンピュータである。管理端末装置400は、サーバ装置100に接続されている。管理端末装置400は、管理者がサーバ装置100に対する指示を入力するためのものである。
 図3は、第2の実施の形態のサーバ装置のハードウェア例を示す図である。サーバ装置100は、CPUボード101、クロスバースイッチ102、PCI Express(Peripheral Component Interconnect Express)コントローラ103、SAS(Serial Attached SCSI(Small Computer System Interface))インタフェース104、HDD105、FCインタフェース106,106a、ネットワークインタフェース107、SVP(SerVice Processor)108およびディスクドライブ109を有する。
 CPUボード101は、CPUやメモリを備えた情報処理部である。CPUボード101は、CPU111、RAM112およびNVRAM113を有する。
 CPU111は、ハイパーバイザのプログラム、OSプログラムおよびアプリケーションプログラムを実行して、仮想マシンや当該仮想マシン上のアプリケーションを実現する演算装置である。なお、CPUボード101は複数のCPUを備えてもよい。
 RAM112は、CPU111が実行するハイパーバイザのプログラム、OSプログラムおよびアプリケーションプログラムの少なくとも一部を一時的に記憶する揮発性の記憶装置である。なお、CPUボード101は複数のRAMを備えてもよい。
 NVRAM113は、ハイパーバイザの処理に用いるデータを記憶する不揮発性の記憶装置である。なお、CPUボード101は複数のNVRAMを備えてもよい。
 また、サーバ装置100は、複数のCPUボードを備えてもよい。
 クロスバースイッチ102は、CPUボード101、PCI Expressコントローラ103の間のデータ通信を中継する。
 PCI Expressコントローラ103は、クロスバースイッチ102とSASインタフェース104、FCインタフェース106,106aおよびネットワークインタフェース107との間のデータ通信を制御する。
 SASインタフェース104は、HDD105とディスクドライブ109に接続され、HDD105とディスクドライブ109に対するデータの入出力を制御する。ディスクドライブ109は、SATA(Serial ATA)プロトコルをカプセリングして入出力制御してもよい。
 HDD105は、ハイパーバイザのプログラムやハイパーバイザの処理に用いられるデータを記憶する不揮発性の記憶装置である。HDD105は、CPU111の命令に従って、内蔵の磁気ディスクに対する読み書きを行う。なお、サーバ装置100は、HDD以外の不揮発性の記憶装置(例えば、SSD(Solid State Drive))を備えていてもよく、複数の記憶装置を備えてもよい。また、CPUボード101で実行するハイパーバイザのプログラムをNVRAM113に格納してもよい。
 FCインタフェース106,106aは、FCスイッチ装置200と接続され、FCスイッチ装置200との間のデータ通信を制御するHBAである。FCインタフェース106,106aは、当該制御を行う制御装置を有している。
 ネットワークインタフェース107は、ネットワーク10と接続され、ネットワーク10を介した他の装置とのデータ通信を制御する。
 SVP108は、サーバ装置100を管理するための装置である。SVP108は、サーバ装置のCPUボード101、クロスバースイッチ102、PCI Expressコントローラ103とI2Cなどで接続される。SVP108は、管理端末装置400に接続される。SVP108は、サーバ装置100を管理するためのGUI(Graphical User Interface)を管理端末装置400に表示させる。管理者は、管理端末装置400で当該GUIを操作してサーバ装置100に対する指示を行える。
 ディスクドライブ109は、記録媒体12に記録されたプログラムやデータを読み取る駆動装置である。記録媒体12として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ109は、例えば、CPU111の命令に従って、記録媒体12から読み取ったプログラムやデータをRAM112またはHDD105に格納する。
 なお、管理端末装置400も、サーバ装置100と同様に、CPU、ROM、RAM、HDD、ネットワークインタフェースおよびディスクドライブなどを有する。管理端末装置400上のCPUが、所定のプログラムを実行することで、管理端末装置400の機能が実現される。
 図4は、第2の実施の形態のFCスイッチ装置のハードウェア例を示す図である。FCスイッチ装置200は、ルーティングコントローラ201、メモリ202、SVP203、クロスバースイッチ204、I/F(InterFace)コントローラ205,205a,205b,205c,205d,205e、バッファ206,206a,206b,206c,206d,206eおよびポート207,207a,207b,207c,207d,207eを有する。
 なお、以下ではI/Fコントローラ205、バッファ206およびポート207について説明するが、I/Fコントローラ205a,205b,205c,205d,205e、バッファ206a,206b,206c,206d,206eおよびポート207a,207b,207c,207d,207eに関しても同様である。
 ルーティングコントローラ201は、複数のSAN(Storage Area Network)間でのデータ通信を制御する。
 メモリ202は、ルーティングコントローラ201の処理に用いるデータを記憶する。例えば、SAN間を接続するためのルーティングテーブルやFCのゾーン設定の情報を記憶する。ここで、ゾーンとは、FCスイッチ装置200内の通信パスを分割して、トラフィックを分離するものである。
 SVP203は、FCスイッチ装置200を管理するための装置である。SVP203は、FCスイッチ装置200上の各種の管理機能(例えば、通信の障害管理や電源管理)を担う。SVP203は、FCスイッチ装置200を管理するための管理端末装置(不図示)と接続されてもよい。その場合、SVP203は、当該管理端末装置に管理用のGUIを表示させることができる。管理者は、当該GUIを操作して、FCスイッチ装置200に指示を入力することもできる。また、SVP203は、当該SVP203の処理に用いるプログラムやデータを格納するためのメモリを有している。これらプログラムやデータをメモリ202に格納してもよい。
 クロスバースイッチ204は、各ポートを介した装置間のデータ通信を中継する。
 I/Fコントローラ205は、各ポート間のデータの流れを制御する。
 バッファ206は、データの流れを制御するためにデータを一時的に格納するための記憶領域である。
 ポート207は、外部の装置と接続するためのアダプタである。ポート207は、FCケーブルを介してサーバ装置100と接続されている。ポート207cは、FCケーブルを介してストレージ装置300と接続されている。ポート207dは、FCケーブルを介してストレージ装置300と接続されている。
 図5は、第2の実施の形態のストレージ装置のハードウェア例を示す図である。ストレージ装置300は、RAID(Redundant Arrays of Inexpensive Disks)制御部301、ストレージ部302、I/Fコントローラ303,303a、SVP304を有する。
 RAID制御部301は、RAIDを実現するための装置である。RAID制御部301は、ストレージ部302に設けられた複数のHDDを論理的な1つの記憶装置として、サーバ装置100上の仮想マシンから利用可能にする。RAID制御部301は、制御ボード310,310a、I/Fコントローラ320,320a、バッファ330,330aおよびポート340,340aを有する。
 制御ボード310,310aは、ポート340,340aごとに設けられている。制御ボード310,310aは、ポート340,340aを介してサーバ装置100から受けたリクエストに応じて、ストレージ部302にアクセスし、データの読み書きを行う。制御ボード310は、CPU311、メモリ312およびPCI Expressコントローラ313を有する。
 CPU311は、制御ボード310の処理を制御する。
 メモリ312は、CPU311の処理に用いるデータを記憶する。
 PCI Expressコントローラ313は、I/Fコントローラ303を介してストレージ部302に接続する。PCI Expressコントローラ313は、I/Fコントローラ320に接続する。PCI Expressコントローラ313は、インタフェース間の通信を中継する。
 制御ボード310aは、CPU311a、メモリ312aおよびPCI Expressコントローラ313aを有する。CPU311a、メモリ312aおよびPCI Expressコントローラ313aは、CPU311、メモリ312およびPCI Expressコントローラ313に対応する。
 I/Fコントローラ320は、ポート340から入力、あるいはポート340に出力するデータの流れを制御する。I/Fコントローラ320aも同様に、ポート340aとの間のデータの流れを制御する。
 バッファ330は、I/Fコントローラ320およびポート340の間のデータの流れを制御する。バッファ330aも同様に、I/Fコントローラ320aおよびポート340aの間のデータの流れを制御する。
 ポート340は、外部の装置と接続するためのアダプタである。ポート340は、FCケーブルを介してFCスイッチ装置200のポート207cと接続されている。ポート340aは、FCケーブルを介してFCスイッチ装置200のポート207dに接続されている。
 ストレージ部302は、I/Fスイッチ350,350aおよびHDD351,351a,352,352a,353,353aを有する。
 I/Fスイッチ350,350aは、制御ボード310,310aがアクセスするHDDとI/Fコントローラ303,303aの通信制御を行う。
 HDD351,351a,352,352a,353,353aは、CPU311,311aの命令に従って、内蔵の磁気ディスクに対する読み書きを行う。HDD351,352,353は、I/Fスイッチ350に接続されている。HDD351a,352a,353aは、I/Fスイッチ350aに接続されている。なお、ストレージ部302は、HDD以外の不揮発性の記憶装置(例えば、SSD)を備えていてもよい。
 I/Fコントローラ303,303aは、RAID制御部301とストレージ部302との間のデータ通信を中継する。I/Fコントローラ303は、PCI Expressコントローラ313およびI/Fスイッチ350,350aと接続される。I/Fコントローラ303aは、PCI Expressコントローラ313aおよびI/Fスイッチ350,350aと接続される。
 SVP304は、ストレージ装置300を管理するための装置である。SVP304は、ストレージ装置300上の各種の機能(例えば、ディスクの障害管理や電源管理など)を担う。SVP304は、ストレージ装置300を管理するための管理端末装置(不図示)と接続されてもよい。その場合、SVP304は、当該管理端末装置に管理用のGUIを表示させることができる。管理者は、当該GUIを操作して、ストレージ装置300に指示を入力することもできる。また、SVP304は、当該SVP304の処理に用いるプログラムやデータを格納するためのメモリを有している。
 図6は、仮想マシンの配置例を示す図である。サーバ装置100は、ハードウェア120、ハイパーバイザ140および仮想マシン150,150aを有する。
 ハードウェア120は、サーバ装置100が備える物理的なリソースである。ハードウェア120は、CPUボード101、PCI Expressコントローラ103、SASインタフェース104、HDD105、FCインタフェース106,106a、ネットワークインタフェース107およびディスクドライブ109を含む。
 ハイパーバイザ140は、仮想マシンを実現する。ハイパーバイザ140は、各仮想マシンに対するハードウェア120の割り当てを行い、各仮想マシンの起動・停止を制御する。また、ハイパーバイザ140は、各仮想マシンがハードウェア120を共同で利用できるよう各仮想マシンのハードウェア120へのアクセスを調停する。更に、ハイパーバイザ140は各仮想マシンに割り当てたハードウェア120の使用状況を監視する。
 仮想マシン150,150aは、ハイパーバイザ140によりサーバ装置100上に実現された仮想マシンである。仮想マシン150,150aは、それぞれ独立のOSを実行している。仮想マシン150,150aが実行するOSはそれぞれ同一でもよいし、異なっていてもよい。また、サーバ装置100は3以上の仮想マシンを実行してもよい。
 図7は、ハードウェアの割当例を示すブロック図である。仮想マシン150,150aはサーバ装置100上のハードウェア120を論理的に分割したリソースにより実現される。図7ではハードウェア120に含まれる主要なものとして、CPU111、RAM112およびFCインタフェース106を示している。
 CPU111は、CPUリソースl1,l2,l3,l4に時分割される。CPU111は、領域分割してもよい。例えば、CPUリソースl1,l2は仮想マシン150に割り当てられ、CPUリソースl3,l4は仮想マシン150aに割り当てられる。
 RAM112は、RAMリソースm1,m2に領域分割される。例えば、RAMリソースm1が仮想マシン150に割り当てられ、RAMリソースm2が仮想マシン150aに割り当てられる。
 FCインタフェース106は、FCインタフェースリソースn1,n2に分割される。例えば、FCインタフェースリソースn1,n2には、FCインタフェース106上の制御装置の処理能力を時分割したリソースが含まれる。また、例えば、FCインタフェースリソースn1,n2には、バッファ用に確保されたFCインタフェース106上の物理的なメモリを領域分割したリソースが含まれる。例えば、FCインタフェースリソースn1が仮想マシン150に割り当てられ、FCインタフェースリソースn2が仮想マシン150aに割り当てられる。FCインタフェース106を物理HBAとすれば、FCインタフェースリソースn1,n2は当該物理HBA上で実現される仮想HBAである。
 図8は、第2の実施の形態のサーバ装置の機能を示すブロック図である。サーバ装置100は、管理情報記憶部130、ハイパーバイザ140、仮想マシン150,150aおよび仮想アダプタ160,160a,160b,160cを有する。
 管理情報記憶部130、ハイパーバイザ140および仮想マシン150,150aの機能は、CPU111が所定のプログラムを実行することによりサーバ装置100上に実現される。また、仮想アダプタ160,160aの機能は、FCインタフェース106上の制御装置が所定のプログラムを実行することによりFCインタフェース106上に実現される。更に、仮想アダプタ160b,160cの機能は、FCインタフェース106a上の制御装置が所定のプログラムを実行することにより、FCインタフェース106a上に実現される。ただし、これらのユニットの全部または一部を専用のハードウェアにより実現してもよい。
 管理情報記憶部130は、管理情報を記憶する。管理情報には、接続構成管理テーブルおよび冗長グループ管理テーブルが含まれる。接続構成管理テーブルは、仮想マシンと仮想アダプタとの対応関係を管理するためのデータである。冗長グループ管理テーブルは、複数の仮想アダプタを束ねた冗長グループを管理するためのデータである。
 ハイパーバイザ140は、制御部141を有する。制御部141は、仮想マシン150,150aの通信パスを制御する。制御部141は、仮想マシンからFCインタフェースを介した通信で障害が発生した旨の通知を受ける。すると、制御部141は、管理情報記憶部130を参照して、当該FCインタフェースを用いて通信する他の仮想マシンを特定する。制御部141は、特定した他の仮想マシンを他のインタフェースに割り当てる。
 仮想マシン150は、OS151、アダプタドライバ152、冗長パス制御部153および接続先装置ドライバ154を有する。
 OS151は、仮想マシン150上で動作する基本プログラムである。
 アダプタドライバ152は、OS151上から仮想アダプタを利用するためのソフトウェアである。
 冗長パス制御部153は、仮想アダプタを冗長化して、仮想マシン150における通信路の信頼性を向上するソフトウェアである。冗長パス制御部153は、複数の仮想アダプタを現用系と待機系とに区別して管理する。冗長パス制御部153は、現用系の仮想アダプタで故障が発生して仮想マシン150が通信不能となった場合に、仮想マシン150が利用する仮想アダプタを待機系に切り換える。また、冗長パス制御部153は、現用系の仮想アダプタで故障を検知していなくても、制御部141からアダプタの切り換え指示を受けると、仮想マシン150が利用するアダプタを待機系に切り換える。
 接続先装置ドライバ154は、仮想マシン150上からストレージ装置300を利用するためのドライバソフトウェアである。
 また、仮想マシン150aは、OS151a、アダプタドライバ152a、冗長パス制御部153aおよび接続先装置ドライバ154aを有する。OS151a、アダプタドライバ152a、冗長パス制御部153aおよび接続先装置ドライバ154aは、OS151、アダプタドライバ152、冗長パス制御部153および接続先装置ドライバ154にそれぞれ対応する。
 仮想アダプタ160,160a,160b,160cは、FCインタフェース106,106a上のリソースにより実現されたデータ通信用の仮想的なアダプタである。
 図9は、接続構成管理テーブルの例を示す図である。接続構成管理テーブル131には、スロット、物理アダプタ、仮想アダプタ、仮想マシンID(IDentifier)、仮想ポートNo.、接続先WWN(World Wide Name)およびゾーンの項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、仮想マシンと仮想アダプタとの1つの対応関係を示す。
 スロットの項目には、物理アダプタが搭載されているPCIのPCIスロットIDが設定される。
 物理アダプタの項目には、物理アダプタの情報が設定される。物理アダプタの項目には、デバイスパス、インスタンスNo.、VID(Vendor ID)およびDID(Device ID)の項目が設けられている。デバイスパスの項目には、物理アダプタにアクセスするためのデバイスパス情報が設定される。インスタンスNo.の項目には、物理アダプタのファンクション識別番号(物理ポート番号)が設定される。物理アダプタのファンクション識別番号に対して複数の物理ポートを持つ場合は、インスタンスNo.に加えて物理ポート番号を管理してもよい。VIDの項目には、当該物理アダプタを製造したベンダを識別するためのVIDが設定される。VIDは同一ベンダであれば同一のIDとなる。DIDの項目には、当該物理アダプタのデバイス(機能)を識別するためのDIDが設定される。DIDはサーバ装置100内で物理アダプタを一意に識別するためのIDである。仮想アダプタの項目には、仮想アダプタの情報が設定される。仮想アダプタの項目には、デバイスパス、インスタンスNo.(仮想アダプタのファンクションに割り当てる識別番号)、VIDおよびDIDの項目が設けられている。これらの項目の設定内容は、上述した物理アダプタの情報の設定内容と同様である。更に、SVID(Sub Vendor ID)、SDID(Sub Device ID)を用いてもよい。
 仮想マシンIDの項目には、当該仮想アダプタに対応付けられた仮想マシンのIDが設定される。仮想ポートNo.の項目には、物理アダプタ上の仮想ポートの識別番号が設定される。接続先WWNの項目には、接続先ストレージ装置のFCインタフェースのWWNが設定される。ゾーンの項目には、FCスイッチ装置200上の何れのゾーンに属するかが、当該ゾーンのIDにより指定される。
 例えば、接続構成管理テーブル131には、各仮想マシンと各FCインタフェース上の仮想アダプタとについて、次のような対応関係が設定される。
 (1)仮想マシン150と仮想アダプタ160の対応関係。
 (2)仮想マシン150aと仮想アダプタ160aの対応関係。
 (3)仮想マシン150と仮想アダプタ160bの対応関係。
 (4)仮想マシン150aと仮想アダプタ160cの対応関係。
 具体的には、次の通りである。
 (1)の対応関係に関して、接続構成管理テーブル131には、スロットが“0”、物理アダプタにつき、デバイスパスが“/pci@0/pci@0/fibre-channel@0”、インスタンスNo.が“0”、VIDが“10CF”、DIDが“0001”、仮想アダプタにつき、デバイスパスが“/pci@0/pci@0/pci@0/fibre-channel@0”、インスタンスNo.が“0”、VIDが“10CF”、DIDが“0001”、仮想マシンIDが“0”、仮想ポートNo.が“00”、接続先WWNが“xxyy01”およびゾーンが“Zone0”という情報が設定される。
 これは、FCインタフェース106は、PCIスロット“0”に接続されており、FCインタフェース106のデバイスパス、インスタンスNo.、VID、DIDが上記設定であることを示している。また、仮想アダプタ160のデバイスパス、ポートNo.、VID、DIDが上記設定であることを示している。また、仮想アダプタ160に対して、仮想マシン150(仮想マシンID“0”)が対応付けられている。更に、FCインタフェース106において仮想ポートNo.“00”の仮想ポートが割り当てられていることを示す。当該仮想アダプタを介した接続先装置のWWNとして、“xxyy01”が指定されていることを示す。また、仮想アダプタ160による通信経路はFCスイッチ装置200が管理するゾーンのうちの“Zone0”に属することを示す。
 (2)の対応関係に関して、接続構成管理テーブル131には、スロットが“0”、物理アダプタにつき、デバイスパスが“/pci@0/pci@0/fibre-channel@0”、インスタンスNo.が“0”、VIDが“10CF”、DIDが“0001”、仮想アダプタにつき、デバイスパスが“/pci@0/pci@0/pci@0/fibre-channel@1”、インスタンスNo.が“1”、VIDが“10CF”、DIDが“0001”、仮想マシンIDが“1”、仮想ポートNo.が“01”、接続先WWNが“xxyy02”およびゾーンが“Zone1”という情報が設定される。
 (3)の対応関係に関して、接続構成管理テーブル131には、スロットが“1”、物理アダプタにつき、デバイスパスが“/pci@1/pci@0/fibre-channel@0”、インスタンスNo.が“1”、VIDが“10CF”、DIDが“0001”、仮想アダプタにつき、デバイスパスが“/pci@1/pci@0/pci@0/fibre-channel@2”、インスタンスNo.が“2”、VIDが“10CF”、DIDが“0001”、仮想マシンIDが“0”、仮想ポートNo.が“10”、接続先WWNが“xxyy01”およびゾーンが“Zone0”という情報が設定される。
 (4)の対応関係に関して、接続構成管理テーブル131には、スロットが“1”、物理アダプタにつき、デバイスパスが“/pci@1/pci@0/fibre-channel@0”、インスタンスNo.が“1”、VIDが“10CF”、DIDが“0001”、仮想アダプタにつき、デバイスパスが“/pci@1/pci@0/pci@0/fibre-channel@3”、インスタンスNo.が“3”、VIDが“10CF”、DIDが“0001”、仮想マシンIDが“1”、仮想ポートNo.が“11”、接続先WWNが“xxyy02”およびゾーンが“Zone1”という情報が設定される。
 ここで、接続先WWN“xxyy01”は、ストレージ装置300のポート340に対応する。接続先WWN“xxyy02”は、ストレージ装置300のポート340aに対応する。
 図10は、冗長グループ管理テーブルの例を示す図である。冗長グループ管理テーブル132には、仮想マシンID、物理アダプタインスタンスNo.、仮想アダプタインスタンスNo.、アダプタ識別情報、運用状態、IO(Input / Output)要求状態、冗長グループおよび同一物理アダプタの他の仮想アダプタを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの冗長グループの情報を示す。
 仮想マシンIDの項目には、仮想マシンIDが設定される。物理アダプタインスタンスNo.の項目には、物理アダプタインスタンスNo.が設定される。物理アダプタインスタンスNo.は、物理アダプタのファンクション番号(物理ポート番号)である。仮想アダプタインスタンスNo.の項目には、仮想アダプタインスタンスNo.が設定される。仮想アダプタインスタンスNo.は、仮想アダプタのファンクション番号(仮想アダプタの仮想的なファンクションを識別するための番号)である。
 アダプタ識別情報の項目には、接続先装置へのアクセスに用いるアダプタの情報が設定される。アダプタ識別情報の項目には、物理デバイスパスの項目およびスロットの項目が更に設けられている。物理デバイスパスの項目には、物理アダプタのデバイスパス情報が設定される。スロットの項目には、当該物理アダプタが設けられたPCIスロットのPCIスロットIDが設定される。運用状態の項目には、当該仮想アダプタを介したデータ通信の運用状態を示す情報が設定される。IO要求状態の項目には、当該仮想アダプタを介したデータ通信におけるIO要求の状態を示す情報が設定される。
 冗長グループの項目には、当該仮想アダプタの属する冗長グループ(仮想アダプタの組み合わせ)の情報が設定される。冗長グループの項目には、更に、グループIDの項目および仮想アダプタの項目が設けられている。グループIDの項目には、冗長グループのグループIDが設定される。仮想アダプタの項目には、当該グループのペアとなる仮想アダプタの仮想アダプタインスタンスNo.が設定される。
 同一物理アダプタの他の仮想アダプタの項目には、当該仮想アダプタが属するFCインタフェース上の他の仮想アダプタの仮想アダプタインスタンスNo.が設定される。
 例えば、冗長グループ管理テーブル132には、各仮想アダプタについて、次のような冗長グループが設定される。
 (1)仮想アダプタ160と仮想アダプタ160bとをペアとした第1の冗長グループ。第1の冗長グループは仮想マシン150に割り当てられる。
 (2)仮想アダプタ160aと仮想アダプタ160cとをペアとした第2の冗長グループ。第2の冗長グループは仮想マシン150aに割り当てられる。
 具体的には、次の通りである。
 第1の冗長グループ(仮想アダプタ160側)に関して、冗長グループ管理テーブル132には、仮想マシンIDが“0”、物理アダプタインスタンスNo.が“0”、仮想アダプタインスタンスNo.が“0”、アダプタ識別情報につき物理デバイスパスが“/pci@0/pci@0/fibre-channel@0”、スロットが“0”、運用状態が“異常”、IO要求状態が“停止”、冗長グループにつきグループIDが“マルチパスA”、対の仮想アダプタのIDが“2”、同一物理アダプタの他の仮想アダプタインスタンスNo.が“1”という情報が設定される。
 これは、仮想マシン150に対して、FCインタフェース106(物理アダプタインスタンスNo.“0”)上の仮想アダプタ160(仮想アダプタインスタンスNo.“0”)が割り当てられていることを示す。物理アダプタを識別するための情報として、上記物理デバイスパスおよびスロット番号が設定されている。また、当該仮想アダプタ160の運用状態が“異常”であり、IO要求状態が“停止”中であることを示す。更に、仮想アダプタ160が属する冗長グループのグループIDが“マルチパスA”であり、対になる仮想アダプタが仮想アダプタ160b(仮想アダプタインスタンスNo.“2”)であることを示す。また、FCインタフェース106上の他の仮想アダプタとして仮想アダプタ160a(仮想アダプタインスタンスNo.“1”)が存在することを示す。
 第1の冗長グループ(仮想アダプタ160b側)に関して、冗長グループ管理テーブル132には、仮想マシンIDが“0”、物理アダプタインスタンスNo.が“1”、仮想アダプタインスタンスNo.が“2”、アダプタ識別情報につき物理デバイスパスが“/pci@1/pci@0/fibre-channel@0”、スロットが“1”、運用状態が“待機”、IO要求状態が“リトライ”、冗長グループにつきグループIDが“マルチパスA”、対の仮想アダプタインスタンスNo.が“0”、同一物理アダプタの他の仮想アダプタインスタンスNo.が“3”という情報が設定される。
 第2の冗長グループ(仮想アダプタ160a側)に関して、冗長グループ管理テーブル132には、仮想マシンIDが“1”、物理アダプタインスタンスNo.が“0”、仮想アダプタインスタンスNo.が“1”、アダプタ識別情報につき物理デバイスパスが“/pci@0/pci@0/fibre-channel@0”、スロットが“0”、運用状態が“待機”、IO要求状態が“停止”、冗長グループにつきグループIDが“マルチパスB”、対の仮想アダプタインスタンスNo.が“3”、同一物理アダプタの他の仮想アダプタインスタンスNo.が“0”という情報が設定される。
 第2の冗長グループ(仮想アダプタ160c側)に関して、冗長グループ管理テーブル132には、仮想マシンIDが“1”、物理アダプタインスタンスNo.が“1”、仮想アダプタインスタンスNo.が“3”、アダプタ識別情報につき物理デバイスパスが“/pci@1/pci@0/fibre-channel@0”、スロットが“1”、運用状態が“運用”、IO要求状態が“通信中”、冗長グループにつきグループIDが“マルチパスB”、対の仮想アダプタインスタンスNo.が“1”、同一物理アダプタの他の仮想アダプタインスタンスNo.が“2”という情報が設定される。
 ここで、運用状態の各設定内容の意味は次の通りである。“異常”は、当該仮想アダプタの故障や障害の発生を示す。“待機”は、当該仮想アダプタが冗長グループの待機系であることを示す。“運用”は、当該仮想アダプタが冗長グループの現用系であり、通信に利用可能な状態であることを示す。
 また、IO要求状態の各設定内容の意味は次の通りである。“停止”は、当該仮想アダプタでIO(データの送受信動作)が発生していないことを示す。“リトライ”は、当該仮想アダプタを介した通信を試行中であることを示す。“通信中”は、当該仮想アダプタを介した通信が確立されており、通信に利用されている状態であることを示す。
 次に、以上の構成のサーバ装置100の処理手順を説明する。
 図11は、第2の実施の形態の障害検知時の全体処理を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。なお、以下に示すステップS11の直前では、仮想マシン150は仮想アダプタ160を介して、仮想マシン150aは仮想アダプタ160aを介してストレージ装置300にアクセスしているとする。
 (ステップS11)アダプタドライバ152は、仮想アダプタ160を介した通信で故障を検知する。すると、アダプタドライバ152は、プロセス間通信によりハイパーバイザ140に仮想アダプタ160の故障検知を通知する。制御部141は、当該通知を受けて、仮想アダプタ160の故障を検知する。
 (ステップS12)制御部141は、管理情報記憶部130に記憶された接続構成管理テーブル131を参照して、仮想アダプタの構成を確認する。具体的には、制御部141は、故障を検知した仮想アダプタ160が属するFCインタフェース106上の他の仮想アダプタの存在を確認する。制御部141は、当該他の仮想アダプタとして仮想アダプタ160aを特定する。制御部141は、接続構成管理テーブル131を参照して、仮想アダプタ160aに対応する仮想マシン150aを特定する。
 (ステップS13)制御部141は、仮想マシン150aに対して、他の物理アダプタ上にある退避先の仮想アダプタ(以下、退避先アダプタという)を有しているか問い合わせる。仮想マシン150aの冗長パス制御部153aは、当該問い合わせに対して、退避先アダプタの有無を応答する。冗長パス制御部153aは、退避先アダプタがある場合には、その識別情報を制御部141に通知する。制御部141は、受け付けた退避先アダプタの識別情報を冗長グループ管理テーブル132に設定する。例えば、冗長パス制御部153aは、仮想アダプタ160aに対してFCインタフェース106a上の退避先アダプタ(仮想アダプタ160c)が存在する旨を制御部141に通知する。すると、制御部141は、冗長グループ管理テーブル132に、仮想アダプタ160a,160cを対応付けて登録する。なお、制御部141は、故障した仮想アダプタ160と仮想アダプタ160bとの対応も同様に、冗長パス制御部153から情報を取得して冗長グループ管理テーブル132に登録する。
 (ステップS14)制御部141は、ステップS12で確認した他の仮想アダプタのうちから、未退避の仮想アダプタを1つ選択する。例えば、仮想アダプタ160aを選択する。
 (ステップS15)制御部141は、冗長グループ管理テーブル132を参照して、当該仮想アダプタに退避先アダプタがあるか否かを判定する。退避先アダプタがない場合、処理をステップS16に進める。退避先アダプタがある場合、処理をステップS19に進める。
 (ステップS16)制御部141は、物理アダプタを追加する処理を行う。例えば、管理者にFCインタフェース106aの追加を促すメッセージを報知する。管理者がサーバ装置100に新たにFCインタフェース106aを搭載する作業を行った後、制御部141は、FCインタフェース106aを仮想マシン150aから利用可能にするための処理を行う。制御部141は、FCインタフェース106a上の仮想アダプタから仮想マシン150aに退避先の仮想アダプタ160cを割り当てる。制御部141は、追加されたFCインタフェース106aに関する接続構成を接続構成管理テーブル131に登録する。制御部141は、管理情報記憶部130に記憶された冗長グループ管理テーブル132に退避元の仮想アダプタと退避先の仮想アダプタとの対応関係を登録する。
 (ステップS17)制御部141は、接続構成管理テーブル131を参照して、退避先アダプタに対応するゾーンがFCスイッチ装置200に設定済であるか否かを判定する。ゾーンを設定済である場合、処理をステップS19に進める。ゾーンを未設定である場合、処理をステップS18に進める。
 (ステップS18)制御部141は、退避先アダプタに対応するポート情報をFCスイッチ装置200のゾーン情報に追加する。
 (ステップS19)制御部141は、仮想マシン150aに対し、退避先アダプタの接続先装置を組み込む指示をプロセス間通信で通知する。仮想マシン150aは、組み込み指示を受信すると、接続先装置と通信して、退避先アダプタを介した接続先装置の利用を可能とするための処理を行う。仮想マシン150aは、組み込みを完了すると、完了した旨をハイパーバイザ140に通知する。
 (ステップS20)制御部141は、退避先アダプタへ通信を切り換える旨の指示を仮想マシン150aに通知する。冗長パス制御部153aは、通信に用いるアダプタを仮想アダプタ160aから仮想アダプタ160cに切り換える。冗長パス制御部153aは、切り換えが完了した旨を制御部141に通知する。制御部141は、当該通知を受けて、冗長グループ管理テーブル132の仮想アダプタ160a,160cの運用状態を更新する。
 (ステップS21)制御部141は、冗長グループ管理テーブル132を参照して、ステップS12で特定した全ての仮想アダプタにつき退避が完了したかを判定する。全ての仮想アダプタを退避済である場合、処理をステップS22に進める。未退避の仮想アダプタが存在する場合、処理をステップS14に進める。
 (ステップS22)制御部141は、故障した物理アダプタ(FCインタフェース106)を故障状態として、その動作を停止させる。制御部141は、仮想マシン150,150aなどによる当該物理アダプタへの資源取得の要求を防止し、故障した物理アダプタを閉塞する。そして、制御部141は、故障した物理アダプタの電源をOFFにして、サーバ装置100から切り離す。
 このようにして、制御部141は仮想アダプタの切り換えを制御する。ステップS13では、制御部141は、管理情報記憶部130に記憶された接続構成管理テーブル131を参照して、退避先アダプタの有無を確認してもよい。
 なお、ステップS22の処理は、仮想マシン150上で故障が検知された仮想アダプタ160の仮想アダプタ160bへの切り換えが完了した後に行われる。故障が検知された仮想アダプタ160に関しては、冗長パス制御部153により、当該故障検知の後に、仮想アダプタ160から仮想アダプタ160bへの切り換えが行われる。冗長パス制御部153は、当該切り換えの完了を制御部141に通知する。このようにして、制御部141は仮想アダプタ160,160b間の切り換え状況も管理する。
 例えば、故障検知後、所定期間経過後も、冗長パス制御部153によるアダプタ切り換えが実行されない場合、制御部141は、冗長パス制御部153にも切り換えの指示を行ってもよい。
 また、例えば、故障を検知した仮想マシン150の退避先アダプタがない場合も考えられる。その場合には、新たにFCインタフェース106aがサーバ装置100に搭載されるまで、制御部141は冗長パス制御部153によるアダプタ切り換えを留保することが考えられる。
 図12は、第2の実施の形態の障害検知時の全体処理を示すシーケンス図である。以下、図12に示す処理をステップ番号に沿って説明する。なお、以下に示すステップST101の直前では、仮想マシン150は仮想アダプタ160を介して、仮想マシン150aは仮想アダプタ160aを介してストレージ装置300にアクセスしているとする。また、FCインタフェース106aは、サーバ装置100に未設置であるとする。
 (ステップST101)仮想マシン150は、ハイパーバイザ140に仮想アダプタ160の故障を通知する。
 (ステップST102)ハイパーバイザ140は、管理情報記憶部130に記憶された接続構成管理テーブル131を参照して、仮想アダプタ160とFCインタフェース106を共用する仮想アダプタ160aを確認する。また、当該仮想アダプタ160aに対して仮想マシン150aが対応付けられていることを確認する。
 (ステップST103)ハイパーバイザ140は、仮想マシン150aに、退避先アダプタがあるかを問い合わせる。仮想マシン150aは、退避先アダプタがない旨をハイパーバイザ140に応答する。その後、ハイパーバイザ140は、管理者に対してFCインタフェース106aをサーバ装置100に新たに設けるよう通知する。管理者は当該通知に応じて、FCインタフェース106aをサーバ装置100に設置する。なお、ここでは、仮想マシン150も退避先アダプタが存在しない。このため、故障検知後から追加されたFCインタフェース106aが利用可能になるまで、ハイパーバイザ140は、冗長パス制御部153による仮想アダプタの切り換え処理を留保させる。
 (ステップST104)ハイパーバイザ140は、FCインタフェース106a上の仮想アダプタ160b,160cのドライバモジュールの組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じて、仮想アダプタ160b,160cを組み込む。これにより、仮想マシン150は、仮想アダプタ160bを利用可能となる。仮想マシン150aは、仮想アダプタ160cを利用可能となる。ハイパーバイザ140は、管理情報記憶部130に記憶された冗長グループ管理テーブル132に、仮想アダプタ160,160bを冗長グループのペアとして登録する。同様に、仮想アダプタ160a,160cを冗長グループのペアとして登録する。
 (ステップST105)ハイパーバイザ140は、FCスイッチ装置200のゾーン情報に仮想アダプタ160b,160cに対応するポート情報(物理アダプタの情報や物理アダプタの仮想ポート番号の情報)を追加する。これにより、仮想アダプタ160b,160cからFCスイッチ装置200の当該ゾーンを介した通信が可能となる。
 (ステップST106)ハイパーバイザ140は、仮想アダプタ160b,160cを介したストレージ装置300の組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じてストレージ装置300と通信し、仮想アダプタ160b,160cを介したストレージ装置300の利用を可能な状態とする。これにより、仮想マシン150は、仮想アダプタ160bを介してストレージ装置300へアクセス可能となる。仮想マシン150aは、仮想アダプタ160cを介してストレージ装置300へアクセス可能となる。
 (ステップST107)ハイパーバイザ140は、仮想マシン150,150aに仮想アダプタの切り換えを指示する。当該指示に応じて、仮想マシン150は、仮想アダプタ160から仮想アダプタ160bへの切り換えを行う。また、仮想マシン150aは、仮想アダプタ160aから仮想アダプタ160cへの切り換えを行う。
 (ステップST108)ハイパーバイザ140は、FCインタフェース106を共用する全ての仮想マシンが他のFCインタフェースに移管済であり、FCインタフェース106上の全ての仮想アダプタで通信が停止されたことを確認する。ハイパーバイザ140は、FCインタフェース106を閉塞させて電源OFFし、停止させる。
 (ステップST109)ハイパーバイザ140は、FCインタフェース106をサーバ装置100から切り離す。FCインタフェース106は、サーバ装置100から取り外し可能な状態となる。
 このようにして、ハイパーバイザ140は、仮想アダプタ160で故障を検知すると、仮想マシン150とFCインタフェース106を共有する仮想マシン150aについても、FCインタフェース106aに移管する。これによって、FCインタフェース106を利用する仮想マシンが全てFCインタフェース106aに退避される。
 次に、図11のステップS16の物理アダプタ追加処理を説明する。以下では、FCインタフェース106aを追加する場合を想定する。
 図13は、第2の実施の形態の物理アダプタ追加処理を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
 (ステップS31)管理者により、FCインタフェース106aが、サーバ装置100に搭載される。また、管理者により、FCインタフェース106aとFCスイッチ装置200とがFCケーブルを介して接続される。制御部141は、FCインタフェース106aがサーバ装置100に追加された旨を検知する。
 (ステップS32)制御部141は、FCインタフェース106aおよび仮想アダプタ160b,160cの情報を管理情報記憶部130に記憶された接続構成管理テーブル131に登録する。制御部141は、退避元の仮想アダプタに関する接続先WWNやゾーンの情報を接続構成管理テーブル131から取得し、退避先アダプタの接続先WWNやゾーンの情報として同テーブルに登録する。制御部141は、退避先アダプタの接続先WWNやゾーンの情報として、管理端末装置400で管理者が入力した情報を接続構成管理テーブル131に登録してもよい。また、制御部141は、管理情報記憶部130に記憶された冗長グループ管理テーブル132に、仮想アダプタ160,160aの退避先として、仮想アダプタ160b,160cを登録する。何れの仮想アダプタを何れの仮想アダプタとペアにするかは、管理者が管理端末装置400から指定してもよいし、制御部141がDIDの昇順などの条件に基づいて自動で指定してもよい。
 (ステップS33)制御部141は、接続構成管理テーブル131を参照して、新たに登録したFCインタフェース106aおよび仮想アダプタ160b,160cのVIDとDIDを確認する。
 (ステップS34)制御部141は、冗長グループ内で、仮想アダプタ同士のVIDとDIDが同一であるか否かを判定する。同一である場合、処理をステップS35に進める。同一でない場合、管理者に対して、同一機能の物理アダプタを搭載するよう指示して、処理をステップS31に進める。
 (ステップS35)制御部141は、接続構成管理テーブル131を参照して、退避元の仮想アダプタ160,160aに対応する仮想マシン150,150aを特定する。
 (ステップS36)制御部141は、アダプタドライバ152,152a、冗長パス制御部153,153aおよび接続先装置ドライバ154,154aに、仮想アダプタ160b,160cのドライバモジュールの組み込みを指示する。
 (ステップS37)アダプタドライバ152,152a、冗長パス制御部153,153aおよび接続先装置ドライバ154,154aは、制御部141からの指示に応じて、仮想アダプタ160b,160cのドライバモジュールを組み込む。
 このようにして、新たに追加したFCインタフェース106aを利用可能とするための処理が行われる。退避先の仮想アダプタのVIDとDIDが同一であることを確認し、同一でなければ確認を促すことで、退避前後でアダプタの機能が変わらないことを保証できる。
 これにより、通信性能の低下や接続先装置との相性の不一致などが生じる可能性を低減できる。
 図14は、第2の実施の形態の物理アダプタ追加処理を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
 (ステップST111)管理者により、FCインタフェース106aがサーバ装置100に搭載される。管理者により、FCインタフェース106aとFCスイッチ装置200とがFCケーブルで接続される。
 (ステップST112)ハイパーバイザ140は、FCインタフェース106aが追加された旨を検知すると、FCインタフェース106aから、物理アダプタおよび仮想アダプタの情報を取得する。ハイパーバイザ140は、取得した情報を管理情報記憶部130に記憶された接続構成管理テーブル131に登録する。また、ハイパーバイザ140は、管理情報記憶部130に記憶された冗長グループ管理テーブル132に、仮想アダプタ160,160aの退避先として、仮想アダプタ160b,160cを登録する。
 (ステップST113)ハイパーバイザ140は、接続構成管理テーブル131を参照して、新たに登録したFCインタフェース106aおよび仮想アダプタ160b,160cのVIDとDIDを確認する。ハイパーバイザ140は、冗長ペアの仮想アダプタ同士で、VIDとDIDが同一であることを確認する。具体的には、仮想アダプタ160,160bのVIDとDIDが同一であることを確認する。また、仮想アダプタ160a,160cのVIDとDIDが同一であることを確認する。
 (ステップST114)ハイパーバイザ140は、接続構成管理テーブル131を参照して、仮想アダプタ160に対応付けられた仮想マシン150を特定する。同様に、仮想アダプタ160aに対応付けられた仮想マシン150aを特定する。
 (ステップST115)ハイパーバイザ140は、仮想マシン150,150aに、仮想アダプタ160b,160cの組み込みを指示する。
 (ステップST116)仮想マシン150,150aは、仮想アダプタ160b,160cのドライバモジュールを組み込む。これにより、仮想マシン150は仮想アダプタ160bを利用可能となる。また、仮想マシン150aは仮想アダプタ160cを利用可能となる。
 このように、FCインタフェース106aを追加した後、ハイパーバイザ140は、仮想マシン150,150aに仮想アダプタ160b,160cの組み込みを実行させる。ハイパーバイザ140は、仮想マシン150,150aに対する仮想アダプタ160b,160cの割り当て状況を接続構成管理テーブル131で管理する。また、ハイパーバイザ140は、仮想アダプタ160,160a,160b,160cによる冗長グループの対応関係を冗長グループ管理テーブル132で管理する。
 次に、図11のステップS19の接続先装置追加処理を説明する。
 図15は、第2の実施の形態の接続先装置追加処理を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
 (ステップS41)制御部141は、仮想マシン150,150aに接続先装置(ストレージ装置300)の組み込みを指示する。このとき、制御部141は、管理情報記憶部130に記憶された接続構成管理テーブル131を参照して、仮想アダプタ160bの接続先WWNを、仮想マシン150に通知する。同様に、制御部141は、仮想アダプタ160cの接続先WWNを仮想マシン150aに通知する。
 (ステップS42)冗長パス制御部153は、仮想アダプタ160の接続先WWNを確認する。冗長パス制御部153aは、仮想アダプタ160aの接続先WWNを確認する。
 (ステップS43)冗長パス制御部153,153aは、ステップS41で受け付けた接続先WWNとステップS42で確認した接続先WWNとが同一であるか否かを判定する。同一である場合、すなわち、FCインタフェースの変更後も、元の接続先装置にアクセスできると確認できた場合、冗長パス制御部153,153aはその接続先装置の組み込みを行う。その後、冗長パス制御部153,153aは組み込みが完了した旨をハイパーバイザ140に通知して、処理をステップS44に進める。接続先WWNが異なる場合、すなわち、FCインタフェースの変更後に元の接続先装置にアクセスできない場合、その旨をハイパーバイザ140に通知して、処理をステップS45に進める。
 (ステップS44)制御部141は、管理情報記憶部130に記憶された冗長グループ管理テーブル132を更新する。具体的には、制御部141は、仮想アダプタ160b,160cの運用状態を“待機”に更新する。
 (ステップS45)制御部141は、仮想アダプタ160b,160cの接続先装置の確認を管理者に促す。例えば、制御部141は、管理端末装置400に所定のメッセージを通知したり、管理者の電子メールアドレスに所定のメッセージを記述した電子メールを送信したりする。
 このようにして、制御部141は、仮想マシン150,150aから退避先の仮想アダプタを介してストレージ装置300を利用可能とする。制御部141は、退避先装置が退避の前後で異ならないことを事前に確認するので、退避後の仮想マシン150,150aの処理への影響を低減できる。
 図16は、第2の実施の形態の接続先装置追加処理を示すシーケンス図である。以下、図16に示す処理をステップ番号に沿って説明する。
 (ステップST121)ハイパーバイザ140は、仮想マシン150,150aにストレージ装置300の組み込みを指示する。
 (ステップST122)仮想マシン150,150aは、新たな接続先となるストレージ装置300が、現在の接続先であるストレージ装置300と同一であることを確認する。そして、仮想マシン150,150aは、ストレージ装置300の組み込みを行う。これにより、仮想マシン150は、仮想アダプタ160bを介してストレージ装置300へアクセス可能となる。また、仮想マシン150aは、仮想アダプタ160cを介してストレージ装置300へアクセス可能となる。
 (ステップST123)仮想マシン150,150aは、ストレージ装置300の組み込みが完了した旨をハイパーバイザ140に応答する。
 (ステップST124)ハイパーバイザ140は、管理情報記憶部130に記憶された冗長グループ管理テーブル132を更新する。具体的には、制御部141は、仮想アダプタ160b,160cの運用状態を“待機”に更新する。
 これにより、各冗長グループでアダプタ切り換えの準備が整う。
 次に、図11のステップS20のアダプタ切り換え処理を説明する。
 図17は、第2の実施の形態のアダプタ切り換え処理を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
 (ステップS51)制御部141は、退避対象の仮想アダプタを確認する。具体的には、制御部141は、故障が検知されたFCインタフェース106上の仮想アダプタ160aを確認する。制御部141は、管理情報記憶部130に記憶された冗長グループ管理テーブル132を参照し、仮想アダプタ160aの退避先アダプタとして、仮想アダプタ160cを特定する。
 (ステップS52)制御部141は、仮想マシン150aに仮想アダプタ160cへの切り換えを指示する。
 (ステップS53)冗長パス制御部153aは、制御部141の指示を受け付けると、冗長グループ管理テーブル132を参照して、仮想マシン150aのIO要求状態を確認する。冗長パス制御部153aは、接続先装置ドライバ154aのIO要求状態を参照して確認してもよい。冗長パス制御部153aは、仮想マシン150aの仮想アダプタ160aによるIO要求状態が“停止”になると、仮想アダプタ160aから仮想アダプタ160cへアダプタの切り換えを行う。
 (ステップS54)冗長パス制御部153aは、制御部141に切り換え完了を通知する。
 (ステップS55)制御部141は、冗長パス制御部153aから切り換え完了の通知を受け付けると、冗長グループ管理テーブル132を更新する。具体的には、制御部141は、仮想アダプタ160aのIO要求状態が“停止”であることを確認し、仮想アダプタ160aにつき運用状態の項目を“待機”に変更し、仮想アダプタ160cにつき運用状態の項目を“運用”に変更する。
 このようにして、制御部141は、冗長グループ内でのアダプタの切り換えを制御する。制御部141は、仮想アダプタ160で故障が発生した場合、FCインタフェース106を共用する仮想マシン150aが存在することを確認する。そして、制御部141は、仮想マシン150aの冗長パス制御部153aに対して、仮想アダプタの切り換えを指示する。
 冗長パス制御部153aは、仮想マシン150aがストレージ装置300にアクセス中でないタイミングでFCインタフェース106上の仮想アダプタ160aからFCインタフェース106a上の仮想アダプタ160cへ、アダプタの切り換えを行う。これにより、仮想マシン150aの処理が中断されないようにアダプタの切り換えを行える。
 なお、制御部141は、仮想マシン150のアダプタ切り換えを留保している場合(例えば、図12のステップST103参照)には、上記ステップS51において、仮想マシン150の退避先アダプタとして、仮想アダプタ160bを特定する。そして、制御部141は、以降のステップS52~S55において、仮想マシン150aと同様に、仮想マシン150の冗長パス制御部153に対して仮想アダプタ160から仮想アダプタ160bへの切り換えを制御する。
 これにより、故障が検出されたFCインタフェース106を共用する全ての仮想マシンを他のFCインタフェース106aに移管できる。その結果、FCインタフェース106の全ての仮想アダプタを介した通信が停止状態となる。このため、FCインタフェース106を交換するなどの保守作業を行ったとしても、サーバ装置100で動作する他の仮想マシンに対する影響を抑えることができる。その結果、保守作業を容易に行えるようになる。
 また、制御部141は、FCインタフェース106で故障を検知したタイミングで、他の仮想マシンをFCインタフェース106aに移管させる。このため、サーバ装置100の保守作業を迅速に開始でき、保守作業を効率的に行える。
 なお、仮想マシン150,150aで同一のFCインタフェース106aに移管するものとしたが、各仮想マシンをそれぞれ異なるFCインタフェースに移管してもよい。また、仮想マシン150,150aの接続先装置をストレージ装置300としたが、それぞれ異なる接続先装置に接続してもよい。
 [第3の実施の形態]
 次に、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、同様の事項は説明を省略する。
 第2の実施の形態では、仮想マシン150,150aが冗長パス制御部153,153aを備え、制御部141の指示に応じて、仮想アダプタの切り換えの処理を行う例を示した。
 一方、冗長パス制御部153,153aの機能をハイパーバイザが備えてもよい。第3の実施の形態では、この場合を例示する。
 ここで、第3の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様であるため説明を省略する。また、第3の実施の形態のサーバ装置、FCスイッチ装置、ストレージ装置および管理端末装置のハードウェア例は、図3~5で説明した通りであるため説明を省略する。第3の実施の形態では、以下に示すサーバ装置100aのハードウェア、FCスイッチ装置、ストレージ装置および管理端末装置を、第2の実施の形態と同一の符号により示す。また、対応する同一の構成については、同一の符号により示す。
 図18は、第3の実施の形態のサーバ装置の機能を示すブロック図である。サーバ装置100aは、管理情報記憶部130、ハイパーバイザ140a、仮想マシン150b,150cおよび仮想アダプタ160,160a,160b,160cを有する。管理情報記憶部130、ハイパーバイザ140aおよび仮想マシン150b,150cの機能は、CPU111が所定のプログラムを実行することにより、サーバ装置100a上に実現される。ただし、これらのユニットの全部または一部を専用のハードウェアにより実現してもよい。
 管理情報記憶部130は、第2の実施の形態の管理情報記憶部130に対応する。
 ハイパーバイザ140aは、第2の実施の形態のハイパーバイザ140に対応する。ハイパーバイザ140aは、制御部141aを有する。制御部141aは、第2の実施の形態の制御部141に対応する。ただし、制御部141aは、制御部141の機能に加えて、第2の実施の形態の冗長パス制御部153,153aの機能を担う。制御部141aは、仮想マシン150b,150cに割り当てた仮想アダプタを冗長制御する。
 仮想マシン150bは、OS151、アダプタドライバ152bおよび接続先装置ドライバ154bを有する。仮想マシン150cは、OS151a、アダプタドライバ152cおよび接続先装置ドライバ154cを有する。OS151b,151c、アダプタドライバ152b,152cおよび接続先装置ドライバ154b,154cは、第2の実施の形態のOS151,151a、アダプタドライバ152,152aおよび接続先装置ドライバ154,154aに対応する。
 仮想アダプタ160,160a,160b,160cは、第2の実施の形態の仮想アダプタ160,160a,160b,160cに対応する。
 このような構成によっても、第2の実施の形態と同一の処理を行える。その際、第2の実施の形態において冗長パス制御部153,153aに対して行われた処理は、制御部141aに対して行われる。また、第2の実施の形態において冗長パス制御部153,153aが実行した処理は、制御部141aが実行する。
 例えば、図12で示した第2の実施の形態の障害検知時の全体処理のシーケンス図のステップST101では、制御部141aは、アダプタドライバ152b,152cからの通知で、仮想アダプタの故障の有無を判断できる。また、制御部141aは、アダプタドライバ152b,152cと通信し、仮想マシン150b,150cのIO要求状況を監視する。制御部141aは、接続先装置ドライバ154b,154cと通信して、IO要求状況を監視してもよい。これにより、制御部141aは、ある仮想アダプタにつきIO要求状況を判断でき、アダプタ切り換え完了状態を判断できる。具体的には、制御部141aは、仮想マシン150cが仮想アダプタ160aによりストレージ装置300にアクセス中に、仮想アダプタ160aが待機状態としないよう制御する。
 また、例えば、図12のステップST103の処理は、制御部141aが管理情報記憶部130に記憶された接続構成管理テーブル131を参照することで確認する。このため、仮想マシンへの問い合わせによる処理負荷が軽減される。また、ステップST107の仮想アダプタの切り換え処理は、制御部141aが行う。
 これにより、第2の実施の形態と同様の効果を得ることができる。特に、制御部141aが切り換え処理を一括して行うので、仮想マシンごとに生じるアダプタ確認の問い合わせや、切り換え指示などの通信を省ける。このため、高速に切り換え処理を行える。
 [第4の実施の形態]
 次に、第4の実施の形態を説明する。前述の第2,第3の実施の形態との相違点を主に説明し、同様の事項は説明を省略する。
 第2,第3の実施の形態では、物理アダプタおよび仮想アダプタの接続構成を管理する制御部の機能をハイパーバイザに設けた。一方、当該制御部を他の装置に設けてもよい。第4の実施の形態では、管理端末装置400が制御部を備える例を示す。
 ここで、第4の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様であるため説明を省略する。また、第4の実施の形態のサーバ装置、FCスイッチ装置、ストレージ装置および管理端末装置のハードウェア例は、図3~5で説明した通りであるため説明を省略する。第4の実施の形態では、サーバ装置、FCスイッチ装置、ストレージ装置および管理端末装置を第2の実施の形態と同一の符号により指し示す。
 図19は、第4の実施の形態の管理端末装置の機能を示すブロック図である。管理端末装置400は、管理情報記憶部410および制御部420を有する。これらの各機能は、管理端末装置400上のCPUが、管理端末装置400上のメモリに格納された所定のプログラムを実行することにより、管理端末装置400上に実現される。ただし、制御部420を専用のハードウェアにより実現してもよい。
 管理情報記憶部410は、第2の実施の形態の管理情報記憶部130に対応する。管理情報記憶部410は、管理情報を記憶する。管理情報は、図9,10で説明した接続構成管理テーブルおよび冗長グループ管理テーブルを含む。
 制御部420は、第2の実施の形態の制御部141に対応する。すなわち、第2の実施の形態の制御部141の機能を制御部420が担う。具体的には、制御部420は、ハイパーバイザ140から、何れかの仮想マシンでFCインタフェースを介した通信で障害が発生した旨の通知を受ける。すると、制御部420は、管理情報記憶部410を参照して、当該FCインタフェースを用いて通信する他の仮想マシンを特定する。制御部420は、特定した他の仮想マシンの他のFCインタフェースへの割り当てをハイパーバイザ140に指示する。ハイパーバイザ140は、制御部420の指示により、当該他の仮想マシンを他のFCインタフェースに割り当てる。
 次に、以上の構成の管理端末装置400の処理を説明する。
 図20は、第4の実施の形態の障害検知時の全体処理を示すシーケンス図である。以下、図20に示す処理をステップ番号に沿って説明する。なお、以下に示すステップST131の直前では、仮想マシン150は仮想アダプタ160を介して、仮想マシン150aは仮想アダプタ160aを介して、ストレージ装置300にアクセスしているとする。また、FCインタフェース106aは、サーバ装置100に未設置であるとする。
 (ステップST131)仮想マシン150は、ハイパーバイザ140を介して制御部420に、仮想アダプタ160の故障を通知する。ここで、以下の説明では、仮想マシン150,150aと制御部420の間の通信は当該ステップST131と同様にハイパーバイザ140を介して行われるものとする。
 (ステップST132)制御部420は、管理情報記憶部410に記憶された接続構成管理テーブルを参照して、仮想アダプタ160とFCインタフェース106を共用する仮想アダプタ160aを確認する。また、当該仮想アダプタ160aに対して仮想マシン150aが対応付けられていることを確認する。
 (ステップST133)制御部420は、仮想マシン150aに、退避先アダプタがあるかを問い合わせる。仮想マシン150aは、退避先アダプタがない旨を制御部420に応答する。その後、制御部420は、管理者に対してFCインタフェース106aをサーバ装置100に新たに設けるよう通知する。管理者は当該通知に応じて、FCインタフェース106aをサーバ装置100に設置する。なお、ここでは、仮想マシン150も退避先アダプタが存在しない。このため、故障検知後から追加されたFCインタフェース106aが利用可能になるまで、制御部420は、冗長パス制御部153による仮想アダプタの切り換え処理を留保させる。
 (ステップST134)制御部420は、FCインタフェース106a上の仮想アダプタ160b,160cのドライバモジュールの組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じて、仮想アダプタ160b,160cを組み込む。これにより、仮想マシン150は、仮想アダプタ160bを利用可能となる。仮想マシン150aは、仮想アダプタ160cを利用可能となる。制御部420は、管理情報記憶部410に記憶された冗長グループ管理テーブルに仮想アダプタ160,160bを冗長グループのペアとして登録する。同様に、仮想アダプタ160a,160cを冗長グループのペアとして登録する。
 (ステップST135)制御部420は、FCスイッチ装置200のゾーン情報の追加をハイパーバイザ140に指示する。ハイパーバイザ140は、仮想アダプタ160b,160cに対応するポート情報をFCスイッチ装置200のゾーン情報に追加する。これにより、仮想アダプタ160b,160cからFCスイッチ装置200の当該ゾーンを介した通信が可能となる。なお、制御部420からFCスイッチ装置200に対してゾーンの設定を直接行ってもよい。例えば、管理端末装置400とFCスイッチ装置200のSVP203を接続すれば、制御部420からFCスイッチ装置200へ直接指示を送れる。
 (ステップST136)制御部420は、冗長グループ管理テーブルを参照して、仮想アダプタ160,160aによるIO要求状態が“停止”となったことを確認する。仮想アダプタ160b,160cを介したストレージ装置300の組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じてストレージ装置300と通信し、仮想アダプタ160b,160cを介したストレージ装置300の利用を可能な状態とする。これにより、仮想マシン150は、仮想アダプタ160bを介してストレージ装置300へアクセス可能となる。仮想マシン150aは、仮想アダプタ160cを介してストレージ装置300へアクセス可能となる。
 (ステップST137)制御部420は、制御部420は、仮想マシン150,150aに仮想アダプタの切り換えを指示する。当該指示に応じて、仮想マシン150は、仮想アダプタ160から仮想アダプタ160bへの切り換えを行う。また、仮想マシン150aは、仮想アダプタ160aから仮想アダプタ160cへの切り換えを行う。
 (ステップST138)制御部420は、FCインタフェース106を共用する全ての仮想マシンが他のFCインタフェースに移管済であり、FCインタフェース106上の全ての仮想アダプタで通信が停止されたことを確認する。制御部420は、ハイパーバイザ140にFCインタフェース106の停止を指示する。ハイパーバイザ140は、FCインタフェース106を閉塞させて電源OFFし、停止させる。
 (ステップST139)制御部420は、ハイパーバイザ140にFCインタフェース106の切り離しを指示する。ハイパーバイザ140は、FCインタフェース106をサーバ装置100から切り離す。FCインタフェース106は、サーバ装置100から取り外し可能な状態となる。
 このようにして、制御部420は、仮想マシン150が仮想アダプタ160で故障を検知した場合に、FCインタフェース106を共用する仮想マシン150aの仮想アダプタの切り換えを制御する。ここで、ステップST137では、制御部420は仮想アダプタ160,160aのうち、IO要求状態が“停止”になった方から順にアダプタの切り換えを指示できる。
 これにより、第2の実施の形態と同様の効果を得ることができる。また、管理端末装置400でアダプタ切り換えの制御を行えば、サーバ装置100以外の装置(例えば、FCスイッチ装置200やストレージ装置300など)を含めた統合的な運用管理を、管理端末装置400上で行える。すなわち、管理者は、仮想マシンと接続先装置との間の接続構成や冗長グループの割当状況などを管理端末装置400で管理可能となる。このため、情報処理システム全体の運用管理を効率化できる。
 [第5の実施の形態]
 次に、第5の実施の形態を説明する。前述の第2~第4の実施の形態との相違点を主に説明し、同様の事項は説明を省略する。
 第4の実施の形態では、管理端末装置400に制御部420を設ける例を示した。一方、制御部420の機能をFCスイッチ装置200に設けてもよい。第5の実施の形態では、FCスイッチ装置200が制御部を備える例を示す。
 ここで、第5の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様であるため説明を省略する。また、第5の実施の形態のサーバ装置、FCスイッチ装置、ストレージ装置および管理端末装置のハードウェア例は、図3~5で説明した通りであるため説明を省略する。第5の実施の形態では、サーバ装置、FCスイッチ装置、ストレージ装置および管理端末装置を第2の実施の形態と同一の符号により指し示す。
 図21は、第5の実施の形態のFCスイッチ装置の機能を示すブロック図である。FCスイッチ装置200は、管理情報記憶部210および制御部220を有する。これらの各機能は、SVP203がSVP203上のメモリまたはメモリ202に格納された所定のプログラムを実行することにより、FCスイッチ装置200上に実現される。ただし、制御部220を専用のハードウェアにより実現してもよい。
 管理情報記憶部210は、第2の実施の形態の管理情報記憶部130に対応する。管理情報記憶部210は、管理情報を記憶する。管理情報は、図9,10で説明した接続構成管理テーブルおよび冗長グループ管理テーブルを含む。
 制御部220は、第2の実施の形態の制御部141に対応する。すなわち、第2の実施の形態の制御部141の機能を制御部220が担う。具体的には、制御部220は、ハイパーバイザ140から、何れかの仮想マシンでFCインタフェースを介した通信に障害が発生した旨の通知を受ける。すると、制御部220は、管理情報記憶部210を参照して、当該FCインタフェースを用いて通信する他の仮想マシンを特定する。制御部220は、特定した他の仮想マシンの他のFCインタフェースへの割り当てをハイパーバイザ140に指示する。ハイパーバイザ140は、制御部220の指示により、当該他の仮想マシンを他のFCインタフェースに割り当てる。
 次に、以上の構成のFCスイッチ装置200の処理を説明する。
 図22は、第5の実施の形態の障害検知時の全体処理を示すシーケンス図である。以下、図22に示す処理をステップ番号に沿って説明する。なお、以下に示すステップST141の直前では、仮想マシン150は仮想アダプタ160を介して、仮想マシン150aは仮想アダプタ160aを介して、ストレージ装置300にアクセスしているとする。また、FCインタフェース106aは、サーバ装置100に未設置であるとする。
 (ステップST141)仮想マシン150は、ハイパーバイザ140を介して制御部220に、仮想アダプタ160の故障を通知する。ここで、以下の説明では、仮想マシン150,150aと制御部220の間の通信は当該ステップST141と同様にハイパーバイザ140を介して行われるものとする。
 (ステップST142)制御部220は、管理情報記憶部210に記憶された接続構成管理テーブルを参照して、仮想アダプタ160とFCインタフェース106を共用する仮想アダプタ160aを確認する。また、当該仮想アダプタ160aに対して仮想マシン150aが対応付けられていることを確認する。
 (ステップST143)制御部220は、仮想マシン150aに、退避先アダプタがあるかを問い合わせる。仮想マシン150aは、退避先アダプタがない旨を制御部220に応答する。その後、制御部220は、管理者に対してFCインタフェース106aをサーバ装置100に新たに設けるよう通知する。管理者は当該通知に応じて、FCインタフェース106aをサーバ装置100に設置する。なお、ここでは、仮想マシン150も退避先アダプタが存在しない。このため、故障検知後から追加されたFCインタフェース106aが利用可能になるまで、制御部220は、冗長パス制御部153による仮想アダプタの切り換え処理を留保させる。
 (ステップST144)制御部220は、FCインタフェース106a上の仮想アダプタ160b,160cのドライバモジュールの組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じて、仮想アダプタ160b,160cを組み込む。これにより、仮想マシン150は、仮想アダプタ160bを利用可能となる。仮想マシン150aは、仮想アダプタ160cを利用可能となる。制御部220は、管理情報記憶部210に記憶された冗長グループ管理テーブルに仮想アダプタ160,160bを冗長グループのペアとして登録する。同様に、仮想アダプタ160a,160cを冗長グループのペアとして登録する。
 (ステップST145)制御部220は、仮想アダプタ160b,160cに対応するポート情報をFCスイッチ装置200のゾーン情報に追加する。これにより、仮想アダプタ160b,160cからFCスイッチ装置200の当該ゾーンを介した通信が可能となる。
 (ステップST146)制御部220は、仮想アダプタ160b,160cを介したストレージ装置300の組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じてストレージ装置300と通信し、仮想アダプタ160b,160cを介したストレージ装置300の利用を可能な状態とする。これにより、仮想マシン150は、仮想アダプタ160bを介してストレージ装置300へアクセス可能となる。仮想マシン150aは、仮想アダプタ160cを介してストレージ装置300へアクセス可能となる。
 (ステップST147)制御部220は、冗長グループ管理テーブルを参照して、仮想アダプタ160,160aによるIO要求状態が“停止”となったことを確認する。制御部220は、仮想マシン150,150aに仮想アダプタの切り換えを指示する。当該指示に応じて、仮想マシン150は、仮想アダプタ160から仮想アダプタ160bへの切り換えを行う。また、仮想マシン150aは、仮想アダプタ160aから仮想アダプタ160cへの切り換えを行う。
 (ステップST148)制御部220は、FCインタフェース106を共用する全ての仮想マシンが他のFCインタフェースに移管済であり、FCインタフェース106上の全ての仮想アダプタで通信が停止されたことを確認する。制御部220は、ハイパーバイザ140にFCインタフェース106の停止を指示する。ハイパーバイザ140は、FCインタフェース106を閉塞させて電源OFFし、停止させる。
 (ステップST149)制御部220は、ハイパーバイザ140にFCインタフェース106の切り離しを指示する。ハイパーバイザ140は、FCインタフェース106をサーバ装置100から切り離す。FCインタフェース106は、サーバ装置100から取り外し可能な状態となる。
 このようにして、制御部220は、仮想マシン150が仮想アダプタ160で故障を検知した場合に、FCインタフェース106を共用する仮想マシン150aの仮想アダプタの切り換えを制御する。ここで、ステップST147では、制御部220は仮想アダプタ160,160aのうち、IO要求状態が“停止”になった方から順にアダプタの切り換えを指示できる。
 これにより、第2の実施の形態と同様の効果を得ることができる。また、FCスイッチ装置200でアダプタ切り換えの制御とゾーンの設定をまとめて行うことで、サーバ装置100の構成の変化に柔軟に対応できる。
 [第6の実施の形態]
 次に、第6の実施の形態を説明する。前述の第2~第5の実施の形態との相違点を主に説明し、同様の事項は説明を省略する。
 第6の実施の形態では、ストレージ装置300が制御部を備える例を示す。
 ここで、第6の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様であるため説明を省略する。また、第6の実施の形態のサーバ装置、FCスイッチ装置、ストレージ装置および管理端末装置のハードウェア例は、図3~5で説明した通りであるため説明を省略する。第6の実施の形態では、サーバ装置、FCスイッチ装置、ストレージ装置および管理端末装置を第2の実施の形態と同一の符号により指し示す。ここで、サーバ装置100とストレージ装置300上のSVP304は、専用の管理LANで接続される。
 図23は、第6の実施の形態のストレージ装置の機能を示すブロック図である。ストレージ装置300は、管理情報記憶部360および制御部370を有する。これらの各機能は、SVP304がSVP304上のメモリに格納された所定のプログラムを実行することにより、ストレージ装置300上に実現される。ただし、制御部370を専用のハードウェアにより実現してもよい。
 管理情報記憶部360は、第2の実施の形態の管理情報記憶部130に対応する。管理情報記憶部360は、管理情報を記憶する。管理情報は、図9,10で説明した接続構成管理テーブルおよび冗長グループ管理テーブルを含む。
 制御部370は、第2の実施の形態の制御部141に対応する。すなわち、第2の実施の形態の制御部141の機能を制御部370が担う。具体的には、制御部370は、何れかの仮想マシンでタイムアウトなどのアクセス異常を検知すると、当該仮想マシンに対応する仮想アダプタで故障が発生した旨を検知する。すると、制御部370は、管理情報記憶部360を参照して、当該仮想マシンに対応するFCインタフェースを用いて通信する他の仮想マシンを特定する。制御部370は、特定した他の仮想マシンの他のFCインタフェースへの割り当てをハイパーバイザ140に指示する。ハイパーバイザ140は、制御部370の指示により、当該他の仮想マシンを他のFCインタフェースに割り当てる。
 次に、以上の構成のストレージ装置300の処理を説明する。
 図24は、第6の実施の形態の障害検知時の全体処理を示すシーケンス図である。以下、図24に示す処理をステップ番号に沿って説明する。なお、以下に示すステップST151の直前では、仮想マシン150は仮想アダプタ160を介して、仮想マシン150aは仮想アダプタ160aを介して、ストレージ装置300にアクセスしているとする。また、FCインタフェース106aは、サーバ装置100に未設置であるとする。
 (ステップST151)制御部370は、仮想マシン150からのアクセスにつき、タイムアウトなどによるアクセス異常を検知する。制御部370は、管理情報記憶部360に記憶された接続構成管理テーブルを参照して、仮想マシン150に対応する仮想アダプタ160を特定する。そして、制御部370は、仮想アダプタ160の故障を検知する。
 (ステップST152)制御部370は、接続構成管理テーブルを参照して、仮想アダプタ160とFCインタフェース106を共用する仮想アダプタ160aを確認する。また、当該仮想アダプタ160aに対して仮想マシン150aが対応付けられていることを確認する。
 (ステップST153)制御部370は、ハイパーバイザ140を介して、仮想マシン150aに、退避先アダプタがあるかを問い合わせる。仮想マシン150aは、退避先アダプタがない旨を制御部370に応答する。その後、制御部370は、管理者に対してFCインタフェース106aをサーバ装置100に新たに設けるよう通知する。管理者は当該通知に応じて、FCインタフェース106aをサーバ装置100に設置する。なお、ここでは、仮想マシン150も退避先アダプタが存在しない。このため、故障検知後から追加されたFCインタフェース106aが利用可能になるまで、制御部370は、冗長パス制御部153による仮想アダプタの切り換え処理を留保させる。ここで、以下の説明では、仮想マシン150,150aと制御部370の間の通信は当該ステップST153と同様にハイパーバイザ140を介して行われるものとする。
 (ステップST154)制御部370は、FCインタフェース106a上の仮想アダプタ160b,160cのドライバモジュールの組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じて、仮想アダプタ160b,160cを組み込む。これにより、仮想マシン150は、仮想アダプタ160bを利用可能となる。仮想マシン150aは、仮想アダプタ160cを利用可能となる。制御部370は、管理情報記憶部360に記憶された冗長グループ管理テーブルに仮想アダプタ160,160bを冗長グループのペアとして登録する。同様に、仮想アダプタ160a,160cを冗長グループのペアとして登録する。
 (ステップST155)制御部370は、仮想アダプタ160b,160cに対応するポート情報をFCスイッチ装置200のゾーン情報に追加する。これにより、仮想アダプタ160b,160cからFCスイッチ装置200の当該ゾーンを介した通信が可能となる。
 (ステップST156)制御部370は、仮想アダプタ160b,160cを介したストレージ装置300の組み込みを仮想マシン150,150aに指示する。仮想マシン150,150aは、当該指示に応じてストレージ装置300と通信し、仮想アダプタ160b,160cを介したストレージ装置300の利用を可能な状態とする。これにより、仮想マシン150は、仮想アダプタ160bを介してストレージ装置300へアクセス可能となる。仮想マシン150aは、仮想アダプタ160cを介してストレージ装置300へアクセス可能となる。
 (ステップST157)制御部370は、冗長グループ管理テーブルを参照して、仮想アダプタ160,160aによるIO要求状態が“停止”となったことを確認する。制御部370は、仮想マシン150,150aに仮想アダプタの切り換えを指示する。当該指示に応じて、仮想マシン150は、仮想アダプタ160から仮想アダプタ160bへの切り換えを行う。また、仮想マシン150aは、仮想アダプタ160aから仮想アダプタ160cへの切り換えを行う。
 (ステップST158)制御部370は、FCインタフェース106を共用する全ての仮想マシンが他のFCインタフェースに移管済であり、FCインタフェース106上の全ての仮想アダプタで通信が停止されたことを確認する。制御部370は、ハイパーバイザ140にFCインタフェース106の停止を指示する。ハイパーバイザ140は、FCインタフェース106を閉塞させて電源OFFし、停止させる。
 (ステップST159)制御部370は、ハイパーバイザ140にFCインタフェース106の切り離しを指示する。ハイパーバイザ140は、FCインタフェース106をサーバ装置100から切り離す。FCインタフェース106は、サーバ装置100から取り外し可能な状態となる。
 このようにして、制御部370は、仮想マシン150が仮想アダプタ160で故障を検知した場合に、FCインタフェース106を共用する仮想マシン150aの仮想アダプタの切り換えを制御する。ここで、ステップST157では、制御部370は仮想アダプタ160,160aのうち、IO要求状態が“停止”になった方から順にアダプタの切り換えを指示できる。
 これにより、第2の実施の形態と同様の効果を得ることができる。また、ストレージ装置300の判断で仮想アダプタの故障を検知し、アダプタ切り換えの制御を行うことで、切り換え処理を高速に行うことができる。
 [第7の実施の形態]
 次に、第7の実施の形態を説明する。前述の第2~第6の実施の形態との相違点を主に説明し、同様の事項は説明を省略する。
 第2~第6の実施の形態では、サーバ装置100が物理アダプタとしてFCインタフェース106,106aを備える例を示した。一方で、他の種類の物理アダプタについても制御部141の機能を利用できる。その一例として、第7の実施の形態では、FCoE(FC Over Ethernet、Ethernetは登録商標)インタフェースを備えるサーバ装置に制御部141の機能を適用する場合を示す。
 ここで、第7の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様であるため説明を省略する。ただし、第7の実施の形態の情報処理システムでは、サーバ装置100に代えてサーバ装置100bを、FCスイッチ装置200に代えてFCoEスイッチ装置200aを含む。更に、FCoEスイッチ装置200aは、ネットワーク20に接続される。FCoEスイッチ装置200aは、CEE(Converged Enhanced Ethernet)スイッチ装置を用いてもよい。
 また、第7の実施の形態のサーバ装置100b、FCoEスイッチ装置200a、ストレージ装置および管理端末装置のハードウェア例は、図3~5で説明した通りであるため説明を省略する。第7の実施の形態では、ストレージ装置および管理端末装置を第2の実施の形態と同一の符号により指し示す。ここで、サーバ装置100bは、FCインタフェース106,106aに代えて、FCoEインタフェース106b,106cを有する。
 ここで、FCoEは、イーサネット(登録商標)上でFCのデータを伝送するための技術である。FCoEでは、FCのデータをイーサネットフレームにカプセル化して伝送できる。FCoEスイッチ装置200aは、ストレージ装置300との間ではFCによる通信を行う。ストレージ装置300が、FCoEによる接続であれば、FCoEによる通信でもよい。FCoEスイッチ装置300aは、ネットワーク20との間ではイーサネットによる通信を行う。FCoEインタフェース106b,106cは、HBAの一例である。
 図25は、第7の実施の形態のサーバ装置の機能を示すブロック図である。サーバ装置100bは、管理情報記憶部130、ハイパーバイザ140、仮想マシン150d,150e、FC仮想アダプタ160d,160e,160f,160gおよびNIC仮想アダプタ170,170a,170b,170cを有する。
 管理情報記憶部130、ハイパーバイザ140および仮想マシン150d,150eの機能は、CPU111が所定のプログラムを実行することによりサーバ装置100b上に実現される。また、FC仮想アダプタ160d,160eおよびNIC仮想アダプタ170,170aの機能は、FCoEインタフェース106b上の制御装置が所定のプログラムを実行することにより、FCoEインタフェース106b上に実現される。更に、FC仮想アダプタ160f,160gおよびNIC仮想アダプタ170b,170cの機能は、FCoEインタフェース106c上の制御装置が所定のプログラムを実行することにより、FCoEインタフェース106c上に実現される。ただし、これらのユニットの全部または一部を専用のハードウェアにより実現してもよい。
 管理情報記憶部130は、第2の実施の形態の管理情報記憶部130に対応する。ハイパーバイザ140は、第2の実施の形態のハイパーバイザ140に対応する。
 仮想マシン150d,150eは、第2の実施の形態の仮想マシン150,150aに対応する。仮想マシン150dは、OS151、アダプタドライバ152,152d、冗長パス制御部153,153dおよび接続先装置ドライバ154を有する。
 OS151および接続先装置ドライバ154は、第2の実施の形態のOS151および接続先装置ドライバ154に対応する。
 アダプタドライバ152は、OS151上からFC仮想アダプタを利用するためのソフトウェアである。アダプタドライバ152dは、OS151上からNIC仮想アダプタを利用するためのソフトウェアである。
 冗長パス制御部153は、FC仮想アダプタを冗長化して、仮想マシン150dにおけるFC通信路の信頼性を向上するソフトウェアである。冗長パス制御部153dは、NIC仮想アダプタを冗長化して、仮想マシン150dにおけるイーサネット通信路の信頼性を向上するソフトウェアである。
 仮想マシン150eは、OS151a、アダプタドライバ152a,152e、冗長パス制御部153a,153eおよび接続先装置ドライバ154aを有する。
 OS151aおよび接続先装置ドライバ154aは、第2の実施の形態のOS151aおよび接続先装置ドライバ154aに対応する。
 アダプタドライバ152a,152eは、アダプタドライバ152,152dに対応する。冗長パス制御部153a,153eは、冗長パス制御部153,153dに対応する。
 FC仮想アダプタ160d,160e,160f,160gは、FCoEインタフェース106b,106c上のリソースにより実現された仮想的なFC用のアダプタである(アクセス部の一例である)。仮想マシン150d,150eは、FC仮想アダプタ160d,160e,160f,160gを利用して、ストレージ装置300とFCによるデータ通信を行える。
 NIC仮想アダプタ170,170a,170b,170cは、FCoEインタフェース106b,106c上のリソースにより実現された仮想的なNIC用のアダプタである(アクセス部の一例である)。仮想マシン150d,150eは、NIC仮想アダプタ170,170a,170b,170cを利用して、ネットワーク20に接続された情報処理装置とイーサネットによるデータ通信を行える。
 FCoEインタフェース106b上のFC仮想アダプタ160d,160eおよびNIC仮想アダプタ170,170aは、単一の物理ポートで実現される(仮想ポート4つ)。なお、例えば、FC仮想アダプタ160d,160eで1つの物理ポート(仮想ポート2つ)、NIC仮想アダプタ170,170aで1つの物理ポート(仮想ポート2つ)、というように2つの物理ポートで実現してもよい。このような構成によっても、制御部141は第2の実施の形態と同一の処理を行える。具体的には次の通りである。
 例えば、管理情報記憶部130に記憶された接続構成管理テーブル131で、仮想マシン150dにFC仮想アダプタ160dおよびNIC仮想アダプタ170が割り当てられる。同様に、仮想マシン150eにFC仮想アダプタ160eおよびNIC仮想アダプタ170aが割り当てられる。
 また、管理情報記憶部130に記憶された冗長グループ管理テーブル132では、FC仮想アダプタ160dとFC仮想アダプタ160fとが冗長グループのペアとして設定される。FC仮想アダプタ160eとFC仮想アダプタ160gとが冗長グループのペアとして設定される。NIC仮想アダプタ170とNIC仮想アダプタ170bとが冗長グループのペアとして設定される。NIC仮想アダプタ170aとNIC仮想アダプタ170cとが冗長グループのペアとして設定される。
 そして、制御部141が仮想マシン150dの冗長パス制御部153からFC仮想アダプタ160dの故障の通知を受けたとする。すると、制御部141は、接続構成管理テーブル131を参照して、FCoEインタフェース106bを仮想マシン150dと共用する仮想マシン150eを特定する。制御部141は、仮想マシン150dにつき、FC仮想アダプタ160fおよびNIC仮想アダプタ170bを割り当てる。制御部141は、仮想マシン150eにつき、FC仮想アダプタ160gおよびNIC仮想アダプタ170cを割り当てる。制御部141は、仮想マシン150d,150eに当該割り当てに基づくアダプタ切り換えを指示する。
 なお、切り換えの際、制御部141は、第2~第6の実施の形態と同様に、アダプタドライバ152,152a,152d,152eおよび冗長パス制御部153,153a,153d,153eに対してアダプタドライバおよび接続先装置の組み込みを事前に行う。
 冗長パス制御部153dは、アダプタ切り換えの指示を受けると、NIC仮想アダプタ170からNIC仮想アダプタ170bへNIC仮想アダプタを切り換える。
 また、冗長パス制御部153aは、アダプタ切り換えの指示を受けると、FC仮想アダプタ160eからFC仮想アダプタ160gへFC仮想アダプタを切り換える。更に、冗長パス制御部153eは、NIC仮想アダプタ170aからNIC仮想アダプタ170cへNIC仮想アダプタを切り換える。
 これにより、第2の実施の形態と同様の効果を得ることができる。特に、同一物理アダプタに異なるインタフェースをもつ仮想アダプタに対して切り換え制御を行える。FC仮想アダプタ160dの故障の通知を受けた際に、仮想マシン150dに対してNIC仮想アダプタ170の切り換えを指示する。このため、冗長パス制御部153dでNIC仮想アダプタ170の故障が検知されない場合でも、冗長パス制御部153dは当該指示に応じてNIC仮想アダプタ170bへの切り換えを行える。
 なお、制御部141が冗長パス制御部153dからNIC仮想アダプタ170の故障の通知を受けた場合も、制御部141は同様にして、仮想マシン150d,150eのアダプタの切り換えを制御する。
 ここで、冗長パス制御部153,153a,153d,153eは、第2の実施の形態と同様に、仮想アダプタの切り換え前後で仮想マシン150d,150eがストレージ装置300にアクセス可能であることを確認した後に、各仮想アダプタの切り換えを行う。また、冗長パス制御部153,153a,153d,153eは、仮想マシン150d,150eが各仮想アダプタによりストレージ装置300にアクセス中でないタイミングで、各仮想アダプタの切り換えを行う。
 更に、第3の実施の形態と同様に、冗長パス制御部153,153a,153d,153eの機能を制御部141が備えてもよい。また、FC仮想アダプタおよびNIC仮想アダプタのように異なる種類のプロトコルで通信する仮想アダプタを示したが、同一のプロトコルでもよい。
 また、第2~第7の実施の形態では、FCインタフェースやFCoEインタフェースを用いる場合を例示したが、それ以外の物理アダプタを用いても同様である。例えば、制御部141は、NICインタフェースやSASインタフェース、Infinibandインタフェース、PCI Expressインタフェースに対しても、同様にしてアダプタ切り換えの制御を行える。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1 情報処理装置
 1a,1b 仮想マシン
 1c,1d インタフェース部
 1e 記憶部
 1f 制御部
 2 デバイス

Claims (8)

  1.  複数の仮想マシンが動作可能であり前記複数の仮想マシンからデバイスへのアクセスに用いられる複数のインタフェース部を搭載可能な情報処理装置であって、
     前記複数のインタフェース部のうち前記複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する記憶部と、
     第1の仮想マシンにおいて第1のインタフェース部を用いたアクセスにエラーが発生すると、前記記憶部を参照して、前記第1のインタフェース部を用いる第2の仮想マシンを判定し、前記第2の仮想マシンが用いるインタフェース部を、前記第1のインタフェース部から前記情報処理装置に搭載した第2のインタフェース部に切り換える制御部と、
     を有する情報処理装置。
  2.  前記第1のインタフェース部は、複数のリソースを含み、
     前記複数のリソースのうち第1のリソースが前記第1の仮想マシンに割り当てられ、第2のリソースが前記第2の仮想マシンに割り当てられており、
     前記制御部は、前記第1の仮想マシンにおいて前記第1のリソースを用いたアクセスにエラーが発生すると、前記第2のリソースを用いたアクセスにエラーが発生していなくても、前記第2の仮想マシンが用いるインタフェース部を切り換える、
     請求の範囲第1項記載の情報処理装置。
  3.  前記制御部は、前記第2の仮想マシンが前記デバイスにアクセス中でないタイミングで前記第2のインタフェース部への切り換えが行われるよう制御する、請求の範囲第1項または第2項記載の情報処理装置。
  4.  前記制御部は、前記第1のインタフェース部を用いてアクセス可能であったデバイスに前記第2のインタフェース部を用いてアクセス可能であることが確認されてから、前記第2のインタフェース部への切り換えが行われるよう制御する、請求の範囲第1項乃至第3項の何れか一項に記載の情報処理装置。
  5.  前記制御部は、前記第1の仮想マシンからの通知に基づいて、前記第1の仮想マシンにおいて前記第1のインタフェース部を用いたアクセスにエラーが発生したことを検知する、請求の範囲第1項乃至第4項の何れか一項に記載の情報処理装置。
  6.  複数の仮想マシンが動作可能であり前記複数の仮想マシンからデバイスへのアクセスに用いられる複数のインタフェース部を搭載可能な他の情報処理装置と通信する情報処理装置であって、
     前記複数のインタフェース部のうち前記複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する記憶部と、
     第1の仮想マシンにおいて第1のインタフェース部を用いたアクセスにエラーが発生すると、前記記憶部を参照して、前記第1のインタフェース部を用いる第2の仮想マシンを判定し、前記第2の仮想マシンが用いるインタフェース部を、前記第1のインタフェース部から前記情報処理装置に搭載した第2のインタフェース部に切り換える制御部と、
     を有する情報処理装置。
  7.  複数の仮想マシンが動作可能であり前記複数の仮想マシンからデバイスへのアクセスに用いられる複数のインタフェース部を搭載可能な情報処理装置、または、前記情報処理装置と通信する他の情報処理装置が実行する仮想マシン制御方法であって、
     第1の仮想マシンにおいて第1のインタフェース部を用いたアクセスにエラーが発生したことを検知し、
     前記複数のインタフェース部のうち前記複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する記憶装置を参照して、前記第1のインタフェース部を用いる第2の仮想マシンを判定し、
     前記第2の仮想マシンが用いるインタフェース部を、前記第1のインタフェース部から前記情報処理装置に搭載した第2のインタフェース部に切り換える、
     仮想マシン制御方法。
  8.  複数の仮想マシンが動作可能であり前記複数の仮想マシンからデバイスへのアクセスに用いられる複数のインタフェース部を搭載可能なコンピュータを制御するためのプログラムであって、前記コンピュータまたは前記コンピュータと通信する他のコンピュータに、
     第1の仮想マシンにおいて第1のインタフェース部を用いたアクセスにエラーが発生したことを検知し、
     前記複数のインタフェース部のうち前記複数の仮想マシンそれぞれがアクセスに用いるインタフェース部を示す情報を記憶する記憶装置を参照して、前記第1のインタフェース部を用いる第2の仮想マシンを判定し、
     前記第2の仮想マシンが用いるインタフェース部を、前記第1のインタフェース部から前記コンピュータに搭載した第2のインタフェース部に切り換える、
     処理を実行させるプログラム。
PCT/JP2011/064125 2011-06-21 2011-06-21 情報処理装置、仮想マシン制御方法およびプログラム WO2012176278A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2011/064125 WO2012176278A1 (ja) 2011-06-21 2011-06-21 情報処理装置、仮想マシン制御方法およびプログラム
EP11868053.7A EP2725496A1 (en) 2011-06-21 2011-06-21 Information processing device, virtual machine control method and program
US14/055,963 US20140047441A1 (en) 2011-06-21 2013-10-17 Information processing apparatus, virtual machine control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/064125 WO2012176278A1 (ja) 2011-06-21 2011-06-21 情報処理装置、仮想マシン制御方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/055,963 Continuation US20140047441A1 (en) 2011-06-21 2013-10-17 Information processing apparatus, virtual machine control method, and program

Publications (1)

Publication Number Publication Date
WO2012176278A1 true WO2012176278A1 (ja) 2012-12-27

Family

ID=47422160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064125 WO2012176278A1 (ja) 2011-06-21 2011-06-21 情報処理装置、仮想マシン制御方法およびプログラム

Country Status (3)

Country Link
US (1) US20140047441A1 (ja)
EP (1) EP2725496A1 (ja)
WO (1) WO2012176278A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014192259A1 (ja) * 2013-05-27 2014-12-04 日本電気株式会社 ネットワーク制御装置、ネットワーク制御方法、プログラムおよび通信システム
US10761859B2 (en) 2017-05-19 2020-09-01 Fujitsu Limited Information processing system, management device, and method for controlling information processing system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432304B2 (en) 2012-03-26 2016-08-30 Oracle International Corporation System and method for supporting live migration of virtual machines based on an extended host channel adaptor (HCA) model
US9311119B2 (en) * 2012-05-30 2016-04-12 Red Hat, Inc. Reconfiguring virtual machines
US10230794B2 (en) 2013-03-15 2019-03-12 Oracle International Corporation System and method for efficient virtualization in lossless interconnection networks
US9990221B2 (en) 2013-03-15 2018-06-05 Oracle International Corporation System and method for providing an infiniband SR-IOV vSwitch architecture for a high performance cloud computing environment
US10397105B2 (en) * 2014-03-26 2019-08-27 Oracle International Corporation System and method for scalable multi-homed routing for vSwitch based HCA virtualization
US10298447B2 (en) * 2016-08-08 2019-05-21 American Megatrends, Inc. System and method for accessing real sensors for virtual service processor stack
US10558250B2 (en) * 2016-12-23 2020-02-11 Oracle International Corporation System and method for coordinated link up handling following switch reset in a high performance computing network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063126A (ja) * 2000-08-18 2002-02-28 Fujitsu Ltd マルチパス計算機システム
JP2010113707A (ja) * 2008-11-10 2010-05-20 Internatl Business Mach Corp <Ibm> 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783779B1 (en) * 2003-09-19 2010-08-24 Vmware, Inc Storage multipath management in a virtual computer system
JP4990940B2 (ja) * 2009-07-06 2012-08-01 株式会社日立製作所 計算機装置及びパス管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063126A (ja) * 2000-08-18 2002-02-28 Fujitsu Ltd マルチパス計算機システム
JP2010113707A (ja) * 2008-11-10 2010-05-20 Internatl Business Mach Corp <Ibm> 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014192259A1 (ja) * 2013-05-27 2014-12-04 日本電気株式会社 ネットワーク制御装置、ネットワーク制御方法、プログラムおよび通信システム
JPWO2014192259A1 (ja) * 2013-05-27 2017-02-23 日本電気株式会社 ネットワーク制御装置、ネットワーク制御方法、プログラムおよび通信システム
US10761859B2 (en) 2017-05-19 2020-09-01 Fujitsu Limited Information processing system, management device, and method for controlling information processing system

Also Published As

Publication number Publication date
US20140047441A1 (en) 2014-02-13
EP2725496A1 (en) 2014-04-30

Similar Documents

Publication Publication Date Title
WO2012176278A1 (ja) 情報処理装置、仮想マシン制御方法およびプログラム
US9298566B2 (en) Automatic cluster-based failover handling
US8010827B2 (en) Method and computer system for failover
TWI439867B (zh) 動態實體及虛擬多重路徑輸入/輸出
US8683172B2 (en) Method and apparatus for management between virtualized machines and virtualized storage systems
US9448899B2 (en) Method, apparatus and system for switching over virtual application two-node cluster in cloud environment
JP5352132B2 (ja) 計算機システム及びそのi/o構成変更方法
KR100952553B1 (ko) 가상 계산기 시스템 및 그 제어 방법
JP4448878B2 (ja) 障害回復環境の設定方法
JP5561622B2 (ja) 多重化システム、データ通信カード、状態異常検出方法、及びプログラム
TWI403891B (zh) 直接附加儲存系統之主動-主動失效切換
US20110004708A1 (en) Computer apparatus and path management method
JP5585731B2 (ja) 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
WO2012004902A1 (ja) 計算機システム及び計算機システムの系切替制御方法
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
WO2011111245A1 (ja) 計算機システム、計算機システムの制御方法及びプログラムを格納した記憶媒体
JP2014170394A (ja) クラスタシステム
JP2012238299A (ja) ストレージサブシステムのための単一障害点を除去するためのシステム及び方法
JP2004088570A (ja) ネットワーク計算機システムおよび管理装置
US10884878B2 (en) Managing a pool of virtual functions
JP5484434B2 (ja) ネットワークブート計算機システム、管理計算機、及び計算機システムの制御方法
US10193752B2 (en) Storage system upgrade
CN112799602B (zh) 一种云硬盘在线扩容方法
JPWO2012176278A1 (ja) 情報処理装置、仮想マシン制御方法およびプログラム

Legal Events

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

Ref document number: 11868053

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013521358

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011868053

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE