8.13. User Serviceable Snapshots User Serviceable Snapshot is a quick and easy way to access data stored in snapshotted volumes. This feature is based on the core snapshot feature in Red Hat Gluster Storage. With User Serviceable Snapshot feature, you can access the activated snapshots of the snapshot volume. Consider a scenario where a user wants to access a file test.txt which was in the Home directory a couple of months earlier and was deleted accidentally. You can now easily go to the virtual .snaps directory that is inside the home directory and recover the test.txt file using the cp command. Note User Serviceable Snapshot is not the recommended option for bulk data access from an earlier snapshot volume. For such scenarios it is recommended to mount the Snapshot volume and then access the data. For more information see, Chapter 8, Managing Snapshots Each activated snapshot volume when initialized by User Serviceable Snapshots, consumes some memory. Most of the memory is consumed by various house keeping structures of gfapi and xlators like DHT, AFR, etc. Therefore, the total memory consumption by snapshot depends on the number of bricks as well. Each brick consumes approximately 10MB of space, for example, in a 4x3 replica setup the total memory consumed by snapshot is around 50MB and for a 6x3 setup it is roughly 90MB. Therefore, as the number of active snapshots grow, the total memory footprint of the snapshot daemon (snapd) also grows. Therefore, in a low memory system, the snapshot daemon can get OOM killed if there are too many active snapshots 8.13.1. Enabling and Disabling User Serviceable Snapshot To enable user serviceable snapshot, run the following command: For example: Activate the snapshot to access it via the user serviceable snapshot: To disable user serviceable snapshot run the following command: For example: 8.13.2. Viewing and Retrieving Snapshots using NFS / FUSE For every snapshot available for a volume, any user who has access to the volume will have a read-only view of the volume. You can recover the files through these read-only views of the volume from different point in time. Each snapshot of the volume will be available in the .snaps directory of every directory of the mounted volume. Note To access the snapshot you must first mount the volume. For NFS mount refer Section 6.3.2.2.1, "Manually Mounting Volumes Using Gluster NFS (Deprecated)" for more details. Following command is an example. For FUSE mount refer Section 6.2.3.2, "Mounting Volumes Manually" for more details. Following command is an example. The .snaps directory is a virtual directory which will not be listed by either the ls command, or the ls -a option. The .snaps directory will contain every snapshot taken for that given volume as individual directories. Each of these snapshot entries will in turn contain the data of the particular directory the user is accessing from when the snapshot was taken. To view or retrieve a file from a snapshot follow these steps: Go to the folder where the file was present when the snapshot was taken. For example, if you had a test.txt file in the root directory of the mount that has to be recovered, then go to that directory. Note Since every directory has a virtual .snaps directory, you can enter the .snaps directory from here. Since .snaps is a virtual directory, ls and ls -a command will not list the .snaps directory. For example: Go to the .snaps folder Run the ls command to list all the snaps For example: Go to the snapshot directory from where the file has to be retrieved. For example: Copy the file/directory to the desired location. 8.13.3. Viewing and Retrieving Snapshots using CIFS for Windows Client For every snapshot available for a volume, any user who has access to the volume will have a read-only view of the volume. You can recover the files through these read-only views of the volume from different point in time. Each snapshot of the volume will be available in the .snaps folder of every folder in the root of the CIFS share. The .snaps folder is a hidden folder which will be displayed only when the following option is set to ON on the volume using the following command: After the option is set to ON , every Windows client can access the .snaps folder by following these steps: In the Folder options, enable the Show hidden files, folders, and drives option. Go to the root of the CIFS share to view the .snaps folder. Note The .snaps folder is accessible only in the root of the CIFS share and not in any sub folders. The list of snapshots are available in the .snaps folder. You can now access the required file and retrieve it. You can also access snapshots on Windows using Samba. For more information see, Section 6.4.8, "Accessing Snapshots in Windows" .

Commands:
gluster volume set VOLNAME features.uss enable
gluster volume set test_vol features.uss enable volume set: success
gluster snapshot activate < snapshot-name >
gluster volume set VOLNAME features.uss disable
gluster volume set test_vol features.uss disable volume set: success
mount -t nfs -o vers=3 server1:/test-vol /mnt/glusterfs
mount -t glusterfs server1:/test-vol /mnt/glusterfs
cd /mnt/glusterfs
ls -a ....Bob John test1.txt test2.txt
cd .snaps
ls -p snapshot_Dec2014/ snapshot_Nov2014/ snapshot_Oct2014/ snapshot_Sept2014/
cd snapshot_Nov2014
ls -p John/ test1.txt test2.txt
cp -p test2.txt USDHOME
gluster volume set volname features.show-snapshot-directory on