Die 10 wichtigsten Proxmox-CLI-Befehle, die jeder ADMIN kennen sollte
Die virtuelle Umgebung (VE) von Proxmox lässt sich über eine benutzerfreundliche grafische Oberfläche in einem Webbrowser verwalten. In bestimmten Szenarien ist es jedoch vorteilhafter, die Befehlszeilenschnittstelle (CLI) zu verwenden. Die CLI bietet Vorteile wie detailliertere Konfigurationsmöglichkeiten, Stapelverarbeitung, Skripterstellung und Automatisierung.
Für das Management von Proxmox Virtual Environments stehen sowohl Standard-Linux-Befehle als auch Proxmox-spezifische Befehle zur Verfügung. Dieser Blogbeitrag behandelt die 10 wichtigsten Proxmox-spezifischen Befehle mit Beispielen für eine effektive Verwaltung.
1. qm
The qm command is one of the main Proxmox CLI commands, and qm is short for QEMU Manager. It is used to manage virtual machines (VMs) in a Proxmox virtual environment (Proxmox VE). Virtual machines on Proxmox are QEMU/KVM-based, and the qm command interacts with them. You can create, edit, configure, start, stop and migrate VMs with this command.
The general syntax of the command is:
qm [options] <command> [arguments]
List virtual machines
You can see the VM status and ID. You may need the ID to manage this VM in the Proxmox CLI.
qm list

Creating a new virtual machine
General syntax:
qm create <vmid> [options]
Example:
qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26
The following Proxmox CLI command creates a VM with ID 103 named „DebianVM“ with 2GB RAM, 1 socket, 2 cores and a Virtio network interface bridged to vmbr0. The OS type is Linux (indicated by l26).
Attaching a disk to a VM
qm set 105 --scsi0 local-lvm:32G
Attaches a 32GB disk to the VM using the SCSI interface.
Attach a CD-ROM for OS installation
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
This command attaches a Debian ISO to the VM’s IDE CD-ROM drive for installation of a guest operating system or other purposes.
Configuring the boot order
qm set 105 --boot order=ide2;scsi0
The command used in this example configures the VM to boot from the CD-ROM first (IDE2), then the disk (SCSI0).
Starting a virtual machine
Syntax:
qm start <vmid>
Example:
qm start 103
Starting the VM with ID 103
Stopping a VM
qm stop <vmid>
This command stops a running VM immediately. This way to stop a VM is the same as pulling the power plug on a physical machine.
qm stop 103
Stopping the VM with ID 103.
Shut down a VM in Proxmox CLI
qm shutdown <vmid>
This command shuts down a VM gracefully, allowing the guest OS to close files and terminate processes properly.
qm shutdown 101
Sending a shutdown signal to the VM with ID 101.

Migrating a VM to another node
qm migrate <vmid> <targetnode>
This command migrates a VM from its current node to another node within the same Proxmox cluster.
For example, to migrate a VM with the ID 103 to node2, we can use the command:
qm migrate 103 node2
Taking a snapshot of a VM
qm snapshot <vmid> <snapshotname>
The command creates a snapshot of the VM, capturing its current state, including the memory, disk and device status.
qm snapshot 103 "before_upgrade"
This command takes a snapshot of the VM with ID 103 and names it "before_upgrade". Using the command to take a snapshot is useful before performing risky operations, such as software upgrades.
Wiederherstellen des Zustands einer VM aus einem Schnappschuss
qm rollback <vmid> <snapshotname>
Dieser Befehl setzt eine VM auf einen früheren Schnappschuss zurück und stellt ihren Zustand zu dem Zeitpunkt wieder her, zu dem der Schnappschuss erstellt wurde.
Wenn beispielsweise ein Software-Upgrade innerhalb einer VM fehlgeschlagen ist, können wir den Zustand der VM mit dem folgenden Befehl wiederherstellen:
qm rollback 103 "before_upgrade"
Alle seit der Erstellung des Schnappschusses vorgenommenen Änderungen werden verworfen (rückgängig gemacht).
Klonen einer Virtuellen Maschine
qm clone <vmid> <newid> [--name <newname>] [--full]
Der Befehl qm clone klont eine vorhandene Virtuelle Maschine, um eine neue Virtuelle Maschine mit einer anderen ID zu erstellen. Sie können wählen, ob Sie die gesamte Festplatte (vollständiger Klon) oder nur den verknüpften Speicher klonen möchten.
qm clone 103 104 --name "DebianClone" --full
Dieser Befehl klont die VM mit ID 103 in eine neue VM mit ID 104und benennt sie "DebianClone". Die Option --full erstellt einen vollständigen Klon, bei dem alle Daten kopiert werden.
Größe der Festplatte einer Virtuellen Maschine ändern
qm resize <vmid> <disk> <size>
Der Befehl qm resize dient dazu, die Größe einer an eine Virtuelle Maschine angehängten virtuellen Festplatte zu ändern, indem sie entweder vergrößert oder verkleinert wird. Stellen Sie sicher, dass das Gastbetriebssystem die Änderung verarbeiten kann.
qm resize 103 scsi0 +10G
Dieser Proxmox-CLI-Befehl vergrößert die Festplatte scsi0 auf der VM mit ID 103 um 10 GB.
2. pve-firewall
Der Befehl pve-firewall dient zum Verwalten der Firewall-Einstellungen in der virtuellen Proxmox-Umgebung, einschließlich Proxmox-Clustern. Dieser Proxmox-CLI-Befehl bietet benutzerfreundliche Optionen zur Konfiguration von Firewall-Regeln und ermöglicht es Administratoren, den Netzwerkverkehr zu und von Proxmox-Knoten, Virtuellen Maschinen und Containern zu steuern. Die Proxmox-Firewall ist eng in die Proxmox-Verwaltungsoberfläche integriert und erleichtert das Management der Firewall in der gesamten Proxmox-Umgebung. Das Tool pve-firewall wurde speziell für Proxmox VE entwickelt und nutzt eine hochgradige Abstraktion zum Verwalten von Firewall-Regeln im Vergleich zu dem detaillierteren und manuellen Ansatz, der in iptablesverwendet wird.
Syntax:
pve-firewall <command> [options]
Führen Sie den Befehl pve-firewall aus, um die Verwendung der Hauptbefehle anzuzeigen.

Status prüfen
Den Status des Proxmox VE-Firewall-Dienstes prüfen:
pve-firewall status
Die Anzeige zeigt an, ob die Firewall auf dem aktuellen Knoten läuft oder nicht.
Firewall starten
Den Firewall-Dienst auf dem aktuellen Proxmox-Knoten starten:
pve-firewall start
Firewall neu laden
Den Firewall-Dienst neu laden und die Änderungen an der Firewall-Konfiguration anwenden, ohne den Firewall-Dienst anhalten und neu starten zu müssen.
pve-firewall reload
SSH-Verkehr zulassen
Erstellen einer Firewall-Regel, die SSH-Verkehr zulässt:
pve-firewall create rule -action accept -macro ssh
Dieser Befehl erstellt eine Regel, um SSH-Zugriff auf die Proxmox-Umgebung zu ermöglichen.
Wobei: create <object> Erstellt ein neues Firewall-Objekt, z. B. eine Regel, eine Sicherheitsgruppe oder eine IP-Gruppe.
Regel löschen
Um die Regel zu löschen, verwenden Sie den Befehl:
pve-firewall delete rule <rule-id>
Anzeige des Protokolls anzeigen
Zeigt das Firewall-Protokoll an, das den Datenverkehr und Regeltreffer auflistet:
pve-firewall log
Die Ausgabe zeigt die neuesten Einträge im Firewall-Protokoll an.
HTTP-Datenverkehr ablehnen
Um eine Firewall-Regel zu erstellen, die jeglichen HTTP-Datenverkehr ablehnt, verwenden Sie den Befehl:
pve-firewall create rule -action drop -macro http
3. pvesm
Der Befehl pvesm in der Proxmox-CLI ist das Befehlszeilenprogramm, das zum Verwalten der Speicherkonfiguration in Proxmox VE verwendet wird. Mit diesem Befehlszeilentool können Sie Speicherpools erstellen, löschen, ändern und verwalten. Darüber hinaus können Sie verschiedene speicherbezogene Aufgaben ausführen, wie z. B. Verzeichnisse erstellen, Speichergeräte hinzufügen und Inhaltstypen verwalten.
Syntax:
pvesm <command> [options]
Speicher auflisten
pvesm list <storage>
Dabei ist <storage> der Name des Speicherpools (Datenspeicher), der aufgelistet werden soll.

Überprüfen des Status aller oder bestimmter Speicherpools
pvesm status
Die Ausgabe zeigt den Status des Speicherpools an, einschließlich Informationen darüber, ob er aktiv oder inaktiv ist, sowie den Speichertyp und die aktuelle Auslastung.

