Wie kann ich beim Klonen einer virtuellen VMware-Maschine Konflikte mit MAC-Adressen und UUIDs verhindern?

10

Ich habe das folgende Problem sowohl auf VMware Fusion (für Macs) als auch mit VMware ESXi / vSphere festgestellt. Viele von Ihnen kennen das Problem und es wird in VMware KB beschrieben: "Das Netzwerk funktioniert nicht in einer geklonten virtuellen Linux-Maschine (2002767) ."

  1. Erstellen Sie eine CentOS-VM.
    • Dies ist eine reine VM mit einem minimalen Satz an Software und einem funktionierenden Netzwerkstapel. Die Idee ist, dass wir die minimale VM nehmen, sie klonen und später weitere Software hinzufügen.
  2. Klonen Sie diese VM
  3. VMware Fusion oder vCenter weisen der Netzwerkschnittstelle auf der geklonten VM eine neue MAC-Adresse zu.
  4. Linux kennt diese neue MAC-Adresse nicht und daher funktioniert das Netzwerk nicht. Die Datei /etc/sysconfig/network-scripts/ifcfg-ethNhat die MAC-Adresse der Schnittstelle auf dem ersten Computer.
  5. Um dies zu beheben, muss ich die MAC-Adresse der neuen VM suchen ifcfg-ethN, diese MAC bearbeiten und dem HWADDR=Feld hinzufügen . Ich kann den MAC nicht einfach ausschneiden und in das Feld einfügen, daher kann dies eine fehleranfällige Aufgabe sein, insbesondere wenn ich meinen Stift und mein Papier vergesse, um den MAC aufzuschreiben.
  6. (Bonuspunkte) Auf der neuen VM werden eth0, eth1 usw. häufig in der falschen Reihenfolge angezeigt. Um dies zu beheben, muss man arkan herumtanzen/etc/udev/rules.d

Ich kann das tun, aber es ist fehleranfällig und schmerzhaft, wenn ich einfach eine neue VM hochfahren wollte, um etwas zu testen.

Gibt es eine Möglichkeit, diesen manuellen Prozess zu vereinfachen? Wie können Sie das Problem mit der MAC-Adresse beheben, wenn Sie einen neuen Computer klonen?

Stefan Lasiewski
quelle
Ist es Ihnen bei diesen Systemen wichtig, die Gerätepersistenz überhaupt beizubehalten?
Shane Madden
Nein, nicht für die Netzwerkschnittstelle.
Stefan Lasiewski

Antworten:

13

Da Geräte-Persistenz für diese VMs gerade erst im Weg steht, sollten Sie Folgendes herausreißen:

  • Entfernen Sie die Zeilen HWADDRund vollständig UUIDaus der ifcfgDatei und
  • Löschen /etc/udev/rules.d/70-persistent-net.rulesvor dem Klonen

Damit sollte der eth0 mit einer neuen MAC-Adresse tatsächlich den ifcfg-eth0beim ersten Start verwendeten verwenden.

Shane Madden
quelle
Hm, das scheint zu funktionieren. Ich hatte keine Ahnung, HWADDRwar optional. Sollte ich auch die UUID entfernen?
Stefan Lasiewski
1
@StefanLasiewski Ahh, ja, das solltest du.
Shane Madden
+1 arbeitete wie Charme J
Deepdive
2
Von den Top 10 der Google-Ergebnisse funktioniert dies! Hinweis: Entfernen Sie die HWADDRUND- UUIDZeilen von/etc/sysconfig/network-scripts/ifcfg-eth0
Howard Lee