Fabric and method for sharing an I/O device among virtual machines formed in a computer system
First Claim
Patent Images
1. A computer system, comprising:
- a plurality of virtual machines formed on a control program of a computer;
an I/O device coupled with a PCI bus of said computer and shared among said plurality of virtual machines;
a single port disposed in said I/O device and connected to said PCI bus;
PCI connection allocating means for setting a state of logical connection between selected at most one of said plurality of virtual machines and said port at a time; and
I/O device switching means for updating said state of logical connection set by said PCI connection allocating means according to a control signal received from said selected virtual machine,wherein said selected virtual machine changes said state of logical connection of said selected virtual machine to said I/O device according to a setting by said PCI connection allocating means,wherein in response to detection of occurrence of an error in said selected virtual machine, said selected virtual machine is deactivated, connection to said I/O device is switched to a standby virtual machine, said standby virtual machine is set as an active virtual machine, and said deactivated virtual machine is repaired and set as a standby virtual machine,wherein said plurality of virtual machine comprise first and second virtual machines,wherein said second virtual machine sends to said control program a command to switch a state of logical connection of said first virtual machine to said I/O device, said second virtual machine sends to said control program a command to deactivate or activate said first virtual machine upon detecting occurrence of an error in said first virtual machine, and said control program deactivates or activates said first virtual machine with respect to said control program in response to said command being received,wherein said control program includes a PCI connection allocating table, said PCI connection allocating table is changed so that connection with said I/O device is switched to said first virtual machine according to a control signal received, in response to said PCI connection allocating table being changed, said control program generates an interruption signal, and in response to said interruption signal being received by said first virtual machine, said first virtual machine changes connection to said I/O device, andwherein said first virtual machine is rebooted to reconstruct said first virtual machine as a standby machine and a CPU allocation rate of said first virtual machine is set to be low.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed herein is a computer system provided with a mechanism for connecting a single port disk to an active server and the disk to a standby server when in a fail-over processing. An “add_pci” command issued from a clustering program is used to let a control program change the allocation of a PCI slot while an interruption signal issued to a standby server permits an ACPI processing routine to hot-add a PCI card that includes the disk unit on the subject guest OS.
131 Citations
8 Claims
-
1. A computer system, comprising:
-
a plurality of virtual machines formed on a control program of a computer; an I/O device coupled with a PCI bus of said computer and shared among said plurality of virtual machines; a single port disposed in said I/O device and connected to said PCI bus; PCI connection allocating means for setting a state of logical connection between selected at most one of said plurality of virtual machines and said port at a time; and I/O device switching means for updating said state of logical connection set by said PCI connection allocating means according to a control signal received from said selected virtual machine, wherein said selected virtual machine changes said state of logical connection of said selected virtual machine to said I/O device according to a setting by said PCI connection allocating means, wherein in response to detection of occurrence of an error in said selected virtual machine, said selected virtual machine is deactivated, connection to said I/O device is switched to a standby virtual machine, said standby virtual machine is set as an active virtual machine, and said deactivated virtual machine is repaired and set as a standby virtual machine, wherein said plurality of virtual machine comprise first and second virtual machines, wherein said second virtual machine sends to said control program a command to switch a state of logical connection of said first virtual machine to said I/O device, said second virtual machine sends to said control program a command to deactivate or activate said first virtual machine upon detecting occurrence of an error in said first virtual machine, and said control program deactivates or activates said first virtual machine with respect to said control program in response to said command being received, wherein said control program includes a PCI connection allocating table, said PCI connection allocating table is changed so that connection with said I/O device is switched to said first virtual machine according to a control signal received, in response to said PCI connection allocating table being changed, said control program generates an interruption signal, and in response to said interruption signal being received by said first virtual machine, said first virtual machine changes connection to said I/O device, and wherein said first virtual machine is rebooted to reconstruct said first virtual machine as a standby machine and a CPU allocation rate of said first virtual machine is set to be low. - View Dependent Claims (2, 3)
-
-
4. An I/O device coupled with a PCI bus of a computer, comprising:
-
a single port connected to said PCI bus; signal generating means for generating an interruption signal used to change a state of logical connection of said port according to a control signal received from said computer; an operating system performing hot-add/remove processing of said I/O device in response to said interruption signal running on said computer; and an allocating means for setting said state of logical connection of said port, wherein said computer, when receiving said interruption signal, changes a state of logical connection of said computer to said port, wherein in response to detection of occurrence of an error in a virtual machine, said virtual machine is deactivated, connection to said I/O device is switched to a standby virtual machine, said standby virtual machine is set as an active virtual machine, and said deactivated virtual machine is repaired and set as a standby virtual machine, wherein said signal generating means generates said interruption signal and updates said allocating means for setting said state of logical connection of said port, wherein a second virtual machine sends to said control program a command to switch a state of logical connection of a first virtual machine to said I/O device, said second virtual machine sends to said control program a command to deactivate or activate said first virtual machine upon detection of occurrence of an error in said first virtual machine, said control program deactivates or activates said first virtual machine with respect to said control program in response to said command being received, wherein said control program includes a PCI connection allocating table, said PCI connection allocating table is changed so that connection with said I/O device is switched to said first virtual machine according to a control signal received, in response to said PCI connection allocating table being changed, said control program generates an interruption signal, and in response to said interruption signal being received by said first virtual machine, said first virtual machine changes connection to said I/O device, and wherein said first virtual machine is rebooted to reconstruct said first virtual machine as a standby machine and a CPU allocation rate of said first virtual machine is set to be low. - View Dependent Claims (5)
-
-
6. A method for sharing an I/O device coupled with a PCI bus of a computer among a plurality of virtual machines formed on a control program of said computer, comprising the steps of:
-
selecting at most one virtual machine among said plurality of virtual machines at a time; enabling said I/O device to set a state of logical connection between said selected virtual machine and a single port of said I/O device connected to said PCI bus through said single port; changing said state of logical connection between said port and said selected virtual machine according to a control signal received from said selected virtual machine; in response to detection of occurrence of an error in said selected virtual machine, deactivating said selected virtual machine;
then,switching connection to said I/O device to a standby virtual machine; setting said standby virtual machine as an active virtual machine; and repairing said deactivated virtual machine, and setting the repaired deactivated virtual machine as a standby virtual machine, wherein said computer includes first and second virtual machines formed therein, wherein said step of changing said state of logical connection includes the steps of, when detecting error occurrence in any of said plurality of virtual machines, updating an allocation table for setting a state of logical connection between said port and each virtual machine, letting said error-detected virtual machine stand by and activating another virtual machine, wherein said second virtual machine sends to said control program a command to switch a state of logical connection of said first virtual machine to said I/O device, said second virtual machine sends to said control program a command to deactivate or activate said first virtual machine in response to detection of occurrence of an error in said first virtual machine, said control program deactivates or activates said first virtual machine with respect to said control program in response to said command being received, wherein said control program includes a PCI connection allocating table, said PCI connection allocating table is changed so that connection with said I/O device is switched to said first virtual machine according to a control signal received, in response to said PCI connection allocating table being changed, said control program generates an interruption signal, and in response to said interruption signal being received by said first virtual machine, said first virtual machine changes connection to said I/O device, and wherein said first virtual machine is rebooted to reconstruct said first virtual machine as a standby machine and a CPU allocation rate of said first virtual machine is set to be low. - View Dependent Claims (7, 8)
-
Specification