NOTE: This topic is part of the Uptime Information Hub.
Best Practices for Working with Snapshots in OneFS
If you want to capture a moment in time with a camera, you snap a picture. When you want to preserve your cluster data at a moment in time with the EMC Isilon OneFS operating system, you take a snapshot. With the SnapshotIQ software module, you can take a snapshot of the data you want, when you want it, using automated snapshot schedules.
Snapshots can be used to protect data against accidental deletion or modification. If users modify files and later determine that the changes were unnecessary or unwanted, they can revert the files to an earlier state, often without the assistance of a system administrator. To see a high-level example of how to use SnapshotIQ to revert a file to an earlier state, watch the video, EMC Isilon Data Protection and Disaster Recovery video.
In this article, you will learn about how snapshots work and best practices for managing them.
How Snapshots Work in OneFS
A snapshot is a logical pointer to data that is stored on a cluster at a specific point in time. A snapshot targets a directory on a cluster, and includes all data stored in that directory and its subdirectories. This is in contrast to the traditional operating system snapshot approach, where snapshots are taken at a file system or volume boundary.
SnapshotIQ is a licensed software module. Whether you license SnapshotIQ or not, OneFS uses snapshots for some cluster tasks, such as snapshot-based incremental NDMP tape backups and SyncIQ failover and failback data recovery operations.
When a snapshot is created, it uses a negligible amount of space on the cluster. The snapshot does not consume additional space unless the data referenced by the snapshot is modified. When a data block is modified, the snapshot stores a read-only copy of the original data block. For example, in Figure 2, a snapshot is taken at 1 PM. At this time, the snapshot contains only pointers to data blocks on the live version of the file system. Then at 2 PM, two of the data blocks are modified. The snapshot stores read-only copies of the original data blocks that were modified and maintains pointers to the original blocks that have not been modified.
You can generate snapshots in two ways: one-time manual snapshots and scheduled snapshots. One-time snapshots can be created on demand, but the most common method is to use schedules to generate snapshots. You can configure snapshots for daily, monthly, and yearly schedules, and snapshots can be scheduled to be taken multiple times a day.
A benefit of snapshot schedules is that you do not have to manually create a snapshot every time you want to take one. Also, you can also assign an expiration period to snapshots, so that they will be automatically deleted by the SnapshotDelete job. OneFS routinely runs snapshot delete jobs according to your snapshot schedule. Additional cluster resources are required by the SnapshotDelete job to automatically delete a large number of stored snapshots.
You should avoid creating overlapping schedules. For example, when scheduling daily snapshots, we recommend keeping the daily snapshots for 30 days and then scheduling SnapshotIQ to delete them once a month. This practice consumes less Job Engine resources.
SnapshotIQ Best Practices
You may find that a large number of snapshots is challenging to manage. Consider the following best practices to improve snapshot management and avoid cluster performance degradation.
- Do not create more than 1,024 snapshots per directory.
- Configure the cluster to take only as many snapshots as you need.
- Do not disable the SnapshotDelete job in the OneFS Job Engine.
- Consider the depth of the directory path when creating snapshots. If the path is too high on the directory tree, it will consume more cluster resources to modify data referenced by the snapshot. If the path is too deep, you may need to create more snapshot schedules, which can be difficult to manage.
- Avoid taking nested or redundant snapshots or overly scoped snapshots. For example, if you schedule snapshots of /ifs/data , /ifs/data/home , and /ifs/data/home/user, consider taking snapshots of only the intermediate or most granularly scoped part (/ifs/data/home or /ifs/data/home/user).
- Create an alias name for your snapshot schedules. Use the alias name to look up the most recent snapshot generated from a schedule.
- If you have a lot of old, unneeded snapshots taking up cluster space, and you do not have a SnapshotIQ license, contact EMC Isilon Technical Support for assistance deleting the old snapshots.
For additional information about snapshots, refer to the OneFS Snapshots--Tech Overview article.