Wir haben ein paar Dutzend Proxmox-Server (Proxmox läuft unter Debian), und ungefähr einmal im Monat wird einer von ihnen eine Kernel-Panik haben und abstürzen. Das Schlimmste an diesen Abstürzen ist, dass wenn sich ein Server auf einem anderen Switch als dem Cluster-Master befindet, alle anderen Proxmox-Server auf diesem Switch nicht mehr reagieren, bis wir den Server finden, der tatsächlich abgestürzt ist, und ihn neu starten.
Als wir dieses Problem im Proxmox-Forum gemeldet haben, wurde uns empfohlen, ein Upgrade auf Proxmox 3.1 durchzuführen, und wir sind seit einigen Monaten dabei, dies zu tun. Leider war einer der Server, die wir auf Proxmox 3.1 migriert haben, am Freitag mit einer Kernel-Panik blockiert, und wieder waren alle Proxmox-Server, die sich auf demselben Switch befanden, über das Netzwerk nicht erreichbar, bis wir den abgestürzten Server finden und neu starten konnten.
Nun, fast alle Proxmox-Server auf dem Switch ... Ich fand es interessant, dass die Proxmox-Server auf demselben Switch, die noch auf Proxmox Version 1.9 waren, nicht betroffen waren.
Hier ist ein Screenshot der Konsole des abgestürzten Servers:
Als der Server abstürzte, waren die übrigen Server auf demselben Switch, auf denen auch Proxmox 3.1 ausgeführt wurde, nicht mehr erreichbar und spuckten Folgendes aus:
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
e1000e 0000:00:19.0: eth0: Reset adapter unexpectedly
...etc...
uname -a Ausgabe des gesperrten Servers:
Linux ------ 2.6.32-23-pve #1 SMP Tue Aug 6 07:04:06 CEST 2013 x86_64 GNU/Linux
pveversion -v Ausgabe (abgekürzt):
proxmox-ve-2.6.32: 3.1-109 (running kernel: 2.6.32-23-pve)
pve-manager: 3.1-3 (running version: 3.1-3/dc0e9b0e)
pve-kernel-2.6.32-23-pve: 2.6.32-109
Zwei Fragen:
Irgendwelche Hinweise, was die Kernel-Panik verursachen würde (siehe Bild oben)?
Warum sollten andere Server auf demselben Switch und derselben Version von Proxmox aus dem Netzwerk entfernt werden, bis der gesperrte Server neu gestartet wird? (Hinweis: Auf demselben Switch befanden sich andere Server, auf denen die ältere Version 1.9 von Proxmox ausgeführt wurde, die nicht betroffen waren. Außerdem waren keine anderen Proxmox-Server im selben 3.1-Cluster betroffen, die sich nicht auf demselben Switch befanden.)
Vielen Dank im Voraus für jeden Rat.
quelle
Antworten:
Ich bin mir fast sicher, dass Ihr Problem nicht nur durch einen einzigen Faktor verursacht wird, sondern durch eine Kombination von Faktoren. Was diese einzelnen Faktoren sind, ist nicht sicher, aber höchstwahrscheinlich ist ein Faktor entweder die Netzwerkschnittstelle oder der Treiber, und ein anderer Faktor befindet sich auf dem Switch selbst. Daher ist es sehr wahrscheinlich, dass das Problem nur mit dieser bestimmten Switch-Marke in Kombination mit dieser bestimmten Marke von Netzwerkschnittstellen reproduziert werden kann.
Sie scheinen der Auslöser für das Problem ist etwas, das auf einem einzelnen Server passiert, der dann eine Kernel-Panik hat, die Auswirkungen hat, die sich irgendwie über den Switch ausbreiten können. Das klingt wahrscheinlich, aber ich würde sagen, es ist ungefähr genauso wahrscheinlich, dass der Auslöser woanders ist.
Es kann sein, dass auf dem Switch oder der Netzwerkschnittstelle etwas passiert, was gleichzeitig zu Problemen mit der Kernel-Panik und der Verbindung auf dem Switch führt. Mit anderen Worten, selbst wenn der Kernel keine Kernel-Panik hatte, hat der Trigger möglicherweise die Konnektivität des Switches beeinträchtigt.
Man muss sich fragen, was möglicherweise auf dem einzelnen Server passieren könnte, was diesen Effekt auf den anderen Servern haben könnte. Es sollte nicht möglich sein, daher muss die Erklärung irgendwo im System einen Fehler enthalten.
Wenn nur die Verbindung zwischen dem abgestürzten Server und dem Switch ausfiel oder instabil wurde, sollte dies keine Auswirkungen auf den Verbindungsstatus zu den anderen Servern haben. Wenn dies der Fall ist, würde dies als Fehler im Schalter gelten. In Bezug auf den Datenverkehr sollten die anderen Server etwas weniger Datenverkehr sehen, sobald der abgestürzte Server die Konnektivität verloren hat. Dies kann nicht erklären, warum sie das Problem sehen, das sie verursachen.
Dies lässt mich glauben, dass ein Konstruktionsfehler am Schalter wahrscheinlich ist.
Ein Verbindungsproblem ist jedoch nicht die erste Erklärung, nach der man suchen würde, wenn versucht wird zu erklären, wie ein Problem auf einem Server anderen Servern auf dem Switch Probleme bereiten kann. Ein Rundfunksturm wäre eine offensichtlichere Erklärung. Aber könnte es eine Verbindung zwischen einem Server mit Kernel-Panik und einem Broadcast-Sturm geben?
Multicast und Pakete, die für unbekannte MAC-Adressen bestimmt sind, werden mehr oder weniger wie Broadcasts behandelt, sodass auch ein Sturm solcher Pakete zählen würde. Könnte der in Panik geratene Server versuchen, einen Crashdump über das Netzwerk an eine MAC-Adresse zu senden, die vom Switch nicht erkannt wird?
Wenn dies der Auslöser ist, läuft auf den anderen Servern etwas schief. Weil ein Paketsturm diese Art von Fehler auf der Netzwerkschnittstelle nicht verursachen sollte.
Reset adapter unexpectedly
klingt nicht wie ein Paketsturm (der nur zu einem Leistungsabfall führen sollte, aber keine Fehler als solche), und es klingt nicht wie ein Verbindungsproblem (das dazu führen sollte, dass Meldungen über ausfallende Verbindungen angezeigt werden, aber nicht der Fehler, den Sie sind Sehen).Es ist also wahrscheinlich, dass die Hardware oder der Treiber der Netzwerkschnittstelle einen Fehler aufweist, der vom Switch ausgelöst wird.
Einige Vorschläge, die zusätzliche Hinweise geben können:
quelle
Es klingt für mich wie ein Fehler im Ethernet-Treiber oder in der Hardware / Firmware, dies ist eine rote Fahne:
Ich habe diese schon einmal gesehen und es kann den Server offline schalten. Ich erinnere mich nicht genau, ob es auf Intel-Ethernet-Karten war, aber ich glaube schon. Es könnte sogar mit einem Fehler in den Ethernet-Karten selbst zusammenhängen. Ich erinnere mich, dass ich etwas über bestimmte Intel-Ethernet-Karten mit solchen Problemen gelesen habe. Aber ich habe den Link des Artikels verloren.
Ich würde mir vorstellen, dass der Auslöser dafür teilweise vom verwendeten Treiber (Version) abhängt. Die Tatsache, dass eine ältere Version der Software in Ordnung funktioniert, scheint dies zu bestätigen. Sie sagen, der Anbieter verwendet seinen eigenen benutzerdefinierten Kernel. Versuchen Sie, das Ethernet-Treibermodul zu aktualisieren, das für Ihre spezielle Ethernet-Hardware verwendet wird. Entweder eine von Ihrem Anbieter oder eine aus dem offiziellen Kernel-Quellbaum.
Sehen Sie sich auch die Verbindung Ihrer Ethernet-Hardware an. Normalerweise verfügt ein Server über zwei integrierte Ethernet-Ports und / oder Add-On-Karten. Auf diese Weise wird die andere Karte erkannt, wenn eine Ethernet-Karte dieses Problem aufweist. Ich benutze das Wort "Karte", aber es gilt natürlich für jede Ethernet-Hardware.
Auch das Ersetzen der Ethernet-Hardware kann das Problem beheben. Ersetzen oder fügen Sie eine neuere (Intel) Ethernet-Karte hinzu und verwenden Sie diese stattdessen. Wenn das Problem in der Hardware / Firmware liegt, hat eine neuere Karte wahrscheinlich einen Fix (oder älter?).
quelle