DRBD-Ressourcen kommen nicht wieder online - Pacemaker + Corosync

DRBD-Ressourcen kommen nicht wieder online - Pacemaker + Corosync

Ich verwende DRBD zur Replikation. Zu Testzwecken verwende ich 2 VMs. Mir ist aufgefallen, dass, wenn ich die Netzwerkschnittstelle eines Knotens trenne, dieser in den Standalone-Modus wechselt und nach der erneuten Verbindung nicht in den verbundenen oder WFconnection-Modus zurückkehrt. Gibt es eine Möglichkeit, dies $drbdadm connect r0mit Pacemaker auszuführen oder etwas Ähnliches?
Meine Konfiguration:

[root@CentOS1 ~]# cat /etc/drbd.d/nfs.res 
resource r0 {

    syncer {
        c-plan-ahead 20;
        c-fill-target 50k;
        c-min-rate 25M;
        al-extents 3833;
        rate 90M;

    }
    disk {

        no-md-flushes;
        fencing resource-only;
    }
    handlers {
        fence-peer "/usr/lib/drbd/crm-fence-peer.sh --timeout 120 --dc-timeout 120";
        after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";

    }
    net { 

        sndbuf-size 0;
        max-buffers 8000;
        max-epoch-size 8000;    
        after-sb-0pri discard-least-changes;
        after-sb-1pri consensus;
        after-sb-2pri call-pri-lost-after-sb;
    }


    device /dev/drbd0;
    disk /dev/centos/drbd;
    meta-disk internal;

    on CentOS1 {
        address 172.25.1.11:7790;
    }
    on CentOS2 {
        address 172.25.1.12:7790;
    }
}

Ressourcenstatus nach dem Trennen und erneuten Verbinden mit dem Netzwerk:

[root@CentOS1 ~]#cat /proc/drbd 
version: 8.4.10-1 (api:1/proto:86-101)
GIT-hash: a4d5de01fffd7e4cde48a080e2c686f9e8cebf4c build by mockbuild@, 2017-09-15 14:23:22
 0: cs:StandAlone ro:Secondary/Unknown ds:UpToDate/Outdated   r-----
    ns:0 nr:0 dw:0 dr:2128 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

Protokoll:

[root@CentOS2 ~]# cat /dev/kmsg 

6,1171,16427206172,-;e1000: enp0s9 NIC Link is Down
3,1172,16427206435,-;e1000 0000:00:09.0 enp0s9: Reset adapter
 SUBSYSTEM=pci
 DEVICE=+pci:0000:00:09.0
3,1173,16431488757,-;drbd r0: PingAck did not arrive in time.
6,1174,16431488808,-;drbd r0: peer( Secondary -> Unknown ) conn( Connected -> NetworkFailure ) pdsk( UpToDate -> DUnknown ) 
6,1175,16431489116,-;drbd r0: ack_receiver terminated
6,1176,16431489121,-;drbd r0: Terminating drbd_a_r0
6,1177,16431489277,-;block drbd0: new current UUID A5A2A33E423F0679:0F9B7A2A6938EE77:4471A80A92A109A4:4470A80A92A109A4
 SUBSYSTEM=block
 DEVICE=b147:0
6,1178,16431489574,-;drbd r0: Connection closed
6,1179,16431489660,-;drbd r0: conn( NetworkFailure -> Unconnected ) 
6,1180,16431489667,-;drbd r0: receiver terminated
6,1181,16431489669,-;drbd r0: Restarting receiver thread
6,1182,16431489671,-;drbd r0: receiver (re)started
6,1183,16431489712,-;drbd r0: conn( Unconnected -> WFConnection ) 
6,1184,16431489801,-;drbd r0: helper command: /sbin/drbdadm fence-peer r0
4,1185,16431673341,-;drbd r0: helper command: /sbin/drbdadm fence-peer r0 exit code 5 (0x500)
6,1186,16431673351,-;drbd r0: fence-peer helper returned 5 (peer is unreachable, assumed to be dead)
6,1187,16431673374,-;drbd r0: pdsk( DUnknown -> Outdated ) 
3,1188,16450060876,-;drbd r0: bind before connect failed, err = -99
6,1189,16450060962,-;drbd r0: conn( WFConnection -> Disconnecting ) 
4,1190,16461488768,-;drbd r0: Discarding network configuration.
6,1191,16461488824,-;drbd r0: Connection closed
6,1192,16461488855,-;drbd r0: conn( Disconnecting -> StandAlone ) 
6,1193,16461488860,-;drbd r0: receiver terminated
6,1194,16461488862,-;drbd r0: Terminating drbd_r_r0

Antwort1

Nein, das stimmt nicht. DRBD und Pacemaker wissen nicht wirklich etwas übereinander, abgesehen von den Rückgabecodes der Ressourcenagenten bei bestimmten Aktionen.

Wenn Sie die Schnittstelle, an die DRBD gebunden ist, darunter hervorziehen, wird DRBD gehen StandAlone. Sie müssen die Ressource danach einfach erneut verbinden: drbdadm connect <res>--ODER--drbdadm connect all

Das scheint in Ordnung zu sein, wenn man bedenkt, dass Netzwerkschnittstellen normalerweise nicht vollständig verschwinden und dann ohne Eingreifen eines Administrators wieder auftauchen. Wenn Sie testen möchten, was passiert, wenn die Netzwerkkommunikation abbricht (Paketverlust), sollten Sie IP-Tabellenregeln verwenden. Sie werden dann sehen, dass DRBD in den Zustand WFConnection„Warten auf Verbindung“ wechselt und wieder zurück, Connectedwenn die Regeln entfernt werden.

verwandte Informationen