From mboxrd@z Thu Jan 1 00:00:00 1970 From: heinzm@redhat.com Subject: [PATCH v6 0/4] dm-replicator: introduce new remote replication target Date: Fri, 18 Dec 2009 16:44:29 +0100 Message-ID: <1261151073-25962-1-git-send-email-heinzm@redhat.com> Reply-To: device-mapper development Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: dm-devel@redhat.com Cc: Heinz Mauelshagen List-Id: dm-devel.ids From: Heinz Mauelshagen * 6th version of patch series (initial version dated Oct 23 2009) * Rebased to 2.6.33-rc1 (dm-dirty-log interface change). Fixed some sparse warnings spotted by Alasdair (make C=1). This is a series of 4 patches introducing the device-mapper remote data replication target "dm-replicator" to kernel 2.6. Userspace support for remote data replication will be in a future LVM2 version. The target supports disaster recovery by replicating groups of active mapped devices (ie. receiving io from applications) to one or more remote sites to paired groups of equally sized passive block devices (ie. no application access). Synchronous, asynchronous replication (with fallbehind settings) and temporary downtime of transports are supported. It utilizes a replication log to ensure write ordering fidelity for the whole group of replicated devices, hence allowing for consistent recovery after failover of arbitrary applications (eg. DBMS utilizing N > 1 devices). In case the replication log runs full, it is capable to fall back to dirty logging utilizing the existing dm-log module, hence keeping track of regions of devices wich need resynchronization after access to the transport returned. Access logic of the replication log and the site links are implemented as loadable modules, hence allowing for future implementations with different capabilities in terms of additional plugins. A "ringbuffer" replication log module implements a circular ring buffer store for all writes being processed. Other replication log handlers may follow this one as plugins too. A "blockdev" site link module implements block devices access to all remote devices, ie. all devices exposed via the Linux block device layer (eg. iSCSI, FC). Again, other eg. network type transport site link handlers may follow as plugins. Please review for upstream inclusion. Heinz