A virtual machine (VM) snapshot captures an image of the VM's system at a specific point in time by saving its configuration and bootable volume data to disk for future restoration.
What is a virtual machine snapshot?
A virtual machine (VM) snapshot captures an image of the VM's system at a specific point in time by saving its configuration and bootable volume data to disk for future restoration. The first snapshot is a full copy of the data volume, while subsequent snapshots store only the changed or added data blocks, enabling efficient versioning and quick restoration. This allows fast recovery to a known state, making snapshots useful for creating backups before significant changes or maintenance. If the VM is ACTIVE
, it is temporarily SHUTOFF
during the snapshot to ensure data consistency. Once complete, the VM restarts and returns to its ACTIVE
state.
Hibernation, on the other hand, pauses the VM by saving its state and suspending it. Unlike snapshots, which create a backup for restoration, hibernation allows the VM to resume without a full reboot, making it useful for temporary pauses.
How to snapshot a virtual machine
In Hyperstack, you can create a snapshot of a virtual machine using these steps:
-
Navigate to the details page of the VM you want to snapshot, as shown below. Hover over the "More Options" dropdown in the top-right corner of the window to view the available actions for changing the VM's state.
-
Select Create Snapshot. This will initiate the snapshot process for your virtual machine.
The snapshot process can take time, depending on the virtual machine type and the amount of data stored. If the VM is currently ACTIVE
, it will be SHUTOFF
during the snapshot and then restarted automatically.
During the snapshot operation, further state modifications are disabled until the VM reaches a fully SNAPSHOTTED
state.
Snapshot Limitations
- There is a maximum storage limitation of 100Gb for Snapshots.
- Taking snapshots of multiple virtual machines (VMs) in parallel is not supported.
- Taking snapshots of Kubernetes VMs is not supported.
VM snapshot using the Infrahub API
The Infrahub API can be used to create and manage snapshots your virtual machines by calling the following APIs:
Endpoint Name | URL | Description |
---|---|---|
Create snapshot | POST /core/virtual-machines/{id}/snapshots |
Creates a snapshot for the specific virtual machine. |
List snapshots | GET /core/snapshots |
Lists all snapshots for the specific virtual machine. |
Delete Snapshot | DELETE /core/virtual-machines/{id}/snapshots/{id} |
Deletes a specified snapshot. |
Restore Snapshot | POST /core/snapshots/{id}/restore |
Restores a specified snapshot. |
Retrieve Snapshot Details | GET /core/snapshots/{id} |
Retrieves the details of a specified snapshot. |
Click here to learn more about snapshot APIs.
Pricing
Refer to Snapshot Billing for information on billing and pricing.