Erstellen eines neuen Speicherpools
pvesm create <type> <storage-id> --options
Wobei:
<type> der Typ des zu erstellenden Speicher-Backends ist (z. B. dir, lvm, nfs, zfs).
<storage-id> der eindeutige Name oder die ID für den Speicherpool ist.
--options die zusätzlichen Optionen definiert, die für den jeweiligen Speichertyp spezifisch sind.
Beispiel:
Erstellen eines neuen verzeichnisbasierten Speichers mit dem Namen new-datastore1 unter /mnt/storage-name, der VM-Images und ISO-Dateien speichern kann:
pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso
Hinzufügen eines vorhandenen Speicher-Backends zu Proxmox VE
Das Prinzip dieses Befehls ähnelt dem Befehl pvesm create , aber anstatt neuen Speichers zu erstellen, wird der bereits vorhandene Speicher zur Proxmox-Konfiguration hinzugefügt, um ihn verfügbar zu machen.
Beispiel:
Hinzufügen einer vorhandenen NFS-Freigabe unter 192.168.101.100 unter /export/data zu Proxmox VE unter dem Namen test-nfs-storage:
pvesm add nfs test-nfs-storage --server 192.168.101.100 --export /export/data --path /mnt/pve/test-nfs-storage --content images,iso
Ändern der Konfiguration eines vorhandenen Speicherpools
pvesm set <storage-id> --options
Beispiel:
Ändern des Pools local-storage01 , damit er VM-Images, ISO-Dateien und Sicherungsdateien speichern kann:
pvesm set local-storage01 --content images,iso,backup
Zuweisen eines neuen Volumes auf einem bestimmten Speicherpool für eine VM oder einen Container
pvesm alloc <storage-id> <vmid> <size>
Beispiel:
Der Befehl zum Zuweisen eines 10-GB-Volumes auf dem Pool „local-storage-name“ für VM 100:
pvesm alloc local-storage-name 100 10G
4. pveum
Die Proxmox Virtual Environment ermöglicht es Ihnen, mehrere Benutzer zum Verwalten von Proxmox VE anzulegen. Dies kann über Proxmox-CLI-Befehle mithilfe des Befehls „ pveum “ (Management der Benutzer) erfolgen. Proxmox-Administratoren können Benutzer und Gruppen verwalten sowie Zugriffskontrollen und Berechtigungen konfigurieren. Dadurch wird festgelegt, wer Zugriff auf die verschiedenen Teile der Proxmox-Infrastruktur hat und dort Aktionen ausführen darf. Administratoren können Berechtigungen für den Zugriff auf Objekte wie Virtuelle Maschinen, Speicher, Cluster-Knoten usw. zuweisen.
Syntax:
pveum <command> [options]
Hinzufügen des neuen Benutzers zu Proxmox VE
pveum useradd <userid> --password <password> --comment <comment> --groups <group>
Wobei:
--password <password> das Passwort für den neuen Benutzer ist.
--comment <comment> ein optionaler Kommentar oder eine Beschreibung für den Benutzer ist.
--groups <group> die Gruppe (oder Gruppen) ist, zu der der Benutzer gehören soll.
Beispiel:
pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – admin group" --groups admin
Dieser Befehl dient dazu, einen Benutzer mit dem Namen user2 zur Gruppe admin hinzuzufügen, eine Beschreibung anzugeben und das Passwort für diesen Benutzer festzulegen.
Einen Benutzer löschen
Um einen Benutzer zu löschen, verwenden Sie den Befehl pveum nach derselben Logik wie beim Hinzufügen eines Benutzers, zum Beispiel:
pveum userdel user3@pve
Dieser Befehl dient dazu, user3 auf einem Proxmox-Host zu löschen.
Eine Gruppe erstellen
Um eine neue Gruppe in der Proxmox-CLI zu erstellen, verwenden Sie den Befehl groupadd .
Syntax:
pveum groupadd <groupname> --comment <comment>
Beispiel:
pveum groupadd support --comment "Support Team Group"
Dieser Befehl erstellt eine neue Gruppe namens support mit der Beschreibung "Support Team Group".
Eine Gruppe löschen
Ähnlich wie beim Löschen eines Benutzers können Sie eine Gruppe löschen. Um beispielsweise die Gruppe guests zu löschen, können Sie den folgenden Befehl verwenden:
pveum groupdel guests
Rollen hinzufügen
Rollen werden verwendet, um eine Reihe von Berechtigungen für Benutzer und Gruppen zu definieren, denen diese Rolle zugewiesen ist.
Syntax:
pveum roleadd <rolename> --privs <privileges>
Dabei ist:
<rolename> der Name der zu erstellenden Rolle.
--privs <privileges> eine durch Kommas getrennte Liste der der Rolle zuzuweisenden Berechtigungen (z. B. VM.PowerMgmt,VM.Config.Festplatte).
Beispiel:
pveum roleadd vmmanager --privs VM.PowerMgmt,VM.Config.CDROM
Dieser Befehl erstellt eine Rolle namens vmmanager mit Berechtigungen zum Verwalten der Energieeinstellungen von VMs und zum Konfigurieren von Festplatten.
Eine vorhandene Rolle ändern
Administratoren können vorhandene Rollen und Berechtigungen mit dem Befehl rolemod ändern (Berechtigungen hinzufügen oder entfernen).
Syntax:
pveum rolemod <rolename> --privs <privileges>
Beispiel:
pveum rolemod vmmanager --privs +VM.Config.Network
Dieser Befehl fügt der Rolle VM.Config.Network das Recht vmmanager hinzu.
ACL ändern
Proxmox-Administratoren können Zugriffskontrolllisten (ACL) ändern, indem sie Benutzern oder Gruppen Rollen für bestimmte Proxmox-Objekte zuweisen.
Syntax:
pveum aclmod <path> --roles <rolename> --users <userid> --groups <groupname>
Wobei:
<path> der Objektpfad ist, für den die ACL festgelegt werden soll (zum Beispiel /vms/100 für eine bestimmte VM oder / für den gesamten Cluster).
--roles <rolename> die zuzuweisende Rolle ist.
--users <userid> der Benutzer ist, dem die Rolle zugewiesen wird. --groups <groupname> ist die Gruppe, der die Rolle zugewiesen ist.
Beispiel:
pveum aclmod /vms/104 --roles vmmanager --users user4@pve
Dieser Befehl weist die Rolle vmmanager dem Benutzer user4@pve auf der VM 104zu, wodurch der Benutzer (user4) diese bestimmte VM gemäß den Berechtigungen der Rolle vmmanager verwalten kann. Der Befehl aclremove dient dazu, ACLs entsprechend von Objekten zu entfernen.
Management von Authentifizierungsbereichen
Ein Authentifizierungsbereich definiert, wie sich Benutzer beim System authentifizieren (z. B. über PAM, LDAP oder Active Directory). Sie können Authentifizierungsbereiche mit dem Befehl realm in Proxmox VE verwalten.
Syntax:
pveum realm <command> [options]
Dabei kann der Befehl lauten:
list um alle verfügbaren Bereiche aufzulisten
add um einen neuen Bereich hinzuzufügen
modify um einen bestehenden Bereich zu ändern
remove um einen bestehenden Bereich zu entfernen
Um beispielsweise alle in Proxmox VE konfigurierten Authentifizierungsbereiche aufzulisten, verwenden Sie den Befehl:
pveum realm list

Verwaltung bestehender Benutzer
Mit diesem Benutzerbefehl können Sie bestehende Benutzer auflisten, bearbeiten und löschen.
Syntax:
pveum user <command> <userid> [options]
Die Befehle können lauten:
list zum Auflisten aller Benutzer
modify zum Ändern von Benutzerdetails, z. B. zum Ändern eines Passworts oder Aktualisieren des Kommentars
delete zum Löschen eines Benutzers
Um beispielsweise alle Benutzer auf einem Proxmox-Host aufzulisten, verwenden Sie den Befehl:
pveum user list
Um weitere verfügbare Befehle und Optionen anzuzeigen, führen Sie den Befehl pveum help in der Proxmox-CLI aus.
5. pvesh
Von diesem Befehl können Administratoren mit der Proxmox-REST-API interagieren. Dieses Befehlszeilentool ermöglicht es Ihnen, fast alle Aktionen, die über die Proxmox-Weboberfläche ausgeführt werden können, direkt über die Proxmox-CLI durchzuführen. Der Befehl fungiert als Shell für die Proxmox VE-REST-API und ermöglicht es Ihnen, API-Aufrufe mithilfe von Befehlen direkt über die Befehlszeile durchzuführen. Mit diesem Befehl können Sie virtuelle Maschinen, Speicher, Netzwerk und andere Elemente der virtuellen Proxmox-Infrastruktur verwalten.
Syntax:
pvesh <command> [options]
Ressourcen oder API-Endpunkte auflisten
Dieser Befehl ähnelt dem Befehl unter Linux, listet jedoch verfügbare API-Pfade oder Ressourcen in der Proxmox VE-Umgebung auf.
pvesh ls /path
Beispiel:
pvesh ls /cluster/resources
Dieser Befehl listet alle Ressourcen im Proxmox-Cluster auf, einschließlich VMs, Containern und Speicher.
Abrufen von Informationen
Der Befehl get ruft Informationen von einem bestimmten API-Endpunkt ab.
pvesh get /path
Dieser path Befehl wird verwendet, um Details zu einer Ressource abzufragen.
Dabei ist der API-Pfad, von dem Sie Informationen abrufen möchten. Um beispielsweise den Status für den Knoten pve-node1 abzurufen, wie z. B. CPU-Auslastung, Speicherauslastung und Betriebszeit, können Sie den folgenden Befehl verwenden:
pvesh get /nodes/pve-node1/status

