WinDRBD – Why Does WinDRBD Become Diskless/StandAlone?

drbdwindow-server-2019

I have a question.

Currently, this OS is Windows Server 2019.
The volume configuration is Raid-5.
The two servers are connected by a heartbeat network
Both nodes were mirrored using WinDRBD. Both nodes have the same configuration.
I left unformatted G: and set D: to be visible to the primary node.

my resource are below

include "global_common.conf";

resource "foo" {
    protocol    A;

    net {
        use-rle no;
    }
    on node1 {
        address     XXX.XXX.XXX.XXX:7600;
        node-id 1;
        volume 1 {
            disk        "G:";
            device      minor 1;
            meta-disk   internal;
        }
    }
    on node2 {
        address     XXX.XXX.XXX.XXX:7600;
        node-id 2;
        volume 1 {
            disk            "G:";
            device      minor 1;
            meta-disk   internal;
        }
    }
}

Both nodes worked normally.
The tests were completed by switching roles.
( primary → secondary / secondary → primary )

However, the problem occurred after booting.

After booting, the status appears as below. (both nodes)

foo role:Secondary
  volume:1 disk:Diskless
  node2 connection:StandAlone

I thought and searched a lot, but couldn't find an answer.

There were a few things I was suspicious about.

I wonder if it's because I tried before the G: letter was assigned to the drive.
If my thinking is correct, is there a workaround?

If it is now my opinion, but the above problem continues to occur, what is the cause?

Once it was solved in the following way.
But I want to find the cause and fix it accurately.

drbdadm down foo
drbdadm up foo

Thanks in advance for your help.

Best Answer

WinDRBD loses heartbeat which leads to the issue you’re seeing. Cut off the wires for the h/b and you’ll easily reproduce the issue. The writing is on the wall: don’t use WinDRBD in production at least yet. It’s fragile.