Snapshot Operations

Explore this Page

About Snapshot Operations

A snapshot is a single logical(differential snapshot), or fully independent (full snapshot) image of a virtual disk at a particular point in time (snapshot point).

Before creating your first snapshot, see Snapshot for snapshot information and additional operations which can be performed on existing snapshots.

Changing the system clock of the source DataCore Server can affect the timestamp of snapshots. For instance, if a snapshot is created at 11:00 a.m. and the host writes to the served virtual disk, and then you change the system clock to 10:00 a.m. and create another snapshot, the "older" snapshot created at 10:00 a.m. will contain the newest data changes.

Snapshot Operations

Create Snapshot

Creates a logical image or fully usable clone of the data residing on a virtual disk at a specific point in time (snapshot point). (After the snapshot is created, additional operations can be performed on the snapshot.) See Creating Snapshots.

Update Snapshot

Updates the snapshot with the latest changes that have occurred on the source virtual disk. (The percentage of data changes between the snapshot and source virtual disk can be viewed in the Delta Map column on the Virtual Disk Details page>Snapshots tab for the virtual disk.) See Updating Snapshots.

Create Immutable Snapshot Creates a snapshot that cannot be modified or deleted until the retention period expires. Refer to Creating Immutable Snapshots for more information.

Revert from Snapshot

Resynchronizes the source virtual disk and the snapshot, so that the source becomes an image of the current state of the snapshot. See Reverting from Snapshots.

Abort

Cancels the current operation being performed.

Promote to Full

Migrates any unmigrated * blocks from the source to the destination and upgrades the snapshot type from a differential snapshot (logical image) to a full snapshot. Changes to the snapshot before promoting to full will be preserved in the snapshot, and in this case after promoting to full, the source and snapshot will be different.

After migration is successfully completed, a full snapshot exists and operates independent of the source. (The snapshot can be split.) Once promoted, the ability to demote to a differential copy does not exist. See Promoting to Full.

* Unmigrated blocks are blocks that have not been changed on either the source or the snapshot.

Split Snapshot

Terminates the relationship between the source virtual disk and a full snapshot. See Splitting Snapshots.

Delete Snapshot

Deletes the snapshot image and leaves the source virtual disk intact. See Deleting Snapshots.

Snapshot operations can be performed from:

  • The Virtual Disk Details page>Snapshot tab. Some operations can be performed from the Ribbon>Virtual Disk Actions tab when the details page is open.
  • The context menu in the DataCore Servers panel, Hosts panel, or Virtual Disks list.

(This topic provides instructions using one method.)

Creating Snapshots

  • The best practice is to create a snapshot when data is in a known good state. Whenever possible before creating the snapshot, perform an application-specific flush and quiesce for consistent data, then pause I/O on the application until after the snapshot is created.
  • Snapshots cannot be created from a rollback.
  • Snapshots cannot be mirrored unless they are split first.
  • Differential snapshots are dependent on the source. When a source virtual disk is deleted, any differential snapshots created from the source which are not served to hosts will also be deleted. To preserve differential snapshots, they must be promoted to full snapshots first and then delete the source.
  • See Virtual Disk Groups for important information about creating snapshots on a virtual disk group.
  • The timestamp in the default snapshot name is the creation time displayed in UTC (Coordinated Universal Time).

