Wie teilt sich das IPMI-Seitenband den Ethernet-Port mit dem Host?

23

Wir haben eine Reihe von Supermicro-Maschinen mit IPMI / BMC-Funktionen. Einige dieser Maschinen verwenden einen integrierten BMC, andere eine Zusatzkarte .

Wir prüfen die Verwendung von Seitenbändern aufgrund der geringeren Kosten und des geringeren Verkabelungsaufwands. Einige Seitenbanddetails sind jedoch nicht ganz sinnvoll.

Für das Seitenband ist ein Ethernet-Kabel erforderlich, das an einen Ethernet-Anschluss auf der Hauptplatine angeschlossen ist. Dieser Netzwerkanschluss wird dann vom IPMI-System und dem Betriebssystem gemeinsam genutzt. Nach dem, was ich in diesem Supermicro-Handbuch gelesen habe , "Verwenden Sie dieselbe MAC-Adresse, die Sie für LAN1 für die SIMSO IPMI-Karte verwenden". Das IPMI muss jedoch eine andere IP-Adresse als das Betriebssystem haben.

Wie ist es möglich, zwei Geräte (das Betriebssystem und das IPMI) zu haben, die auf demselben physischen Netzwerkport lauschen und senden können? Wie ermittelt das System, wenn ein Paket an der Schnittstelle ankommt, ob dieses Paket für das Betriebssystem oder das IPMI-System bestimmt ist?

Werden diese Pakete überhaupt von der CPU mithilfe von CPU-Interrupts verarbeitet? Können Pakete zur IPMI-Schnittstelle vom Betriebssystem angezeigt werden?

Stefan Lasiewski
quelle

Antworten:

39

Ich verwalte viele SuperMicro-Server mit dem integrierten IPMI. Ich habe eine Hassliebe mit dem geteilten (aka Sideband) Ethernet. Im Allgemeinen funktionieren diese Dinge so, dass LAN1 anscheinend 2 (verschiedene) MAC-Adressen hat - eine für die IPMI-Schnittstelle, die andere für Ihre Standard-Broadcom-Netzwerkkarte. Der Datenverkehr zur IPMI-Schnittstelle (Schicht 2, basierend auf der MAC-Adresse) wird unterhalb der Betriebssystemebene auf magische Weise abgefangen und von keinem Betriebssystem gesehen.

Sie haben bereits einen guten Punkt für sie getroffen: weniger Verkabelung. Lassen Sie mich nun einige der Nachteile behandeln:

  • Es ist besonders schwierig, die IPMI-Schnittstelle auf sichere Weise in ein separates Subnetz zu partitionieren. Da der Datenverkehr über dasselbe Kabel erfolgt, müssen sich die IPMI-Schnittstelle und die LAN1-Schnittstelle (fast) immer im selben IP-Subnetz befinden. Auf den neuesten Motherboards unterstützen die IPMI-Karten jetzt das Zuweisen eines VLANs zum IPMI-NIC, sodass Sie einen Anschein von Trennung erhalten können - aber das zugrunde liegende Betriebssystem könnte den Datenverkehr für dieses VLAN immer riechen. Ältere BMC-Controller erlauben es nicht, das VLAN zu ändern. Mit Tools wie ipmitool oder ipmicfg können Sie das scheinbar ändern, aber es funktioniert einfach nicht.
  • Sie zentralisieren Ihre Fehlerpunkte auf dem System. Konfiguration auf einem Switch machen und es irgendwie schaffen, sich abzuschalten? Herzlichen Glückwunsch, Sie haben jetzt die primäre Netzwerkverbindung zu Ihrem Server UND die Sicherung über IPMI getrennt. NIC-Hardware ausfallen? Herzlichen Glückwunsch, das gleiche Problem.
  • Frühe SuperMicro IPMI-BMCs waren dafür berüchtigt, dass sie mit der Netzwerkschnittstelle nichts zu tun hatten. Die Entscheidung, ob der integrierte oder der dedizierte IPMI-Port verwendet werden soll, wurde häufig beim Einschalten (nicht beim Neustart) getroffen und konnte von dort nicht umgeschaltet werden. Wenn Sie einen Stromausfall hatten und Ihr Switch den Strom nicht schnell genug bereitstellte, funktionierte das IPMI möglicherweise nicht, weil es die falsche Einstellung automatisch erkannte.
  • Ich persönlich hatte viele seltsame, unerklärliche Konnektivitätsprobleme, die dazu führten, dass das Seitenband-IPMI zuverlässig funktionierte. Manchmal konnte ich die IP-Adresse der Schnittstelle einfach nicht für ein paar Minuten anpingen. Manchmal bekam ich einen Sturm von Paketen im zugewiesenen VLAN, aber der Datenverkehr schien abzufallen.

