Zetaback is a thin-agent based ZFS backup tool. This freely downloadable tool is designed to:
- run from a central host
- scan clients for new ZFS filesystems
- manage varying desired backup intervals (per host) for full backups and incremental backups
- maintain varying retention policies (per host)
- summarize existing backups
- restore any host:fs backup at any point in time to any target host
Hosted by OmniTI Labs, the zetaback program orchestrates the backup (either full or incremental) of remote ZFS filesystems to a local store. It handles frequency requirements for both full and incremental backups as well as retention policies. In addition to backups, the zetaback tool allows for the restore of any backup to a specified host and zfs filesystem.
The zetaback configuration file consists of a default stanza, containing settings that can be overridden on a per-host basis. A stanza begins either with the string 'default', or a fully-qualified hostname, with settings enclosed in braces ({}). Single-line comments begin with a hash ('#'), and whitespace is ignored, so feel free to indent for better readability. Every host to be backed up must have a host stanza in the configuration file.
The client-side component of zetaback is the zetaback_agent, which handles requests from zetaback and performs the requested operations on a host. Normally zetaback_agent is only called by zetaback and should never need to be invoked directly.
The zetaback_agent configuration file contains a pattern list of ZFS filesystems to be backed up. The pattern list is a Perl-compatible regular expression (PCRE). Only one 'pattern=' line is permitted. The pattern acts as a filter to reduce the list of filesystems to be backed up. Further exclusions from this list are possible by setting a user property on any filesystem that should not be backed up, even if it matches the pattern.
Prerequisites for using zetaback include a backup host with a large amount of disk space; SSH in place where a user on the backup server can perform a password-less remote login to the clients (using ssh keys) and execute the agent script as root; Perl 5 on client and server; and ZFS tools installed on client.
David Brodbeck, system administrator for the Linguistics department at the University of Washington, shared his experience in working with zetaback:
"Now that it's all set up, I gotta say, I think zetaback is the best thing since sliced bread for backing up big file servers. We have an OpenSolaris file server with about 3TB of data, mostly in home directories. The kind of work my users do means that a lot of this data is in millions of small files. A full backup via rsync took a week; even a mostly empty incremental would take several hours due to rsync having to walk the tree and stat all those files. zetaback did a full backup in about two and a half days (mostly limited by the CPU speed of my backup server, since I'm using gzip compression) and an incremental took less than half an hour."
More Information
zetaback ZFS backup and recovery management system - Home Page, includes download
zetaback Documentation
zetaback_agent Documentation
[...read more...]