Ändern der Konfiguration
Der Befehl set dient zum Ändern oder Aktualisieren der Konfiguration einer Ressource. Dies entspricht dem Senden einer POST- oder PUT-Anfrage in der REST-API.
Syntax:
pvesh set /path --key value [--key value ...]
--key value sind die Schlüssel-Wert-Paare der Einstellungen, die Sie ändern möchten.
Beispiel:
pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name
Dieser Befehl ändert den VM-Name von 100 auf dem Knoten pve-node1 in new-vm-name.
Erstellen einer Ressource
Mit dem Befehl „create“ können Sie eine neue Ressource erstellen, z. B. eine neue VM oder ein neues Speichervolumen.
Syntax:
pvesh create /path --key value [--key value ...]
Beispielsweise erstellen Sie mit dem folgenden Befehl eine neue VM mit bestimmten Parametern:
pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2
Dieser Befehl erstellt eine neue VM mit der ID 106 auf dem Knoten pve-node1 mit dem Namen new-vm-name, 2 GB RAM und 2 CPU-Kernen.
VMs starten
Es gibt einen Befehl, um eine VM oder einen Container mit pvesh zu starten:
pvesh start /path
Um beispielsweise die VM mit ID 101 auf dem Knoten pve-node1 zu starten, können Sie den folgenden Befehl ausführen:
pvesh start /nodes/pve-node1/qemu/101
VM herunterfahren
Im Gegensatz zum Befehl „stop“ fährt der Befehl „shutdown“ eine VM oder einen Container ordnungsgemäß herunter:
pvesh shutdown /path
Um beispielsweise eine VM mit der ID 101 auf einem Proxmox-Host mit dem Namen pve-node1 herunterzufahren, verwenden Sie den folgenden Befehl:
pve-node1 pvesh shutdown /nodes/pve-node1/qemu/101
Alle VMs starten
Um alle VMs auf einem Knoten oder im gesamten Cluster zu starten oder zu stoppen, können Sie den entsprechenden Befehl verwenden:
pvesh startall /nodes/<nodename>
pvesh stopall /nodes/<nodename>
6. pvecm
Der Befehl pvecm ist ein Tool für das Proxmox-Cluster-Management, das zur Verwaltung und Konfiguration eines Proxmox-Clusters dient. Mit diesem Tool können Sie einen Cluster erstellen sowie Knoten in einen Proxmox-Cluster aufnehmen und verwalten. Ein Cluster wird als eine Einheit verwaltet, mit Konfigurationsfunktionen wie Hochverfügbarkeit, Live-VM-Migration, gemeinsam genutztem Speicher usw.
Syntax:
pvecm <command> [options]
Um alle unterstützten pvecm Befehle anzuzeigen, führen Sie diesen Befehl aus:
man pvecm
Erstellen eines Clusters
Um einen neuen Proxmox VE-Cluster zu erstellen, können Sie den Befehl create verwenden. Sie sollten diesen Befehl auf dem ersten Knoten (Master-Knoten) ausführen, der den Cluster bilden soll.
pvecm create <clustername>
Beispiel:
Der folgende Befehl erstellt einen Cluster mit dem Namen cluster01. Dieser Knoten (auf dem wir den Befehl ausführen) wird zum Master-Knoten des Clusters.
pvecm create cluster01
Hinzufügen eines Knotens zu einem Cluster
Verwenden Sie den Befehl addnode , um neue Knoten zu einem bestehenden Proxmox-Cluster hinzuzufügen. Führen Sie diesen Befehl auf einem Knoten aus, den Sie dem Cluster hinzufügen möchten.
pvecm add <master-node-ip>
Beispiel:
Hinzufügen des aktuellen Proxmox-Hosts zu einem Cluster, der von einem Master-Knoten mit der IP-Adresse 192.168.101.121 gesteuert wird:
pvecm add 192.168.101.121
Löschen eines Knotens aus einem Cluster
Der Befehl delnode wird in der Proxmox-CLI verwendet, um einen Knoten aus dem Cluster zu entfernen.
Syntax:
pvecm delnode <nodename>
Beispiel:
Der Befehl zum Entfernen des Knotens mit dem Namen pve-node2 aus dem Cluster lautet:
pvecm delnode pve-node2
Auflisten aller Knoten eines Clusters
Der Befehl zum Auflisten aller Clusterknoten und Anzeigen ihres Status, einschließlich Knotennamen und IP-Adressen, lautet:
pvecm nodes
Festlegen des neuen Master-Knotens
Sie können einen anderen Clusterknoten als Master in einem Proxmox-Cluster festlegen:
pvecm setmaster <nodename>
Dabei ist <nodename> der Name des Knotens, den Sie als Master festlegen möchten.
Anzeige des Clusterstatus
Sie können den Status eines Proxmox-Clusters anzeigen, einschließlich Informationen zum Quorum, zur Anzahl der Knoten und zu deren Rollen.
pvecm status
Festlegen der erwarteten Anzahl von Knoten
Mit dem Befehl expected können Sie überprüfen, wie viele Knoten voraussichtlich das Quorum im Cluster erreichen. Sie müssen diesen Befehl möglicherweise verwenden, wenn einige Clusterknoten vorübergehend offline sind, um Unterbrechungen zu vermeiden. Das Quorum wird verwendet, um Split-Brain-Situationen zu vermeiden, bei denen verschiedene Cluster-Knoten widersprüchliche Informationen über den Zustand des Clusters haben. pvecm expected <number>
7. hamanager
Der Befehl hamanager dient zum Verwalten der Hochverfügbarkeitsfunktion (High Availability, HA) für Virtuelle Maschinen nach der Erstellung eines Proxmox-Clusters. Mit diesem Befehlszeilenprogramm können Sie die Hochverfügbarkeit für kritische VMs konfigurieren und festlegen, wie diese in einem Cluster neu gestartet werden sollen, falls der Knoten, auf dem sie laufen, ausfällt. Das Tool hamanager in der Proxmox-CLI interagiert mit dem Proxmox High Availability Manager.
Syntax:
ha-manager <command> [options]
Status anzeigen
Um den aktuellen Status der HA-Ressourcen anzuzeigen, können Sie den folgenden Befehl verwenden:
ha-manager status
Die Ausgabe zeigt Informationen darüber an, welche VMs oder CTs für HA konfiguriert sind, ihren aktuellen Status (gestartet, gestoppt), einschließlich des HA-Status und des Failover-Status, sowie den Knoten, auf dem sie laufen.
HA für eine VM aktivieren
Syntax:
ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>
Dabei ist:
<vmid> die ID der VM oder des CT, die bzw. das Sie zu HA hinzufügen möchten.
--group <groupname> die HA-Gruppe, zu der die Ressource hinzugefügt werden soll (optional).
--max-restarts <n> die maximale Anzahl von Neustartversuchen, falls die Ressource ausfällt.
--max-migrate-tries <n> die maximale Anzahl von Migrationsversuchen auf einen anderen Knoten, falls die Ressource nicht neu gestartet werden kann.
Beispiel:
Hinzufügen einer VM mit ID 105 zum HA-Manager mit maximal 3 Neustartversuchen und 1 Migrationsversuch im Falle eines Ausfalls:
ha-manager add 105 --max-restarts 3 --max-migrate-tries 1
Deaktivieren des HA-Status einer VM
Verwenden Sie den Befehl remove , um den Hochverfügbarkeitsstatus einer Virtuellen Maschine zu deaktivieren und die VM aus dem HA-Manager zu entfernen.
ha-manager remove <vmid>
Um beispielsweise den HA-Status für die VM mit ID 105zu deaktivieren, führen Sie den folgenden Befehl aus:
ha-manager remove 105
Nach Ausführung des Befehls wird die Virtuelle Maschine nicht mehr als hochverfügbare Ressource verwaltet.
VM-Migration
Sie können eine hochverfügbare VM manuell auf einen anderen Knoten im Cluster migrieren mit dem Befehl migrate :
ha-manager migrate <vmid> <targetnode>
Um beispielsweise eine VM mit ID 106 auf einen Knoten namens pve-node2zu migrieren, führen Sie den folgenden Befehl aus:
ha-manager migrate 106 pve-node2
8. vzdump
Der Befehl vzdump dient zum Erstellen von Backups in Proxmox VE mit nativen Proxmox-Tools. Dieser Befehl unterstützt Backups von VMs und Containern. Backups können im Format .vma, .tgz or .lzo gespeichert werden.
Syntax:
vzdump [options] <vmid> [<vmid2> ...]
Wobei:
vmid die ID der VM oder des Containers ist, den Sie sichern möchten.
--mode <mode> definiert den Backup-Modus. Es werden drei Backup-Modi unterstützt:
snapshot– erstellt einen Live-Schnappschuss einer Virtuellen Maschine oder eines Containers in Proxmox. Dieser Modus wird standardmäßig verwendet und ermöglicht es Ihnen, ein Backup durchzuführen, während eine VM oder ein Container läuft.suspend– Dieser Modus dient dazu, die VM oder den Container vor dem Backup anzuhalten, wodurch die Konsistenz der Daten gewährleistet wird. Ein Nachteil dieses Modus ist die kurze Ausfallzeit.stop– stoppt die Virtuelle Maschine oder den Container vor der Durchführung des Backups. Dieser Ansatz gewährleistet die Konsistenz der Backups, erfordert jedoch eine längere Ausfallzeit.
--compress <type> dient zur Festlegung der Komprimierungsmethode. Es werden drei Komprimierungsoptionen unterstützt:
lzo– leichte und schnelle Komprimierung für Proxmox-Backups (standardmäßig verwendet).gzip– dies ist eine effizientere Komprimierungsmethode, die jedoch mehr Zeit für die Komprimierung der Daten benötigt (langsamere Komprimierung).zstd– Dieser Komprimierungstyp verwendet einen modernen Komprimierungsalgorithmus, der hohe Komprimierungsraten bei optimaler Leistung bietet.
--storage <storage> legt das Ziel für die Sicherungsdatei fest. Dies kann ein lokales Verzeichnis, eine NFS-Freigabe oder ein Proxmox-Speicherpool sein.
--maxfiles <n> begrenzt die Anzahl der aufzubewahrenden Sicherungsdateien. Ältere Backups werden automatisch gelöscht, wenn das Limit erreicht ist.
--remove <mode> entfernt Sicherungsdateien automatisch entsprechend dem angegebenen Modus. Zu den Modi gehören:
old– entfernt alte Backups, wenn neue erstellt werden.fail– entfernt nur fehlgeschlagene Backups.
Mehrere VMs sichern
VMs mit den Optionen IDs 101, 102und 103 nacheinander sichern:
vzdump 101 102 103
Backup mit Komprimierung speichern
vzdump 101 --storage local --compress gzip --maxfiles 3
Der Befehl vzdump mit diesen Optionen führt folgende Aktionen aus:
- Speichert das Backup von
VM 101auf dem Speicher namens local. Lokaler Speicher kann ein lokales Verzeichnis auf einem Proxmox-Host oder ein Speicherpool sein. - Es wird die Komprimierung
gzipverwendet. Das Erstellen eines mit der Komprimierunggzipverschlüsselten Backups kann länger dauern, führt jedoch zu einer kleineren Sicherungsdatei. - Es werden nur die 3 neuesten Backups behalten, während ältere automatisch gelöscht werden.
Logdateien auslassen
vzdump 102 --exclude-path /var/log
Sichert die VM 102 , schließt jedoch die /var/log directoryaus, wodurch die Größe des Backups durch das Weglassen von Logdateien reduziert wird.
Alte Backups entfernen
vzdump 101 --storage nfs-backup --maxfiles 5 --remove old
Dies ist eine automatisierte Sicherung mit dem Entfernen alter Backups. Es sichert die VM 101, speichert die Sicherung im Speicher nfs-backup und behält nur die 5 neuesten Sicherungen bei, wobei alle älteren Sicherungen automatisch gelöscht werden.
Sicherung im Snapshot-Modus
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
Erstellen von Sicherungen (z. B. einer nächtlichen Sicherung) aller VMs und Container im Snapshot-Sicherungsmodus. Die Sicherungen werden in einer NFS-Freigabe namens nfs-backupgespeichert. Die Bandbreite ist auf 20480 KByte pro Sekunde (20 MBps) begrenzt, um eine Überlastung des Netzwerks zu verhindern. Es werden nur die letzten 7 Backups beibehalten, ältere Backups werden automatisch entfernt.
9. qmrestore
Der Befehl qmrestore dient zur Wiederherstellung virtueller Maschinen aus Backups, die mit dem Befehl vzdump in der virtuellen Proxmox-Umgebung erstellt wurden. Diese Befehle vzdump und qmrestore sind native Proxmox-Tools für die Sicherung und Wiederherstellung von VMs. Ein Backup kann auf einer neuen oder einer bestehenden VM wiederhergestellt werden.
Syntax:
qmrestore [options] <backupfile> <vmid>
Dabei ist:
<backupfile> der Pfad zur Backup-Datei, die Sie wiederherstellen möchten. Diese Datei wird in der Regel von dem Befehl erzeugt und in einem Verzeichnis oder auf einem Speichergerät gespeichert.vzdump
<vmid> ist die ID der VM, die Sie wiederherstellen möchten. Wenn die VM-ID bereits existiert, wird die vorhandene VM überschrieben, sofern keine spezifischen Optionen verwendet werden, um dies zu verhindern.
Befehlsoptionen:
--force wird verwendet, um eine vorhandene Virtuelle Maschine mit derselben ID zu überschreiben; es erfolgt keine Bestätigungsabfrage. Sie können diese Option verwenden, um eine Virtuelle Maschine wiederherzustellen, wenn es Ihnen nichts ausmacht, den aktuellen Zustand der Virtuellen Maschine mit derselben ID zu verlieren.
--unique wird verwendet, um eine neue, eindeutige VM-ID für eine wiederhergestellte Virtuelle Maschine zu generieren. Erwägen Sie die Verwendung dieser Option, um ein Backup wiederherzustellen, indem Sie eine neue VM erstellen, ohne bestehende VMs zu überschreiben.
--storage <storage> gibt den Zielspeicher für die virtuellen Festplatten-Images der wiederhergestellten VM an. Wenn diese Option nicht angegeben wird, wird die VM auf ihrem ursprünglichen Speicherort oder im Standardspeicher wiederhergestellt.
--pool <pool> ermöglicht es Ihnen, die wiederhergestellte VM einem bestimmten Ressourcenpool in der virtuellen Proxmox-Umgebung zuzuweisen. Ressourcenpools dienen dazu, virtuelle Maschinen zur einfacheren Verwaltung zu gruppieren.
--hostname <name> legt den Hostnamen der wiederhergestellten VM fest. Diese Option ist nützlich, wenn Sie für die wiederhergestellte VM einen anderen Hostnamen als den ursprünglichen festlegen möchten.
--name <name> legt einen benutzerdefinierten Namen für die wiederhergestellte VM fest (ein Name, der in der Proxmox-Benutzeroberfläche angezeigt wird), der sich vom ursprünglichen VM-Name unterscheidet, der gesichert wurde.
VM unter ursprünglicher ID wiederherstellen
Wiederherstellung einer VM unter ihrer ursprünglichen ID: qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101
Dieser Befehl stellt das Backup vzdump-qemu-101-2023_08_27-00_00_00.vma auf der VM mit ID 101wieder her. Falls bereits eine VM mit ID 101 vorhanden ist, wird diese überschrieben.
Wiederherstellen des Backups auf einer neuen VM:
Wiederherstellung des Backups auf einer neuen VM:
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm
Dieser Befehl stellt das Backup auf einer neuen VM mit ID 102wieder her und speichert deren Festplatten-Images auf dem Speicher local-lvm .
Wiederherstellen und Ändern von Hostname und VM-Name
Wiederherstellen des Backups und Ändern des Hostnamens und des Namens:
qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"
Stellt das Backup auf einer neuen VM mit ID 103wieder her, benennt die VM in MyRestoredVM um und setzt ihren Hostnamen auf restored-vm.
10. proxmox-backup-client
Der Befehl proxmox-backup-client ist ein Befehlszeilenprogramm, das in Verbindung mit dem Proxmox Backup Server, einer nativen Proxmox-Backup-Lösung, für Backup- und Wiederherstellungsvorgänge verwendet wird. Mit diesem Tool können Administratoren virtuelle Maschinen, Container und andere Datentypen sichern. Das Tool proxmox-backup-client kommuniziert mit einem Proxmox Backup Server (PBS), um Backups zu verwalten
Syntax:
proxmox-backup-client <command> [options]
Die grundlegende Syntax des backup-Befehls
proxmox-backup-client backup <archive-name> <path> --repository <repository> [options]
Dabei ist:
<archive-name> der Name, den Sie dem Backup-Archiv geben möchten.
<path> definiert den Pfad zu dem Verzeichnis oder der Datei, die Sie sichern möchten.
--repository <repository> ist das Ziel-Repository auf dem Proxmox Backup Server, typischerweise in der Form user@pbs:datastore
Beispiel:
proxmox-backup-client backup etc.pxar /etc --repository root@pbs@10.10.10.101:datastore1
Dieser Befehl sichert das Verzeichnis /etc in das Verzeichnis datastore1 auf dem Proxmox Backup Server unter 10.10.10.101. Die Sicherung wird als Archiv mit dem Namen etc.pxargespeichert.
Die grundlegende Syntax des Befehls „restore“
Der Befehl „restore“ für die Befehlszeilentools von proxmox-backup-client dient dazu, Daten von einem Proxmox Backup Server auf das lokale System wiederherzustellen.
proxmox-backup-client restore <archive-name> <path> --repository <repository> [options]
Wobei:
<archive-name> der Name des Archivs ist, das Sie wiederherstellen möchten.
<path> ist der Pfad, in den die Daten wiederhergestellt werden sollen.
--repository <repository> ist das Repository, in dem das Backup gespeichert ist.
Beispiel:
proxmox-backup-client restore etc.pxar /restore/etc --repository root@pbs@10.10.10.101:datastore1
Dieser Befehl stellt das etc.pxar Archiv von datastore1 auf dem Proxmox Backup Server unter 10.10.10.101 in das lokale Verzeichnis /restore/etcwieder her.
Fazit
Proxmox-CLI-Befehle sind ein leistungsstarkes Toolset zum Verwalten der virtuellen Proxmox-Umgebung, einschließlich Speicher, Virtuelle Maschinen, Cluster, VM-Backups usw. Wenn Sie eine umfassende VM-Backup-Strategie implementieren möchten, installieren Sie NAKIVO Backup & Replication und nutzen Sie die agentenlose Backup-Funktion für Proxmox VE-VMs.