All of lore.kernel.org
 help / color / mirror / Atom feed
* [ANNOUNCE] dds snapshot based remote async replication
@ 2010-06-27 18:38 Christophe Varoqui
  0 siblings, 0 replies; only message in thread
From: Christophe Varoqui @ 2010-06-27 18:38 UTC (permalink / raw)
  To: dm-devel

Hi,

dds is a small GPLv2-licensed C program I developed to replicate LVM2
logical volumes to bandwidth-constrained targets (primarily off-site
nodes for disaster recovery). It's main use-case is to replicate opaque
logical volume, like those given to virtual machine as virtual disks.

On source, dds parses a snapshot COW metadata and extracts changed data
from a tiers block device. Data and metadata can be dumped to a file or
piped (the format is the same as the LVM2 dedicated COW devices).

On target, dds parses a COW-file (generated by dds on source) or stdin,
and applies deltas to a specified file or block device.


Example command:

dds --extract --cow /dev/mapper/unxtstsvc02-data_osvc_snap1-cow
--source /dev/unxtstsvc02/data_osvc_snap2 | /usr/bin/ssh vm5 dds --merge
--dest /tmp/dds.img -v

Output of the remote dds execution:

Snapshot header:
  magic             0x70416e53
  version           1
  valid             yes
  chunk_size        4 KB
Report:
  Exception chunks  11
  Exceptions        2728
  Output size meta  48 KB
  Output size data  10912 KB
  Output size total 10960 KB


dds pros:
o low cpu resource overhead
o low bandwidth usage: only delta are synced
o cleanly wrapped into OpenSVC as a replication strategy

dds cons:
o no easy way to verify src/dst integrity (checksumming the whole src/dst is not fair)
o async only: hourly to daily is the reasonable range
o need free extents in the VG to create 1 long-lived snap to keep track of changed extents and 1 short-lived snap to extract fresh data from
o need to run a full sync in case of a corruption
o the target device is corrupted during the sync: the snap merge-back feature integration would provide a clean way to address this problem

OpenSVC is a clustered service manager embedding data replication drivers.
More details on OpenSVC integration at http://www.opensvc.com/

dds source file is tracked at http://git.opensvc.com/
Comments and reviews are welcome.

Regards,

-- 
Christophe Varoqui <christophe.varoqui@opensvc.com>
OpenSVC

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-06-27 18:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-27 18:38 [ANNOUNCE] dds snapshot based remote async replication Christophe Varoqui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.