Method of and apparatus for sharing dedicated devices between virtual machine guests
AssigneeInternational Business Machines Corporation
InventorJohn Thomas Flynn, Jr.
Life of this patent
Estimating the term…
Abstract
In a virtual machine (VM) environment, a virtual machine ID (VMID) uniquely associated with a preferred virtual guest (222) is sent to a storage controller (108) along with requests to RESERVE or RELEASE a direct access storage device (DASD) (128). The VMID is used by the storage controller (108) along with a path group ID (PGID) to determine the scope of the RESERVE or RELEASE. Thus, preferred virtual guests (216) of a single host processor (112) may share the DASD while both preserving data integrity and operating with the performance benefits of Input/Output (I/O) Assist. Sharing is similarly provided for tape devices with requests to ASSIGN or UNASSIGN.
Claims21
A method of sharing a dedicated device between virtual machine guests, comprising:
- receiving a first storage device access request associated with a first path group identifier and a first virtual machine identifier;
- granting the first storage device access request;
- receiving a second storage device access request with a second virtual machine identifier during access associated with granting the first storage device access request;
- determining that the second storage device access request is associated with the first path group identifier;
- comparing the first virtual machine identifier and the second virtual machine identifier associated with the second storage device access request;
- determining that the first and the second virtual machine identifiers are different;
- and
- denying the second storage device access request in response to determining a difference.
A storage controller operative for use with a host processor having virtual machine guests, said storage controller comprising:
- said storage controller operative to receive a request for accessing a storage device;
- said storage controller operative to compare a stored path group ID and a requesting path group ID associated with the request;
- said storage controller operative to determine whether the stored path group ID and the requesting path group ID associated with the request are different;
- said storage controller operative to compare a stored virtual machine ID and a requesting virtual machine ID associated with the request;
- said storage controller operative to determine whether the stored virtual machine ID and the requesting virtual machine ID associated with the request are different;
- and
- said storage controller operative to grant or deny the request responsive to the compares and differences.
A method of monitoring access to a storage device for a plurality of preferred virtual guests in a computer system, the computer system including a plurality of host processors and a storage controller, each host processor coupled to the storage controller through a plurality of channels associated with a unique path group ID, the plurality of host processors including a first host processor having a control program and the plurality of preferred virtual guests, the storage controller providing multiple exposures for the storage device, the method comprising:
- assigning, by the control program, a first virtual machine ID to a first preferred virtual guest;
- assigning, by the control program, a second virtual machine ID to a second preferred virtual guest;
- sending, from the first preferred virtual guest to the storage controller, a first request to access the storage device, the first request associated with a first path group ID and the first virtual machine ID;
- receiving, at the storage controller, the first request associated with the first path group ID and the first virtual machine ID;
- granting, by the storage controller, the first preferred virtual guest access to the storage device;
- accessing the storage device by the first preferred virtual guest;
- sending, from the second preferred virtual guest to the storage controller, a second request to access the storage device, the second request associated with a second path group ID and the second virtual machine ID;
- receiving, at the storage controller, the second request associated with the second path group ID and the second virtual machine ID;
- comparing the first and the second path group IDs and the first and the second virtual machine IDs;
- determining a mismatch from comparing;
- and
- in response to the determining, denying, by the storage controller, the second preferred virtual guest access to the storage device during the accessing by the first preferred virtual guest.
A computer system, comprising:
- a first host processor, including:
- a control program, said control program executable to assign a first virtual machine identifier to a first preferred virtual guest and a second virtual machine identifier to a second preferred virtual guest;
- a storage controller, including:
- said storage controller operative to communicate with said first host processor through a first plurality of channels;
- said storage controller operative to allow a storage device to be accessed at multiple exposures;
- said storage controller operative to receive requests to access the storage device by said first and said second preferred virtual guests;
- said storage controller operative to compare the first and the second virtual machine identifiers;
- and
- said storage controller operative to deny requests to access said storage device by one of said first and said second preferred virtual guests during access by another of said first and said second preferred virtual guests responsive to the compare of the first and the second virtual machine identifiers.
A host processor operative for use with a storage controller, said host processor comprising:
- a virtual machine operating system;
- a first preferred guest operating system;
- a second preferred guest operating system;
- said virtual machine operating system executable to assign a first virtual machine identifier to said first preferred guest operating system and a second virtual machine identifier to said second preferred guest operating system;
- said first preferred guest operating system to send, in an I/O Assist mode, the first virtual machine identifier and a first path group identifier in association with a first storage device access request;
- said second guest operating system to send, in an I/O Assist mode, the second virtual machine identifier and the first path group identifier in association with a second storage device access request;
- and
- the first virtual machine identifier being different from the second virtual machine identifier.
Dependencies are inferred from the claim text.