How to use Unix file system snapshots

File system snapshots are a great Unix systems administration tool. Learn how to use them to copy database files with minimal downtime.

Snapshots can be a useful tool for administering a system and especially for keeping the system up during major

maintenance. A snapshot is a copy of a file system at a specific point in time, even while the original file system continues to be updated and used normally.

For example, snapshots can be quite useful for backups and for making copies of databases. Databases often exist in an unstable state during operation: that is, a flat database file copy does not result in a valid database that can be restored from. Most databases can be placed into a state where a copy can be made and a valid database file will result.

Combined with this capability, a snapshot can permit taking a copy of a database with minimal downtime - perhaps unnoticeable downtime.

The Veritas File System (and the related HP Online JFS) offer the capability to perform snapshots. Mounting a snapshot basically consists of mounting a prepared disk volume onto a standard mount point, but with a special option that specifies the original file system.

To make a Veritas File System snapshot, use the following command (such as under HP-UX using LVM):

mount -F vxfs -o snapof=/fs /dev/vg00/lvsnap /snap

This will take a snapshot of the file system mounted at /fs and mount it at /snap (using the logical volume /dev/vg00/lvsnap). The logical volume needs a file system just like a normal volume.

One thing to remember is that the snapshot volume will continue filling, so it can preserve the original view. If the snapshot is kept online too long, it will stop working. A snapshot is also transitory: a reboot will lose the snapshot.

HP has something called a Disk Checkpoint which does not require a separate snapshot volume and which is not transitory - it will survive a reboot. However, this is a new feature of HP-UX 11i v3 and will not be discussed here.

The Veritas file system snapshot should be available wherever the file system is used (such as under HP-UX or Solaris). Check your man pages for full details on the mount_vxfs(1) command.

ABOUT THE AUTHOR: David Douthitt (RHCE, LPIC1, SCSA, Linux+, CNA) is a UNIX Systems Administrator for a major healthcare software company. His blog is Unix Administratosphere, where he continues to write on UNIX, Linux and OpenVMS. He has also written two books on system administration. He still has his copy of Red Hat 2.0 and 4.4BSD.

This was first published in June 2008

Dig deeper on Unix servers



Enjoy the benefits of Pro+ membership, learn more and join.



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: