[OpenIndiana-discuss] ZFS High-Availability and Sync Replication
Sašo Kiselkov
skiselkov.ml at gmail.com
Thu Nov 15 14:06:52 UTC 2012
On 11/15/2012 12:48 PM, Dan Swartzendruber wrote:
> How sophisticated does it need to be? I do 5-min dataset-based replication
> to a remote pool using zrep, but that's all I use it for - a backup...
Well, it's more of a question of mapping out the landscape of available
tools. Async replication with no automatic failover is easy enough to do
using periodic point-in-time snapshots, as you write. I was hoping
there'd be something more akin to DRBD or such like, i.e. some
cluster-aware logic behind it, something that can automatically switch
over sharing services (or something I can use to implement such an
automatic switchover, such as corosync/pacemaker), etc. In general, I've
identified these possible HA/replication scenarios:
1) Shared-nothing nodes, i.e. separate heads & JBODs
a) periodic async replication, run zrep/zynk/whatever every few
minutes/seconds to send over the diffs to snapshots
b) AVS for continuous sync/async replication
2) Shared-storage nodes, i.e. separate heads with shared JBODs
In case 1 I need to handle two things:
A) shipping the deltas over to the other node
B) ensuring fail-over in case one node goes down (i.e. promote the
slave to a master, enable file sharing services, take over IPs and
possibly reverse the replication flow)
In case 2 I only need to handle the fail-over, as the data is the same,
but I need to handle it with very high reliability - a split brain in
this case would be catastrophic (perhaps by doing a STONITH on the other
node's PDUs).
I could code this myself, but then I suspect I'd be reinventing the
wheel. This problem certainly isn't unique to myself and there's a good
chance somebody already took care of it. Sadly, though, my Google
searches haven't been very fruitful so far.
Cheers,
--
Saso
More information about the OpenIndiana-discuss
mailing list