Fragensteller
HYPER-V 2012 R2 privat Network adpater - wie arbeitet er?

Allgemeine Diskussion
-
Hi,
eine Frage zur Arbeitsweise bzw. zum Betriebssystemhintergrund des Netzwerk Virtual Switch in HYPER-V 2012 R2
oder anders Frage zur Performanz Optimierung bei LAN Verbindungen von VMs
Bsp.
Wenn ich in HYPER-V einen privaten LAN Adapter erzeuge (LAN private) - ohne Anbindung an einen physikalischen Adapter und diesen LAN privat in zwei unterschiedliche VMs einbinde (z.B. eine VM mit SQL Server und eine als RDS Server). Dann spiegelt das LAN private in den VMs eine 10GB ETH Karte und die zwei Server sind quasi direkt miteinander verbunden. Lt. MS ist der virutelle Switch ein Layer2 Switch.
Mit welchem Mechanismus bzw. welcher Art kommunizieren die zwei Server per LAN miteinander bzw. mit welcher Performanz bzw. Auslastung ist am Host zu rechnen?
Konkret muss das Host System und wenn wie stark (CPU Last anteilig) für diesen LAN privat rechnen oder tauschen die zwei VMs (besser der virtuelle Switch) dann technisch die Daten quasi nur per DMA im Speicher aus?
Ich habe mir dazu schon die HYPER-V Referenz von MS angesehen, werde aber auch den Übersichtsbildern nicht 100 % schlau, da es nur "Blockweise" dargestellt ist und nichts über den tatsächlichen technischen Ablauf aufzeigt.
Meine Frage und Überlegung geht dahin, ob es vom Lastverhalten für einen VM Server besser ist zwei VMs per externen 10GB Adapter (physikalisch) und per 10 GB Switch zu verbinden oder ob die interne 10 GB Switchfunktion wirklich ausreichend leistungsstark und die CPU bzw. RAM nicht über Gebühr belastet.
Im Beispielfall SQL-RDS Server würde eine Anwendung auf dem RDS laufen, die performant auf den SQL zugreifen sollen. Die Benutzer aber bzw. über eine zweite LAN physikalisch (z.B. 1GB ETH) auf den RDS zugreifen.
Ich hoffe mein Anliegen (einigermaßen) gut vermittelt zu haben ;-)
P.S. Ja OK ich könnte sicherlich eigenen Test durchführen (was ich z.T. schon getan habe), doch diese Test klären nicht den technischen Hintergrund, den ich gern verstehen würde.
Danke an alle.
Danke und liebe Grüße Oliver Richter
- Typ geändert Mihaela ParedesMicrosoft contingent staff, Moderator Dienstag, 7. Juli 2015 10:08 Due to no activity
Alle Antworten
-
Moin,
jegliche Nutzung eines virtuellen Switches belastet die Host CPU. Dabei spielt es so gut wie keine Rolle, welcher Switchtyp genutzt wird; Externe und Interne vSwitches haben lediglich ein weiteres Interface - einmal nach Extern und einmal im Host OS. Bei Externen vSwitches spielen noch die Offload-Features der Karte eine Rolle.
Wenn es um das letzte Promille Performace geht, wäre SRIOV in Kombination mit einem leistungsstarken physischen Switch das Optimum.
Kommunikation erfolgt grundsätzlich über den VMBus. SRIOV bietet der VM die Möglichkeit per DMA mit der NIC zu kommunizieren und den VMBus zu umgehen.
This posting is provided AS IS with no warranties.
-
Ergänzend zu Grant's Ausführung bzgl. der Switche.
Interne und Private Switche auf einem Hyper-V Host können nicht im Hyper-V Cluster genutzt werden. Dort gehen NUR externe Switche.
Was die Leistung des virtuellen Switches angeht, kann ich dich beruhigen. Solange du auf einem Host bleibst und nicht gerade mit einer Sparmodell CPU ala Core i3 arbeitest, hast du die selbe Performance wie deine Hardware Switche.
Wenn du mehr zu Clusternetzwerken lesen möchtest, ich habe auf meinem Blog ein Paar Konfigurationen geposted.
Validated Cluster Network Configurations
LG
Flo
-
Danke @Flo
OK, die HYPER-V Host sind alle mind. Dual Sockel AMD Opteron 6-core+ oder Dual Sockel Intel XEON 8-core+
Es ging dabei wirklich nur um einzelne HYPER-V Hosts keine Cluster. Ich denke der Privat Switch würde ja eh nur in einem Host funktionieren und nicht über mehrere Hosts hinweg - egal ob Cluster oder nicht.
Im Kern ging es mir bei den 10GB privat LAN Switchen quasi im die tatsächliche Switching Leistung pro HYPER-V Host und wie sich in etwa die Last dazu verhält. Macht MS dazu Aussagen - gibt es irgendwelche Tests und Charts, die hier es verdeutlichen.
OK, SRIOV mit externen Switch putzt noch einiges an Geschwindigkeit raus (das haben wir schon getestet). So wie ich verstanden habe ich es trotzdem vorzuziehen, lieber SRIOV mit ext. 10GB Switch als einen Privat LAN Switch - was mir wiederum aber zu denken gibt, dass der virtuelle Switch HYPER-V Switch nicht sehr leistungsstark wäre. (bitte mal die Clusting oder LAN über mehrere HYPER-V Host außen vor lassen.
Vielleicht hätte jemand konkrete Werte und Strukturen für mich?
Danke.
Danke und liebe Grüße Oliver Richter
-
Hallo Oliver,
leider gibt es da nichts wo nicht irgendwo Marketing seine Finger im Spiel oder irgendwer Gartner bezahlt hat. (zumindest gefühlt)
Das Beste ist, du verschaffst dir selbst ein Bild. Nimm dir ein Tool wie IO Meter und miss die Übertragungsgeschwindigkeit über die jeweiligen Switche.
Das kannst du recht gut ermitteln, in dem du eine Freigabe von Server A auf B machst und Daten mit IO Meter schreibst und liest. Passe das Schreib-/Leseverhalten im IO Meter auf deine jeweilige Anwendung an. Wichtig ist, schalte auf den virtuellen Servern beim Test das schreiben und lesen in den RAM aus. Dann bekommst du direkt die Werte vom Storage und Netzwerk.
LG
Flo
-
Das Problem solcher Messungen ist, dass sie genau für das gemessene Referenzsetup gelten. Also Hardware, Bios Konfiguration, Firmwarestand, CPU Revision, Windows Patchlevel/Hotfixes usw. usf.
Bei kritischen Dingen messe ich meine Umgebung in verschiedenen Konfigurationen und dokumentieren die Ergebnisse als Baseline.
Bei größeren Projekten kann man ggf. einen Termin im Testcenter des Herstellers organisieren und vor dem Kauf das ein oder andere Szenario evaluieren.
This posting is provided AS IS with no warranties.
-
Danke @Flo
ich gebe zu - verlässliche Werte gibt es nur bei eigenen Messungen in der eigenen Umgebung - ganz klar. Wäre nicht das iperf (z.B. http://fasterdata.es.net/performance-testing/network-troubleshooting-tools/iperf-and-iperf3/) für reine Performance Messung für die Switchkapazität besser als das io Meter? Da würde man doch sonst noch die Storage Performanz mit einbeziehen müssen?
Mit Schreiben und Lesen aus/in den RAM meinst Du bestimmt das Zwischenspeichern für die Freigabe? Oder was gäbe es da noch *Grübel*?
Danke!
Danke und liebe Grüße Oliver Richter