Hyper-V-Netzwerkeinstellungen optimieren

Flusskontrolle

Bei Leistungsproblemen von virtuellen Servern unter Hyper-V liegt der Flaschenhals oft im Netzwerkzugriff. Mit dem passenden Know-how können Administratoren Optimierungen vornehmen, die die virtuellen Netzwerkverbindungen deutlich beschleunigen.
Duell der Datenbanken: In einem Shootout messen sich MySQL und PostgreSQL. Der Schwerpunkt vom ADMIN 06/2011 überprüft, wer schneller ist und gibt einen ... (mehr)

Die Version 3.0 von Hyper-V in Windows Server 8 bietet zahlreiche Verbesserungen im Netzwerkbereich, die zu höherer Performance verhelfen. Beispiele dafür sind der direkte Zugriff von virtuellen Maschinen auf Hardwarefunktionen der Netzwerkkarte oder eine bessere Steuerung und Konfiguration von Netzwerkverbindungen. Aber auch in der aktuellen Version Hyper-V 2.0 in Windows Server 2008 R2 lassen sich Optimierungen durchführen, die Netzwerkverbindungen von virtuellen Servern deutlich beschleunigen.

Funktionsweise von Hyper-V-Netzwerken

Damit virtuelle Server in Hyper-V-Netzwerken auf das physische Netzwerk zugreifen können, muss es eine Verbindung zwischen dem virtuellen Server und der physischen Netzwerkkarte des Hyper-V-Hosts geben. Diese Verbindung bildet der Hypervisor über einen virtuellen Netzwerkswitch ab. Da sich die verschiedenen virtuellen Server auf dem Hyper-V-Host die physischen Netzwerkkarten teilen müssen, kann es hier durchaus zu Konflikten und Ressourcenengpässen kommen. Die Verwaltung der Netzwerke findet im Hyper-V-Manager über den Manager für virtuelle Netzwerke statt (Abbildung  1). Hier können Sie drei Arten von virtuellen Netzwerken erstellen:

Abbildung 1: Verwalten von Netzwerken im Hyper-V-Manager.
  • Externe virtuelle Netzwerke: Diese Netzwerke erlauben eine Kommunikation der virtuellen Server untereinander und mit dem Rest des Netzwerks. Bei diesen Verbindungen sind die physischen Netzwerkkarten eingebunden. Die Verbindung erfolgt über einen virtuellen Switch, die den Hyper-V-Host und die virtuellen Server, welche die Verbindung nutzen, mit dem Netzwerk verbinden. Sie können im Hyper-V-Manager immer nur ein externes Netzwerk pro verfügbarer Netzwerkkarte erstellen. Interne virtuelle Netzwerke können Sie allerdings beliebig oft anlegen, da diese nicht mit einer Netzwerkkarte verbunden sind, sondern nur der internen Kommunikation dienen.
  • Interne virtuelle Netzwerke: Diese Netzwerke erlauben lediglich die Kommunikation der virtuellen Server untereinander und mit dem physischen Host, auf dem sie installiert sind. Die Server können nicht mit dem Rest des Netzwerks kommunizieren.
  • Private virtuelle Netzwerke: Diese Netzwerke erlauben lediglich eine Kommunikation zwischen den virtuellen Servern auf dem Host. Die Kommunikation mit dem Host selbst ist nicht möglich.

Sie sollten daher genau planen, welchen Typ eines virtuellen Netzwerks die einzelnen virtuellen Server benötigen. Nicht immer sind externe Netzwerke notwendig.

Grundsätzlich ist es empfehlenswert, einen Netzwerkadapter auf jedem Hyper-V-Host für die Verwaltung des Servers zu verwenden, also nicht in die Hyper-V-Konfiguration einzubinden. Sonst kann es sein, dass bei starker Belastung der Netzwerkverbindung, zum Beispiel beim Kopieren von Patches oder neuen Anwendungen auf den Servern, die Leistung einiger virtueller Server einbrechen kann. Sie sollten also generell den Netzwerkverkehr des Hyper-V-Hosts selbst vom Netzwerkverkehr der virtuellen Maschinen trennen.

Auch für NAS und iSCSI

Diese Vorgehensweise ist auch bei der Anbindung von Netzwerkspeicher, zum Beispiel NAS oder iSCSI, empfehlenswert. Auch hier sollten Sie für jede Verbindung eine eigene Netzwerkkarte auf dem Hyper-V-Host zur Verfügung stellen, die nur für den Datenverkehr zum Datenspeicher verwendet wird. Das heißt, schon außerhalb von Hyper-V können Sie eine deutliche Leistungssteigerung erreichen, wenn Sie dedizierte Netzwerkkarten einsetzen.

Diese Optimierung können Sie auch auf die virtuellen Hyper-V-Server ausdehnen. Analysieren Sie, welche virtuellen Server die meiste Netzwerkbandbreite verbrauchen und stellen Sie solchen Servern eigene Netzwerkkarten über virtuelle externe Netzwerke zur Verfügung. Server, die nur wenig Netzwerkbandbreite benötigen, können Sie mit mehreren virtuellen Netzwerken zusammenfassen. Eine solche Zusammenfassung erreichen Sie sehr einfach, indem Sie die entsprechenden physischen Netzwerkkarten zu externen Netzwerken zusammenfassen und den gewünschten Servern zuweisen. Grundlage für eine schnelle Netzwerkkommunikation ist also zunächst die optimale Planung für den Einsatz der physischen Netzwerkkarten.

Während Sie auf dem Hyper-V-Host die generelle Struktur der Netzwerke konfigurieren, legen Sie in den Einstellungen der einzelnen virtuellen Server fest, welche Art von virtuellen Netzwerkkarten Sie für den Server verwenden wollen. Klicken Sie auf »Hardware hinzufügen« in den Einstellungen von virtuellen Servern, haben Sie die Möglichkeit, verschiedene Netzwerkkarten zu integrieren (Abbildung  2). Der Typ »Netzwerkkarte« verwendet die Verbindung zwischen Hypervisor und der physischen Netzwerkkarte. Dieser Typ kann Netzwerkdaten sehr schnell senden und empfangen. Die Kommunikation erfolgt über einen internen Treiber in den virtuellen Maschinen, die die Integrationsdienste zur Verfügung stellen. Daher sollten Sie darauf achten, innerhalb der virtuellen Server die Integrationsdienste aktiv zu halten beziehungsweise zu installieren.

Abbildung 2: Netzwerkkarten zu Servern hinzufügen.

Der Typ »Ältere Netzwerkkarte« ist nur sinnvoll, wenn Sie spezielle Server virtualisieren, die nicht den neuen Typ verwenden können. Beispiel dafür sind Server, die über das Netzwerk booten sollen, etwa mit PXE. Ist der Typ »Netzwerkkarte« für solche Server nicht geeignet, verwenden Sie stattdessen »Ältere Netzwerkkarte« . Bei diesem Typ emuliert Hyper-V einen Intel-21140-basierten PCI-Fast-Ethernet-Adapter. Dieser Adapter funktioniert auch ohne installierten Treiber, bietet aber nicht die hohe Geschwindigkeit des virtuellen Switches zwischen Hypervisor und physischer Netzwerkkarte. Für die Emulation muss der Prozessor des Hyper-V-Hosts eigens Rechenzeit aufwenden.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023