Filesystem replication geom proposal

Ivan Voras ivoras at freebsd.org
Sun Jun 22 19:08:32 UTC 2008


Hywel Mallett wrote:
> FreeBSD doesn't have a defined method of replicating data between two 
> servers, for HA/DR purposes, similar to Veritas Volume Replicator. Linux 
> has DRDB (http://www.drbd.org/) which isn't quite the same, and someone 
> has tried using gmirror and ggate to have a mirror across teo systems, 
> but neither of those can cope well with a disconnected network, or a 
> slow network link.
> I was wondering if there would be any interest in creating a new geom 
> provider to solve this problem. I can see that questions about this 
> functionality have been asked on the mailing lists before, and I've 
> drawn up some initial thoughts aand ideas at 
> http://www.hmallett.co.uk/computing-mainmenu-49/72-computing/124-open-source-replicated-filesystems.html 

Hmmm. If I understand your proposal, you want to create IO journals on 
both the master and the slave, then replicate journal data from the 
master to the slave, then replay the journal on the slave? This looks 
like a lot of work for something that looks like it could be implemented 
by a linked list in the kernel (to achieve aynchronous operation).

The DCM looks like an alternative to the above "transactional" method of 
replication - it looks like instead of asynchronously replaying the 
transaction log, you constantly replicate the DCM to the slave (or at 
least the changed bits), and then the slave asks the server to send the 
blocks corresponding to what's marked as changed in the DCM, right?

Regarding swapping the master/slave roles: I think you need a fsck step 
somewhere in there, or the same tricks gjournal uses (hooks into UFS) 
since the file system will be marked dirty if you suddenly stop using 
it. Also, to manually force the failover, the master needs to umount the 
file system, probably with "-f". Will it work?

Of course, if you think the things you proposed will solve reliable 
replication of data across the network, go ahead :) But since 
ggate+gmirror has already tried to solve this, maybe you'd be interested 
in increasing their reliability, as an exercise before trying something 
from scratch?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-geom/attachments/20080622/f76dfe59/signature.pgp


More information about the freebsd-geom mailing list