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
Der Befehl qm ist einer der wichtigsten Proxmox-CLI-Befehle, und qm ist die Abkürzung für „QEMU Manager“. Er dient zum Verwalten virtueller Maschinen (VMs) in einer virtuellen Proxmox-Umgebung (Proxmox VE). 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 einsehen. Möglicherweise benötigen Sie die ID, um diese VM in der Proxmox-CLI zu verwalten.
qm list

Eine neue Virtuelle Maschine erstellen
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 VM mit ID 103 namens „DebianVM“ mit 2 GB RAM, 1 Sockel, 2 Kernen und einer Virtio-Netzwerkschnittstelle, die mit vmbr0verbunden ist. Der Betriebssystemtyp ist Linux (gekennzeichnet durch l26).
Eine Festplatte an eine VM anschließen
qm set 105 --scsi0 local-lvm:32G
Schließt eine 32-GB-Festplatte über die SCSI-Schnittstelle an die VM an.
Ein CD-ROM-Laufwerk für die Betriebssysteminstallation anschließen
qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom
Dieser Befehl legt eine Debian-ISO-Datei im IDE-CD-ROM-Laufwerk der VM ein, um ein Gastbetriebssystem zu installieren oder für andere Zwecke.
Konfigurieren der Startreihenfolge
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) bootet.
Starten einer virtuellen Maschine
Syntax:
qm start <vmid>
Beispiel:
qm start 103
Starten der VM mit ID 103
Beenden einer VM
qm stop <vmid>
Dieser Befehl beendet eine laufende VM sofort. Diese Art des Beendens einer VM entspricht dem Ziehen des Netzsteckers bei einer physischen Maschine.
qm stop 103
Beenden der VM mit ID 103.
Eine VM in der Proxmox-CLI herunterfahren
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 ID 101.

Eine VM auf einen anderen Knoten migrieren
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 dem Namen ID 103 auf node2zu migrieren, können wir folgenden Befehl verwenden:
qm migrate 103 node2
Erstellen eines Schnappschusses einer VM
qm snapshot <vmid>
<snapshotname>
Der Befehl erstellt einen Schnappschuss der VM und hält dabei deren aktuellen Status fest, einschließlich des Speichers, der Festplatte und des Gerätestatus.
qm snapshot 103 "before_upgrade"
Dieser Befehl erstellt einen Schnappschuss der VM mit dem Namen ID 103 und benennt ihn "before_upgrade". Die Verwendung des Befehls zum Erstellen eines Schnappschusses ist nützlich, bevor risikobehaftete Vorgänge wie Software-Upgrades durchgeführt werden.
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 der Name des Speicherpools (Datenspeicher), der aufgelistet werden soll.
<storage>

Ü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:
der Typ des zu erstellenden Speicher-Backends ist (z. B. dir, lvm, nfs, zfs).
<type>
<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:
der Name der zu erstellenden Rolle.
<rolename>
--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:
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).
<path>
--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
Durch die Verwendung des pvesh Befehls können Administratoren mit der Proxmox REST-API interagieren. Dieses Befehlszeilen-Tool ermöglicht das Ausführen nahezu aller Aktionen, die über die Proxmox-Webschnittstelle direkt von der Proxmox-CLI aus durchgeführt werden können. Der pvesh Befehl fungiert als Shell für die Proxmox VE REST-API und ermöglicht API-Aufrufe direkt von der Befehlszeile aus. Mit diesem Befehl können Sie Virtuelle Maschinen, Speicher, Netzwerke und andere Elemente der Proxmox Virtuellen Infrastruktur verwalten.
Syntax:
pvesh <command> [options]
Auflisten von Ressourcen oder API-Endpunkten
Dieser Befehl ähnelt dem ls Befehl in 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, Container und Speicher.
Abrufen von Informationen
Der get Befehl ruft Informationen von einem bestimmten API-Endpunkt ab. Dieser Befehl wird verwendet, um Details zu einer Ressource abzufragen.
pvesh get /path
Wo path der API-Pfad ist, von dem Sie Informationen abrufen möchten.
Zum Beispiel, um die Statusinformationen für den Knoten pve-node1 abzurufen, wie CPU-Auslastung, Speichernutzung und Laufzeit, können Sie den Befehl verwenden:
pvesh get /nodes/pve-node1/status

