System and method for distributing virtual input/output operations across multiple logical partitions
View Patent ↗The Distributed Virtual I/O Tool replaces dedicated VIO server LPARs by distributing the virtual I/O functions across several application LPARs connected by a high-speed communication channel. The physical I/O devices are distributed across available LPARs. The Distributed Virtual I/O Tool assigns each I/O request to an appropriate I/O device. The Distributed Virtual I/O Tool monitors each I/O request and reassigns I/O devices when performance drops on a specific device or when a device is no longer available.
1. A method for accessing a plurality of input/output (I/O) devices physically distributed across a plurality of logical partitions (LPARs) without a single point of failure comprising:
creating a distributed virtual input/out (VIO) server by running a VIO tool on each LPAR of the plurality of LPARs;
wherein each LPAR is operable to access the plurality of I/O devices using inter-partition communication and each LPAR is operable to access an I/O device to which it is directly connected;
wherein each LPAR is mapped to a dedicated I/O device that is not shared with the plurality of LPARs;
wherein each VIO tool performs steps comprising:
receiving an I/O request from an application by a VIO tool;
assigning the I/O request to one of the plurality of I/O devices, wherein the I/O request is assigned to any I/O device of a proper type attached to any LPAR, regardless of which LPAR runs the application;
wherein types of I/O devices comprise Ethernet adaptors, disk adaptors, fibre channels and persistent storage media;
accessing an I/O Device Mapping List, that maps applications and LPARs to the plurality of I/O devices using bindings;
consulting an Autonomic Manager to assign the I/O request to a preferred I/O device, wherein the preferred I/O device is one performing at an acceptable level;
sending the I/O request to the assigned I/O device;
binding the I/O request to the assigned I/O device wherein an assignment of the assigned I/O device is encapsulated in one or more subsequent requests of a client/server session;
saving the assignment to the I/O Device Mapping List;
responsive to a failure of a previously assigned I/O device or to a failure of the LPAR mapped to the I/O device, reassigning one or more subsequent I/O requests in the client/server session to another I/O device; and
saving the reassigned I/O request to the I/O Device Mapping List;
wherein a plurality of input/output (I/O) devices physically distributed across a plurality of logical partitions (LPARs) are accessible without a single point of failure.