Philip Brown
2012-Mar-12 20:51 UTC
[zfs-discuss] zrep initial release (replication with failover)
I''m happy to announce the first release of zrep (v0.1) http://www.bolthole.com/solaris/zrep/ This is a self-contained "single executable" tool, to implement synchronization *and* failover of an active/passive zfs filesystem pair. No configuration files needed: configuration is stored in the zfs filesystem properties. Setting up replication, is a simple 2 step process (presuming you already have root ssh trust set up) 1. zrep init pool/myfs remotehost remotepool/remotefs (This will create, and sync, the remote filesystem) 2. zrep sync pool/myfs (or if you prefer, zrep sync all) Do this manually, or crontab it,or.... will automatically switch roles, making the src, the destination, and vice versa. You can then in theory set up "zrep sync -q SOME_SEC all" as a cronjob on both sides, and then forget about it. (although you should note that it currently is only single-threaded) Failover is equally simple: zrep failover pool/myfs zrep uses an internal locking mechanism to avoid problems with overlapping operations on a filesystem. zrep automatically handles serialization of snapshots. It uses a 6 digit hex serial number, of the form @zrep_###### It can thus handle running once a minute, every minute, for 11650 days. Or, over 30 years By default it only keeps the last 5 snapshots, but that''s tunable via a property. Simple usage summary: zrep (init|-i) ZFS/fs remotehost remoteZFSpool/fs zrep (sync|-S) ZFS/fs zrep (sync|-S) all zrep (status|-s) [ZFS/fs] zrep (list|-l) [-v] [ZFS/fs] zrep (expire|-e) [-L] (ZFS/fs ...)|(all)|() zrep (changeconfig|-C) ZFS/fs remotehost remoteZFSpool/fs zrep failover [-L] ZFS/fs zrep takeover [-L] ZFS/fs zrep clear ZFS/fs -- REMOVE ZREP CONFIG AND SNAPS FROM FILESYSTEM