Point-in-time, near zero-cost, block level snapshots can be added to any existing filesystem and performance does not degrade with multiple snapshots.
Remote replication is achieved by sending minimal block level deltas between snapshots without having to traverse the entire filesystem like rsync does.
Zumastor is Free software that adds enterprise storage features (primarily improved snapshots and remote replication) to Linux.
You can read all about it in the Zumastor Howto. The current release is 0.6, which adds experimental support for offline resizing.
Prebuilt Debian/Ubuntu packages are available at zumastor.org/downloads/releases.
- Dan Phillips' bio throttling patch, part of how we prevent deadlock during memory pressure. See lkml discussion from 6 Dec 2007 and coverage at LWN.NET.
- Dan Phillips' PR_SET_MEMALLOC/PR_SET_LESS_THROTTLE patch, other part of how we prevent deadlock during memory pressure. (Any user app that's in the block writeout path needs to be written very carefully to avoid memory recursion deadlock; in particular, it should probably use mlockall, never allocate any memory while handling a write request (modulo a few KB of Heisenslop), and it should set PF_LESS_THROTTLE|PF_MEMALLOC using prctl, as provided for by this patch.) (Mixed in with the ddsnap stuff for now, sorry; ignore everything but the changes to include/linux/prctl.h and kernel/sys.c.)
- NFS suspend patch, part of how we make new snapshots available via the NFS server as they arrive from remote sites