Nmedia - Fotolia

Die 20 wichtigsten virsh-Befehle zum Hypervisor- und VM-Management

Über das Kommandozeilen-Tool virsh lassen sich VMs und Hypervisor schnell und standardisiert verwalten. Ein Blick auf die wichtigsten virsh-Befehle.

Das Kommandozeilen-Tool virsh unterstützt Linux-Admins bei der Verwaltung von Hypervisor und virtuellen Maschinen und setzt hierfür auf die Management-Schnittstellen von libvirt. Über virsh-Befehle lassen sich virtuelle Maschinen beispielsweise erstellen, verändern, migrieren oder auch anhalten. Tatsächlich gibt es aber so viele virsh-Befehle, dass diese für eine bessere Übersicht in Kategorien wie Domänen-, Storage- oder Snapshot-Befehle eingeordnet werden.

Bei all den unterschiedlichen virsh-Befehlen kann man aber trotzdem leicht den Überblick verlieren. Die folgende Liste der 20 wichtigsten Befehlszeilenkommandos kann dabei vor allem Anfängern den Einstieg wesentlich erleichtern.

Allgemeine virsh-Befehle

Die virsh-Befehle dieser Kategorie richten sich nicht an eine bestimmte virtuelle Maschine, sondern unterstützen Administratoren vielmehr ganz generell beim Umgang mit virsh.

help: Ruft eine vollständige Liste aller verfügbaren virsh-Befehle auf, die nach unterschiedlichen Kategorien gruppiert werden. Wird hier eine bestimmte Gruppe ausgewählt, so erhält man eine kürzere Liste der möglichen Befehle inklusive einer kurzen Beschreibung. Genauso lässt sich aber auch ein bestimmter Befehl auswählen, um mehr Informationen zu seiner Verwendung zu erhalten, beispielsweise Namen, Synopsis oder Beschreibung.

list: Dieser Befehl kann verwendet werden, um Informationen zu bestehenden virtuellen Maschinen und zu ihrem aktuellen Zustand zu erhalten. Der list-Befehl lässt sich über -inactive oder -all weiter spezifizieren, je nachdem, nach was gesucht werden soll. Auf diese Weise erhält man ID und Zustand der virtuellen Maschinen. Als möglicher VM-Zustand könnte Running, Paused oder Crashed ausgegeben werden.

connect: Über diesen Befehl kann man sich lokal mit dem Hypervisor verbinden. Über URIs (Uniform Resource Identifier) kann auch eine Remote-Verbindung hergestellt werden. Als mögliche Werte werden beispielsweise xen:///, qemu:///system, qemu:///session und lxc:/// unterstützt. Um eine Verbindung ausschließlich mit Leserechten einzurichten, kann -readonly angehängt werden.

Domänen-Befehle

Über die folgenden virsh-Befehle können bestimmte virtuelle Maschinen direkt angesteuert werden.

desc: Ermöglicht das Anzeigen oder Ändern von Beschreibung und Titel einer virtuellen Maschine. Mögliche Zusätze wären hierfür -live, -config, -edit oder –title. Wenn sowohl -live als auch -config verwendet werden, hat –config die höhere Priorität. Eine Empfehlung lautet hierbei, die VM-Titel kurz zu halten, allerdings ist dies keine vom System her wirklich notwendige Bedingung.

save: Dieser Befehl stoppt die virtuelle Maschine und sichert den Zustand. Damit wird beispielsweise der Arbeitsspeicher freigegeben, der der virtuellen Maschine zugeordnet war, da sie ja nicht mehr ausgeführt wird. Um sich den aktuellen Fortschritt der Speicherung anzeigen zu lassen, kann der Zusatz –verbose verwendet werden. Zur Wiederherstellung wird der restore-Befehl verwendet.

setmem: Die Arbeitsspeicherzuweisung einer virtuellen Maschine lässt sich über diesen Befehl ändern. Hierfür sollten die Angaben in Kilobyte erfolgen. Über setmaxmem kann die maximale Arbeitsspeicherzuweisung einer virtuellen Maschine vorgegeben werden. Die Zusätze -config, -live und -current bieten weitere Spezifikationsmöglichkeiten sowohl für setmem als auch für setmaxmem.

migrate: Dieser Befehl migriert eine virtuelle Maschine auf einen anderen Host, mögliche Optionen beinhalten beispielsweise die Live- oder Direkt-Migration. Allerdings unterstützen nicht alle Hypervisoren alle der prinzipiell mit virsh möglichen Migrations-Arten. Bei der Live-Migration sollte zudem per migrate-setmaxdowntime die maximale Ausfallzeit der virtuellen Maschine vorgegeben werden.

undefine: Dieser Befehl ändert den Zustand einer laufenden virtuellen Maschine in den einer transienten VM, ohne diese dabei zu stoppen. Wenn eine virtuelle Maschine inaktiv ist, wird durch diesen Befehl ihre Konfiguration entfernt. Auch hier können verschiedene Anhänge wie -managed-save, -snapshots-metadata, -storage, -remove-all-storage oder -wipe-storage verwendet werden.

