# Instance Snapshots

Source: https://docs.quake.ai/docs/compute/concepts/snapshots
Markdown: https://docs.quake.ai/docs/compute/concepts/snapshots.md

---

# Instance snapshots

Instance snapshots capture the full state of a running instance (root disk data, memory, and configuration) as an **image** you can store, clone from, or restore to. They are part of the Compute service and are stored in the Images service ([OpenStack Glance](https://docs.openstack.org/glance/latest/)) once created.

## What a snapshot contains

When you create a snapshot, the platform communicates with the hypervisor to capture everything on the instance's root disk along with relevant state information. The result is stored as an image in Glance, where you can list it, inspect its metadata, share it, or delete it, like any other image.

Snapshots are **immutable** once created. You cannot modify a snapshot; you can only create a new one or delete an existing one.

## When to use snapshots

Take a snapshot before a risky change: an OS upgrade, a major application deployment, or a configuration overhaul. If something breaks, you can launch a new instance from the snapshot to restore the previous state.

Snapshots also serve as cloning tools. Launch multiple instances from the same snapshot to create identical environments for testing, staging, or horizontal scaling. For migration between hosts or regions, a snapshot provides a portable image of your workload.

## How snapshots fit the storage picture

<Figure size="sm" caption="Volume snapshot lifecycle: a live volume becomes an immutable snapshot that can restore in place or seed a new instance">

```mermaid
stateDiagram-v2
    accTitle: Volume snapshot and restore lifecycle
    accDescr: A live volume can be snapshotted at any point; the snapshot is immutable and can either restore the original volume or seed a new instance

    [*] --> Live: volume attached
    Live --> Snapshot: create snapshot
    Snapshot --> Live: restore in place
    Snapshot --> NewInstance: launch from snapshot
    NewInstance --> Live: replace original
    Snapshot --> [*]: delete
```

</Figure>

Instance snapshots capture the full VM state including the root disk. **Volume snapshots** capture only an individual storage volume at a point in time and depend on the original volume. **Volume clones** create a new identical volume you can attach to another instance immediately.

Choose instance snapshots when you need the complete machine image. Choose volume snapshots or clones when you need to protect data on specific attached disks independently of the instance itself.

## Practices for snapshot management

Snapshots consume storage in the image repository. Clean up old snapshots you no longer need to avoid unnecessary storage use. Establish a naming convention (include the date and purpose) so you can identify what each snapshot represents months later.

Because snapshots are immutable, there is no risk of accidental modification, but there is also no way to update one. If the instance has changed, take a fresh snapshot instead of trying to patch the old one.

## Further reading

**On this platform:**

- [Create an instance snapshot](/docs/compute/how-to/create-snapshot): step-by-step snapshot creation
- [Images](/docs/compute/concepts/images): how snapshots become reusable images
- [Volumes](/docs/block/concepts/volumes): volume snapshots for persistent storage protection
- [Instance snapshot console](/reference/compute/console/snapshots): Console reference for snapshot management
- [Instance snapshots CLI reference](/reference/compute/snapshots-cli): `openstack server image create` commands

**External resources:**

- [OpenStack Glance documentation](https://docs.openstack.org/glance/latest/): upstream Image service that stores and manages instance snapshots
