Gesamter Cluster offline

khblenk

Member
Jul 2, 2020
11
1
8
46
Ich hatte letztes Jahr bereits das Problem, dass PVE seit dem Update auf 6 sehr instabil war (kein einziger Absturz unter PVE5!). Mit verschiedensten Anpassungen an der Netzwerkkonfiguration habe ich es hinbekommen, dass der Cluster seit Oktober wieder stabil lief. Bis heute. Und dazu hätte ich ein paar Fragen, vielleicht hat jemand eine Idee oder kann mir zumindest ein paar Antworten geben.

Wir haben aktuell 23 Nodes im Cluster, aufgeteilt auf 5 HA Gruppen (alle bestehen aus 3 bis 7 Nodes). Diese 17 Server (HP Blades bzw. HP Synergy Nodes) sind auf 7 Enclosures verteilt. Es gibt ein Gigabit Netz (Redundant), einziges Handicap: Die Clusterkommunikation läuft nicht über ein dediziertes physikalisches Netzwerk sondern nur über ein dediziertes VLAN.

Heute kam es, dass alle Server zur selben Zeit gefenced wurden. Das würde ja theoretisch bedeuten, dass kein Server mehr einen anderen erreichen hätte können, was zum einen fast unmöglich ist (insbesondere auch weil teilweise Server im selben Bladeenclosure sind), zum Anderen hätte das Monitoringsystem auch irgend eine abnormalie protokolliert. Und die Netzauslastung war unterdurchschnittlich. Wie kann das sein? Kann man das Fencing irgendwie anders konfigurieren? Evtl. das noch ein Zeuge (z. B. ping auf den zentralen Switch oder Firewall) zusätzlich mit herangezogen wird?

Ich habe die syslogs aller Server im Zeitraum gesammelt und "übereinander" gelegt. Dabei ist mir folgendes aufgefallen:
20:44:24: Server "0179" meldet " [TOTEM ] Token has not been received in 4011 ms".
--> Das ist der erste kritische Eintrag im syslog. Der Server ist in einer HA Gruppe mit 2 weiteren.
20:44:24: Server "0246" und "0247" (in einer HA Gruppe mit insgesamt 7 Nodes), sowie Server "0357" und "0381" (HA Gruppe mit 4 Nodes) melden " [TOTEM ] Token has not been received in 523 ms "
20:44:37: Server "0412" und "0309" (unterschiedliche HA Gruppen) melden " [TOTEM ] Retransmit List"
20:44:41: Server "0246" und "0244" melden " [TOTEM ] Retransmit List" und " pve-ha-crm[13235]: loop take too long (32 seconds)"
20:44:44: Server "0246" und "0309" melden " [TOTEM ] Retransmit List"
20:44:51: Server "0246", "0244" (zusammen in einer HA), sowie "0357" (separate HA) melden " pve-ha-lrm[22883]: " loop take too long (38 seconds)"
Gegen 20:45 melden sich dann weitere Server mit " error during cfs-locked 'file-replication_cfg' operation" und " Failed to start Proxmox VE replication runner.".
Die ersten "KNET link: host xx Link: [0|1] is down"" Meldungen tauchen dann um 20:46:03 auf (ebenfalls Server "0246") (Anmerkung: Jeder Server verfügt über 2 Links). Alle 23 Nodes booten. Auch die ohne Fehlermeldung in den Logs.
Ich lasse ja das Argument gelten, dass die interne Clusterkommunikation stabil sein muss und das im Falle des 0179er (Token benötigt 4 Sekunden) da was nicht in Ordnung war. Aber dafür hab ich ja einen Cluster, der eine Störung eines "kranken" Nodes ausgleichen soll. Wieso reißt ein oder wenige Probleme alle Server mit den Abgrund?
Von meinen 5 HA Gruppen wurden alle neu gestartet.
Gruppe1: Besteht aus 3 Nodes, in den Logs fällt 1 Node negativ auf
Gruppe2: Besteht aus 7 Nodes, in den Logs fallen 2 Nodes negativ auf
Gruppe3: Besteht aus 4 Nodes, in den Logs fällt 1 Node negativ auf
Gruppe4: Besteht aus 4 Nodes, in den Logs fällt 1 Node negativ auf
Gruppe5: Besteht aus 5 Nodes, in den Logs fällt 1 Node negativ auf

- Kann der Fehler wirklich am Netzwerk liegen (nur zwei VLANs für die Cluster-Kommunikation, kein dediziertes physikalisches Netz)?
- Oder ist es wahrscheinlicher, dass der Fehler durch eine Überlastung oder durch einen Softwarefehler verursacht wurde?
- Kann man das Fencing etwas "toleranter" oder "stabiler" gestalten? Es kann ja nicht sein, dass bei 6 auffälligen Nodes von 23 alles neu gestartet wird.
 
Wir haben aktuell 23 Nodes im Cluster, aufgeteilt auf 5 HA Gruppen (alle bestehen aus 3 bis 7 Nodes). Diese 17 Server (HP Blades bzw. HP Synergy Nodes) sind auf 7 Enclosures verteilt. Es gibt ein Gigabit Netz (Redundant), einziges Handicap: Die Clusterkommunikation läuft nicht über ein dediziertes physikalisches Netzwerk sondern nur über ein dediziertes VLAN.
Es wird empfohlen ein dediziertes physikalisches Netz zu verwenden.
 
  • Like
Reactions: Stoiko Ivanov
Danke für die schnelle Antwort. Aber das erklärt leider trotzdem nicht, wieso 6 Nodes mit vereinzelten Fehlern einen 23 Node Cluster zum einstürzen bringen.
 
  • Like
Reactions: CoolTux
welche versionen (insbesondere von pve-cluster, libknet und corosync laufen in dem cluster)?

Code:
pveversion -v

(es gab vor einige updates, welche die Stabilität des HA stacks verbessern )

ansonsten kann ich @dietmar nur zustimmen - insbesondere bei einem Cluster mit vielen nodes (dazu zählt einer mit 23 auf jeden Fall) ist ein dediziertes interface für corosync (und fall-back links) empfohlen!
 
proxmox-ve: 6.2-2 (running kernel: 5.4.65-1-pve)
pve-manager: 6.2-12 (running version: 6.2-12/b287dd27)
pve-kernel-5.4: 6.2-7
pve-kernel-helper: 6.2-7
pve-kernel-5.4.65-1-pve: 5.4.65-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.4-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
libjs-extjs: 6.0.1-10
libknet1: 1.16-pve1
libproxmox-acme-perl: 1.0.5
libpve-access-control: 6.1-3
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.2-2
libpve-guest-common-perl: 3.1-3
libpve-http-server-perl: 3.0-6
libpve-storage-perl: 6.2-8
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.3-1
lxcfs: 4.0.3-pve3
novnc-pve: 1.1.0-1
proxmox-backup-client: 0.9.0-2
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.3-1
pve-cluster: 6.2-1
pve-container: 3.2-2
pve-docs: 6.2-6
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-3
pve-firmware: 3.1-3
pve-ha-manager: 3.1-1
pve-i18n: 2.2-1
pve-qemu-kvm: 5.1.0-3
pve-xtermjs: 4.7.0-2
qemu-server: 6.2-15
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-2
zfsutils-linux: 0.8.4-pve2
 
da gibt es für einige der relevanten pakete noch updates, die die situation potentiell verbessern (corosync, libknet) - ich würde vorschlagen upzudaten!
 
ok, vielen Dank. Werde ich bei nächster Gelegenheit machen. Kann ein Online-Update erfolgen?
Was mich aber auch noch interessieren würde ist, ob es irgendwelche Einstellungsmöglichkeiten fürs Fencing gibt, die die Situation verbessern können. Denn ein Fencing sollte ja nur auf den Hosts stattfinden, die weniger als 50% der Gruppe erreichen können, oder ist das so nicht richtig?
 
Noch jemand, der Schwierigkeiten nach dem Upgrade hatte. Ich bin froh, dass ich HA nicht automatisch aktiv habe. Da muss auch alles um PVE herum (Switche usw.) HA sein.
Du scheinst kein Ceph zu verwenden. Was nimmst du statt dessen als gemeinsamen Datenpott?
Hast du schon die alten corosync apt Einträge entfernt/Deaktiviert?
Mit pve6 sind neue Lowlevel Netzwerkprotokolle hinzugekommen, z.B. mit bond. Wenn diese nun plötzlich auch von den Switches unterstützt werden, gibt es kaum auffindbare Netzwerkprobleme mit HA, und gedoppelten Switches.
Nur so ein paar Ideen.
 
Hallo Sven,

die apt Einträge sind entfernt, ja.

Wir greifen direkt auf unsere 3PAR über RAW-Devices (/dev/mapper/wwn), natürlich über multipath, auf die einzelnen LUNs zu, nutzen also keine Image-Dateien auf einem gemeinsamen Datenträger.

Die Switche sind auch alle Redundant ausgelegt, wir nutzen Bonding. Als ich letzten Oktober die massiven Probleme hatte, habe ich unter anderem von TLB auf Active-Passive umgestellt.

Du nutzt HA nicht? Dann tritt bei Dir kein Fencing auf, oder? Ich überlege das nämlich auch schon eine ganze Weile, ob ich nicht HA auflösen soll. Bisher hatte ich noch keine Situation, in der HA meine Verfügbarkeit erhöht hätte, aber ich hatte schon zig Situationen, in der HA / Fencing meine Verfügbarkeit negativ beeinträchtigt hat.
 
Du nutzt HA nicht? Dann tritt bei Dir kein Fencing auf, oder? Ich überlege das nämlich auch schon eine ganze Weile, ob ich nicht HA auflösen soll. Bisher hatte ich noch keine Situation, in der HA meine Verfügbarkeit erhöht hätte, aber ich hatte schon zig Situationen, in der HA / Fencing meine Verfügbarkeit negativ beeinträchtigt hat.
Jetzt habe ich ein viel kleineres System, aber meiner Meinung nach benötigt man HA nur, wenn man ein autarkes System aufsetzten will, das ohne Menschen auskommen soll. Hyperkonvergente Systeme sind meiner Meinung nach ausreichend, um 99,5 % Verfügbarkeit herzustellen. Und 100% ist wie Warp 10 und nur anderen Spezies im Universum vorbehalten ;)
 
Ich hatte durch das Fencing von HA vermutlich jetzt auch mehr Downtime als durch "normale" Ausfälle. Bin mir leider nicht sicher, aber bei mir hat vermutlich eine falsch gehende Uhr eines Nodes für ungewollte Reboots bei den anderen Nodes gesorgt: daher habe ich bei jetzt alle HA-Resourcen entfernt um damit das fencing (hoffentlich) zu deaktivieren.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!