Storing checkpoint file in high performance storage device for rapid virtual machine suspend and resume
First Claim
1. A method of saving a state of a virtual machine (VM) running in a host computer to a checkpoint file, wherein the host computer includes system memory and stores files in a first storage device and a second storage device that is different from the system memory and has lower input/output latency and higher input/output throughput than the first storage device, said method comprising:
- comparing a size of the VM state and amount of free space in the second storage device;
if the size of the VM state is greater than the amount of free space in the second storage device, evicting data blocks of other files stored in the second storage device to the first storage device and then saving the VM state to a checkpoint file stored in the second storage device;
if the size of the VM state is not greater than the amount of free space in the second storage device, saving the VM state to the checkpoint file stored in the second storage device without evicting data blocks of other files stored in the second storage device to the first storage device; and
locking the checkpoint file so that data blocks of the checkpoint file are maintained in the second storage device and are not evicted to the first storage device,wherein a file system is implemented in the second storage device and the checkpoint file containing the VM state is stored in the second storage device as one of the files of the file system.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of enabling “fast” suspend and “rapid” resume of virtual machines (VMs) employs a cache that is able to perform input/output operations at a faster rate than a storage device provisioned for the VMs. The cache may be local to a computer system that is hosting the VMs or may be shared cache commonly accessible to VMs hosted by different computer systems. The method includes the steps of saving the state of the VM to a checkpoint file stored in the cache and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the cache and are not evicted, and resuming execution of the VM by reading into memory the data blocks of the checkpoint file stored in the cache.
69 Citations
20 Claims
-
1. A method of saving a state of a virtual machine (VM) running in a host computer to a checkpoint file, wherein the host computer includes system memory and stores files in a first storage device and a second storage device that is different from the system memory and has lower input/output latency and higher input/output throughput than the first storage device, said method comprising:
-
comparing a size of the VM state and amount of free space in the second storage device; if the size of the VM state is greater than the amount of free space in the second storage device, evicting data blocks of other files stored in the second storage device to the first storage device and then saving the VM state to a checkpoint file stored in the second storage device; if the size of the VM state is not greater than the amount of free space in the second storage device, saving the VM state to the checkpoint file stored in the second storage device without evicting data blocks of other files stored in the second storage device to the first storage device; and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the second storage device and are not evicted to the first storage device, wherein a file system is implemented in the second storage device and the checkpoint file containing the VM state is stored in the second storage device as one of the files of the file system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer readable medium comprising instructions for causing a host computer to carry out a method of saving a state of a virtual machine (VM) running in the host computer to a checkpoint file, wherein the host computer includes system memory and stores files in a first storage device and a second storage device that is different from the system memory and has lower input/output latency and higher input/output throughput than the first storage device, said method comprising:
-
comparing a size of the VM state and amount of free space in the second storage device; if the size of the VM state is greater than the amount of free space in the second storage device, evicting data blocks of other files stored in the second storage device to the first storage device and then saving the VM state to a checkpoint file stored in the second storage device; if the size of the VM state is not greater than the amount of free space in the second storage device, saving the VM state to the checkpoint file stored in the second storage device without evicting data blocks of other files stored in the second storage device to the first storage device; and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the second storage device and are not evicted to the first storage device, wherein a file system is implemented in the second storage device and the checkpoint file containing the VM state is stored in the second storage device as one of the files of the file system. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A virtualized computer system comprising:
-
a plurality of host computers each having system memory and one or more virtual machines (VMs) running therein; a first storage device accessible by the host computers; and a second storage device accessible by the host computers that is different from the system memory and has lower input/output latency and higher input/output throughput than the first storage device, wherein each of the host computers is configured to carry out steps of saving a state of a VM running therein to a checkpoint file and resuming execution of the VM using the checkpoint file, the steps including; comparing a size of the VM state and amount of free space in the second storage device, if the size of the VM state is greater than the amount of free space in the second storage device, evicting data blocks of other files stored in the second storage device to the first storage device and then saving the VM state to a checkpoint file stored in the second storage device, if the size of the VM state is not greater than the amount of free space in the second storage device, saving the VM state to the checkpoint file stored in the second storage device without evicting data blocks of other files stored in the second storage device to the first storage device, and locking the checkpoint file so that data blocks of the checkpoint file are maintained in the second storage device and are not evicted to the first storage device, wherein a file system is implemented in the second storage device and the checkpoint file containing the VM state is stored in the second storage device as one of the files of the file system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification