cat-hyper-v

MAC Address Management bei Hyper-V

HYPER-V

Wie bei der physikalischen werden auch bei der virtuellen Welt MAC Adresse (Media Access Control) für die Netzwerkkommunikation benötigt. Dazu stellt Hyper-V den Virtual Machines ein MAC Address Pool zur Verfügung. Hyper-V, auch in Windows Server 2012, nutzt ein Algorithmus um die Vergabe von doppelten MAC Adresse auf einem Single Host zu verhindern, allerdings funktioniert dies nicht Host übergreifend.

Virtual Machines können bei Hyper-V mit einer dynamischen, oder einer statisch vergebenen MAC Adresse konfiguriert werden. Eine statische Konfiguration macht vor allem dann Sinn, wenn eine spezielle Konfiguration oder eine Applikation dies erfordert. Ansonsten empfiehlt es sich die Vergabe dynamisch respektive automatisch durch den Hypervisor vorzunehmen zu lassen.

Der MAC Address Pool

Jeder Hyper-V Host verfügt über einen MAC Adressen Bereich. Die einzelnen Adressen bestehen jeweils aus zwei Teilen, dem OEM Identifier und dem Unique Value. Der OEM Identifier, die ersten drei Oktett, wurden speziell hierfür durch Microsoft registriert und sind auf sämtlichen Hyper-V Hosts gleich (00-15-5d). Der Unique Value wird anhand der letzten zwei Oktett der IP Adresse generiert, welche dem ersten Network Adapter zugewiesen wurde.

Ein Hyper-V Host kann somit über 256 MAC Adressen verfügen, welche für Virtual Machines aber auch den Internal Virtual Adapters genutzt werden. Besonders wegen den Internal Virtual Adapters, welche genutzt werden um ein Virtual Switch mit dem Management OS zu teilen, sollte sichergestellt werden dass kein Host MAC Adressen aus dem gleichen Range nutzt.

Bei der Planung gilt es zu berücksichtigen, dass der MAC Address Pool während der Installation der Hyper-V Rolle erstellt wird. Wird somit das gleiche Referenz Image für ein Deployment verwendet, würden alle Hosts den gleichen Pool verwenden. Dies ist selbst dann der Fall, wenn sysprep verwendet wurde. Um dieses Problem zu umgehen kann…

  • … die Hyper-V Rolle nachträglich installiert werden;
  • … die Registry Werte für “MinimumMacAddress” und “MaximumMacAddress” gelöscht werden.

Anpassen des MAC Address Pools

Die Information zum MAC Address Pool wird beim Hyper-V Host in der Registry unter HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization abgelegt. Wird “00” als “MinimumMacAddress” and “FF” als “MaximumMacAddress” verwendet (Default) stehen dem Hyper-V Host 256 unterschiedliche MAC Adressen zur Verfügung.

Am einfachsten kann die Einstellung unter “Hyper-V Management Tools ⇒ Virtual Switch Manager…” editiert werden:

Mit Windows Server 2012 kann diese Anpassung nun auch mittels Windows PowerShell vorgenommen werden: Set-VMHost -MacAddressMinimum "00-15-5D-78-80-00" -MacAddressMaximum "00-15-5D-78-8F-FF". Dieses Beispiel erhöht den Pool von 256 auf 4‘096 mögliche MAC Addressen.

Wichtig, bereits genutzte MAC Adressen werden nicht automatisch angepasst. Daher sollte die Konfiguration bereits vorgenommen werden bevor Virtual Machines oder Internal Network Adapters (Virtual Switch shared with Management OS) erstellt werden.

Einfluss von System Center Virtual Machine Manager

Wird System Center 2012 Virtual Machine Manager für das Deployment von Virtual Machines eingesetzt, so kommt noch ein weiterer MAC Address Pool zum Einsatz. Dieser Pool gilt dann für alle verwalteten Hosts und stellt sicher dass keine duplicate MAC Adressen vergeben werden. Folgende Pools werden für die jeweiligen Hypervisor verwendet.

Hypervisor Default MAC Address Pool
Hyper-V, XenServer 00-1D-D8-B7-1C-00 – 00-1D-D8-F4-1F-FF
VMware 00-50-56-00-00-00 – 00-50-56-3F-FF-FF

Im TechNet Artikel “How to Create MAC Address Pools” werden weitere reservierte MAC Address-Bereiche aufgeführt, welche durch Microsoft reserviert wurden. Weiters wird beschrieben, wie der Default Pool angepasst werden kann. Wichtig, sollte eine Virtual Machine mittels Hyper-V Management Console erstellt werden, wird nicht der System Center MAC Address Pool verwendet, sondern jener vom entsprechenden Hyper-V Host.

Hyper-V , SCVMM

, , , , ,

About the Author

Michel Luescher is a solution architect in the worldwide Datacenter & Cloud Infrastructure Center of Excellence (CoE) at Microsoft Corporation based out of Zurich, Switzerland. Primarily, Michel is focused on hybrid cloud solutions (Hyper-V, System Center and Microsoft Azure). In addition Michel is speaker, blogger and author of several books.

Leave a Reply.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

System Center 2012 Virtual Machine Manager und die Job History Die Private Cloud in 3 Minuten einfach erklärt