So klonen Sie KVM-basierte virtuelle Maschinen unter Redhat Linux
Objektiv
In der folgenden Anleitung wird erläutert, wie Sie KVM-basierte virtuelle Maschinen unter Redhat Linux über die Befehlszeile mit dem Befehl virt-clone klonen.
Betriebssystem- und Softwareversionen
- Betriebssystem: – Redhat 7.3
- Software: – libvirtd (libvirt) 2.0.0
Anforderungen
Privilegierter Zugriff auf Ihre Redhat Linux-Installation ist erforderlich.
Schwierigkeit
LEICHT
Konventionen
- # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder mit dem Befehl
sudo - $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden
Anweisungen
Abrufen der Informationen der virtuellen Quellmaschine
Bevor wir mit dem Klonen einer virtuellen Maschine beginnen, müssen wir zunächst einige grundlegende Informationen über sie erhalten. Die absolut erforderliche Mindestinformation über die virtuelle Quellmaschine, die wir klonen möchten, ist der Name und die Anzahl der verwendeten Festplatten. Führen Sie Folgendes aus, um den Namen virtueller Maschinen abzurufen:
virsh list
Id Name State
----------------------------------------------------
1 server1.linuxconfig.org running
Als Nächstes möchten wir vielleicht die Anzahl der Festplatten wissen, die unsere virtuellen Quellmaschinen verwenden, sowie deren Standort. Die Informationen über den Speicherort der Festplatten sind optional, da sie uns aus Gründen der Konsistenz nur einen Hinweis darauf geben, wo neue Klondateien 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.
Anhalten der virtuellen Quellmaschine
Bevor das Klonen stattfinden kann, muss unsere virtuelle Quellmaschine pausiert/angehalten werden:
virsh suspend server1.linuxconfig.org
Domain server1.linuxconfig.org suspended
Automatisches Klonen der virtuellen Maschine
Eine Möglichkeit zum Klonen von KVM-basierten virtuellen Maschinen unter Redhat Linux ist die Verwendung des Switches --auto-clone. Der Hauptvorteil des Schalters --auto-clone besteht darin, dass er automatisch eine beliebige Anzahl von Quellfestplatten klont, sodass der Benutzer nicht unbedingt den Standort und die Anzahl der Festplatten kennen muss, die an die ursprüngliche virtuelle Maschine angehängt sind.
Der Nachteil besteht darin, dass der Benutzer keine Datenträgernamen angeben kann und keinen alternativen Speicherort für neue geklonte virtuelle Laufwerke angeben kann. Der folgende Linux-Befehl klont die ursprüngliche virtuelle Maschine server1.linuxconfig.org automatisch mit dem Schalter --auto-clone server2.linuxconfig.org neue virtuelle Maschine zum Klonen.
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 in der obigen Ausgabe sehen können, hat --auto-clone automatisch alle virtuellen Laufwerke geklont, die an die ursprüngliche virtuelle Maschine angehängt sind, und das Schlüsselwort clone an alle zusätzlichen Laufwerke angehängt. Die neue geklonte virtuelle Maschine sollte jetzt im ausgeschalteten Zustand darauf warten, gestartet zu werden:
virsh list --all
Id Name State
----------------------------------------------------
1 server1.linuxconfig.org paused
- server2.linuxconfig.org shut off
Manuelles Klonen mehrerer Festplatten
Um mehr Kontrolle über den Speicherort und den Namen des neuen geklonten Datenträgers zu erhalten, können wir den Schalter --auto-clone weglassen und den Namen und den Zielpfad des neuen geklonten Datenträgers mit dem Schalter --file angeben. Beachten Sie, dass die Anzahl der angegebenen --file-Argumente der Anzahl der Festplatten entsprechen muss, die an die ursprüngliche virtuelle Maschine angefügt 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 dieser Phase 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 Computer:
virsh list --all
Id Name State
----------------------------------------------------
1 server1.linuxconfig.org running
3 server2.linuxconfig.org running