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.

NAKIVO für Proxmox-Backups

NAKIVO für Proxmox-Backups

Agentenlose, App-Aware Backup für Proxmox VE mit mehreren Zielen, einschließlich unveränderlicher Cloud-Backups. Mehrere Optionen für die sofortige granulare Wiederherstellung und Vollständige Wiederherstellung.

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

Listing Proxmox virtual machines in the CLI

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.

Proxmox CLI shutdown VM

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.

Using pve-firewall in Proxmox CLI

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.

Listing resources on the local 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.

Checking the status of a Proxmox storage pool

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

Checking the Proxmox authentication realm configuration

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.

Probieren Sie NAKIVO Backup & Replication für Proxmox VE aus

Probieren Sie NAKIVO Backup & Replication für Proxmox VE aus

Sichern Sie sich eine 15-tägige kostenlose Testversion, um agentenlose, inkrementelle Proxmox-VM-Backups mit Native Änderungsverfolgung, Unveränderlichem Speicher sowie Optionen für sofortige vollständige und granulare Wiederherstellung durchzuführen.

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

Checking the Proxmox host 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 101 auf dem Speicher namens local. Lokaler Speicher kann ein lokales Verzeichnis auf einem Proxmox-Host oder ein Speicherpool sein.
  • Es wird die Komprimierung gzip verwendet. Das Erstellen eines mit der Komprimierung gzip verschlü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 vzdump erzeugt und in einem Verzeichnis oder auf einem Speichergerät gespeichert.

<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.

Probieren Sie NAKIVO Backup & Replication aus

Probieren Sie NAKIVO Backup & Replication aus

Holen Sie sich eine kostenlose Testversion, um alle Funktionen der Datensicherheit der Lösung kennenzulernen. 15 Tage kostenlos. Keine Einschränkungen bei Funktionen oder Kapazitäten. Keine Kreditkarte erforderlich.

Empfohlene Artikel