dump: Mit diesem Befehl wird ein Dump-Log erstellt, um später mögliche Probleme einer virtuellen Maschine analysieren zu können. Über -live wird die virtuelle Maschine so lange ausgeführt, bis die Log-Datei fertig gespeichert wurde, andernfalls wird sie für die Erstellung der Dump-Datei pausiert. Mit -crash wird die virtuelle Maschine gestoppt und ihr Status in Crashed geändert. Über -reset wird die virtuelle Maschine nach dem Erstellen der Dump-Datei neu gestartet.

shutdown: Dieser Befehl fährt eine virtuelle Maschine herunter und ist wesentlich sicherer als der destroy-Befehl, der nur verwendet werden sollte, wenn eine virtuelle Maschine nicht mehr reagiert. Der Befehl destroy kann zu einem fehlerhaften Dateisystem führen. Über den Parameter -mode lassen sich unterschiedliche Methoden zum Herunterfahren auswählen.

virsh-Befehle für Storage-Pools

In diese Kategorie fallen virsh-Befehle, die das Management von Storage-Pools betreffen.

pool-list: Dieser Befehl liefert eine Liste aktiver Pool-Objekte. Über -persistent, -transient, -autostart oder -no-autostart kann die Liste weiter spezifiziert werden. Für eine Liste inaktiver Pools wird -inactive verwendet, für eine vollständige Liste -all.

pool-build: Über diesen Befehl lässt sich ein Storage-Pool einrichten. Weitere Optionen wären -overwrite oder -no-overwrite. Im ersten Fall werden die Daten auf dem Zielgerät überschrieben, im zweiten Fall wird man eine Fehlermeldung erhalten, sofern auf dem Zielgerät ein Dateisystem vorhanden ist.

pool-edit: Dieser Befehl ermöglicht das Editieren der XML-Konfiguration eines Storage-Pools im Standard-Editor. Das ist hilfreich, weil so auch eine rudimentäre Fehlerüberprüfung durchgeführt wird.

Laufwerk-Befehle

Mit den folgenden Befehlen können Festplatten-Laufwerke verwaltet werden.

vol-create: Über diesen Befehl wird aus einer XML-Datei oder direkt über Kommandozeilen-Eingaben ein Laufwerk erstellt. Mit dem Befehl vol-create-from lässt sich auch auf Basis eines bestehenden Laufwerks ein neues erstellen, über vol-create-as kann auch mit zusätzlichen Angaben ein neues Laufwerk erstellt werden. Zudem kann die zugewiesene Größe und das Dateisystem gewählt werden.

Weitere Artikel zu Kommandozeilen-Befehle:

Die wichtigsten Linux-Befehle für Server-Admins

Linux-Befehle zum Service-Management mit System V und systemd

25 Befehle für VMware ESXi

vol-resize: Dieser Befehl passt die Größe des Laufwerks an. Als Kapazität wird die neue Größe angegeben, es gibt aber auch die Möglichkeit, ein existierendes Laufwerk zu erweitern. Dabei sollte vol-resize nicht für aktive virtuelle Maschinen verwendet werden. Falls nötig kann aber über den blockresize-Befehl eine Größenanpassung im laufenden Betrieb vorgenommen werden.

vol-wipe: Hiermit wird ein Laufwerk gelöscht und damit sichergestellt, dass die dort gespeicherten Daten nicht mehr zugänglich sind. Hilfreich ist dies zum Beispiel, wenn vertrauliche Informationen auf einem Laufwerk gelöscht werden sollen. Über den Schalter algorithm kann ein alternativer Lösch-Algorithmus gewählt werden, statt das gesamte Laufwerk mit Nullen zu beschreiben.

Snapshot-Befehle

Die virsh-Befehle dieser Kategorien ermöglichen das Management von VM-Snapshots.

snapshot-list: Mit diesem Befehl erhält man eine Liste aller möglichen Snapshots für eine virtuelle Maschine. Die Liste bietet den Snapshot-Namen, das Erstelldatum und den damaligen Zustand der VM. Zusätzlich können verschiedene Filter verwendet werden, beispielsweise -from, -leaves, -metadata, -inactive oder –internal.

snapshot-create: Erstellt einen VM-Snapshot mit Namen, Beschreibung und den Disks, die in einer XML-Datei festgelegt sind. Wenn ein Snapshot ohne referenzierte XML-Datei angelegt werden soll, dann muss snapshot-create-as verwendet werden. Der Zusatz -halt gibt an, dass die virtuelle Maschine inaktiv bleiben soll, nachdem der Snapshot angefertigt wurde.

snapshot-revert: Über diesen virsh-Befehl kann eine virtuelle Maschine in den Zustand eines früheren Snapshots zurückversetzt werden. Um einfach den aktuellen Snapshot zu verwenden, kann -current angehängt werden.

snapshot-delete: Mit diesem Befehl kann ein bestimmter Snapshot gelöscht werden, auch hier wird über -current der aktuelle Snapshot ausgewählt. Der Zusatz –children löscht den Snapshots mit all den Point-in-Time-Kopien.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Dezember 2016 aktualisiert

Erfahren Sie mehr über Open-Source-Virtualisierung

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close