Virtual server cloud file system for virtual machine backup from cloud operations
First Claim
1. A method for backing up a virtual-disk file associated with a virtual machine from a cloud-based account, the method comprising:
- executing on a first computing device a pseudo-disk driver that presents a file system comprising a cache storage area on the first computing device as a local mass-data-storage source for data to be backed up, wherein the first computing device comprises one or more processors and computer memory;
storing to a first page in the cache storage area, by a data agent that executes on the first computing device, a first set of data blocks downloaded from a first virtual-disk file associated with a first virtual machine hosted by a cloud-based account,wherein the cache storage area comprises a plurality of pages, including the first page, wherein each page in the plurality of pages is sized to match a page-size configured in the cloud-based account,wherein the cloud-based account is configured to store the first virtual-disk file in its entirety, andwherein the cache storage area on the first computing device is insufficient in storage capacity to store the first virtual-disk file in its entirety;
from the first page in the plurality of pages in the cache storage area,processing for backup the downloaded data blocks in the first page from the cache storage area, resulting in a second set of backed up data blocks;
storing the second set of backed up data blocks into a secondary copy of the first virtual-disk file, which is stored in a storage device apart from the first computing device;
wherein the first virtual-disk file is backed up in its entirety from the cloud-based account to the secondary copy on the storage device, based on downloading data blocks into the cache storage area on the first computing device from the cloud-based account page-by-page, without first downloading the first virtual-disk file in its entirety to the first computing device; and
if no more of the first virtual-disk file remains to be downloaded, and one or more pages in the cache storage area have not been processed into backed up pages, processing the one or more pages in the cache storage area into respective backed up pages stored into the secondary copy of the first virtual-disk file, thereby completing a backup-from-cloud operation for the first virtual machine without first downloading the first virtual-disk file in its entirety to the first computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Uploads of restored virtual machine (“VM”) data to cloud storage, e.g., VM restore-to-cloud operations, are performed without having to write whole restored virtual disk files to a proxy server before the virtual disk data begins uploading to cloud. Restored data blocks from a backup source are locally cached, staged for efficiency, and asynchronously uploaded to the cloud page-by-page without tapping mass storage resources on the proxy. Downloads of VM data from cloud storage, e.g., VM backup-from-cloud, are performed without having to download a virtual disk file in its entirety to the proxy server before the backup operation begins generating a backup copy. This speeds up “pulling” VM data from the cloud by pre-fetching and locally caching downloaded data blocks. The cached data blocks are processed for backup and stored page-by-page directly into a secondary copy of the cloud VM virtual-disk file without tapping mass storage resource at the proxy.
565 Citations
9 Claims
-
1. A method for backing up a virtual-disk file associated with a virtual machine from a cloud-based account, the method comprising:
-
executing on a first computing device a pseudo-disk driver that presents a file system comprising a cache storage area on the first computing device as a local mass-data-storage source for data to be backed up, wherein the first computing device comprises one or more processors and computer memory; storing to a first page in the cache storage area, by a data agent that executes on the first computing device, a first set of data blocks downloaded from a first virtual-disk file associated with a first virtual machine hosted by a cloud-based account, wherein the cache storage area comprises a plurality of pages, including the first page, wherein each page in the plurality of pages is sized to match a page-size configured in the cloud-based account, wherein the cloud-based account is configured to store the first virtual-disk file in its entirety, and wherein the cache storage area on the first computing device is insufficient in storage capacity to store the first virtual-disk file in its entirety; from the first page in the plurality of pages in the cache storage area, processing for backup the downloaded data blocks in the first page from the cache storage area, resulting in a second set of backed up data blocks; storing the second set of backed up data blocks into a secondary copy of the first virtual-disk file, which is stored in a storage device apart from the first computing device; wherein the first virtual-disk file is backed up in its entirety from the cloud-based account to the secondary copy on the storage device, based on downloading data blocks into the cache storage area on the first computing device from the cloud-based account page-by-page, without first downloading the first virtual-disk file in its entirety to the first computing device; and if no more of the first virtual-disk file remains to be downloaded, and one or more pages in the cache storage area have not been processed into backed up pages, processing the one or more pages in the cache storage area into respective backed up pages stored into the secondary copy of the first virtual-disk file, thereby completing a backup-from-cloud operation for the first virtual machine without first downloading the first virtual-disk file in its entirety to the first computing device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by at least one first computing device comprising one or more processors and computer memory, cause the first computing device to perform a method for backing up a virtual-disk file associated with a virtual machine from a cloud-based account, the method comprising:
-
executing on a first computing device a pseudo-disk driver that presents a cache storage area on the first computing device as a local mass-data storage device; storing to a first page in the cache storage area, by a data agent that executes on the first computing device, a first set of data blocks downloaded from a first virtual-disk file associated with a first virtual machine hosted by a cloud-based account, wherein the cache storage area comprises a plurality of pages, including the first page, wherein each page in the plurality of pages is sized to match a page-size configured in the cloud-based account, wherein the cloud-based account is configured to store the first virtual-disk file in its entirety, and wherein the cache storage area on the first computing device is insufficient in storage capacity to store the first virtual-disk file in its entirety; from the first page in the plurality of pages in the cache storage area, processing for backup the downloaded data blocks in the first page from the cache storage area, resulting in a second set of backed up data blocks; storing the second set of backed up data blocks into a secondary copy of the first virtual-disk file, which is stored in a storage device apart from the first computing device; wherein the first virtual-disk file is backed up in its entirety from the cloud-based account to the secondary copy on the storage device, based on downloading data blocks into the cache storage area on the first computing device from the cloud-based account page-by-page, without first downloading the first virtual-disk file in its entirety to the first computing device; and if no more of the first virtual-disk file remains to be downloaded, and one or more pages in the cache storage area have not been processed into backed up pages, causing the one or more pages in the cache storage area to be processed into respective backed up pages stored into the secondary copy of the first virtual-disk file, thereby completing a backup-from-cloud operation for the first virtual machine without first downloading the first virtual-disk file in its entirety to the first computing device. - View Dependent Claims (7, 8, 9)
-
Specification