Ändern der Konfiguration
Der set Befehl wird verwendet, um die Konfiguration einer Ressource zu ändern oder zu aktualisieren. Dies ist gleichbedeutend mit einem POST- oder PUT-Anfrage in der REST-API.
Syntax:
pvesh set /path --key value [--key value ...]
--key Der Wert 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 Namen der VM 100 auf dem Knoten pve-node1 zu new-vm-name.
Erstellen einer Ressource
Der Erstellen-Befehl ermöglicht das Erstellen einer neuen Ressource, wie beispielsweise einer neuen VM oder eines Speichervolumens.
Syntax:
pvesh create /path --key value [--key value ...]
Zum Beispiel erstellen Sie eine neue VM mit spezifischen Parametern mit dem Befehl:
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, um eine VM oder einen Container mit pvesh zu starten:
pvesh start /path
Zum Beispiel, um die VM mit ID 101 auf dem Knoten pve-node1 zu starten, können Sie den Befehl ausführen:
pvesh start /nodes/pve-node1/qemu/101
VM herunterfahren
Im Gegensatz zu dem Stopp-Befehl fährt der Herunterfahren-Befehl eine VM oder einen Container sanft herunter:
pvesh shutdown /path
Zum Beispiel, um eine VM mit der ID 101 auf einem Proxmox-Host, dessen Name pve-node1 ist, herunterzufahren, verwenden Sie den 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 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 der Name des Knotens, den Sie als Master festlegen möchten.
<nodename>
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:
die ID der VM oder des CT, die bzw. das Sie zu HA hinzufügen möchten.
<vmid>
--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 das Backup im Speicher nfs-backup und behält nur die 5 neuesten Backups bei, wobei ältere Backups automatisch gelöscht werden.
Backup im Snapshot-Modus erstellen
vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7
Erstellen von Backups (z. B. eines nächtlichen Backups) aller VMs und Container im Snapshot-Backup-Modus. Die Backups werden in einer NFS-Freigabe namens nfs-backupgespeichert. Die Bandbreite ist auf 20.480 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 von Virtuellen 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:
der Pfad zur Backup-Datei, die Sie wiederherstellen möchten. Diese Datei wird in der Regel durch den Befehl
<backupfile>
vzdump erzeugt und in einem Verzeichnis oder auf einem Netzwerkspeichergerät gespeichert.
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.
<vmid>
Befehlsoptionen:
--force dient dazu, eine vorhandene VM mit derselben ID zu überschreiben; es erfolgt keine Bestätigungsabfrage. 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 dient dazu, eine neue, eindeutige VM-ID für eine wiederhergestellte VM zu generieren. Ziehen Sie diese Option in Betracht, um ein Backup wiederherzustellen, indem Sie eine neue VM erstellen, ohne vorhandene VMs zu überschreiben.
--storage <storage> legt den Zielspeicher für die virtuellen Festplattenabbilder der wiederhergestellten VM fest. Wird diese Option nicht angegeben, 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 dienen dazu, Virtuelle Maschinen zum einfacheren 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 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 zum Backup gesichert wurde.
VM unter der ursprünglichen 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 die Sicherungsdatei vzdump-qemu-101-2023_08_27-00_00_00.vma auf der VM mit ID 101 wieder her. Wenn bereits eine VM mit ID 101 vorhanden ist, wird diese überschrieben.
Wiederherstellung 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 local-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 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 gilt:
<archive-name> ist der Name, den Sie dem Backup-Archiv geben möchten.
definiert den Pfad zu dem Verzeichnis oder der Datei, die Sie sichern möchten.
<path>
--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]
Dabei ist:
<archive-name> der Name des Archivs, das Sie wiederherstellen möchten.
ist der Pfad, in den die Daten wiederhergestellt werden sollen.
<path>
--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 Werkzeugset zum Management 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.