How to use Unix file system snapshots

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,

Requires Free Membership to View

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

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

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:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.