MAC-Adressierung in Hyper-V / SCVMM verstehen und richtig anwenden

VonJochen Reinecke

MAC-Adressierung in Hyper-V / SCVMM verstehen und richtig anwenden

Die Einführung und der Betrieb von Hyper-V Clustern (mit oder ohne SCVMM) erfolgt oftmals in Abstimmung mit den Netzwerk-Teams der jeweiligen Institutionen. Dennoch besteht häufig ein Missverständnis über die korrekte Betrachtung und Konfiguration der MAC-Adressparameter für virtuelle Maschinen. Die potenziellen Fehlerquellen sollten aber nicht außer Acht gelassen werden.

 

MAC-Adressierung für virtuelle Maschinen in Hyper-V

Wird in Hyper-V eine VM erstellt, so können über die Hardwarekonfiguration der jeweiligen Maschine Netzwerkadapter (NICs) hinzugefügt werden. Dabei kann der Administrator zwischen statischer und dynamischer Adressierung wählen. Hier gibt es jedoch wesentliche Unterschiede und Stolpersteine im Vergleich zwischen Standalone Hyper-V, geclusterten Systemen und SCVMM-Umgebungen zu beachten!

Im Hyper-V Manager wird bei Auswahl der statischen Option die Kreativität des Administrators erforderlich. Hier soll händisch eine Adresse eingetragen werden.

Auswahloptionen der MAC-Adressierung unterhalb der VM-Einstellungen

Die dynamische Adressierung bezieht ihre Adresse hingegen aus dem unterhalb der virtuellen Switches definierten Pools. Diese Pools müssen im Clusterbetrieb für jeden Host einzeln geprüft werden, da nur auf Basis der jeweiligen Knoten über einen Algorithmus überprüft wird, ob die Adresse bereits vergeben wurde. Im schlechtesten Fall ist es demnach möglich, dass zwei Hosts innerhalb eines Clusters Adressen doppelt vergeben und es daher zu Duplikaten und dem ungeliebten Netzwerk-Loop-Verhalten kommt.

MAC-Adressbereiche (Pools) für dynamische Adressierung im Hyper-V Manager

Microsofts Dokumentation zeigt die Zusammensetzung der Adressbereiche. Dabei gilt:

  • die ersten drei Oktetten (00-15-5D) beschreiben Microsofts Vendor-Identifier für Hyper-V Hosts,
  • die folgenden zwei Oktetten (z.B. FF-FF) werden aus den letzten beiden Oktetten der IP-Adresse des Hosts zum Zeitpunkt der Installation der Hyper-V Rolle generiert, für 10.0.0.2 beispielsweise 00-02,
  • das letzte Oktett wird von 00 bis FF frei dimensioniert.

Missverständlich unterscheiden sich die Begriffe “dynamisch” und “statisch” im Hyper-V Manager somit grundsätzlich von jenen im System Center Virtual Machine Manager (SCVMM). Im SCVMM meint “dynamisch”, dass auf die Adressbereiche aus dem Hyper-V Manager jedes einzelnen Hosts zurückgegriffen wird, während “statisch” die automatische Adressvergabe aus einem im SCVMM definierten Pool beschreibt.

MAC-Adresspool (statisch) in der SCVMM Fabric

Die händisch-manuelle Vergabe ist in SCVMM nur über Pools vorgesehen, damit Doppelungen ausgeschlossen werden können. Letztlich ließe sich aber auch eine händische Adresse eintragen. Kurz also:

  • statisch = MAC-Adresse aus einem statischen Adresspool in SCVMM
  • dynamisch = MAC-Adresse aus dem dynamischen Adresspool des aktuellen Hosts (Hyper-V Manager)

Grundsätzlich sollte darauf geachtet werden, dass statisch-manuell nie Adressen aus einem dynamischen oder statischen Pool vergeben werden oder diese vorher ausgeschlossen wurden!

 

Verhalten der dynamischen Adressierung im Hyper-V Cluster

Für Live-Migrationen gilt, dass die MAC-Adresse bestehen bleibt, auch wenn dem Host ein anderer Adresspool (dynamischer Pool) zu Grunde liegt. Wird aber ein anderer dynamischer Adresspool gefunden (z.B. nach der Migration auf einen anderen Host) bekommt die virtuelle Maschine eine neue Adressierung…

  1. …wenn die VM aus dem ausgeschalteten Zustand hochfährt, oder
  2. …wenn die VM aus einem gespeicherten Zustand hochfährt, oder
  3. …oder wenn bereits eine VM mit derselben MAC-Adresse vor der Migration gefunden wurde.

Hyper-V Administratoren sollten daher bestmöglich immer statische-Pools (statische Adressierung) in SCVMM verwenden um sicher zu gehen, dass kein Fehlerpotenzial entsteht.

 

MAC-Adressierung von Windows NIC Teaming

Abseits des gewählten Teaming-Modus (statisch, LACP oder switchunabhängig) bzw. des Load-Sharing-Algorithmus (Adresshash, Hyper-V Port oder dynamisch) gilt bei Windows NIC Teams innerhalb einer VM oder für ein physisch System: Die MAC-Adresse der Teamschnittstelle wird bei jedem Bootvorgang von einem der Mitgliedsadapter zufällig ausgewählt. Problematisch ist dieses Verhalten, wenn z.B. Lizenzinformationen an Hardwarekomponenten oder die MAC-Adresse gekoppelt sind. Wird dann in SCVMM noch dynamische (also Hyper-V Hostadressierung) verwendet, können sich sogar die MAC-Adressen der Mitgliedsadapter (und somit der Teamschnittstelle) zwischen unterschiedlichen Hosts unterscheiden.

In SCVMM lässt sich diese Problematik durch statische (also Pool-gesteuerte) MAC-Adressierung und die Festlegung der MAC-Adresse eines der Mitgliedsadapter für die gemeinsame Teamschnittstelle umgehen. Beispiel:

  1. “physischer” Adapter 1: 00-15-5D-FF-FF-01
  2. “physischer” Adapter 2: 00-15-5D-FF-FF-02
  3. Teamschnittstelle (zufällig): 00-15-5D-FF-FF-02

Das Festlegen der MAC-Adresse 00-15-5D-FF-FF-02 funktioniert nicht über die Eigenschaften des Teams im Server-Manager. Hier kann lediglich die aktuelle eingesehen werden. Die PowerShell-Parameter “Get-NetAdapter” und “Set-NetAdapter -Name “Team” -MacAdress 00-15-5D-FF-FF-02″ trennen die Verbindung und sorgen dafür, dass das Team vollständig neu angelegt werden muss.

Lediglich klassisch über die Netzwerkverbindungen in der Systemsteuerung (ncpa.cpl) und die Eigenschaften des gemeinsamen Teamadapters lässt sich die Adresse festlegen. Dabei ist zu beachten, dass auch hier nur eine Adresse eines Teammitglieds verwendet werden kann. Eine dritte Adresse ist unzulässig.

Auswahl einer statischen MAC-Adresse

Über den Autor

Jochen Reinecke administrator

Jochen Reinecke (26 Jahre), beschäftigt sich als leidenschaftlicher Systemingenieur für Netzwerkarchitektur seit über 10 Jahren mit Themen rund um Netzwerke, Firewalling, IT-Sicherheit, Compute, Storage, WiFi und Voice. Neben seinem beruflichen Abschluss als "Staatl. gepr. Techniker Fachrichtung Informatik" ist er unter anderem "Cisco Certified Network Associate (CCNA)" und "Microsoft Certified Solutions Expert (MCSE)" für "Cloud Platform and Infrastructure" sowie "Producitivity". Seit einigen Jahren engagiert er sich darüber hinaus für bitblick.de und veröffentlicht Beiträge für die Microsoft TechNet und andere Online-Plattformen. Die (knappe) Freizeit verbringt er mit der Familie, bei „zu wenig" Sport und dem nebenberuflichem Studium der Diplom-Wirtschaftsinformatik.

Schreibe eine Antwort

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.