Ziel
Die folgende Anleitung erklärt, wie Sie KVM-basierte virtuelle Maschinen unter Redhat Linux über die Befehlszeile mit virt-clone
klonen Befehl.
Betriebssystem- und Softwareversionen
- Betriebssystem: – RedHat 7.3
- Software: – libvirtd (libvirt) 2.0.0
Anforderungen
Privilegierter Zugriff auf Ihre Redhat Linux-Installation ist erforderlich.
Schwierigkeit
EINFACH
Konventionen
- # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von
sudo
Befehl - $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden
Anleitung
Informationen der virtuellen Quellmaschine abrufen
Bevor wir mit dem Klonen einer virtuellen Maschine beginnen, müssen wir zunächst einige grundlegende Informationen darüber erhalten. Die absoluten Mindestinformationen, die über die zu klonende virtuelle Quellmaschine erforderlich sind, sind der Name und die Nummer der verwendeten Festplatte. Um den Namen der virtuellen Maschine zu erhalten, führen Sie Folgendes aus:
# virsh list Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org running
Als Nächstes möchten wir möglicherweise die Anzahl der von unseren virtuellen Quellmaschinen verwendeten Festplatten sowie deren Standort wissen. Die Informationen zum Speicherort der Festplatten sind optional, da sie uns aus Gründen der Konsistenz nur einen Hinweis darauf geben, wo neue Klon-Festplattendateien gespeichert werden sollen:
# virsh dumpxml server1.linuxconfig.org | grep "source file" <source file='/var/lib/libvirt/images/server1.linuxconfig.org.qcow2'/> <source file='/var/lib/libvirt/images/server1.linuxconfig.org-1.qcow2'/> <source file='/var/lib/libvirt/images/server1.linuxconfig.org-2.qcow2'/>
Aus der obigen Ausgabe können wir sehen, dass unsere ursprüngliche virtuelle Maschine drei Festplatten hat, die am Speicherort /var/lib/libvirt/images/
gespeichert sind .
Virtuelle Quellmaschine anhalten
Bevor das Klonen stattfinden kann, muss unsere virtuelle Quellmaschine angehalten/angehalten werden:
# virsh suspend server1.linuxconfig.org Domain server1.linuxconfig.org suspended
Virtuelle Maschine automatisch klonen
Eine Möglichkeit, KVM-basierte virtuelle Maschinen unter Redhat Linux zu klonen, ist die Verwendung von --auto-clone
schalten. Der Hauptvorteil von --auto-clone
Schalter ist, dass er automatisch eine beliebige Anzahl von Quellfestplatten klont, sodass der Benutzer nicht unbedingt den Speicherort und die Nummer der Festplatte kennen muss, die an die ursprüngliche virtuelle Maschine angeschlossen ist.
Der Nachteil besteht darin, dass der Benutzer keine Festplattennamen angeben und auf einen alternativen Speicherort für neu geklonte virtuelle Festplatten stolz sein kann. Der folgende Linux-Befehl klont die ursprüngliche virtuelle Maschine server1.linuxconfig.org
um die virtuelle Maschine server2.linuxconfig.org
neu zu klonen automatisch mit --auto-clone
wechseln.
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --auto-clone WARNING Setting the graphics device port to autoport, in order to avoid conflicting. Allocating 'server2.linuxconfig.org.qcow2' | 10 GB 00:00:00 Allocating 'server1.linuxconfig.org-1-clone.qcow2' | 5.0 GB 00:00:07 Allocating 'server1.linuxconfig.org-2-clone.qcow2' | 5.0 GB 00:00:00 Clone 'server2.linuxconfig.org' created successfully.
Wie wir aus der obigen Ausgabe sehen können, ist --auto-clone
automatisch alle virtuellen Laufwerke geklont, die mit der ursprünglichen virtuellen Maschine verbunden sind, und clone
angehängt Schlüsselwort auf alle zusätzlichen Festplatten. Die neue geklonte virtuelle Maschine sollte jetzt in shut off
warten zu startender Zustand:
# virsh list --all Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org paused - server2.linuxconfig.org shut off
Klonen Sie manuell mehrere Festplatten
Um mehr Kontrolle über den Speicherort und den Namen der neu geklonten Festplatte zu erhalten, können wir --auto-clone
weglassen Wechseln Sie und geben Sie den Namen aller neuen geklonten Festplatten und den Zielpfad mit --file
ein schalten. Beachten Sie die Nummer von --file
Die angegebenen Argumente müssen der Anzahl der Festplatten entsprechen, die an die ursprüngliche virtuelle Maschine angeschlossen sind. Beispiel:
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --file /var/lib/libvirt/images/server2.linuxconfig.org.img --file /var/lib/libvirt/images/server2.linuxconfig.org-1.img --file /var/lib/libvirt/images/server2.linuxconfig.org-2.img WARNING Setting the graphics device port to autoport, in order to avoid conflicting. Allocating 'server2.linuxconfig.org.img' | 10 GB 00:00:00 Allocating 'server2.linuxconfig.org-1.img' | 5.0 GB 00:00:07 Allocating 'server2.linuxconfig.org-2.img' | 5.0 GB 00:00:00 Clone 'server2.linuxconfig.org' created successfully.
Fortsetzen/Starten
In diesem Stadium sind wir bereit, unsere ursprüngliche virtuelle Maschine server1.linuxconfig.org
fortzusetzen :
# virsh resume server1.linuxconfig.org Domain server1.linuxconfig.org resumed
und starten Sie auch die neu geklonte virtuelle Maschine server2.linuxconfig.org
:
# virsh start server2.linuxconfig.org Domain server2.linuxconfig.org started
Überprüfen Sie den Status aller virtuellen Maschinen:
# virsh list --all Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org running 3 server2.linuxconfig.org running