Facilitating the recovery of a virtual machine using a distributed filesystem
First Claim
1. A computer-implemented method for facilitating the recovery of a virtual machine using a distributed filesystem, the method comprising:
- collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises;
storing the data for the distributed filesystem in a cloud storage system, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage system, wherein each cloud controller is associated with a local storage pool; and
caching data for the distributed filesystem in the local storage pool of each cloud controller;
executing program instructions for an application in the virtual machine, wherein the virtual machine receives the program instructions for the application from the distributed filesystem via a cloud controller;
storing data associated with the application and the virtual machine in the distributed filesystem via the cloud controller, wherein metadata updates for the application and the virtual machine are distributed to the two or more cloud controllers managing the distributed filesystem using incremental metadata updates and data updates for the application and the virtual machine are synchronized to the cloud storage system via incremental data updates, wherein synchronizing data updates to the cloud storage system facilitates accessing the data of the application and virtual machine and restarting the application and virtual machine via any cloud controller that can access the distributed filesystem;
detecting a failure for the application and the virtual machine; and
recovering the application by seamlessly resuming the execution of the application using the data stored in the distributed filesystem.
9 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments disclose techniques that facilitate the recovery of a virtual machine using a distributed filesystem. Two or more cloud controllers collectively manage distributed filesystem data that is stored in one or more cloud storage systems; the cloud controllers ensure data consistency for the stored data, and each cloud controller caches portions of the distributed filesystem in a local storage pool. During operation, a host server executes program instructions for an application in a virtual machine (VM); data associated with this application and/or this virtual machine is stored in the distributed filesystem. Upon detecting a subsequent failure, the system can recover and resume the execution of the virtual machine and application using the previous application and virtual machine data that was stored in the distributed filesystem.
45 Citations
20 Claims
-
1. A computer-implemented method for facilitating the recovery of a virtual machine using a distributed filesystem, the method comprising:
-
collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises; storing the data for the distributed filesystem in a cloud storage system, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage system, wherein each cloud controller is associated with a local storage pool; and caching data for the distributed filesystem in the local storage pool of each cloud controller; executing program instructions for an application in the virtual machine, wherein the virtual machine receives the program instructions for the application from the distributed filesystem via a cloud controller; storing data associated with the application and the virtual machine in the distributed filesystem via the cloud controller, wherein metadata updates for the application and the virtual machine are distributed to the two or more cloud controllers managing the distributed filesystem using incremental metadata updates and data updates for the application and the virtual machine are synchronized to the cloud storage system via incremental data updates, wherein synchronizing data updates to the cloud storage system facilitates accessing the data of the application and virtual machine and restarting the application and virtual machine via any cloud controller that can access the distributed filesystem; detecting a failure for the application and the virtual machine; and recovering the application by seamlessly resuming the execution of the application using the data stored in the distributed filesystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating the recovery of a virtual machine using a distributed filesystem, the method comprising:
-
collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises; storing the data for the distributed filesystem in a cloud storage system, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage system, wherein each cloud controller is associated with a local storage pool; and caching data for the distributed filesystem in the local storage pool of each cloud controller; executing program instructions for an application in the virtual machine, wherein the virtual machine receives the program instructions for the application from the distributed filesystem via a cloud controller; storing data associated with the application and the virtual machine in the distributed filesystem via the cloud controller, wherein metadata updates for the application and the virtual machine are distributed to the two or more cloud controllers managing the distributed filesystem using incremental metadata updates and data updates for the application and the virtual machine are synchronized to the cloud storage system via incremental data updates, wherein synchronizing data updates to the cloud storage system facilitates accessing the data of the application and virtual machine and restarting the application and virtual machine via any cloud controller that can access the distributed filesystem; detecting a failure for the application and the virtual machine; and recovering the application by seamlessly resuming the execution of the application using the data stored in the distributed filesystem. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A host server that facilitates the recovery of a virtual machine using a distributed filesystem, comprising:
-
a processor; and a storage mechanism; wherein two or more cloud controllers collectively manage the data of the distributed filesystem; wherein the processor is configured to execute program instructions for an application in the virtual machine; and wherein the processor is further configured to execute a cloud controller application in a second virtual machine, wherein the cloud controller application comprises cloud controller functionality that collaborates with additional cloud controllers to manage and provide access to the distributed filesystem, wherein the virtual machine receives the program instructions for the application from the distributed filesystem via the cloud controller application; wherein the host server is configured to allocate a portion of the storage mechanism to serve as a local storage pool for the cloud controller application; wherein the cloud controller application is configured to cache data for the distributed filesystem in the local storage pool; and wherein the cloud controller application is further configured to store data associated with the application and the virtual machine in the distributed filesystem, wherein updates for the data for the application and the virtual machine are distributed to the two or more cloud controllers managing the distributed filesystem and a cloud storage system, wherein metadata updates for the application and the virtual machine are distributed to the two or more cloud controllers managing the distributed filesystem using incremental metadata updates and data updates for the application and the virtual machine are synchronized to the cloud storage system via incremental data updates, wherein synchronizing data updates to the cloud storage system facilitates accessing the data of the application and virtual machine and restarting the application and virtual machine via any cloud controller that can access the distributed filesystem, and wherein, upon detecting a failure for the application and the virtual machine, the cloud controller application is configured to recover the application by seamlessly resuming the execution of the application using the data stored in the distributed filesystem.
-
Specification