For optimal cluster performance, we recommend observing the following SnapshotIQ best practices. Some information may be covered elsewhere in this paper.
- Configure the cluster to take fewer snapshots, and for the snapshots to expire more quickly, so that less space will be consumed by old snapshots. Take only as many snapshots as you require and keep them active for only as long as you need them.
- Integration with Windows Volume Snapshot Manager allows Windows clients a method to restore from “Previous Versions”
- Snapshots are easily managed using flexible policies and schedules.
- Using SmartPools, snapshots can physically reside on a different disk tier than the original data.
- Recommend limiting snapshot creation to 1,024 per directory.
- The default snapshot limit is 20,000 per cluster.
- Avoid creating snapshots of directories that are already referenced by other snapshots. If you create a snapshot of a root directory, that snapshot counts towards the total number of snapshots for any subdirectories of the root directory. For example, if you create 500 snapshots of /ifs/data and 500 snapshots of /ifs/data/media, you have created 1000 snapshots of /ifs/data/media.
- It is recommended that you do not create more than 1000 hard links per file in a snapshot to avoid performance degradation.
- Always attempt to keep directory paths as shallow as possible. The deeper the depth of directories referenced by snapshots, the greater the performance degradation.
- If a cluster contains many old, unneeded snapshots taking up space, and no valid SnapshotIQ license, contact Dell Technical Support for assistance with deleting the old snapshots.
- Creating snapshots of directories higher on a directory tree will increase the amount of time it takes to modify the data referenced by the snapshot and require more cluster resources to manage the snapshot and the directory. However, creating snapshots of directories lower on directories trees will require more snapshot schedule, which can be difficult to manage.
- It is recommended that you do not create snapshots of /ifs. The main reason not to take a snapshot of /ifs is actually space: because OneFS stores /.ifsvar under /ifs, a snapshot of the /ifs directory will include /ifs/.ifsvar as well. The files within ifsvar are generally highly protected (8x mirrored), and many of them are written quite often. This can waste a lot of space, especially on a small cluster.
- Avoid taking snapshots of /ifs, /ifs/data, and /ifs/home in favor of more specific targets when possible. In particular, avoid taking nested snapshots, redundant snapshots, or overly scoped snapshots. For example, if you schedule snapshots of /ifs/data and /ifs/data/foo and /ifs/data/foo/bar, consider taking snapshots of only the intermediate or most granularly scoped part (/ifs/data/foo or /ifs/data/foo/bar).
- The recommendation is not to disable the snapshot delete job, since this prevents unused disk space from being freed and can also cause performance degradation.
- If you need to delete snapshots and there are down or smartfailed components, or the cluster is in an otherwise degraded state, contact Dell Technical Support for assistance.
- If the system clock is set to a time zone other than Coordinated Universal Time (UTC), SnapshotIQ modifies snapshot duration periods to match Daylight Savings Time (DST). Upon entering DST, snapshot durations are increased by an hour to adhere to DST; when exiting DST, snapshot durations are decreased by an hour to adhere to standard time.
- If you intend on reverting snapshots for a directory, it is recommended that you create SnapRevert domains for those directories while the directories are empty. Creating a domain for a directory that contains less data takes less time.
- Delete snapshots in order, beginning with the oldest. Where possible, avoid deleting snapshots from the middle of a time range. Newer snapshots are mostly pointers to older snapshots and appear larger than they really are. Removing the newer snapshots will not free up much space. Deleting the oldest snapshot ensures you will actually free up the space. You can determine snapshot order (if not by name or date) by using the ‘isi snapshot list -l’ command. The snapshot IDs (first column) are non-conserved, serial values.
- Create several snapshot schedules for a single directory, and then assign different snapshot duration periods for each schedule. Ensure that all snapshots are created simultaneously when possible.
- Do not delete SyncIQ snapshots (snapshots with names that start with SIQ), unless the only remaining snapshots on the cluster are SyncIQ snapshots, and the only way to free up space is to delete those SyncIQ snapshots. Deleting SyncIQ snapshots resets the SyncIQ policy state, which requires a reset of the policy and potentially a full sync or initial diff sync. A full sync or initial diff sync could take many times longer than a regular snapshot-based incremental sync.
- Avoid storing all snapshot data on lowest tier node pools. Where possible, snapshot data should live on the same tier as the production data that it protects. If all snapshot data gets tiered to the archive pool, it will slow the more performant pool(s) down to the speed of the archive nodes for any write operation that needs to save modified data in a snapshot.
Note: If the oldest snapshot is a SyncIQ snapshot and you do not want to delete it, you can delete the next-oldest snapshot. Even if the next-oldest snapshot is in the same path, you will still free up some amount of data.