Abstract:
In one set of embodiments, during an initial pre-copying phase, copies of the virtual disks of a VM or VM template can be distributed across one or more datastores, prior to the start of any cloning. This effectively seeds each datastore with a disk pool comprising a certain number of copies of the VM/VM template's virtual disks. Then, at the time of receiving a user request to create k clones from the VM/VM template, up to k copies of the VM/VM template's virtual disks that already reside in the disk pools of one or more target datastores can be moved from those disk pools to the clones' home folders on the target datastores, thereby reducing or eliminating the need to create brand new copies of the virtual disks on demand.
Abstract:
Techniques for handling inheritance of disk state when forking virtual machines (VMs) are provided. In one embodiment, a computer system can receive a request to fork a child VM from a parent VM. In response, the computer system can take a disk snapshot of the parent VM, where the disk snapshot results in a child disk for the child VM, where the child disk is a delta disk that points to a parent disk of the parent VM, and where the parent disk serves as the parent VM's current running point. The computer system can then determine whether the parent disk is a delta disk. If so, the computer system can copy the content of the parent disk to the child disk, traverse a disk hierarchy associated with the parent disk to identify a base disk above the parent disk in the hierarchy, and cause the child disk to point directly to the base disk.
Abstract:
A managed object of a virtualized computing environment, which contains the runtime state of a parent virtual machine (VM) and can be placed in any host of the virtualized computing environment, is used for instantly cloning child VMs off that managed object. The managed object is not an executable object (i.e., the state of the managed object is static) and thus it does not require most of the overhead memory associated with a VM. As a result, this managed object can support instant cloning of VMs with a reduction in memory, storage, and CPU overhead relative to when a parent template VM is used.
Abstract:
To create a backup of a live (running) virtual machine, a backup agent may take a snapshot of the virtual machine, backup the virtual machine from the snapshot disk, and delete the snapshot. Deleting the snapshot initiates a snapshot consolidation process where delta disks of the virtual machine are collapsed. A virtual disk layer sets up a mirror driver between a current virtual disk and a target virtual disk. Data sectors of the delta disk are copied over to the target virtual disk in a single pass, while the mirror driver mirrors write request for the current virtual disk to the target virtual disk.
Abstract:
Techniques for handling inheritance of disk state when forking virtual machines (VMs) are provided. In one embodiment, a computer system can receive a request to fork a child VM from a parent VM. In response, the computer system can take a disk snapshot of the parent VM, where the disk snapshot results in a child disk for the child VM, where the child disk is a delta disk that points to a parent disk of the parent VM, and where the parent disk serves as the parent VM's current running point. The computer system can then determine whether the parent disk is a delta disk. If so, the computer system can copy the content of the parent disk to the child disk, traverse a disk hierarchy associated with the parent disk to identify a base disk above the parent disk in the hierarchy, and cause the child disk to point directly to the base disk.
Abstract:
Instructions to fork a source VM are received, and execution of the source VM is temporarily stunned. A destination VM is created, and a snapshot of a first virtual disk of the source VM is created. A checkpoint state of the source VM is transferred to the destination VM. The source VM has one or more virtual disks. One or more virtual disks associated with the destination VM are created and reference the one or more virtual disks of the source VM. Execution of the destination VM is restored using the transferred checkpoint state and the virtual disks of the destination VM in a way that allows the source VM to also resume execution. Forking VMs using the described operation provisions destination VMs in a manner that makes efficient use of memory and disk space, while enabling source VMs to continue execution after completion of the fork operation.
Abstract:
Techniques for handling inheritance of disk state when forking virtual machines (VMs) are provided. In one embodiment, a computer system can receive a request to fork a child VM from a parent VM. In response, the computer system can take a disk snapshot of the parent VM, where the disk snapshot results in a child disk for the child VM, where the child disk is a delta disk that points to a parent disk of the parent VM, and where the parent disk serves as the parent VM's current running point. The computer system can then determine whether the parent disk is a delta disk. If so, the computer system can copy the content of the parent disk to the child disk, traverse a disk hierarchy associated with the parent disk to identify a base disk above the parent disk in the hierarchy, and cause the child disk to point directly to the base disk.
Abstract:
Techniques for implementing application-assisted VM provisioning operations, and in particular application-assisted live migration, are provided. In one set of embodiments, a hypervisor of a source host system can notify a guest application that the VM within which the guest application runs will be imminently live migrated from the source host system to a destination host system, prior to actually carrying out the live migration. In response, the guest application can execute one or more remedial actions that mitigate or avoid issues which may arise with respect to its runtime operation when the VM is stunned and switched over to the destination host system.
Abstract:
Techniques for handling inheritance of disk state when forking virtual machines (VMs) are provided. In one embodiment, a computer system can receive a request to fork a child VM from a parent VM. In response, the computer system can take a disk snapshot of the parent VM, where the disk snapshot results in a child disk for the child VM, where the child disk is a delta disk that points to a parent disk of the parent VM, and where the parent disk serves as the parent VM's current running point. The computer system can then determine whether the parent disk is a delta disk. If so, the computer system can copy the content of the parent disk to the child disk, traverse a disk hierarchy associated with the parent disk to identify a base disk above the parent disk in the hierarchy, and cause the child disk to point directly to the base disk.
Abstract:
A method and software is described for recreating on a target datastore a set of hierarchical files that are present on a source datastore. A content identifier (ID) is maintained for each component of the set of hierarchical files. The content ID of a component is updated when its contents are modified. The child component is copied from the source datastore to the target datastore. The content ID corresponding to the parent component on the source datastore is compared with content IDs corresponding to files present on the target datastore. When a matching content ID is discovered, it infers a copy of the parent component. The matching file on the target datastore is associated with the copied child component so that the matching file becomes a new parent component to the copied child component, thereby recreating the set of hierarchical files on the target.