vSphere 5.1 static MAC

Fehler beim VM Start

Nach Upgrade eines ESX Clusters von vSphere 5.0 auf vSphere 5.1 konnte eine VM nicht neu gestartet werden. Statt dessen wurde eine Fehlermeldung ausgegeben:

Failed to start the virtual machine.
Module DevicePowerOn power on failed.
Could not set up “macAddress” for ethernet0.
Invalid MAC address specified.
00:0C:29:A0:B0:1D is not an allowed static Ethernet address. It conflicts with VMware reserved MACs.

Fehleranalyse

Die VM wurde Ursprünglich auf VMware Server betrieben und später auf die ESX Infrastruktur übertragen. Sie fungiert als Lizenz Server. Die darauf installierten Dienste sind an die MAC Adresse des LAN-Adapters gebunden, daher wurde in der Vergangenheit die virtuelle MAC Adresse statisch festgelegt. Ungünstigerweise lag die gewählte MAC Adresse im Bereich der dynamisch von VMware vergebenen Adressen. Für bisherige ESX-Versionen war dies kein Problem, auch wenn die Methode nicht empfohlen ist. Seit Version 5.1 sind Adressen aus dem Bereich 00:0c:29:x:x:x strikt für dynamische Zuteilung vorgesehen. Im VMX File der VM war jedoch folgender Eintrag:

Ich stellte die Adapter Adresse im vSphere Client zunächst um auf “dynamisch” und bekam beim nächsten Bootvorgang eine Adresse aus dem Bereich 00:50:56:x:x:x. Die VM startet, aber die Lizenzdienste funktionierten nicht mehr. Also beendete ich die VM und editierte das VMX File, indem ich den ursprünglichen Wert für die MAC Adresse eingab.

ethernet0.address = "00:0C:29:A0:B0:1D"

Fehler tauschen

Damit bekam ich einen neuen Fehler:

“00:0c:29:xx:xx:xx is not an allowed VPX assigned Ethernet address. Invalid MAC address specified. Failed to configure ethernet0.”

Das Problem war, daß durch den Wechsel von “static” auf “dynamic” in den Einstellungen der VM auch der Adresstyp auf “vpx” geändert wurde.

ethernet0.addressType = "vpx"
ethernet0.generatedAddress = "00:0c:29:xx:xx:xx"

Hierzu müß man zunächst verstehen, wie generierte Adressen entstehen.

  • generated : automatisch generiert vom MUI (MAC Adresse beginnt mit 00:0c:29)
  • vpx : automatisch generiert von vCenter (MAC Adresse beginnt mit 00:50:56)
  • static : manuell zugewiesene MAC Adresse

Richtig muss die Konfiguration so lauten:

ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:xx:xx:xx"

(*) Bitte xx:xx:xx mit den gewünschten Bytes ersetzen. Nicht xx:xx:xx ins VMX file eingeben! (Danke für den Hinweis, Al) 🙂

Danach lässt sich die VM wieder normal starten. In den Einstellungen ist die richtige MAC Adresse zu sehen.

MAC wird dennoch generiert

In einigen Fällen kam es vor, daß in den Einstellungen der VM (ausgeschaltet) zunächst die richtige MAC Adresse zu sehen war (wie im Bild oben), nach dem Start der VM wurde diese jedoch neu generiert. Die Ursache lag in der UUID der VM.

Hier muss man die letzten drei Byte von uuid.bios den letzten drei Byte der gewünschten MAC Adresse anpassen. Beim ersten Start der VM wird man gefragt, ob man die VM kopiert oder verschoben hat. Hier unbedingt “I moved it” auswählen, denn ansonsten wird erneut eine UUID und eine MAC Adresse gewürfelt.

VMX Duplikat

UPDATE: Welche Rolle spielt dabei das zweite VMX file (VMX~)? Betrachtet man eine laufende VM, so findet man zwei VMX Files.

  • VMNAME.VMX
  • VMNAME.VMX~

William Lam beschreibt das neue Konzept in seinem Artikel “Why Are There Two VMX Files?”. Muss man also beide Dateien editieren? Nein. Denn die manuellen Änderungen dürfen nur bei ausgeschaltetet VM erfolgen. In diesem Zustand existiert kein VMX~ File, wie ich in diesem Beitrag gezeigt habe.

Links

  • VMware – vSphere 5.1 release notes
  • VMware KB 219 – Setting a static MAC address for a virtual NIC (bis Version 5.0)
  • VMware KB 2007042 – Unable to manually change MAC address for virtual machine
  • VMware KB 1541 – Changing or keeping a UUID for a moved virtual machine
  • virtuallyGhetto – Why Are There Two VMX Files?

6 Antworten auf „vSphere 5.1 static MAC“

  1. Moin,
    dank dir, hast mir den Arsch gerettet. Wir sind gerade am Mirgrieren und sind auf das gleiche Problem gestoßen. Funktioniert alles wie davor.

  2. Thank you! this saved my butt too, I have an old copy of software no longer under maint that it’s license is tied to the mac address. This could have cost the company $50+k. Thanks again! (guess we better move up our software migration plans) 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert