Synchronization of physical disks
First Claim
1. A method comprising:
- identifying, by a processing device executing a virtual machine monitor, a steady state wherein a first count of writes associated with a virtual machine stored on a source physical disk and a destination physical disk are equal;
receiving, by the virtual machine monitor, a set of write requests comprising data from a guest operating system of the virtual machine;
providing, by the virtual machine monitor to the guest operating system, confirmation of a completion of a set of writes to the source physical disk;
following providing to the guest operating system the confirmation of the completion of the set of writes to the source physical disk, asynchronously replicating, by the virtual machine monitor, the set of write requests to the destination physical disk;
receiving, by the virtual machine monitor, a flush request from the guest operating system of the virtual machine, wherein the flush request comprises an instruction to the destination physical disk to write the data pending in cache of the destination physical disk to persistent storage of the destination physical disk;
determining a second count of writes completed on the source physical disk at a time of a previous flush request is less than or equal to the first count of writes identified at the steady state;
flushing, by the virtual machine monitor, the destination physical disk in response to the determining;
providing, by the virtual machine monitor, to the guest operating system, confirmation of completion of the flushing of the destination physical disk following replication of the set of write requests to the destination physical disk and writing of the data to persistent storage of the destination physical disk;
receiving, by the virtual machine monitor, a switch request from the virtual machine manager; and
switching, by the virtual machine monitor, the virtual machine to the destination physical disk and issuing subsequent write requests to the destination physical disk.
1 Assignment
0 Petitions
Accused Products
Abstract
In a process for migrating a virtual machine'"'"'s storage from a source disk to a destination disk, during a steady state (i.e., wherein the contents of the virtual machine stored on the source disk and the destination disk are equal), a virtual machine monitor receives a set of write requests from a guest operating system (“guest”) of the virtual machine, provides confirmation of the completion of the set of writes to the source disk, and asynchronously replicates the set of write requests to the destination disk. Upon receipt of a flush request from the guest, the virtual machine monitor confirms completion of the flushing of the destination disk following replication of the write requests to the destination disk. Upon receipt of a switch request from a virtual machine manager, the virtual machine monitor switches the virtual machine to the destination disk and issues subsequent write requests to the destination disk.
79 Citations
20 Claims
-
1. A method comprising:
-
identifying, by a processing device executing a virtual machine monitor, a steady state wherein a first count of writes associated with a virtual machine stored on a source physical disk and a destination physical disk are equal; receiving, by the virtual machine monitor, a set of write requests comprising data from a guest operating system of the virtual machine; providing, by the virtual machine monitor to the guest operating system, confirmation of a completion of a set of writes to the source physical disk; following providing to the guest operating system the confirmation of the completion of the set of writes to the source physical disk, asynchronously replicating, by the virtual machine monitor, the set of write requests to the destination physical disk; receiving, by the virtual machine monitor, a flush request from the guest operating system of the virtual machine, wherein the flush request comprises an instruction to the destination physical disk to write the data pending in cache of the destination physical disk to persistent storage of the destination physical disk; determining a second count of writes completed on the source physical disk at a time of a previous flush request is less than or equal to the first count of writes identified at the steady state; flushing, by the virtual machine monitor, the destination physical disk in response to the determining; providing, by the virtual machine monitor, to the guest operating system, confirmation of completion of the flushing of the destination physical disk following replication of the set of write requests to the destination physical disk and writing of the data to persistent storage of the destination physical disk; receiving, by the virtual machine monitor, a switch request from the virtual machine manager; and switching, by the virtual machine monitor, the virtual machine to the destination physical disk and issuing subsequent write requests to the destination physical disk. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium comprising instructions that, when executed by a processing device, cause the processing device:
-
identify, by the processing device executing a virtual machine monitor, a steady state wherein a first count of writes associated with a virtual machine stored on a source physical disk and a destination physical disk are equal; receive, by the virtual machine monitor, a set of write requests comprising data from a guest operating system of the virtual machine; provide, by the virtual machine monitor to the guest operating system, confirmation of a completion of a set of writes to the source physical disk; following the confirmation of the completion of the set of writes to the source physical disk being provided to the guest operating system, asynchronously replicate, by the virtual machine monitor, the set of write requests to the destination disk; receive, by the virtual machine monitor, a flush request from the guest operating system of the virtual machine, wherein the flush request comprises an instruction to the destination physical disk to write the data pending in cache of the destination physical disk to persistent storage of the destination physical disk; determine a second count of writes completed on the source physical disk at a time of a previous flush request is less than or equal to the first count of writes identified at the steady state; execute, by the virtual machine monitor, a flush of the destination physical disk in response to a determination that the second count of writes is less than or equal to the first count of writes; provide, by the virtual machine monitor to the guest operating system, confirmation of completion of the flush of the destination physical disk following replication of the set of write requests to the destination physical disk and writing of the data to persistent storage of the destination physical disk; receive, by the virtual machine monitor, a switch request from a virtual machine manager; and switch, by the virtual machine monitor, the virtual machine to the destination physical disk and issuing subsequent write requests to the destination physical disk. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
a memory to store instructions; and a processing device, operatively coupled to the memory, the processing device to execute a virtual machine monitor to execute the instructions to; identify a steady state wherein a first count of writes associated with a virtual machine stored on a source physical disk and a destination physical disk are equal; receive a set of write requests comprising data from a guest operating system of the virtual machine; provide, to the guest operating system, confirmation of a completion of a set of writes to the source physical disk; following the confirmation of the completion of the set of writes to the source physical disk being provided to the guest operating system, asynchronously replicate the set of write requests to the destination physical disk; receive a flush request from the guest operating system of the virtual machine, wherein the flush request comprises an instruction to the destination physical disk to write the data pending in cache of the destination physical disk to persistent storage of the destination physical disk; determine a second count of writes completed on the source physical disk at a time of a previous flush request is less than or equal to the first count of writes identified at the steady state; execute, by the virtual machine monitor, a flush of the destination physical disk in response to a determination that the second count of writes is less than or equal to the first count of writes; execute a flush of the destination physical disk in response to a determination that the second count of writes is less than or equal to the first count of writes; provide, to the guest operating system, confirmation of completion of the flush of the destination physical disk following replication of the set of write requests to the destination physical disk and writing of the data to persistent storage of the destination physical disk; receive a switch request from the virtual machine manager; and switch the virtual machine to the destination physical disk and issuing subsequent write requests to the destination physical disk. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification