[DRBD-user] COnfused about shared partitions

Robert Altnoeder robert.altnoeder at linbit.com
Thu Apr 4 10:19:52 CEST 2019


On 4/3/19 8:52 PM, JCA wrote:
> In both nodes I have a file named my-data.res under /etc/drdb.d, with
> the following contents (identical in both nodes):
>
> [...]
>             net {
>              allow-two-primaries;
>             }

Since you have an ext4 on the DRBD device, allow-two-primaries is
dangerous and unnecessary

> [...]
>              # pcs cluster stop A
>
> [...]
>
> Next I started and stopped both A and B (the nodes, not the VMs)
> [...]
> In this situation, when I list the contents of /var/lib/my-data in A,
> I find it to be empty - as expected, for A has been stopped. When I
> list the contents of /var/lib/my-data in B, however, what I see is
> files f1 and f2, not f3 and f4.

Most probably, you have created a split brain situation by starting and
stopping resources or nodes in an incorrect order, e.g.
standby node A
standby node B
online node A
online node B

What happens in this case is:
1. DRBD on node A stops replicating
2. DRBD on node B goes into the Primary role and makes changes to the data
3. DRBD on node B stops replicating
4. DRBD on node A starts, goes into the Primary role and makes changes
to the data
    (without having resynchronized the changes from node B, because node
B's DRBD is not online)
5. DRBD on node B starts and cannot resynchronize anymore, because the
datasets on node A and node B have diverged
    (aka a "split brain")

Nodes must either be stopped only if the DRBD resources have stopped on
both nodes in an "UpToDate" disk state, or they must be stopped and
started in the correct order, which is:
standby node A
standby node B
online node B
online node A
- or -
standby node B
standby node A
online node A
online node B

There are also move/migrate commands to move resource, which lets you
avoid stopping the replicating/Secondary side of the DRBD resource.

br,
Robert



More information about the drbd-user mailing list