Skip to main content

Virtual Machine Snapshots

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 complete 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:

  1. 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. Hyperstack VM state modification UI

  2. Select Create Snapshot. This will initiate the snapshot process for your virtual machine.

note

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.
  • A new snapshot cannot be taken while a previous snapshot of the same VM is still in progress. The current snapshot must be completed before initiating another.
  • 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 NameURLDescription
Create snapshot /core/virtual-machines/{id}/snapshotsCreates a snapshot for the specific virtual machine.
List snapshotsGET /core/snapshotsLists all snapshots for the specific virtual machine.
Delete SnapshotDELETE /core/virtual-machines/{id}/snapshots/{id}Deletes a specified snapshot.
Restore Snapshot /core/snapshots/{id}/restoreRestores a specified snapshot.
Retrieve Snapshot DetailsGET /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.


Back to top