To create a snapshot:

  1. In the Virtual Disk Details page > Snapshots tab, click the link Create Snapshot.

    (Alternatively, snapshot operations can be initiated from context menus in panels and virtual disk lists.)

  2. In the page that opens, a default name is provided for the snapshot. The default name consists of the name of the source virtual disk and timestamp (snapshot point) of when the snapshot was created. Change the name if desired. Add a description if desired.
  3. The snapshot can only exist on one server. If the virtual disk is mirrored or dual, or if a snapshot is being created on a virtual disk group consisting of virtual disks from more than one server, select the DataCore Server where the snapshot should be created.

    If a preferred snapshot pool is set for virtual disks, that server and pool will be pre-selected, but can be changed if required.

  4. Select the Storage Profile. The default setting for the storage profile is Normal, select a different level if required. (See Storage Profiles for more information.)
  5. Select the snapshot type:
    • Differential - A logical image of the source virtual disk at the snapshot point. The snapshot is dependent on the source.
    • Full - A clone copy of the source virtual disk at the snapshot point. After migration is successfully completed, the snapshot is fully usable and can exist and operate independently of the source from which it was created.

      Creating full copies requires more resources than creating differential copies. The load on the DataCore Server that is migrating data is dependent on the available resources of the server.

  6. To set the compression while creating snapshots of this virtual disk, select the Compressed check box.
    • The Compressed check box is unavailable for virtual disks when the selected destination pool has Capacity Optimization disabled.
    • The Compressed check box is unavailable if the source virtual disk has encryption enabled.
  7. Only select the Duplicate disk identifier check box if both source virtual disk and snapshot will be served to hosts requiring the same SCSI inquiry ID (virtual product information). For instance, this is required for ESXi clusters.
  8. To set the selected pool as the preferred snapshot pool to use when creating snapshots of this virtual disk, enable the Set pool as preferred snapshot pool check box. This option is not available for virtual disk groups or if the pool has already been set.
  9. Select the Assign ownership to me check box to assign exclusive ownership to the user account currently logged in and creating the snapshot. This restricts all operations on the snapshot to only the account logged in and the Administrator account.
  10. You can make the snapshot immutable by selecting the Immutable checkbox. This ensures the snapshot is protected from any modifications or deletions for the duration of its retention period. Refer to Creating Immutable Snapshots for more information.
  11. In the list, select the pool to use to create the snapshot or click Create Disk Pool to create a new pool.
  12. Click Next.
  13. The first time a snapshot is created on the server, the Designate a Pool for Snapshot Mapstore page opens. Select the pool from which to create the mapstore. This option is not available for virtual disk groups; the mapstores must be set before a snapshot can be created for the group.
  14. Click Finish.

After creating a snapshot:

  • The snapshot will appear under the source virtual disk in the DataCore Servers panel. To view the progress of data migration and operations and other information, open the details page for the snapshot.
  • The status of the snapshot can also be monitored in the Virtual Disk Details page>Snapshots tab.
    • While the snapshot operation is active, the operation is reflected in the Operation column and the percentage complete is reflected in the Status column. See Snapshot Status.
    • When the snapshot is complete, the Operation column is clear and the Status column should reflect Healthy.

Creating Immutable Snapshots

The Immutable Snapshot feature protects critical data from accidental or unauthorized changes by enforcing immutability. Once a snapshot is marked Immutable in DataCore Management Console, it becomes read-only and cannot be modified, deleted, or reconfigured until the defined retention period expires. After expiration, the snapshot automatically reverts to a mutable state.

Prerequisites

  • SANsymphony PSP21 or later.
  • Make sure there is sufficient disk pool space before creating an immutable snapshot.

Configuring Immutable Snapshots

You can make a snapshot immutable either during snapshot creation or by applying immutability to an existing snapshot.

Creating an Immutable Snapshot

