Manage snapshots using the CLI

This page describes how to manage snapshots using the CLI.

Using the CLI, you can:

Create a snapshot

Command: weka fs snapshot create

Use the following command line to create a snapshot:

weka fs snapshot create <file-system> <name> [--access-point access-point] [--source-snap=<source-snap>] [--is-writable]

The newly created snapshot is saved in the .snapshot directory. See Access the .snapshots directory.

Parameters

Name

Type

Value

Limitations

Mandatory

Default

file-system

String

A valid filesystem identifier

Must be a valid name

Yes

name

String

Unique name for filesystem snapshot

Must be a valid name

Yes

access-point

String

Name of the newly-created directory for filesystem-level snapshots, which serves as the access point for the snapshots

Must be a valid name

No

Controlled by weka fs snapshot access-point-naming-convention update <date/name>. By default it is <date> format: @GMT_%Y.%m.%d-%H.%M.%S which is compatible with windows previous versions format for SMB.

source-snap

String

Must be an existing snapshot

Must be a valid name

No

The snapshot name of the specified filesystem.

is-writable

Boolean

Sets the created snapshot to be writable

No

False

Delete a snapshot

Command: weka fs snapshot delete

Use the following command line to delete a snapshot:

weka fs snapshot delete <file-system> <name>

Parameters

Name

Type

Value

Limitations

Mandatory

Default

file-system

String

A valid filesystem identifier

Must be a valid name

Yes

name

String

Unique name for filesystem snapshot

Must be a valid name

Yes

A snapshot deletion cannot happen parallel to a snapshot upload to the same filesystem. Since uploading a snapshot to a remote object store might take a while, it is advisable to delete the desired snapshots before uploading to the remote object store.

This becomes more important when uploading snapshots to local and remote object stores. While local and remote uploads can progress in parallel, consider the case of a remote upload in progress, then a snapshot is deleted, and later a snapshot is uploaded to the local object store. In this scenario, the local snapshot upload waits for the pending deletion of the snapshot (which happens only once the remote snapshot upload is done).

Restore a snapshot to a filesystem or another snapshot

Commands: weka fs restore or weka fs snapshot copy

Use the following command line to restore a filesystem from a snapshot:

weka fs restore <file-system> <source-name> [--preserved-overwritten-snapshot-name=preserved-overwritten-snapshot-name] [--preserved-overwritten-snapshot-access-point=preserved-overwritten-snapshot-access-point]

Use the following command line to restore a snapshot to another snapshot:

weka fs snapshot copy <file-system> <source-name> <destination-name> [--preserved-overwritten-snapshot-name=preserved-overwritten-snapshot-name] [--preserved-overwritten-snapshot-access-point=preserved-overwritten-snapshot-access-point]

Parameters

NameValueDefault

file-system*

A valid filesystem identifier

source-name*

Unique name for the source of the snapshot

destination-*name

Destination name to which the existing snapshot should be copied to.

preserved-overwritten-snapshot-name

A new name for the overwritten snapshot to preserve, thus allowing the IO operations continuity to the filesystem. If not specified, the original snapshot or active filesystem is overwritten, and IO operations to an existing filesystem might fail.

preserved-overwritten-snapshot-access-point

A directory that serves as the access point for the preserved overwritten snapshot.

If the preserved-overwritten-snapshot-name parameter is specified, but the preserved-overwritten-snapshot-access-pointparameter is not, it is created automatically based on the snapshot name.

When restoring a filesystem from a snapshot (or copying over an existing snapshot), the filesystem data and metadata are changed. If you do not specify the preserved-overwritten-snapshot-name parameter, ensure IOs to the filesystem are stopped during this time.

Update a snapshot

Command: weka fs snapshot update

This command changes the snapshot attributes. Use the following command line to update an existing snapshot:

weka fs snapshot update <file-system> <name> [--new-name=<new-name>] [--access-point=<access-point>]

Parameters

NameValue

file-system*

A valid filesystem identifier

name*

Unique name for the updated snapshot

new-name

New name for the updated snapshot

access-point

Name of a directory for the snapshot that serves as the access point for the snapshot

Access the .snapshots directory

The .snapshots directory is located in the root directory of each mounted filesystem. It is not displayed with the ls -la command. You can access this directory using the cd .snapshots command from the root directory.

Example

The following example shows a filesystem named default mounted to /mnt/weka.

To confirm you are in the root directory of the mounted filesystem, change into the .snapshots directory, and then display any snapshots in that directory:

[root@ip-172-31-23-177 weka]# pwd 
/mnt/weka 
[root@ip-172-31-23-177 weka]# ls -la 
total 0 
drwxrwxr-x 1 root root   0 Sep 19 04:56 . 
drwxr-xr-x 4 root root  33 Sep 20 06:48 .. 
drwx------ 1 user1 user1 0 Sep 20 09:26 user1 
[root@ip-172-31-23-177 weka]# cd .snapshots 
[root@ip-172-31-23-177 .snapshots]# ls -l 
total 0 
drwxrwxr-x 1 root root 0 Sep 21 02:44 @GMT-2023.09.21-02.44.38 
[root@ip-172-31-23-177 .snapshots]#

Retrieve snapshot details

Command: weka fs snapshot

Use the following command to retrieve snapshot details, such as its UID, local object locator, estimated reclaimable space, and metadata size:

weka fs snapshot [--file-system file-system] [--name name] [--output output]...
ParameterDescription

--file-system

Filesystem name

--name

Snapshot name

-o, --output...

Specify which columns to output. May include any of the following: uid, id, filesystem, name, access, writeable, created, local_upload_size, remote_upload_size, local_object_status, local_object_progress, local_object_locator, remote_object_status, remote_object_progress, remote_object_locator, removing, prefetched, est_reclaimable_size, metadata_size (may be repeated or comma-separated)

Last updated