Die 10 wichtigsten Proxmox-CLI-Befehle, die jeder ADMIN kennen sollte
Die virtuelle Umgebung (VE) von Proxmox kann über eine benutzerfreundliche grafische Oberfläche in einem Webbrowser verwaltet werden. In bestimmten Szenarien ist es jedoch besser, die Befehlszeilenschnittstelle (CLI) zu verwenden. Die CLI bietet Vorteile wie detailliertere Konfigurationsmöglichkeiten, Stapelverarbeitung, Skripting und Automatisierung.
Zur Verwaltung der virtuellen Umgebungen von Proxmox gibt es Standard-Linux-Befehle und Proxmox-spezifische Befehle. Dieser Blogbeitrag behandelt die 10 wichtigsten Proxmox-spezifischen Befehle mit Beispielen für eine effektive Verwaltung.
1. qm
Der Befehl qm ist einer der wichtigsten Proxmox-CLI-Befehle, und qm ist die Abkürzung für QEMU Manager. Er wird zum Verwalten von Virtuellen Maschinen (VMs) in einer virtuellen Umgebung von Proxmox (Proxmox VE) verwendet. Virtuelle Maschinen auf Proxmox basieren auf QEMU/KVM, und der Befehl qm interagiert mit ihnen. Mit diesem Befehl können Sie VMs erstellen, bearbeiten, konfigurieren, starten, stoppen und migrieren.
Die allgemeine Syntax des Befehls lautet:
qm [options] <command> [arguments]
Virtuelle Maschinen auflisten
Sie können den Status und die ID der VM sehen. Möglicherweise benötigen Sie die ID, um diese Virtuelle Maschine in der Proxmox-CLI zu verwalten.
qm list

Erstellen einer neuen Virtuellen Maschine
Allgemeine Syntax:
qm create <vmid> [options]
Beispiel:
qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26
Der folgende Proxmox-CLI-Befehl erstellt eine Virtuelle Maschine mit der ID 103 mit dem Namen „ DebianVM “ mit 2 GB RAM, 1 Sockel, 2 Kernen und einer Virtio-Netzwerkschnittstelle, die mit vmbr0 verbunden ist. Der Betriebssystemtyp ist Linux (angezeigt durch l26 ).
Anhang einer Festplatte an eine VM
qm set 105 --scsi0 local-lvm:32G
Hängt eine 32-GB-Festplatte über die SCSI-Schnittstelle an die VM an.
Anhang einer CD-ROM für die Betriebssysteminstallation
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
Dieser Befehl hängt eine Debian-ISO-Datei an das IDE-CD-ROM-Laufwerk der VM an, um ein Gastbetriebssystem zu installieren oder für andere Zwecke.
Konfigurieren der Boot-Reihenfolge
qm set 105 --boot order=ide2;scsi0
Der in diesem Beispiel verwendete Befehl konfiguriert die VM so, dass sie zuerst von der CD-ROM (IDE2) und dann von der Festplatte (SCSI0) startet.
Starten einer virtuellen Maschine
Syntax:
qm start <vmid>
Beispiel:
qm start 103
Starten der VM mit der ID 103
Anhalten einer VM
qm stop <vmid>
Dieser Befehl hält eine laufende VM sofort an. Diese Art, eine VM anzuhalten, entspricht dem Ziehen des Netzsteckers einer physischen Maschine.
qm stop 103
Stoppen der VM mit der ID 103.
Herunterfahren einer VM in der Proxmox-CLI
qm shutdown <vmid>
Dieser Befehl fährt eine VM ordnungsgemäß herunter, sodass das Gastbetriebssystem Dateien schließen und Prozesse ordnungsgemäß beenden kann.
qm shutdown 101
Senden eines Herunterfahrsignals an die VM mit der ID 101. 
Migration einer VM auf einen anderen Knoten
qm migrate <vmid> <targetnode>
Dieser Befehl migriert eine VM von ihrem aktuellen Knoten auf einen anderen Knoten innerhalb desselben Proxmox-Clusters.
Um beispielsweise eine VM mit der ID 103 auf node2 zu migrieren, können wir den folgenden Befehl verwenden:
qm migrate 103 node2
Erstellen eines Schnappschusses einer VM
qm snapshot <vmid> <snapshotname>
Der Befehl erstellt einen Schnappschuss der VM und erfasst dabei ihren aktuellen Status, einschließlich des Status des Speichers, der Festplatte und der Geräte.
qm snapshot 103 "before_upgrade"
Dieser Befehl erstellt einen Schnappschuss der VM mit der ID 103 und benennt ihn „ before_upgrade “. Die Verwendung des Befehls zum Erstellen eines Schnappschusses ist vor der Durchführung riskanter Vorgänge, wie z. B. Software-Upgrades, sinnvoll.
Wiederherstellen eines VM-Zustands aus einem Schnappschuss
qm rollback <vmid> <snapshotname>
Dieser Befehl rollt 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 das Software-Upgrade innerhalb einer VM nicht erfolgreich war und fehlgeschlagen ist, können wir den VM-Zustand 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]
Mit dem Befehl qm clone wird eine vorhandene Virtuelle Maschine geklont, 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 Virtuelle Maschine mit der ID 103 in eine neue Virtuelle Maschine mit der ID 104 und 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>
Mit dem Befehl qm resize können Sie die Größe einer an eine Virtuelle Maschine angehängten virtuellen Festplatte ändern, indem Sie sie entweder vergrößern oder verkleinern. 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 Virtuellen Maschine mit der ID 103 von 10 GB.
2. pve-firewall
Der Befehl pve-firewall dient zum Management 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 Administratoren die Steuerung des Netzwerkverkehrs zu und von Proxmox-Knoten, Virtuellen Maschinen und Containern. Die Proxmox-Firewall ist eng in die Proxmox-Verwaltungsschnittstelle integriert und macht die Firewall-Verwaltung in der gesamten Proxmox-Umgebung komfortabler. Das Tool pve-firewall wurde speziell für Proxmox VE entwickelt und verwendet eine hochgradige Abstraktion zum Verwalten von Firewall-Regeln im Vergleich zu dem granulareren und manuellen Ansatz, der in iptables verwendet wird. Syntax:
pve-firewall <command> [options]
Führen Sie den Befehl pve-firewall aus, um die Verwendung des Hauptbefehls anzuzeigen.

Überprüfen Sie den Status
Überprüfen des Status des Proxmox VE-Firewall-Dienstes:
pve-firewall status
Die Ausgabe zeigt an, ob die Firewall auf dem aktuellen Knoten ausgeführt wird oder nicht.
Starten Sie die Firewall
Starten des Firewall-Dienstes auf dem aktuellen Proxmox-Knoten:
pve-firewall start
Laden Sie die Firewall neu
Neuladen des Firewall-Dienstes und Anwenden der Firewall-Konfigurationsänderungen, ohne den Firewall-Dienst anhalten und starten zu müssen.
pve-firewall reload
SSH-Datenverkehr akzeptieren
Erstellen einer Firewall-Regel, die SSH-Datenverkehr akzeptiert:
pve-firewall create rule -action accept -macro ssh
Dieser Befehl erstellt eine Regel, die den SSH-Zugriff auf die Proxmox-Umgebung erlaubt.
Wobei: create < object > ein neues Firewall-Objekt erstellt, z. B. eine Regel, eine Sicherheitsgruppe oder einen IP-Satz.
Regel löschen
Um die Regel zu löschen, verwenden Sie den Befehl:
pve-firewall delete rule <rule-id>
Anzeige des Protokolls
Zeigen Sie das Firewall-Protokoll an, das den Datenverkehr und die Regelübereinstimmungen anzeigt:
pve-firewall log
Die Ausgabe zeigt die neuesten Firewall-Protokolleinträge 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, 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 (Datenspeichers), der aufgelistet werden soll.

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

