CPC G06F 3/0689 (2013.01) [G06F 3/0605 (2013.01); G06F 3/0659 (2013.01); G06F 3/0664 (2013.01); G06F 3/0665 (2013.01); G06F 3/067 (2013.01)] | 20 Claims |
1. A method for handling input or output (I/O) operation requests for virtual disks, the method comprising:
receiving, at a first host machine from a virtual computing instance (VCI) running on the first host machine, a request to perform an I/O operation on a virtual disk;
determining a virtual disk object that relates to the request based on an identifier included in the request;
identifying, using a metadata database, a second host machine that is acting as a coordinator for the virtual disk object, wherein the first host machine and the second host machine are different host machines;
after identifying that the second host machine is acting as the coordinator for the virtual disk and based on the first host machine and the second host machine being different host machines, switching the coordinator for the virtual disk object from the second host machine to the first host machine;
identifying, by the first host machine that is acting as the coordinator for the virtual disk object, one or more host machines that are coordinators for one or more component objects of the virtual disk that are subject to the I/O operation, wherein each respective host machine of the one or more host machines that are coordinators for the one or more component objects is executing a respective hypervisor and is configured to perform I/O operations on respective physical storage of the respective host machine; and
sending, by the first host machine, to the one or more host machines that are the coordinators for the one or more component objects of the virtual disk that are subject to the I/O operation, one or more requests to perform at least a portion of the I/O operation.
|