This section explains how to enable immutability when creating a new snapshot from a virtual disk.

  1. While creating the snapshot, in the Snapshot Details window, select the Immutable checkbox.
    • If you have selected the Snapshot type as Differential, it will automatically be changed to Full when you enable immutability. Simultaneously, the Assign Ownership to Me checkbox is selected by default, making the user who creates the immutable snapshot the owner of the immutable object. This ensures that all data blocks are included in the hash calculation, maintaining the snapshot’s integrity.
    • Once enabled, the snapshot becomes read-only and locked for the duration of its retention period.
  2. Specify the Retention Expiry:
    • Enter the date and time when the immutability should end.
    • The minimum retention period is 24 hours from the creation time.

      When creating a new immutable snapshot or making an existing snapshot immutable, if the specified retention expiry is less than 24 hours, a warning popup will appear. It informs you that the retention period will automatically be adjusted to 24 hours and requires your confirmation.

  3. Click Finish to create the snapshot.
  4. Review the summary section, which shows Start Date, Expiry Date, Immutable Until, and Status in the Immutability tab.
  5. The snapshot is created, and hash calculation begins automatically. You can monitor hash calculation progress in the Immutability details page.
    • Progress is shown as a percentage. Larger snapshots take longer.
    • Wait until the hash calculation is completed.
    • If the hash calculation fails for any reason, the immutable snapshot goes into a Failed state. You must restart the snapshot creation process.
    • During hashing, the snapshot is already protected in read-only mode.
  6. Once hashing is complete, the snapshot status updates to Retention Locked which means it is fully immutable until expiry.
  7. (Optional) Add Immutable Objects as counters in Live Performance View for real-time monitoring.
  8. To validate the seal, click Start Seal Verification in the Immutability tab to recalculate and verify the hash.
    • The verification process begins. You can monitor the progress in the same tab (displayed as a percentage) and wait until the verification is completed.
    • The system recalculates the hash and compares it to the stored seal hash.
    • If the values match, the snapshot’s integrity is confirmed, and the status updates to 'Verified' with the date of verification.
    • If the values do not match, the snapshot is flagged as Compromised. Importantly, the snapshot remains immutable (still read-only and protected).

Making an Existing Snapshot Immutable

This section helps you make an existing snapshot immutable, monitor its hash calculation, and perform seal verification to ensure data integrity until the retention period expires.

  1. In the left pane, select an existing snapshot that is not already immutable.
  2. Open the snapshot and select the Immutability tab.
  3. Click Make Immutable.
  4. Set the Retention Expiry (date and time). The minimum is 24 hours.
    • System Health alerts are triggered by default when an immutable snapshot is within 3 days of its expiry. You can adjust these alert thresholds for immutable snapshots in Global Default Thresholds.
  5. Review the summary showing Start Date, Expiry Date, Immutable Until, and Status in Immutability tab.
  6. Monitor the Hash Calculation progress (shown as a percentage).
  7. Once hashing completes, the snapshot status changes to Retention Locked.
  8. Click Start Seal Verification to re-calculate and validate the hash.

Monitoring Immutable Snapshots in System Health

Immutable snapshots are integrated with System Health monitoring. In the System Health > Status tab, under Warnings, you can view immutable snapshot details such as creation time, expiration date, and time. By default, the system triggers an alert when a snapshot is within 3 days of expiry.

  • You can adjust the alert thresholds for immutable snapshots under System Health > Default Thresholds > Immutable Object Thresholds.
  • Once defined, these thresholds are automatically applied to all immutable snapshots created in DMC.
  • For configuring thresholds for Immutable Snapshots, refer to Global Default Thresholds in the System Health for more information.
  • Immutable snapshots cannot be modified or deleted until the retention period expires. After the retention period expires, the snapshot automatically reverts to a mutable state.
  • Operations such as renaming, updating, or splitting a snapshot cannot be performed on an immutable snapshot.
  • You can enable immutability only on snapshots you own; attempts to enable immutability on snapshots owned by others will fail.
  • If the retention period of a snapshot expires while hash calculation or other operations are in progress, those operations are automatically stopped.
  • If you are creating a new immutable snapshot or making an existing snapshot immutable, and the specified retention expiry is less than 24 hours, the retention period will automatically be set to 24 hours.
  • Even if the system crashes and then restarts, immutable snapshots remain intact and are restored in read-only mode, ensuring they’re still protected.
  • You can manage immutable snapshots using DataCore PowerShell cmdlets or the REST API. Both methods allow you to enable or disable immutability, view immutability status, and monitor hash calculation progress. For details on available cmdlets, their usage, and REST API endpoints, refer to the DataCore PowerShell Cmdlets and the REST API Reference Guide.