Erstellen eines neuen Speicherpools
pvesm create <type> <storage-id> --options
Dabei ist:
< type > der Typ des zu erstellenden Speicher-Backends (z. B. dir, lvm, nfs, zfs).
< storage-id > der eindeutige Name oder die ID des Speicherpools.
–– Optionen definiert die zusätzlichen Optionen, die für den Speichertyp spezifisch sind.
Beispiel:
Erstellen eines neuen verzeichnisbasierten Speicherpools mit dem Namen new-datastore1 , der sich unter /mnt/storage-name befindet und VM-Images und ISO-Dateien speichern kann: pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso
Hinzufügen eines vorhandenen Speichers zu Proxmox VE
Das Prinzip dieses Befehls ähnelt dem Befehl pvesm create , aber anstatt neuen Speicher 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, die sich unter 192.168.101.100 bei /export/data befindet, 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 Speichers
pvesm set <storage-id> --options
Beispiel:
Ändern des Pools local-storage01 , damit er VM-Images, ISO-Dateien und Backups 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
In der Proxmox Virtual Environment können Sie mehrere Benutzer für das Management von Proxmox VE erstellen. Dies kann mit Proxmox-CLI-Befehlen unter Verwendung des Befehls pveum (Benutzermanagement) erfolgen. Proxmox-Administratoren können Benutzer und Gruppen verwalten und Zugriffskontrollen und Berechtigungen konfigurieren. Dadurch wird festgelegt, wer Zugriff hat und Aktionen in den verschiedenen Bereichen der Proxmox-Infrastruktur 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>
Wo:
–– passwort < passwort > ist das passwort für den neuen Benutzer.
–– comment < comment > ist ein optionaler Kommentar oder eine Beschreibung für den Benutzer.
–– groups < GRUPPE > ist die Gruppe (oder Gruppen), zu der der Benutzer gehören soll.
Beispiel:
pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – admin group" --groups admin
Dieser Befehl wird verwendet, um einen Benutzer mit dem Namen user2 zur Gruppe ADMIN mit einer Beschreibung hinzuzufügen und das passwort für diesen Benutzer festzulegen.
Löschen eines Benutzers
Um einen Benutzer zu löschen, verwenden Sie den Befehl pveum mit derselben Logik wie beim Hinzufügen eines Benutzers, zum Beispiel:
pveum userdel user3@pve
Dieser Befehl wird verwendet, um user3 auf einem Proxmox-Host zu löschen.
Erstellen einer Gruppe
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-Gruppe “.
Löschen einer Gruppe
Ähnlich wie beim Löschen eines Benutzers können Sie auch eine Gruppe löschen. Um beispielsweise die Gruppe guests zu löschen, können Sie den folgenden Befehl verwenden:
pveum groupdel guests
Hinzufügen von Rollen
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:
< Rollenname > der Name der zu erstellenden Rolle.
–– privs < privileges > ist 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 CD-ROMs.
Ändern einer vorhandenen Rolle
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 „ vmmanager “ die Berechtigung „ VM.Config.Network “ hinzu.
Ändern der ACL
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>
Dabei ist:
< path > der Objektpfad, für den die ACL festgelegt werden soll (z. B. /vms/100 für eine bestimmte VM oder / für den gesamten Cluster).
–– roles < rolename > die zuzuweisende Rolle.
–– users < userid > der Benutzer, dem die Rolle zugewiesen wird.
–– gruppen < 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 104 zu, sodass der Benutzer ( user4 ) diese bestimmte VM gemäß den Berechtigungen der Rolle vmmanager verwalten kann. Mit dem Befehl aclremove können ACLs entsprechend aus Objekten entfernt werden.
Management von Authentifizierungsbereichen
Ein Authentifizierungsbereich definiert, wie Benutzer sich 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]
Der Befehl kann lauten: Liste zum Auflisten aller verfügbaren Bereiche
Hinzufügen zum Hinzufügen eines neuen Bereichs
Ändern zum Ändern eines bestehenden Bereichs
Entfernen zum Entfernen eines bestehenden Bereichs
Um beispielsweise alle in Proxmox VE konfigurierten Authentifizierungsbereiche aufzulisten, verwenden Sie den Befehl:
pveum realm list

