Snapshot and Restore
cubic snapshot saves the disk of a VM instance and cubic restore rolls
it back. Snapshots of the same VM instance share every block that did not
change, so keeping several of them stays cheap. Restore a Snapshot walks
through one snapshot step by step.
Create a Snapshot
A snapshot can only be taken while the VM instance is stopped:
$ cubic stop example --wait
$ cubic snapshot example/clean
A snapshot is always addressed as <instance>/<snapshot>, so
example/clean is the snapshot clean of the VM instance example.
List the Snapshots
cubic show lists the snapshots of a VM instance:
$ cubic show example
Running: no
Arch: amd64
CPUs: 4
Memory: 2048 M
Disk Used: 941 M
Disk Total: 100 G
User: alice
Isolated: no
SSH Port: 40881
Monitor Port: 42661
Console Port: 37913
Snapshots: clean
before-upgrade
Restore a Snapshot
Restoring rolls the disk back to the state it had when the snapshot was taken:
$ cubic restore example/clean
Everything written since the snapshot is lost. A running VM instance is stopped
first, so make sure you no longer need its current state. Add --yes to skip
the confirmation.
The settings of a VM instance, such as CPUs, memory and forwarded ports, are not
part of a snapshot and stay as they are. The disk is the exception, because a
restore brings back the size the disk had when the snapshot was taken while the
setting keeps the newer value. cubic modify --disk grows a disk past the
size in the settings, so pick a larger size to bring the two back in line.
Delete a Snapshot
A snapshot you no longer need can be deleted without touching the VM instance:
$ cubic delete example/clean
Deleting the VM instance itself removes all of its snapshots as well:
$ cubic delete example