Ich verwende CentOS 6 in einer virtuellen Umgebung. Beim Klonen einer virtuellen Version von CentOS werden die alten eth-Adapter "entfernt" und durch neue und Netz-MAC-Adressen ersetzt. Die ifcfg-ethn-Dateien sind jedoch noch vorhanden. Ich versuche herauszufinden, wie CentOS dazu gebracht wird, die Netzwerkadapter / eth-Dateien automatisch neu zu scannen und neu zu erstellen, genau wie bei der Installation.
Ansonsten bleibt mir der mühsame Prozess wie hier beschrieben: http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-s390info-addnetdevice.html
Ich weiß, dass es eine schnelle Möglichkeit gibt, dies in der GUI zu tun, aber wir verwenden einen Server, sodass die GUI in diesem Fall nicht angewendet wird. Hilfe?
Edit: @OldWolf schlug Kudzu vor, jedoch wurde Kudzu ab Centos 5 entfernt, so dass ich das lieber vermeiden würde. Es gibt eine Prozedur, die Linux bei der Erstinstallation ausführt. Kann mir jemand helfen, das herauszufinden, damit ich es manuell auslösen kann?
quelle
/etc/udev/rules.d
und löschen Sie die70-persistent-net.rules
Datei und starten Sie sie NICHT neu. Rufen Sie/etc/sysconfig/network-scripts/ifcfg-eth0
die MAC-Adresse Ihrer neuen NIC-Karte auf und aktualisieren Sie sie manuell. Starten Sie neu und das Netzwerk sollte lebendig werden.start_udev
dannservice network restart
bei mir geklappt .Sie können dieses Tool auch verwenden (Dies ist kein GUI-Tool, sein TUI-Tool, textbasierte Benutzeroberfläche).
Geben Sie den obigen Befehl ein und drücken Sie die Eingabetaste
Dann erscheint dieser Bildschirm
Wählen Sie Gerätekonfiguration und drücken Sie die Eingabetaste
Dann erscheint dieser Bildschirm
Hier bezieht sich eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
Unabhängig von der vorgenommenen Bearbeitung
eth0
wirkt sich dies auf dieifcfg-eth0
Datei ausquelle
system-config-network
scheint nur auch diese Schnittstelle zu öffnen.yum install system-config-network-tui
yum whatprovides */system-config-network-tui
Löschen Sie die persistente Regeldatei:
Bearbeiten Sie ifcfg-eth0:
ENTFERNEN Sie die
HWADDR
Leitung vollständig (oder ändern Sie sie entsprechend der MAC-Adresse Ihrer neuen Netzwerkkarte ).Starten Sie Ihr System neu:
Wenn Sie die Netzwerkkarte erneut ändern, wiederholen Sie einfach die Schritte 1 und 3.
quelle
Das Ändern von Dateien nach dem Klonen würde für meinen Anwendungsfall nicht funktionieren, daher habe ich das Problem wie folgt gelöst.
Sie müssen zwei Dateien bearbeiten und dabei die Verweise auf die Mac-Adressen entfernen:
/etc/sysconfig/network-scripts/ifcfg-eth0
- Entfernen Sie die Zeile HWADDR =./etc/udev/rules.d/70-persistent-net.rules
- von ATTR {address} == bis einschließlich des nächsten Kommas entfernen.Wenn Sie nun die VM klonen und die Mac-Adresse ändern, funktioniert das Netzwerk, da die Mac-Adresse niemals in eine der beiden Dateien geschrieben wird.
quelle
Ich erstelle und lösche so viele virtuelle CentOS 6-Maschinen, dass ich Bashfu geschrieben habe, um eth0 beim Klonen in VirtualBox zu beheben.
quelle
Wenn Ihr einziges Problem die MAC-Adresse ist, können Sie etwas Ähnliches ausführen
So aktualisieren Sie den HWADDR-Eintrag
Bearbeiten: Da es sich anscheinend um eine tatsächliche Änderung der virtuellen Hardware handelt, können Sie Folgendes versuchen. (ungetestet und von hier aus referenziert )
Bearbeiten Sie / etc / sysconfig / hwconf und entfernen Sie alle Verweise auf die vorherige Netzwerkkarte. Führen Sie kudzu erneut aus, um festzustellen, ob die neue Hardware erkannt wird. Möglicherweise müssen Sie neu starten.
quelle
Ich verwende keine VMware, sondern KVM mit Virsh - das habe ich getan.
Mit CentOS 6.4 wurde ein Basis-Image erstellt, aus dem alle meine Klone stammen. Nach dem ersten Start habe ich so ein Skript erstellt
Fügte es zu init mit hinzu
Löschte alle Referenzen in / etc / sysconfig / network-scripts / ifcfg-eth0 von HWADDR oder UUID, löschte auch die udev-Regeln aus /etc/udev/rules.d/70-persistent-net.rules.
Zu diesem Zeitpunkt habe ich die Maschine heruntergefahren und mit dem Klonen begonnen. Alles funktioniert gut. Das Skript, das ich erstellt habe, ist sehr einfach, funktioniert aber einwandfrei. Es enthält jedoch einige Annahmen zu Ihrem Setup für das Netzwerk (nur eth0).
Ich hoffe es wird helfen.
quelle
Ich hatte es mit mehreren Netzwerkkarten zu tun und es hat nichts oben für mich funktioniert (VMware Fusion 7 / VMware 6 und darunter), also habe ich ein Skript geschrieben. Der Tarball ist da .
Hier ist das
README
, was damit kommt:Alles, was Sie in der Maschine tun müssen, klonen Sie nur einmal:
lshw
/etc/sysconfig/network-scripts/ifcfg-eth?
mit MACDADDY num, wobei num die Nummer der Netzwerkschnittstelle ist. Sie müssen dem Benennungsmuster für die Datei folgen.Lauf:
Dies sollte Sym-Links mit den in der Datei angegebenen Ausführungsstufen hinzufügen
ifcfg-eth?
Dateien ändern ,Probleme:
Ich weiß nicht warum, aber manchmal muss das Netzwerk ein zweites Mal neu gestartet werden, damit alle Netzwerkkarten erkannt werden:
Dies wurde behoben, indem ein
sleep 20
am Anfang von gesetzt wurde/etc/init.d/network
lshw
basiert auf der Rückgabe der NICs in der gleichen Reihenfolge wieifcfg-eth?
ifcfg-eth?
Dateien zu ändern, damit sie dem entsprechen, waslshw
sich in dem unwahrscheinlichen Fall ergibt, dass es nicht funktioniert und Sie viele Maschinen mit vielen Netzwerkkarten betreiben./usr/bin/change_mac_address.pl
nach verschoben/usr/bin/change_mac_address.pl.old
ifcfg-eth?
Du kannst auch und solltest wohl laufen
quelle