Verwalten 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 zum 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
Mit dem Befehl pvesh können Administratoren mit der Proxmox-REST-API interagieren. Mit diesem Befehlszeilentool können Sie fast alle Aktionen, die über die Proxmox-Weboberfläche möglich sind, direkt über die Proxmox-CLI ausführen. Der Befehl pvesh fungiert als Shell für die Proxmox VE-REST-API und ermöglicht Ihnen API-Aufrufe mit Befehlen direkt über die Befehlszeile. Mit diesem Befehl können Sie virtuelle Maschinen, Speicher, Netzwerk und andere Elemente der virtuellen Infrastruktur von Proxmox verwalten.
Syntax:
pvesh <command> [options]
Auflisten von Ressourcen oder API-Endpunkten
Dieser Befehl ähnelt dem Befehl ls in Linux, listet jedoch die verfügbaren 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, Container und Speicher.
Abrufen von Informationen
Der Befehl get ruft Informationen von einem bestimmten API-Endpunkt ab. Dieser Befehl wird verwendet, um eine Ressource nach Details abzufragen.
pvesh get /path
Dabei ist path der API-Pfad, von dem Sie Informationen abrufen möchten.
Um beispielsweise die Statusinformationen für den Knoten pve-node1 abzurufen, wie z. B. CPU-Auslastung, Speicherverbrauch 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 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 der VM 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 Speichervolume.
Syntax:
pvesh create /path --key value [--key value ...]
Beispiel: Mit dem folgenden Befehl erstellen Sie 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.
Starten von VMs
Es gibt einen Befehl zum Starten einer VM oder eines Containers mit pvesh :
pvesh start /path
Um beispielsweise die VM mit der 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:
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 verwendet wird. Mit diesem Tool können Sie einen Cluster erstellen sowie den Knoten innerhalb eines Proxmox-Clusters hinzufügen und verwalten. Ein Cluster wird als einzelne Einheit mit Konfigurationsfunktionen wie Hochverfügbarkeit, Live-VM-Migration, gemeinsam genutzter Speicher usw. verwaltet.
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 wird.
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 zum 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.
Anzeigen des Cluster-Status
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 werden. Dieser Befehl kann erforderlich sein, wenn einige Cluster-Knoten vorübergehend offline sind, um Störungen zu vermeiden. Das Quorum wird verwendet, um Split-Brain-Situationen zu vermeiden, wenn verschiedene Cluster-Knoten widersprüchliche Informationen über den Status des Clusters haben.
pvecm expected <number>
7. hamanager
Der Befehl hamanager wird verwendet, um die Hochverfügbarkeitsfunktion (HA) für Virtuelle Maschinen nach der Erstellung eines Proxmox-Clusters zu verwalten. 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, wenn der Knoten, auf dem sie ausgeführt werden, ausfällt. Das Tool „ ” hamanager in der Proxmox-CLI interagiert mit dem Proxmox High Availability Manager.
Syntax:
ha-manager <command> [options]
Anzeigen des Status
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, und auf welchem Knoten sie ausgeführt werden.
Aktivieren von HA für eine VM
Syntax:
ha-manager add <vmid> --group <groupname> --max-restarts <n> --max-migrate-tries <n>
Dabei ist:
< vmid > die ID der VM oder CT, die Sie zu HA hinzufügen möchten.
–– group < groupname > die HA-Gruppe, zu der die Ressource hinzugefügt werden soll (optional).
–– max-restarts < n > ist die maximale Anzahl von Neustartversuchen, wenn die Ressource ausfällt.
–– max-migrate-tries < n > ist die maximale Anzahl von Migrationsversuchen zu einem anderen Knoten, wenn die Ressource nicht neu gestartet werden kann.
Beispiel: Hinzufügen einer VM mit der 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 der ID 105 zu deaktivieren, führen Sie den folgenden Befehl aus:
ha-manager remove 105
Nach Ausführung des Befehls wird die VM nicht mehr als hochverfügbare Ressource verwaltet.
VM-Migration
Sie können eine hochverfügbare VM manuell mit dem Befehl migrate auf einen anderen Knoten im Cluster migrieren:
ha-manager migrate <vmid> <targetnode>
Um beispielsweise eine VM mit der ID 106 auf einen Knoten namens pve-node2 zu migrieren, führen Sie den folgenden Befehl aus:
ha-manager migrate 106 pve-node2
8. vzdump
Der Befehl vzdump wird verwendet, um Backups in Proxmox VE mit nativen Proxmox-Tools zu erstellen. Dieser Befehl unterstützt das Backup von VMs und Containern. Backups können im Format . vma , . tgz oder . lzo gespeichert werden.
Syntax:
vzdump [options] <vmid> [<vmid2> ...]
Dabei ist:
vmid die ID einer VM oder eines Containers, die/den Sie sichern möchten.
–– mode < mode > definiert den Sicherungsmodus. Es werden drei Sicherungsmodi unterstützt:
- snapshot – erstellt einen Live-Schnappschuss einer Virtuellen Maschine oder eines Containers von Proxmox. Dieser Modus wird standardmäßig verwendet und ermöglicht es Ihnen, ein Backup durchzuführen, während eine VM oder ein Container ausgeführt wird.
- suspend – Dieser Modus wird verwendet, um die Virtuelle Maschine oder den Container vor dem Backup anzuhalten, wodurch Sie sicherstellen können, dass die Daten konsistent sind. Ein Nachteil dieses Modus ist die kurze Ausfallzeit, die dadurch verursacht wird.
- stop – Stoppt die Virtuelle Maschine oder den Container vor der Durchführung des Backups. Dieser Ansatz ermöglicht es Ihnen, die Konsistenz der Backup-Daten zu gewährleisten, erfordert jedoch eine längere Ausfallzeit.
–– compress < type > wird verwendet, um die Komprimierungsmethode anzugeben. Es werden drei Komprimierungsoptionen unterstützt:
- lzo – Leichte und schnelle Komprimierung für Proxmox-Backups (standardmäßig verwendet).
- gzip – Dies ist eine effizientere Komprimierungsmethode, erfordert jedoch mehr Zeit für die Komprimierung der Daten (langsamere Komprimierung).
- zstd – Dieser Komprimierungstyp verwendet einen modernen Komprimierungsalgorithmus, der hohe Komprimierungsverhältnisse bei optimaler Leistung bietet.
–– Speicher < Speicher > gibt das Ziel für die Sicherungsdatei an. Dies kann ein lokales Verzeichnis, eine NFS-Freigabe oder ein Proxmox-Speicherpool sein.
–– maxfiles < n > begrenzt die Anzahl der zu speichernden Sicherungsdateien. Ältere Backups werden automatisch gelöscht, wenn das Limit erreicht ist.
–– Entfernen < mode > entfernt Sicherungsdateien automatisch gemäß dem angegebenen Modus. Zu den Modi gehören:
- old – entfernt alte Backups, wenn neue erstellt werden.
- fail – entfernt nur fehlgeschlagene Backups.
Mehrere VMs sichern
Sichern Sie die VMs mit den IDs 101, 102 und 103 nacheinander:
vzdump 101 102 103
Backup mit Komprimierung speichern
vzdump 101 --storage local --compress gzip --maxfiles 3
Der Befehl vzdump führt mit diesen Optionen die folgenden Aktionen aus:
- Speichert das Backup von VM 101 im Speicher namens local. Der lokale Speicher kann ein lokales Verzeichnis auf einem Proxmox-Host oder ein Speicherpool sein.
- Die gzip Komprimierung wird verwendet. Das Erstellen einer mit gzip Komprimierung verschlüsselten Backups kann länger dauern, aber Sie erhalten eine kleinere Sicherungsdatei.
- Es werden nur die 3 neuesten Backups behalten, während ältere automatisch gelöscht werden.
Log-Dateien auslassen
vzdump 102 --exclude-path /var/log
Sichert die VM 102 , schließt jedoch das Verzeichnis /var/log aus und reduziert so die Größe des Backups durch Auslassen der Log-Dateien.
Alte Backups entfernen
vzdump 101 --storage nfs-backup --maxfiles 5 --remove old
Dies ist eine automatisierte Sicherung mit Entfernung alter Backups. Sie sichert die VM 101 , speichert das Backup im nfs-backup Speicher und behält nur die 5 neuesten Backups bei, wobei alle älteren Backups automatisch gelöscht werden.
Sichern im Snapshot-Modus
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
Erstellen von Backups (z. B. nächtliche Backups) aller VMs und Container im Snapshot-Backup-Modus. Die Backups werden in einer NFS-Freigabe namens nfs-backup gespeichert. Die Bandbreite ist auf 20480 KByte pro Sekunde (20 MBit/s) begrenzt, um eine Überlastung des Netzwerks zu verhindern. Es werden nur die letzten 7 Backups aufbewahrt, ältere Backups werden automatisch entfernt.
9. qmrestore
Der Befehl qmrestore dient zum Wiederherstellen von Virtuellen Maschinen aus Backups, die mit dem Befehl vzdump in der virtuellen Umgebung von Proxmox erstellt wurden. Die Befehle vzdump und qmrestore sind native Proxmox-Tools für die Sicherung und Wiederherstellung von VMs. Ein Backup kann auf einer neuen oder bestehenden VM wiederhergestellt werden.
Syntax:
qmrestore [options] <backupfile> <vmid>
Wobei:
< backupfile > der Pfad zu der Sicherungsdatei ist, die Sie wiederherstellen möchten. Diese Datei wird in der Regel mit dem Befehl vzdump erstellt und in einem Verzeichnis oder auf einem Speichergerät gespeichert.
< vmid > die ID der VM ist, die Sie wiederherstellen möchten. Wenn die VM-ID bereits existiert, wird die vorhandene VM überschrieben, sofern keine speziellen Optionen verwendet werden, um dies zu verhindern.
Befehlsoptionen:
–– force wird verwendet, um eine vorhandene VM mit derselben ID zu überschreiben, ohne dass eine Bestätigungsabfrage erfolgt. Sie können diese Option verwenden, um eine VM 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 VM zu generieren. Erwägen Sie die Verwendung dieser Option, um ein Backup wiederherzustellen, indem Sie eine neue VM erstellen, ohne vorhandene VMs zu überschreiben.
–– storage < storage > gibt den Zielspeicher für virtuelle Festplatten-Images der wiederhergestellten VM an. Wenn diese Option nicht angegeben ist, wird die VM in ihrem ursprünglichen Speicher oder im Standardspeicher wiederhergestellt.
–– pool < pool > ermöglicht es Ihnen, die wiederhergestellte VM einem bestimmten Ressourcenpool in der virtuellen Proxmox-Umgebung zuzuweisen. Ressourcenpools werden verwendet, um virtuelle Maschinen für ein einfacheres Management 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 Hostnamen 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.
VM auf ursprüngliche ID zurücksetzen
VM auf ihre ursprüngliche ID zurücksetzen:
qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101
Dieser Befehl setzt die Datei des Backups vzdump-qemu-101-2023_08_27-00_00_00.vma auf die VM mit der ID 101 zurück. Wenn eine VM mit der ID 101 bereits vorhanden ist, wird sie überschrieben.
Wiederherstellen des Backups auf eine neue VM:
Wiederherstellen des Backups auf eine neue 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 der ID 102 wieder her und speichert deren Disk-Images auf dem lokalen LVM-Speicher .
Wiederherstellen und Ändern des Hostnamens und des VM-Namens
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 der ID 103 wieder 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 Proxmox Backup Server, einer nativen Proxmox-Backup-Lösung, zum Backup und zur Wiederherstellung verwendet wird. Mit diesem Tool können Administratoren Virtuelle Maschinen, Container und andere Arten von Daten schützen. Das Tool „ proxmox-backup-client “ interagiert mit einem Proxmox Backup Server (PBS), um Backups zu verwalten.
Syntax:
proxmox-backup-client <command> [options]
Die grundlegende Syntax des Befehls „backup“
proxmox-backup-client backup <archive-name> <path> --repository <repository> [options]
Wobei:
< archive-name > der Name ist, 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, in der Regel 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 auf dem Datenspeicher datastore1 auf dem Proxmox Backup Server unter 10.10.10.101 . Das Backup wird als Archiv mit dem Namen etc.pxar gespeichert.
Die grundlegende Syntax des Befehls „restore“
Der Befehl „restore“ für die proxmox-backup-client Befehlszeilentools wird verwendet, um Daten von einem Proxmox Backup Server auf dem lokalen System wiederherzustellen.
proxmox-backup-client restore <archive-name> <path> --repository <repository> [options]
Dabei ist:
< archive-name > der Name des Archivs, das Sie wiederherstellen möchten.
< path > der Pfad, in dem 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 Backup etc.pxar aus datastore1 auf dem Proxmox Backup Server unter 10.10.10.101 in das lokale Verzeichnis / restore / etc wieder her.
Fazit
Proxmox-CLI-Befehle sind leistungsstarke Tools zum Verwalten der virtuellen Proxmox-Umgebung, einschließlich Speicher, Virtueller Maschinen, Clustern, 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.