Dies hat zwar nichts mit Sideband-vs.-Dedicated zu tun, aber ich stelle auch fest, dass die Tools für den Zugriff auf Hostsysteme sehr schlecht geschrieben sind. Ältere IPMI-Karten unterstützen nichts anderes als die lokale Authentifizierung, was die Kennwortrotation zu einem echten Problem macht. Wenn Sie die KVM-over-IP-Funktionalität verwenden, können Sie kein falsch signiertes, abgelaufenes Java-Applet oder keine seltsame Java-Desktopanwendung verwenden, die nur unter Windows funktioniert und für deren Ausführung eine UAC-Erhöhung erforderlich ist. Ich habe festgestellt, dass die Tastatureingabe bestenfalls fleckig ist und manchmal "festgefahrene Tasten" auftreten, sodass es unmöglich ist, ein Kennwort einzugeben, um sich anzumelden, ohne es zehnmal zu versuchen.

Ich habe es schließlich geschafft, mehr als 40 Systeme mit dieser Anordnung zum Laufen zu bringen. Ich habe größtenteils neuere Systeme, mit denen ich die IPMI-Schnittstellen in ein separates Subnetz VLANen kann, und ich verwende meistens die serielle Konsole über ipmitool, was sehr gut funktioniert. Für die nächste Servergeneration beschäftige ich mich mit der AMT-Technologie von Intel mit KVM-Unterstützung . Da dies den Serverraum erschließt, kann ich sehen, wie IPMI durch dieses ersetzt wird.

Natacado
quelle
Vielen Dank für die sehr ausführliche Erklärung. Haben Sie weitere Informationen darüber, wie der Datenverkehr "unterhalb der Betriebssystemebene auf magische Weise abgefangen und von keinem Betriebssystem gesehen wird"? Wir versuchen zu verstehen, wie das funktioniert.
Stefan Lasiewski
Eine einfache Hardware-Bridge reicht aus.
Antoine Benkemoun
tolle Antwort und ja, der Verkehr ist überbrückt
Jim B
2
Stephan - Antoine und Jim haben es in den Kommentaren erklärt - es ist wahrscheinlich eine Hardware-Brücke. Stellen Sie sich einen winzigen Switch vor, der in Silizium implementiert ist und die physische NIC-Schnittstelle mit zwei virtuellen NICs verbindet - eine für IPMI und eine für den Hauptcomputer.
Natacado
Danke für diese Erklärung. Genau so dachte ich, dass es funktionieren würde, aber wenn ich dies mit anderen Leuten (Netzwerkadministratoren, Sysadmins) diskutiere, bekomme ich viele Meinungsverschiedenheiten.
Stefan Lasiewski
4

Ich habe diese speziellen Karten noch nicht verwendet. Die Karten, die ich verwendet habe, haben entweder einen anderen MAC für den IPMI-Verkehr oder der Port ist nur für IPMI-Verkehr reserviert. Es ist jedoch möglich, dass IPMI die Netzwerkkarte einschließlich des MAC gemeinsam nutzt.

IPMI hat eine andere IP als das Betriebssystem, daher werden die Pakete basierend darauf korrekt geleitet. IPMI-Datenverkehr trifft niemals die CPU, sondern wird ausschließlich in den Seitenband-Verwaltungs-ICs verarbeitet.

Chris S
quelle
Aha. Einige IPMI-Karten auf einigen Systemen geben die MAC-Adresse frei (Supermicro & Dell tun dies anscheinend), während andere andere MAC-Adressen verwenden (IBM tut dies).
Stefan Lasiewski
3
Auf meinen Dell-Servern hat die IPMI-Schnittstelle einen anderen MAC, obwohl es sich um denselben physischen Netzwerkanschluss handelt.
Sciurus
2

Wollte den allgemeinen Rat ergänzen, dass die Verwendung von Seitenband bedeutet, dass Sie nicht vom Server mit dem BMC kommunizieren können. Der Verkehr scheint herausgefiltert zu sein. Ich habe dies mit dem IBM / Dell / HP-Kit versucht.

Ed Sykes
quelle
um das näher zu erläutern, da es mich genauso traf. ESXI und keine VMs können auf den BMC zugreifen (aber ext-Hosts können), WARUM? Da ausgehender Datenverkehr über den NSCI-Port (Shared IPMI) einen Switch drücken und zum selben Port zurückkehren muss. AFAIK-typische L2-Switches tun dies nicht.
Kevinf
1

Ich werde Natacados 'letzten Aufzählungspunkt in seiner ersten Antwort sichern, Ihre IPMI-Sitzungen werden nach dem Zufallsprinzip unterbrochen (ich verwende IPMIView von supermicro, um die Konsole auf meinen Boxen zu betrachten). Dinge wie Firmware-Upgrades und Powercycles scheinen unerklärlich und zufällig zu versagen.

Tolle Antwort Natacado, unglaublich gründlich.

Ben Lutgens
quelle
1
Stellen Sie sicher, dass Ihre IPMI-Firmware auf dem neuesten Stand ist! Wenn die Verbindung zwischen der IPMI-Firmwareversion und der IPMIView-Softwareversion groß genug ist, wird beim Versuch, eine KVM-Sitzung zu initiieren, ein allgemeiner, kryptischer "Verbindungsfehler" angezeigt! Das Aktualisieren auf die neueste IPMI-Firmware (dies kann über das Hauptmenü des IPMIView-Dienstprogramms unter Datei durchgeführt werden) wurde korrigiert. : p
Jeff Atwood