Snapshots
Snapshots
A snapshot is a point-in-time copy of a volume — or, more precisely, of the volume's entire consistency group (CG), so that every volume sharing a CG is always captured at the same instant. Snapshots are near-instantaneous and space-efficient: StorONE only stores the blocks that changed since the previous snapshot.
Snapshots are the foundation for both manual and scheduled data protection: take one before a risky change, restore a volume back to an earlier point, or set up a recurring schedule so snapshots happen on their own. This chapter covers taking, restoring, listing, deleting, and scheduling snapshots, plus VSS (Volume Shadow Copy Service) integration for application-consistent snapshots on Windows.
For recovering individual files out of a snapshot's history rather than the whole volume, see File Recovery (SnapONE).
Taking a manual snapshot
Take a manual snapshot whenever you want a recovery point right now — before applying an update, running a risky migration, or any other time you want a safety net outside of the regular schedule. A snapshot is always taken for an entire consistency group at once, so specifying any one volume in the group snapshots all of them together.
Using the web interface
- Open Application Volumes > Volumes, select the volume (or its consistency group), and choose Take Snapshot.
- Under Volume Shadow Copy Settings, check VSS if you want this snapshot taken via VSS (see "Configuring VSS settings" below — VSS must already be configured on the volume/CG).
- Confirm to take the snapshot.
You can also snapshot every volume in the system at once from the same action by choosing the "all volumes" option instead of a specific volume.
Using the CLI
applications snapshots take
--all|(--application=<name> --volume=<name>)|(--cgid=<numbers>) [--vss]
| Option | Description |
|---|---|
--all |
Take a snapshot on every volume in the system. |
--application=<name> |
The name of the application. |
--volume=<name> |
The volume to snapshot (the snapshot is taken for its entire consistency group). |
--cgid=<numbers> |
The ID of the consistency group to take a snapshot on. |
--vss |
Take the snapshot via VSS. |
Examples
Take a manual snapshot of the ledgers volume's consistency group:
applications snapshots take --application finance --volume ledgers
Take a VSS snapshot instead, so the Windows application on the volume is quiesced first:
applications snapshots take --application finance --volume ledgers --vss
Snapshot every volume in the system at once:
applications snapshots take --all
Restoring from a snapshot
Restoring a snapshot doesn't roll the original volume back in place — it creates a new volume (or set of volumes, for a multi-volume consistency group) populated with the snapshot's data, named after the originals plus a suffix you choose. This keeps the restore non-destructive: the original volume and all its other snapshots are untouched, and you can mount the restored copy alongside the original to pull out what you need.
If the consistency group you're restoring contains an object store, you must also supply a new TCP port for the restored object store, since the original port is still in use by the source.
Using the web interface
- Open Application Volumes > Volumes, select the volume (or its consistency group), and choose Restore.
- Pick the snapshot to restore from and enter a suffix for the new volume name(s).
- If the volume is an object store, fill in Object Store > Port with a free TCP port for the restored object store.
- Confirm to create the restored volume(s).
Using the CLI
applications snapshots restore
(--application=<name> --volume=<name>)|(--cgid=<numbers>) --snapshot=<numbers> --suffix=<name> --objectPort=<object_store_port>
| Option | Description |
|---|---|
--application=<name> |
The name of the application. |
--volume=<name> |
The name of the volume. |
--cgid=<numbers> |
The ID of the consistency group to restore. |
--snapshot=<numbers> |
The snapshot ID to restore. |
--suffix=<name> |
A suffix appended to the name of the newly created volume(s). |
--objectPort=<object_store_port> |
Object stores only: the new TCP port for the restored object store. |
Examples
Restore snapshot 142 of the ledgers volume into a new volume named ledgers-restored:
applications snapshots restore --application finance --volume ledgers --snapshot 142 --suffix -restored
Restore a snapshot of an object-store volume, giving the restored copy a new port:
applications snapshots restore --application finance --volume archive --snapshot 88 --suffix -recovered --objectPort 9100
Listing snapshots
Using the web interface
Open Application Volumes > Volumes, select a volume, and view its Snapshots list. Toggle whether the volumes within each consistency group are shown alongside the snapshots.
Using the CLI
applications snapshots list [--application=<name> --volume=<name>] | [--cgid=<numbers...>] [--show_volumes]
| Option | Description |
|---|---|
--application=<name> |
Filter by application name. |
--volume=<name> |
Filter by volume name. |
--cgid=<numbers...> |
Filter by consistency group IDs. |
--show_volumes |
Show which volumes belong to each consistency group. |
Examples
List every snapshot for the ledgers volume:
applications snapshots list --application finance --volume ledgers
List snapshots for consistency groups 12 and 14, including their volumes:
applications snapshots list --cgid 12 14 --show_volumes
Deleting snapshots
You can delete one or more snapshots at a time, as long as they aren't protected by a Snapshot scheduler action policy. With such a policy in place, snapshots created by the snapshot scheduler can't be deleted by anyone — they're removed automatically when their retention period ends — while snapshots you take manually can still be deleted.
Using the web interface
- Open Application Volumes > Volumes, select the volume (or its consistency group), and open its Snapshots list.
- Select the snapshot(s) to delete and choose Delete.
- Confirm the deletion.
Using the CLI
applications snapshots delete
(--application=<name> --volume=<name>)|(--cgid=<numbers>) --snapshots=<numbers...> [--force]
| Option | Description |
|---|---|
--application=<name> |
The name of the application. |
--volume=<name> |
The name of the volume that contains the snapshot(s) to delete. |
--cgid=<numbers> |
The ID of the consistency group that contains the snapshot(s) to delete. |
--snapshots=<numbers...> |
The IDs of the snapshots to delete. |
--force |
Skip the confirmation prompt. |
Examples
Delete a single snapshot:
applications snapshots delete --application finance --volume ledgers --snapshots 101
Delete several snapshots at once without a confirmation prompt:
applications snapshots delete --application finance --volume ledgers --snapshots 101 102 103 --force
Scheduling snapshots
Rather than taking snapshots manually every time, you can define a recurring schedule per consistency group — one or more frequency/retention pairs, each describing how often to take a snapshot and how long to keep the snapshots that frequency produces. For example, you might keep a snapshot every 15 minutes for the last 24 hours, and a daily snapshot for the last 4 weeks, by giving two pairs in the same schedule.
- Frequency controls how often a snapshot is taken:
<number><unit>[@<time>]or<number>w@<day>@<time>— for example15m(every 15 minutes),1d@09:00(daily at 9 AM), or1w@mon@09:00(weekly on Monday at 9 AM). - Retention controls how long snapshots from that frequency are kept:
<number><unit>— for example24h,7d, or12w. - State is
ActiveorDisabledfor each frequency/retention pair, letting you pause one tier of the schedule without deleting its configuration.
A schedule can optionally use VSS for application-consistent snapshots (VSS must be configured on the volume/CG first — see "Configuring VSS settings" below), and, if the volume is replicated, its schedule can be copied to the replication pair so both sides stay on the same recovery-point plan.
Submitting a new set of frequency/retention pairs when a schedule already exists asks whether to replace the existing schedule or append to it. Submitting an empty schedule over an existing one stops the scheduler and deletes its associated snapshots.
Using the web interface
- Open Application Volumes > Volumes, select the volume (or its consistency group), and choose Snapshot Scheduler.
- Under Recovery Point Objectives, add one or more frequency/retention/state rows.
- Under Volume Shadow Copy Settings, enable VSS for the scheduler if desired.
- Under Copy Settings to the Replication Pair, choose whether to copy this schedule to the volume's replication partner (only available if the volume is replicated).
- Confirm to save the schedule.
Using the CLI
applications snapshots schedulers schedule
(--application=<name> --volume=<name>)|(--cgid=<numbers>)
[(--frequency=<frequency...> --retention=<retention...>) --schedule_state=<state...>]
[--enable_vss | --disable_vss] [--copySnapshotSchedule] [--force]
| Option | Description |
|---|---|
--application=<name> |
The application that contains the consistency group. |
--volume=<name> |
The volume inside the consistency group. |
--cgid=<numbers> |
The ID of the consistency group to edit. |
--frequency=<frequency...> |
How often to take a snapshot for each pair. Format: <number><unit>[@<time>] or <number>w@<day>@<time> (m=minutes, h=hours, d=days, w=weeks). |
--retention=<retention...> |
How long to keep the snapshots for each matching frequency. Format: <number><unit> (h, d, w). |
--schedule_state=<state...> |
Active or Disabled, one per frequency/retention pair. |
--enable_vss |
Use VSS when this scheduler takes snapshots. |
--disable_vss |
Don't use VSS when this scheduler takes snapshots. |
--copySnapshotSchedule |
Copy this schedule to the volume's replication pair. |
--force |
Skip the confirmation prompt. |
Examples
Keep a snapshot every 15 minutes for a day, and a daily snapshot for 4 weeks:
applications snapshots schedulers schedule --application finance --volume ledgers --frequency 15m 1d@09:00 --retention 24h 4w --schedule_state Active Active
Enable VSS on an existing schedule (VSS must already be configured on the volume):
applications snapshots schedulers schedule --application finance --volume ledgers --enable_vss
Stop the scheduler entirely (deletes the snapshots it produced):
applications snapshots schedulers schedule --application finance --volume ledgers --force
Listing snapshot schedulers
Using the web interface
Open Application Volumes > Volumes, select a volume, and view its Snapshot Scheduler settings.
Using the CLI
applications snapshots schedulers list [--application=<name> --volume=<name>] | [--cgid=<numbers...>] [--show_volumes]
| Option | Description |
|---|---|
--application=<name> |
Filter by application name. |
--volume=<name> |
Filter by volume name. |
--cgid=<numbers...> |
Filter by consistency group IDs. |
--show_volumes |
Show volumes. |
Example — list every consistency group that currently has a snapshot scheduler configured:
applications snapshots schedulers list --show_volumes
Configuring VSS settings
VSS (Volume Shadow Copy Service) lets Windows applications and the file system flush and quiesce their data before a snapshot is taken, so the snapshot is application-consistent rather than just crash-consistent. Before you can take a VSS snapshot (manually with --vss or via a scheduler with --enable_vss), you need to configure which Windows host(s) will issue the VSS request and how the volume is attached to them:
- VSS initiators — the IP address(es) of the Windows host(s) that will coordinate the VSS snapshot.
- Direct mapping — select this when the volume is directly connected (mapped) to the initiator host. Deselect it (not direct mapping) when it isn't — for example, when the volume backs a VMware datastore and the actual VSS-aware host isn't the one the volume is mapped to.
Submitting this command with no VSS initiators clears the existing VSS configuration for the volume/consistency group.
Using the web interface
- Open Application Volumes > Volumes, select the volume (or its consistency group), and choose VSS Settings.
- Under Volume Shadow Copy Settings, enter the VSS initiators and choose whether the mapping is direct.
- Confirm the change.
Using the CLI
applications snapshots vss
(--application=<name> --volume=<name>)|(--cgid=<numbers>) [--vssInitiators=<ip...> --directMapping|--notDirectMapping] [--force]
| Option | Description |
|---|---|
--application=<name> |
The application that contains the consistency group. |
--volume=<name> |
The volume inside the consistency group. |
--cgid=<numbers> |
The ID of the consistency group to edit. |
--vssInitiators=<ip...> |
VSS initiators to use when taking snapshots on this volume/consistency group. |
--directMapping |
Select this if the volume is directly connected to the initiator. |
--notDirectMapping |
Select this if the volume is not directly connected to the initiator (e.g. VMware datastores). |
--force |
Skip the confirmation prompt. |
Examples
Configure a directly-mapped Windows host as the VSS initiator:
applications snapshots vss --application finance --volume ledgers --vssInitiators 10.10.1.50 --directMapping
Configure VSS for a volume backing a VMware datastore, where the VSS-capable host isn't directly mapped:
applications snapshots vss --application vmware --volume datastore1 --vssInitiators 10.10.1.60 --notDirectMapping
Clear the VSS configuration:
applications snapshots vss --application finance --volume ledgers
Next: File Recovery (SnapONE) — finding and recovering individual files out of a volume's snapshot history.