ZODB/ZSS High Availablity, was: RE: [Zope] Zope Myths?

sean.upton@uniontrib.com sean.upton@uniontrib.com
Fri, 13 Sep 2002 08:30:50 -0700


I can't remember who all is doing it, but I think network-replicated block
devices are pretty popular for this kind of thing; I distinctly remember
someone on a mailing list mentioning they were doing this with Zope and/or
ZEO (might be worth a search of archives, perhaps on ZODB-dev?).  I think
that in some circles, DRBD is preferred to NBD, but I don't claim to be an
expert on that (check out links on the Linux-HA.org site, perhaps).

The downside to doing this is that you can't keep two distinct copies of the
storage (the last good known copy, and the last replicated copy), since you
are replicating at a much lower level.  In this sense, you will need to rely
on consistency checks alone to get a partially messed-up storage working on
the failure of the primary node, and startup of the secondary node resources
and IP takeover.

Sean

-----Original Message-----
From: Oliver Bleutgen [mailto:myzope@gmx.net]
Sent: Friday, September 13, 2002 1:00 AM
To: sean.upton@uniontrib.com
Cc: pw_lists@slinkp.com; zope@zope.org
Subject: Re: ZODB/ZSS High Availablity, was: RE: [Zope] Zope Myths?


sean.upton@uniontrib.com wrote:
> Thought about this using Intermezzo - basically the same idea.   I think
the
> problem is that these are on-demand replication mechanisms that get the
file
> when they need it instead of push-to-other-node-on-write sort of deals.
I'm
> not posive about that.  The other problem is how these filesystems handle
> changes to large files (like FileStorage). 
> 
> There, might, in theory, be a way to integrate this with something like
> DirectoryStorage, but I think you would need to do some heavy scripting to
> get things to work just right (perhaps to the point that you might as well
> manually set up scripts to low-tech replicate files?).


Hmm, has someone taken a look a ndb (network block device) for linux?
This might be a cheap (low tech) solution for doing 
"push-to-other-node-on-write". I'm asking, because I have not tried it, 
but always wanted to.

http://nbd.sourceforge.net/

http://www.it.uc3m.es/~ptb/nbd/


"""The intended use is for RAID over the net. You can make an NBD device 
part of a RAID mirror in order to get real time mirroring to a distant 
(and safe!) backup. To make it clear: start up an NBD connection to a 
distant ENBD server, and use its local device (probably /dev/nda) where 
you would normally use a local partition in a RAID setup.

The original kernel device has been hardened in many ways: The ENBD uses 
block-journaled multichannel communications; there is internal failover 
and automatic balancing between the channels; the client and server 
daemons restart, authenticate and reconnect after dying or loss of 
contact; the code can be compiled to take the networking transparantly 
over SSL channels (see the Makefile for the compilation options).
"""


cheers,
oliver