[DRBD-user] DRBD (XFS) + Pacemaker + Corosync with 2 node and arbiter (virtual node) for no split brain: Stonith, Quorum needed?

Digimer lists at alteeve.ca
Thu Sep 18 08:09:45 CEST 2014

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

On 17/09/14 01:23 PM, aTTi wrote:
> Hi!
> I want build a DRBD cluster, with no special primary/primary function,
> just a normal primary and passive secondary node, as standard.
> I will use XFS file system with Centos 7 with 2 NIC: eth0 for switch and
> for internet, eth1 for direct cable (crosslink) to other server.
> I will define 2 ring: ring 0: eth1 crosslink connection, ring1: eth0
> connection. I hope normally never will use the ring1, just the ring0.
> If I had just this 2 server with extra direct cable connection, 'split
> brain' can happen (someone unplug all network cable from server 1 or
> from server 2, for example).
> I had more normal servers. I want to find the best solution, because I
> don't want split brain and lost data. Also I don't want fix manually the
> problems if I can find a solution what helps to (near) never happing
> split brain, or other DRBD killer disaster...
> My 3. server is near same hardware as server 1 and server 2 with a low
> load. If needed I had server 4 too, with a little bigger load with same
> hardware as server 3. I just want a safe, clear and simple DRBD solution.
> My 4 ideas / plans:
> 1. use 3. server as virtual node (arbiter). Question: how? Using server
> 3 helps to avoid split brain situation?
> 2. use 3. server as backup server with iSCSI. (3. server also in same
> gigabit switch) It's good idea? This solution can helps to avoid split
> brain?
> 3. use the server 3 as stacked node with DRBD, I found this:
> http://www.drbd.org/users-guide-8.3/s-pacemaker-floating-peers.html
> It helps to avoid split brain?
> 4. I add as normal passive node my 3. server for DRBD. It will be
> problem for me because no direct connection for all 3 servers. I don't
> want this way.
> What is the best? I don't want make any new solution. I just want a
> safe, working DRBD. If 3. server not needed for that, I also not will
> use this, just 2. But I think 3. server can help to be more safe this
> DRBD cluster. Please help me to make that.
> My plan:
> using my server 3 for make safer my DRBD (in server 1 and server 2) and
> make backup from that 2 server.
> I just want real safe my data from server 1 + server 2.
> For 2 node, Stonith recommended. I also want to use that.
> I knows Stonith mechanism: it kills the server if needed. It's good...
> if really needed.
> I will use Pacemaker + Corosync to manage DRBD and services.
> Quorum needed for me if I had +1 node for DRBD?
> I used DRBD few times, but not I installed for servers.
> Please describe me what is the best if I want use a normal active /
> passive DRBD and I want to be the most safe solution, using server 3 for
> that.
> I want the simplest / safest solution what works for most scenarios. I
> just want to be a happy DRBD user.
> Thank you,
> aTTi

Hi aTTi,

   The only way to prevent split-brains is with fencing, full stop. 
Quorum deals with a different issue. Whether you have 2-nodes and 
disable quorum or have three nodes with quorum, you will still need 
fencing (aka stonith).

   The best plan is to configure stonith in pacemaker (IPMI or the like 
is the most common method, switched PDUs is another options). Then when 
that is working properly, configure DRBD and use the crm-fence-peer.sh 
fence handler and set the fencing policy to resource-and-stonith.

   With this, should communication break, both nodes will block and call 
a fence. The faster node will power off the slower node. Then, and only 
then, storage will unblock and recovery will begin, if needed. You can 
control which node wins in a race like this by assigning 'delay="15"' 
fence method configuration for to the node you want to live.

Papers and Projects: https://alteeve.ca/w/
What if the cure for cancer is trapped in the mind of a person without 
access to education?

More information about the drbd-user mailing list