Updating Snapshots

Updates the snapshot with the latest changes that have occurred on the source virtual disk. The snapshot will become an image of the current state of the virtual disk. The snapshot point will be updated to reflect the time of the update.

To update the snapshot:

  1. In the Virtual Disk Details page > Snapshots tab, right-click the snapshot to update and select Update Snapshot from the menu.
  2. A confirmation message will appear, Select the check box and click Yes to continue with the operation.

The Update Snapshot operation is disabled for immutable snapshots.

Promoting to Full

Upgrades a differential snapshot (logical image) to a full snapshot.

To promote the snapshot from differential to full:

  1. In the Virtual Disk Details page > Snapshots tab, right-click the snapshot to promote and select Promote to Full Snapshot from the menu.
  2. Click Yes on the confirmation message. Operation status is displayed in the Operation and Status columns in the Virtual Disk Details page > Snapshots tab. When the Operation field is empty, the snapshot is idle. After the snapshot is promoted, the snapshot becomes an independent image and fully usable virtual disk which can be split.

Enabling Compression for an Existing Snapshot

To enable Compression for an existing snapshot:

  1. Open the Snapshot Details page. For more information, see Snapshot Details.
  2. Under the Settings tab, select the Compressed option.
  3. Click Apply.

Enabling NVMeoF for an Existing Snapshot

You can enable the NVMeoF option for a snapshot. This option is visible only if the NVMeoF feature is enabled in the DataCore Server Group. To enable NVMeoF for an existing snapshot:

  1. Under the Settings tab, select the NVMe Namespace checkbox.
  2. Specify a Namespace ID (range: 256–65535). The Namespace ID must be unique within the Server Group.
    1. By default, the namespace is assigned the next available value in the range.
    2. You can also manually specify any unused value within the range, as long as it is unique within the Server Group. Example: If IDs 256, 257, and 258 are already in use, you could set 300 (or any other unused number in the range).
    3. The Namespace ID cannot be modified once the snapshot is served.
  3. Click Apply. The snapshot is now NVMe-enabled, and hosts accessing this snapshot will recognize it as an NVMe Namespace with the assigned Namespace ID.

When you create a Snapshot of an NVMe namespace virtual disk, the NVMe Namespace checkbox is selected by default, making the Snapshot NVMe-enabled. You can manually select or clear the "NVMe Namespace" checkbox for each Snapshot after it is created.

Reverting from Snapshots

Reverting will overwrite all changes that have occurred on the source virtual disk after the snapshot point. Before this command is performed, I/O operations should be stopped. After the operation is complete, the host must invalidate the cache. The method of invalidating the cache is dependent on the host operating system.

To revert from the snapshot image:

  1. Stop I/O operations from the host.
  2. In the Virtual Disk Details page > Snapshots tab, right-click the snapshot to use to revert and select Revert from Snapshot from the menu.
  3. A confirmation message will appear; read the message carefully. To continue with the operation, click the check box, then click Yes.

    Operation status is displayed in the Operation and Status columns in the Virtual Disk Details page > Snapshots tab. When the Operation field is empty, the snapshot is idle.

  4. After the revert operation is complete, the host must invalidate the cache and then I/O operations can be resumed.

Splitting Snapshots

Terminates the relationship between the source virtual disk and the snapshot. After the split operation is complete, the designation of the snapshot is elevated to a virtual disk and all the options available to a virtual disk (mirroring, Continuous Data Protection, Snapshot and so on) are granted.

Only full snapshots can be split. The command does not change the status of the data on the source virtual disk or the snapshot.

When a snapshot group is split, a new virtual disk group will be created and the resulting virtual disks will be added to the new group.

Use caution when a virtual disk is using duplicate disk IDs and is involved in snapshots. If the snapshot is split, both virtual disks will have the same SCSI device ID. Under these circumstances, the SCSI device ID for one virtual disk may need to be changed in order to make it unique. See SCSI Standard Inquiry Data.

To split the snapshot:

  1. In the Virtual Disk Details page > Snapshots tab, right-click on the full snapshot to split and select Split Snapshot from the menu.
  2. Click Yes on the confirmation message. Operation status is displayed in the Operation and Status columns in the Virtual Disk Details page > Snapshots tab. When the Operation field is empty, the snapshot is idle.

The Split Snapshot operation is disabled for immutable snapshots.

Deleting Snapshots

Deleting a snapshot permanently destroys the data on the snapshot and removes it from the configuration. Snapshots cannot be deleted if served to a host.

When a snapshot group is deleted, all snapshots in the group will also be deleted.

To delete the snapshot:

  1. In the Virtual Disk Details page > Snapshots tab, right-click on the snapshot to delete and select Delete from the menu.
  2. A confirmation message will appear; read the message carefully. To continue with the operation, click the check box, then click Yes.

The Delete Snapshot operation is disabled for immutable snapshots.

Setting the Mapstore Pool

When the first snapshot is created on a DataCore Server, the disk pool used to create the mapstore must be selected. The pool can be changed later, if required. Pools with inadequate space will not be considered as mapstore candidates.

To assign or change the location of the mapstore:

  1. In the DataCore Server Details page > Settings tab, expand General Settings.
  2. In Mapstore pool, use the pull-down menu to select the pool from which to create the mapstore.
  3. Click Apply.

Setting the Preferred Snapshot Pool

A disk pool can be designated as the preferred pool to use when creating snapshots for a virtual disk. The preferred snapshot pool is set per virtual disk. (A preferred snapshot pool cannot be assigned at the virtual disk group level.)

Setting a preferred snapshot pool enables snapshots to be created for virtual disks in a group which do not belong to the same server. Once set, all snapshots for that virtual disk will be created from the designated pool on the designated server. The pool assigned must belong to a server that created the virtual disk. For instance, mirrored virtual disks can select any pool on either server that created the virtual disk.

  • If a preferred snapshot pool is set and the pool is unavailable, the preferred snapshot pool will have to be changed in order to create a snapshot of the virtual disk.
  • The best practice when using preferred snapshot pools for virtual disks in groups is to set a preferred snapshot pool for all virtual disks in the group. (A mapstore pool is required to be set for all applicable servers.)
  • When a snapshot is created, the preferred snapshot pool will be pre-selected in the wizard, but can be changed if necessary.

To assign or change the pool:

  1. In the Virtual Disk Details page > Settings tab, click Advanced Options.
  2. In the Snapshot Sources area, select the DataCore Server and then the Preferred Pool.
  3. Click Apply.

Setting the Default Snapshot Pool

A disk pool can be designated as the default snapshot pool when creating snapshots for a virtual disk (VD). The default snapshot pool can be set per server.

Setting a default snapshot pool enables the snapshots to be created in a designated pool in the server. Once set, all snapshots for that virtual disk or virtual disk group get created in the designated pool on the designated server.

  • Selection of preferred snapshot pool for a virtual disk ensures that the snapshot, created for that virtual disk, is created in the preferred snapshot pool.
  • Snapshot disk pool selection order is: Preferred snapshot pool (on VD) >> Default snapshot pool (on server) >> Random disk pool (if there is no preferred pool and snapshot pool) for both virtual disk (single, mirror, and NWAY) and virtual disk group.
  • Snapshots can also be created on different pools, despite having both preferred and default snapshot pools.
  • For a virtual disk group, the disk pool selection page is greyed out if the preferred and default pools are set, and the snapshots are created on these pools only.
  • In a virtual disk group, selection of the snapshot pool is allowed only if no virtual disk has been set with preferred or default pool.

To assign a default snapshot pool:

  1. In the DataCore Server Details page > Settings tab, expand General Settings.
  2. In Default Snapshot pool, use the pull-down menu to select the pool from which to create the snapshot.
  3. Click Apply.

Learn More