Skip to main content

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

  1. Open Application Volumes > Volumes, select the volume (or its consistency group), and choose Take Snapshot.
  2. Under Volume Shadow Copy Settings, check VSS if you want this snapshot taken via VSS (see VSS settings below — VSS must already be configured on the volume/CG).
  3. 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

  1. Open Application Volumes > Volumes, select the volume (or its consistency group), and choose Restore.
  2. Pick the snapshot to restore from and enter a suffix for the new volume name(s).
  3. If the volume is an object store, fill in Object Store > Port with a free TCP port for the restored object store.
  4. 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 currently needed by Periodic Replication (StorONE keeps the snapshots replication depends on until they're no longer needed, and blocks deleting them directly until then) or protected by a snapshot scheduler policy.

Using the web interface

  1. Open Application Volumes > Volumes, select the volume (or its consistency group), and open its Snapshots list.
  2. Select the snapshot(s) to delete and choose Delete.
  3. 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 example 15m (every 15 minutes), 1d@09:00 (daily at 9 AM), or 1w@mon@09:00 (weekly on Monday at 9 AM).
  • Retention controls how long snapshots from that frequency are kept: <number><unit> — for example 24h, 7d, or 12w.
  • State is Active or Disabled for 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), 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

  1. Open Application Volumes > Volumes, select the volume (or its consistency group), and choose Snapshot Scheduler.
  2. Under Recovery Point Objectives, add one or more frequency/retention/state rows.
  3. Under Volume Shadow Copy Settings, enable VSS for the scheduler if desired.
  4. 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).
  5. 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

  1. Open Application Volumes > Volumes, select the volume (or its consistency group), and choose VSS Settings.
  2. Under Volume Shadow Copy Settings, enter the VSS initiators and choose whether the mapping is direct.
  3. 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.