scampicfx
Goto Top

MTU 1500 trifft auf MTU 1900 bei FreeNAS und ESXi 6.5

Hi zusammen,

bei mir hat sich mal wieder eine kleine Frage ergeben... Ich möchte schon mal vorab mich für eure Zeit bedanken beim Lesen!

Zunächst ein kleines Bild, das die momentane Vernetzung zwischen FreeNAS und ESXi Server zeigt:

unbenannt

Der ESXi 6.5 Server hat keinerlei Festplatten. Sprich, es werden nicht nur die virtuellen Maschinen via iSCSI betrieben, sondern auch der Bootvorgang des ESXi Servers findet wie iSCSI statt. Zwischen beiden Servern sind zwei SFP+ Leitungen gelegt, die jeweils in einem eigenen Subnetz arbeiten (192.168.10.x und 192.168.20.x). Zusätzlich gibt es natürlich eine Reihe weiterer Netzwerkverbindungen, die ich aber hier jetzt nicht weiter erwähne.
Wir kommen nun zu der Aufgabe, dass die MTU von 1500, die zwischen FreeNAS und ESXi verwendet wird, auf eine MTU von 9000 erhöht werden soll.

Sowohl in ESXi selbst (Web Client) und FreeNAS können problemlos eine MTU von 9000 eingestellt werden. Allerdings entsteht dennoch an dieser Stelle folgendes Problem:
Der Intel X710 Netzwerkadapter, der in dem ESXi Host verbaut ist, kann den iSCSI Bootvorgang nur mit einer MTU von 1500 durchführen. Auch nach Rücksprache mit Intel besteht hier keine Option auch bereits während dem Bootvorgang eine MTU von 9000 zu verwenden.

Daher hat sich mir nun folgende Frage gestellt:
Mit welchen Auswirkungen wäre zu rechnen, wenn der Bootvorgang des ESXi Hosts noch mit MTU 1500 ausgeführt wird und der ESXi Host erst nach Abschluss des Bootens und nach dem Initialisieren des Hypervisors auf eine MTU von 9000 "umschwenkt"? Während des Bootens würde hier FreeNAS eine MTU von 9000 verwenden, während wie gesagt ESXi nur mit einer MTU von 1500 arbeiten würde. Ein Konfigurieren einer MTU von 9000 für den Bootvorgang ist wie gesagt laut Intel nicht möglich.


Ich hab mir auch bereits Gedanken gemacht, wie man dieses Problem "umgehen" könnte.

Hier mal ein Denkansatz:
Bootvorgänge sind beim ESXi Host eher selten. Es gäbe die Möglichkeit also jedes Mal beim Booten händisch aktiv zu werden bzw. um zu konfigurieren und beispielsweise erst nach dem Booten des ESXi Hosts sowohl FreeNAS von MTU 1500 auf MTU 9000 zu erhöhen, sowie ESXi von MTU 1500 auf MTU 9000 zu setzen. Es wäre hier zwingend notwendig, dass die Änderung der MTU-Größe ohne Reboot übernommen werden könnte (ich hab das noch nicht getestet, gehe davon aber aus).
Nichts desto trotz gäbe es hier ein kleines, zeitliches Delta, in dem beide Maschinen unterschiedlich große MTUs haben (bedingt durch den Konfigurationsaufwand gäbe es hier eine Zeitspanne von Sekunden bis wenigen Minuten, in denen die MTUs beider Server nicht übereinstimmen).
Man könnte während diesem Umstellungsprozess alle virtuellen Maschinen offline halten, um die Auswirkungen so gering wie möglich zu halten.

Dennoch frage ich mich, ob ich eventuell andere Lösungsideen schlicht vergessen bzw. gar nicht erst bemerkt habe? Es gibt doch da bestimmt noch andere Lösungsansätze, dieses Problem zu umgehen, oder? Wie schlimm ist es überhaupt, wenn für einen kurzen Zeitraum unterschiedlich große MTUs aufeinandertreffen? Wenn mit keinen schlimmen Komplikationen zu rechnen wäre, dann frage ich mich, ob es evtl. sogar Sinn machen würde, es zu akzeptieren, dass der ESXi mit MTU 1500 bootet, obwohl FreeNAS mit MTU 9000 arbeitet?

Ich bedanke mich für eure Zeit beim Lesen und wünsche euch allen ein frohes und gesunden neues Jahr!
Viele Grüße,
Scampicfx

Content-ID: 359593

Url: https://administrator.de/contentid/359593

Ausgedruckt am: 26.11.2024 um 03:11 Uhr

StefanKittel
StefanKittel 01.01.2018 um 18:56:34 Uhr
Goto Top
Moin,

wie wäre es mit:
a) eine separate LUN mit MTU 1500 nur für das booten und der Rest alles auf 9000? Oder kann FreeNAS das nur für alle LUNS?
b) Booten des ESXi per USB Stick oder SATA Flash Modul

Stefan
LordGurke
LordGurke 01.01.2018 aktualisiert um 20:17:12 Uhr
Goto Top
Du machst dir da zu viele bange Gedanken um ein Problem, welches nur minimal ist:
iSCSI basiert auf TCP. Das heißt, dass der Client und der Server in ihrem TCP-Handshake die maximale Paketgröße (MSS) aushandeln.
Wenn die Netzwerkkarte beim Booten nur mit 1500 Bytes läuft, wird hierbei die iSCSI-Verbindung auch nur mit der entsprechend niedrigen MSS aufbauen. Dass der iSCSI-Server mit bis zu 9000 Bytes großen Paketen arbeiten kann, ist dabei kein Problem - die im TCP-Handshake übermittelte niedrigste MSS ist die, welche während der Verbindung genutzt werden kann.

Sobald du auf dem ESXi-Host eine höhere MTU konfigurierst, werden alle ab diesem moment aufgebauten iSCSI-Verbindungen mit der entsprechend höheren MSS aufgebaut. Bereits bestehende Verbindungen profitieren in der Regel nicht davon (das heißt, die System-Volumes laufen mit niedriger MSS weiter). Wenn jedoch vor dem Booten der Virtuellen Maschinen resp. vor dem Aufbau der Verbindung zu den iSCSI-Targets der virtuellen Volumes (keine Ahnung wie das mit ESXi läuft) die MTU erhöht wird, werden diese Verbindungen auch mit der größeren MTU betrieben.

Hat jede VM ihr eigenes iSCSI-Target für ihre Festplatte oder wird dafür ein Target benutzt, auf welchem sich dann alle Volumes für die VMs befinden?
Bei letzterem müsstest du dafür sorgen, dass diese Verbindung erst aufgebaut wird, nachdem die MTU erhöht wurde. Bei ersterem musst du dann halt dafür sorgen, dass die MTU hochgedreht ist, bevor die VMs starten.

Du hast also dahingehend aus meiner Sicht überhaupt keine Probleme zu erwarten, solange du die MTU nicht im laufenden Betrieb reduzierst.
aqui
aqui 02.01.2018 um 10:44:05 Uhr
Goto Top
Und außerdem gibt es noch die Path MTU Discovery:
https://de.wikipedia.org/wiki/Path_MTU_Discovery
In der Tat...zu viele bange Gedanken um ein Problem, welches nur minimal ist. Stelle 9k ein und gut iss.
Scampicfx
Scampicfx 03.01.2018 um 18:49:47 Uhr
Goto Top
Hey zusammen,

vielen Dank für eure Antworten.

Ich habe daraufhin nun sowohl auf Seite von FreeNAS als auch bei ESXi die MTUs jeweils auf 9000 erhöht. Anschließend habe ich ein paar Performance-Tests gemacht und war glücklich, dass sich in manchen Szenarien die Datenrate fast verdoppelt hat. face-smile

Von daher vielen Dank für eure Hilfe!


Hat jede VM ihr eigenes iSCSI-Target für ihre Festplatte oder wird dafür ein Target benutzt, auf welchem sich dann alle Volumes für die VMs
befinden?
Bei letzterem müsstest du dafür sorgen, dass diese Verbindung erst aufgebaut wird, nachdem die MTU erhöht wurde. Bei ersterem musst du dann
halt dafür sorgen, dass die MTU hochgedreht ist, bevor die VMs starten.

In meinem Fall gibt es derzeit zwei LUNs / Targets: Eins für den ESXi Boot. Ein weiteres für den Storage, auf dem die VMs liegen. Die Verbindung zu diesem VM-Storage ist in ESXi selbst konfiguriert (und nicht im iSCSI BOOT). Daher gehe ich davon aus, dass die Verbindung zu diesem Target erst nach dem Initialisieren des Hypervisors aufgebaut wird, sprich dadurch auch mit einer MTU von 9000. face-smile

Danke nochmals!
aqui
aqui 04.01.2018 um 11:24:00 Uhr
Goto Top
dass sich in manchen Szenarien die Datenrate fast verdoppelt hat.
Ist ja auch zu erwarten wenn man Jumbo Framing aktiviert hat. Was man in Storage Umgebungen ab 1Gig, 10Gig und höher übrigens immer machen sollte !