Snapshots on CFS
A snapshot provides a consistent point-in-time image of a VxFS file system. A snapshot can be accessed as a read-only mounted file system to perform efficient online backups of the file system. Snapshots implement copy-on-write semantics that incrementally copy data blocks when they are overwritten on the snapped file system (see the VERITAS File System Administrator's Guide). Snapshots for cluster file systems extend the same copy-on-write mechanism for the I/O originating from any node in the cluster.
Cluster Snapshot Characteristics
-
A snapshot for a cluster mounted file system can be mounted on any node in a cluster. The file system can be a primary, secondary, or secondary-only. A stable image of the file system is provided for writes from any node.
-
Multiple snapshots of a cluster file system can be mounted on the same or a different node in a cluster.
-
A snapshot is accessible only on the node mounting a snapshot. The snapshot device cannot be mounted on two different nodes simultaneously.
-
The device for mounting a snapshot can be a local disk or a shared volume. A shared volume is used exclusively by a snapshot mount and is not usable from other nodes in a cluster as long as the snapshot is active on that device.
-
On the node mounting a snapshot, the snapped file system cannot be unmounted while the snapshot is mounted.
-
A CFS snapshot ceases to exist if it is unmounted or the node mounting the snapshot fails. A snapshot, however, is not affected if any other node leaves or joins the cluster.
-
A snapshot of a read-only mounted file system cannot be taken. It is possible to mount snapshot of a cluster file system only if the snapped cluster file system is mounted with the crw option.
Performance Considerations
Mounting a snapshot file system for backup increases the load on the system because of the resources used to perform copy-on-writes and to read data blocks from the snapshot. In this situation, cluster snapshots can be used to do off-host backups. Off-host backups reduce the load of a backup application from the primary server. Overhead from remote snapshots is small when compared to overall snapshot overhead. Therefore, running a backup application by mounting a snapshot from a relatively less loaded node is beneficial to overall cluster performance.
Creating a Snapshot on a Cluster File System
The following example shows how to create and mount a snapshot on a two-node cluster using CFS administrative interface commands.
To create a snapshot on a cluster file system
-
Create a VxFS file system on a shared VxVM volume:
# mkfs –F vxfs /dev/vx/rdsk/cfsdg/vol1
version 4 layout
104857600 sectors, 52428800 blocks of size 1024, log size 16384 blocks
unlimited inodes, largefiles not supported
52428800 data blocks, 52399152 free data blocks
1600 allocation units of 32768 blocks, 32768 data blocks
-
Mount the file system on all nodes (following previous examples, on system01 and system02):
# cfsmntadm add cfsdg vol1 /mnt1 all=cluster
# cfsmount /mnt1
The cfsmntadm command adds an entry to the cluster manager configuration, then the cfsmount command mounts the file system on all nodes.
-
Add the snapshot on a previously created volume (snapvol in this example) to the cluster manager configuration:
# cfsmntadm add snapshot cfsdg snapvol /mnt1 /mnt1snap \ system01=ro
Note
The snapshot of a cluster file system is accessible only on the node where it is created; the snapshot file system itself cannot be cluster mounted.
-
Mount the snapshot:
# cfsmount /mnt1snap
-
A snapped file system cannot be unmounted until all of its snapshots are unmounted. Unmount the snapshot before trying to unmount the snapped cluster file system:
# cfsumount /mnt1snap
|