This page describes how to preserve the state of your Filestore data using snapshots. To learn more about snapshots, see Snapshots.
Supported tiers
The following table shows the Filestore tiers that support snapshots:
Tier | Snapshots support |
---|---|
Basic HDD | No |
Basic SSD | No |
High Scale SSD | No |
Enterprise | Yes |
Create a snapshot
You can create a snapshot of an instance using one of the following methods:
Google Cloud console
In the Google Cloud console, go to the Filestore instances page.
Click the instance that you want to create a snapshot of.
Click the Snapshots tab and then click Create snapshot.
For Snapshot ID, enter a name for the snapshot. The file share name and snapshot ID can have a combined length of up to 77 characters.
Optional: Add a description or labels to the snapshot.
Click Create.
gcloud CLI
To create a snapshot of an instance, run the instances snapshots create
command:
gcloud filestore instances snapshots create SNAPSHOT_ID \
--instance=INSTANCE_ID \
--instance-region=REGION \
[--description=DESCRIPTION] \
[--labels=KEY=LABEL]
Replace the following:
- SNAPSHOT_ID with the name that you want to give the snapshot. The file share name and snapshot ID can have a combined length of up to 77 characters.
- INSTANCE_ID with the name of the instance that you want to create a snapshot for.
- REGION with the region of the instance.
Example
The following command creates a snapshot of file share vol1
on the instance
nfs-server
, which is located in us-central1
. The snapshot is named
nfs-server-snapshot
.
gcloud filestore instances snapshots create nfs-server-snapshot \
--instance=nfs-server \
--instance-region=us-central1 \
List, view, update, and delete snapshots
You can list, view, update, and delete snapshots.
Google Cloud console
To manage your snapshots in the Google Cloud console:
Go to the Filestore instances page.
Click on the instance ID of the instance that you want to view snapshots of.
Click the Snapshots tab.
From the Snapshots tab:
- To see details about a snapshot, click its snapshot ID.
- To edit a snapshot, click Edit in the snapshots details page.
- To delete a snapshot:
- Click the snapshot ID of the snapshot that you want to delete.
- Click Delete.
- When prompted, type the snapshot ID.
- Click Delete.
gcloud CLI
List all snapshots in your current project
To view a list of snapshots for an instance, run the instances snapshots list
command:
gcloud filestore instances snapshots list \
--instance=INSTANCE_ID \
--instance-region=REGION
Replace the following:
- INSTANCE_ID with the name of the instance that you want to list snapshots of.
- REGION with the region of the instance.
View information about a snapshot
To view information about a snapshot, run the instances snapshots describe
command:
gcloud filestore instances snapshots describe SNAPSHOT_ID \
--instance=INSTANCE_ID \
--instance-region=REGION
Replace the following:
- SNAPSHOT_ID with the name that you want to give the snapshot.
- INSTANCE_ID with the name of the instance which the snapshot belongs to.
- REGION with the region of the instance which the snapshot belongs to.
Update a snapshot
To update a snapshot, run the instances snapshots update
command:
gcloud filestore instances snapshots update SNAPSHOT_ID \
--instance=INSTANCE_ID \
--instance-region=REGION \
[--description="NEW-DESCRIPTION"] \
[--update-labels=KEY=VALUE,...]
Replace the following:
- SNAPSHOT_ID with the name that you want to give the snapshot.
- INSTANCE_ID with the name of the instance which the snapshot belongs to.
- REGION with the region of the instance which the snapshot belongs to.
- NEW-DESCRIPTION with a new description of the snapshot.
- KEY=VALUE,... with a list of
KEY=VALUE
pairs that you want to update. If a label exists, its value is updated, otherwise a new label is created.
Delete a snapshot
Snapshot deletion is a long running operation that can take multiple hours to complete, depending the number of files involved.
To delete a snapshot, run the instances snapshots delete
command:
gcloud filestore instances snapshots delete SNAPSHOT_ID \
--instance=INSTANCE_ID \
--instance-region=REGION \
Replace the following:
- SNAPSHOT_ID with the name that you want to give the snapshot.
- INSTANCE_ID with the name of the instance which the snapshot belongs to.
- REGION with the region of the instance which the snapshot belongs to.
Restore data
You can restore individual files from a snapshot or revert the entire file share to a snapshot state.
Restore individual files
To restore a file to a previous state that's captured in a snapshot, run the following command from a client VM that has the instance mounted:
sudo cp -pa DIR/.snapshot/SNAPSHOT_ID/FILE DIR
Example
If you want to restore file foo/bar.txt
to the state preserved in snapshot
snap2
, run:
sudo cp -pa foo/.snapshot/snap2/bar.txt foo/
Revert file share to a snapshot state
A revert operation may take several hours to complete, depending on the number of files involved. You must wait for the revert operation to complete before starting another revert operation.
To revert a file share to the state captured in a snapshot:
Unmount the file share from clients:
sudo umount mount-point-directory
Revert the file share to a snapshot state using the
instances revert
command:gcloud beta filestore instances revert INSTANCE_ID \ --target-snapshot=SNAPSHOT_ID \ --location=LOCATION
Replace the following:
- INSTANCE_ID with the ID of the instance that you want to revert.
- SNAPSHOT_ID with the ID of the snapshot you want to revert to.
- LOCATION with the location of the instance.
You must wait for the revert operation to complete before you can start another
revert operation for the instance. The instance can be mounted on clients once
it has changed from the REVERTING
state to the READY
state, which can take a
few minutes. However, the space reclamation process can take up to several hours
to complete. During this process, the reclaimed space becomes available
gradually until the long running operation finishes and all reclaimed space is
available.