Ich habe gerade im Monitoring kurz vor dem Fencing ganz kleine Ausreißer bei der Latenz von der Monitoring Probe Richtung PVE03 (Cluster Link 0) gesehen, aber im Syslog ist nichts zu finden. Das kann doch nicht ausreichen, um einen Host komplett aus dem Cluster zu werfen!?
Wenn es, wie hier, nur kurzzeitig auftritt dann sollte das kein Problem sein. Auf Dauer sind >5ms allerdings ein Problem (s. Network requirements Corosync [1]).
Deine Einzeiler setzen aber "nur" den HA-Status aller VMs auf ignored, auch die, die kein HA aktiv haben
Nein, da sollten wirklich ausschließlich VMs auf ignored gesetzt werden, die auch tatsächlich in HA eingetragen sind. Es stimmt allerdings, dass dies ohne Rücksicht auf den aktuellen Status geschieht. Die LRM / CRM Methodik funktioniert in deinem Fall wohl besser.
--------------------------------
Ich habe mir das Ganze noch einmal von vorne mit einem Kollegen angesehen ob der vielleicht noch etwas sieht - man sieht die Problematik in den Logs recht gut, noch einmal etwas ausführlicher erklärt:
OVS-Restart auf pve08 um 16:09:03
Code:
Aug 31 16:09:03 pve08 systemd[1]: Starting Open vSwitch...
Auf dem unbeteiligten Node (pve-05) wird danach der Host 8 auf beiden Links als down markiert (Ich gehe mal davon aus, dass das auf den anderen Nodes genauso passiert ist):
Code:
Aug 31 16:09:05 pve05 corosync[3517]: [KNET ] link: host: 8 link: 0 is down
Aug 31 16:09:05 pve05 corosync[3517]: [KNET ] link: host: 8 link: 1 is down
Auf Nodes 3 / 4 wird jeweils nur Link 0 / 1 down markiert. Dadurch sehen sich die Nodes 3, 4 und 8.
Code:
Aug 31 16:09:08 pve03 corosync[1984]: [KNET ] link: host: 8 link: 0 is down
Aug 31 16:09:08 pve03 corosync[1984]: [KNET ] host: host: 8 (passive) best link: 1 (pri: 1)
Code:
Aug 31 16:09:05 pve04 corosync[1991]: [KNET ] link: host: 8 link: 1 is down
Aug 31 16:09:05 pve04 corosync[1991]: [KNET ] host: host: 8 (passive) best link: 0 (pri: 1)
Welcher Node dann welche Partition joined ist etwas racy - da gehts, einfach gesprochen, darum wer schneller ist. Nodes 3 und 4 joinen 8, weil sie den ja auch sehen und bilden dann eine Partition mit dem. Die anderen Nodes können 8 nicht sehen und bilden untereinander eine eigene Partition. Das Verhalten von Corosync in dem Fall ist in der Form absolut zu erwarten. Das Problem ist einfach, dass Node 8 nicht komplett down ist. Das erzeugt dieses - zugegebenermaßen unintuitive - Verhalten.
Das erklärt auch, warum diese Nodes dann mitgerissen wurden - obwohl pve07 sie sehen kann. Interessant wäre das Monitoring von pve07 für den Node 8 - kannst du das auch noch anhängen?
--------------------------------
Am Ende des Tages liegt die Antwort auf die Frage warum die Nodes 3 und 4 mitgerissen wurden in der Antwort auf die Frage warum speziell diese beiden Nodes den Node 8 noch sehen konnten auf zumindest einem Link. Diese Problematik liegt irgendwo im Netzwerkstack vergraben - das kann OVS sein, das kann der Switch sein, das kann ein kaputtes Kabel sein. Das kann ich leider schwer beantworten und diagnostizieren. Die Vermutung liegt nahe dass beim Reload von OVS während dem Update etwas komisch gehandled wurde von OVS - das ist aber nur Spekulation.
--------------------------------
Noch zu euren Netzwerken: Corosync hat zwar ein eigenes VLAN, allerdings teilt es sich immer noch die unterliegende Netzwerk-Infrastruktur mit dem Ceph / VM-Traffic Netzwerk. Das ist definitiv nicht optimal, da diese Netzwerke dann auch Einfluss auf Corosync haben können. Habt Ihr zumindest QoS für das Corosync-VLAN aktiviert? Generell gilt jedoch die starke Empfehlung Corosync ein eigenes Netzwerk zu geben das mit nichts anderem geteilt wird. Die anderen Netzwerke können dann als die entsprechenden Fallback-Netzwerke dienen.
[1]
https://pve.proxmox.com/wiki/Cluster_Manager#_cluster_network