Die 10 besten Proxmox CLI-Befehle, die jeder Administrator kennen sollte

Die Proxmox Virtual Environment (VE) kann mit einer benutzerfreundlichen grafischen Oberfläche in einem Webbrowser verwaltet werden. In spezifischen Szenarien ist es jedoch besser, die Befehlszeilenschnittstelle (CLI) zu verwenden. Die CLI bietet Vorteile wie eine detailliertere Konfiguration, Stapelverarbeitung, Skripting und Automatisierung.

Es gibt Standard-Linux-Befehle und Proxmox-spezifische Befehle zur Verwaltung von Proxmox-Virtualisierungsumgebungen. Dieser Blog-Beitrag behandelt die 10 wichtigsten Proxmox-spezifischen Befehle mit Beispielen für eine effektive Verwaltung.

1. qm

Der Befehl qm ist einer der Haupt-Proxmox-CLI-Befehle, und qm steht für QEMU-Manager. Er wird verwendet, um virtuelle Maschinen (VMs) in einer Proxmox-Virtualisierungsumgebung (Proxmox VE) zu verwalten. 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 [Optionen] <Befehl> [Argumente]

Liste der virtuellen Maschinen

Sie können den VM-Status und die ID sehen. Möglicherweise benötigen Sie die ID, um diese VM in der Proxmox-CLI zu verwalten.

qm list

Erstellen einer neuen virtuellen Maschine

Allgemeine Syntax:

qm create <vmid> [Optionen]

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 der ID 103 namens „DebianVM“ mit 2 GB RAM, 1 Sockel, 2 Kernen und einer Virtio-Netzwerkschnittstelle, die an vmbr0 gebrückt ist. Der OS-Typ ist Linux (angegeben durch l26).

Eine Festplatte an eine VM anhängen

qm set 105 --scsi0 local-lvm:32G

Hängt eine 32-GB-Festplatte an die VM über die SCSI-Schnittstelle an.

Ein CD-ROM-Laufwerk für die OS-Installation anhängen

qm set 105 --ide2 local:iso/debian-10.7.0-amd64-netinst.iso,media=cdrom

Dieser Befehl hängt ein Debian-ISO an das IDE-CD-ROM-Laufwerk der VM an, um ein Gastbetriebssystem oder andere Zwecke zu installieren.

Die Boot-Reihenfolge konfigurieren

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.

Eine virtuelle Maschine starten

Syntax:

qm start <vmid>

Beispiel:

qm start 103

Startet die VM mit der ID 103

Eine VM stoppen

qm stop <vmid>

Dieser Befehl stoppt eine laufende VM sofort. Diese Methode, eine VM zu stoppen, ist dasselbe wie das Ziehen des Stromsteckers bei einer physischen Maschine.

qm stop 103

Stoppt die VM mit der ID 103.

Eine VM im Proxmox-CLI herunterfahren

qm shutdown <vmid>

Dieser Befehl fährt eine VM ordnungsgemäß herunter, sodass das Gastbetriebssystem Dateien schließen und Prozesse korrekt beenden kann.

qm shutdown 101

Ein Herunterfahrsignal an die VM mit der ID 101 senden.

Eine VM auf einen anderen Knoten migrieren

qm migrate <vmid> <targetnode>

Dieser Befehl migriert eine VM von ihrem aktuellen Knoten zu einem anderen Knoten innerhalb des gleichen Proxmox-Clusters.

Um beispielsweise eine VM mit der ID 103 zu node2 zu migrieren, können wir den Befehl verwenden:

qm migrate 103 node2

Ein Snapshot einer VM erstellen

qm snapshot <vmid> <snapshotname>

Der Befehl erstellt einen Snapshot der VM und erfasst ihren aktuellen Zustand, einschließlich des Speichers, des Festplatten- und des Geräte-Status.

qm snapshot 103 "before_upgrade"

Dieser Befehl erstellt einen Snapshot der VM mit der ID 103 und benennt ihn “before_upgrade“. Die Verwendung des Befehls zum Erstellen eines Snapshots ist nützlich, bevor riskante Operationen wie Software-Updates durchgeführt werden.

Den Zustand einer VM aus einem Snapshot wiederherstellen

qm rollback <vmid> <snapshotname>

Dieser Befehl stellt eine VM auf einen vorherigen Snapshot zurück und stellt ihren Zustand zu dem Zeitpunkt wieder her, als der Snapshot erstellt wurde.

Wenn beispielsweise das Software-Upgrade innerhalb einer VM nicht erfolgreich war und fehlgeschlagen ist, können wir den VM-Zustand mit dem Befehl wiederherstellen:

qm rollback 103 "before_upgrade"

Änderungen, die seit der Erstellung des Snapshots vorgenommen wurden, werden verworfen (rückgängig gemacht).

Klonen einer virtuellen Maschine

qm clone <vmid> <newid> [--name <newname>] [--full]

Der Befehl qm clone klont eine vorhandene VM, um eine neue VM mit einer anderen ID zu erstellen. Sie können wählen, ob Sie entweder 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 der ID 103 in eine neue VM mit der ID 104 und nennt sie „DebianClone“. Die full Option erstellt einen vollständigen Klon, der alle Daten kopiert.

Ändern der Größe der Festplatte einer virtuellen Maschine

qm resize <vmid> <disk> <size>

Der Befehl qm resize wird verwendet, um eine virtuelle Festplatte, die an eine VM angeschlossen ist, zu vergrößern oder zu verkleinern. Stellen Sie sicher, dass das Gastbetriebssystem die Änderung verarbeiten kann.

qm resize 103 scsi0 +10G

Dieser Proxmox-CLI-Befehl erhöht die Größe der scsi0-Festplatte der VM mit der ID 103 um 10 GB.

2. pve-firewall

Der Befehl pve-firewall wird verwendet, um die Firewall-Einstellungen in der Proxmox-Umgebung zu verwalten, 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-Nodes, virtuellen Maschinen und Containern zu kontrollieren. Die Proxmox-Firewall ist eng in die Proxmox-Verwaltungsschnittstelle integriert und vereinfacht das Firewall-Management in der gesamten Proxmox-Umgebung. Das pve-firewall-Werkzeug wurde speziell für Proxmox VE entwickelt und verwendet eine hochgradige Abstraktion zur Verwaltung von Firewall-Regeln im Vergleich zum granularen und manuellen Ansatz, der bei iptables verwendet wird.

Syntax:

pve-firewall <Befehl> [Optionen]

Führen Sie den pve-firewall-Befehl aus, um die Hauptbefehlsverwendung anzuzeigen.

Status überprüfen

Überprüfen des Status des Proxmox VE-Firewall-Dienstes:

pve-firewall status

Die Ausgabe zeigt an, ob die Firewall auf dem aktuellen Node ausgeführt wird oder nicht.

Die Firewall starten

Starten des Firewall-Dienstes auf dem aktuellen Proxmox-Node:

pve-firewall start

Die Firewall neu laden

Neuladen des Firewall-Dienstes und Anwenden der Firewall-Konfigurationsänderungen ohne die Notwendigkeit, den Firewall-Dienst zu stoppen und neu zu starten.

pve-firewall reload

SSH-Verkehr akzeptieren

Erstellen einer Firewall-Regel, die den SSH-Verkehr akzeptiert:

pve-firewall create rule -action accept -macro ssh

Dieser Befehl erstellt eine Regel, um SSH-Zugriff auf die Proxmox-Umgebung zu ermöglichen.

Wo: create <object> erstellt ein neues Firewall-Objekt, wie eine Regel, Sicherheitsgruppe oder IP-Set.

Regel löschen

Um die Regel zu löschen, verwenden Sie den Befehl:

pve-firewall delete rule <rule-id>

Protokoll anzeigen

Zeigt das Firewall-Protokoll an, das den Datenverkehr und die Regelübereinstimmungen zeigt:

pve-firewall log

Die Ausgabe zeigt die neuesten Einträge im Firewall-Protokoll an.

HTTP-Verkehr ablehnen

Um eine Firewall-Regel zu erstellen, die jeglichen HTTP-Verkehr ablehnt, verwenden Sie den Befehl:

pve-firewall create rule -action drop -macro http

3. pvesm

Der pvesm-Befehl in der Proxmox-CLI ist das Befehlszeilenwerkzeug, das verwendet wird, um die Speicherkonfiguration in Proxmox VE zu verwalten. Mit diesem Befehlszeilenwerkzeug können Sie Speicherpools erstellen, löschen, ändern und verwalten. Darüber hinaus können Sie verschiedene speicherbezogene Aufgaben durchführen, wie z. B. Verzeichnisse zu erstellen, Speichergeräte hinzuzufügen und Inhaltstypen zu verwalten.

Syntax:

pvesm <command> [options]

Speicher auflisten

pvesm list <storage>

Dabei ist <storage> der Name des Speicherpools (Datenspeicher), der aufgelistet werden soll.

Überprüfung des Status aller oder spezifischer Speicherpools

pvesm status

Die Ausgabe 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

Wo:

<type> ist der Typ des zu erstellenden Speicher-Backends (zum Beispiel dir, lvm, nfs, zfs).

<storage-id> ist der eindeutige Name oder die ID für den Speicherpool.

options definiert die zusätzlichen Optionen, die spezifisch für den Speichertyp sind.

Beispiel:

Erstellen eines neuen, auf Verzeichnissen basierenden Speicherpools mit dem Namen new-datastore1, der sich unter /mnt/storage-name befindet und VM-Images sowie 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 ist ähnlich 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 eines vorhandenen NFS-Freigabe, die sich auf 192.168.101.100 unter /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 bestehenden Speicherpools

pvesm set <storage-id> --options

Beispiel:

Ändern des local-storage01 Pools, um das Speichern von VM-Bildern, ISO-Dateien und Sicherungsdateien zu ermöglichen:

pvesm set local-storage01 --content images,iso,backup

Zuweisung eines neuen Volumens in einem bestimmten Speicherpool für eine VM oder einen Container

pvesm alloc <storage-id> <vmid> <size>

Beispiel:

Der Befehl zur Zuweisung eines 10 GB Volumens im local-storage-name Pool für VM 100:

pvesm alloc local-storage-name 100 10G

4. pveum

Die Proxmox Virtual Environment ermöglicht es, mehrere Benutzer zur Verwaltung von Proxmox VE zu erstellen. Dies kann mit Proxmox CLI-Befehlen unter Verwendung des pveum (Benutzermanagement) Befehls erfolgen. Proxmox-Administratoren können Benutzer und Gruppen verwalten und Zugriffssteuerungen sowie Berechtigungen konfigurieren. Dies definiert wiederum, wer Zugriff hat und berechtigt ist, auf die verschiedenen Teile der Proxmox-Infrastruktur zuzugreifen und Maßnahmen zu ergreifen. Administratoren können Berechtigungen zum Zugriff auf Objekte wie virtuelle Maschinen, Speicher, Clusterknoten 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 <password> ist das Passwort für den neuen Benutzer.

Kommentar <comment> ist ein optionaler Kommentar oder eine Beschreibung für den Benutzer.

Gruppen <group> sind die Gruppe(n), zu denen der Benutzer gehören soll.

Beispiel:

pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – Admin-Gruppe" --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 der gleichen Logik wie zum 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-Gruppe"

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. Beispielsweise können Sie die guests-Gruppe mit dem Befehl löschen:

pveum Gruppendel Gäste

Hinzufügen von Rollen

Rollen werden verwendet, um einen Satz von Berechtigungen für Benutzer und Gruppen festzulegen, denen diese Rolle zugewiesen ist.

Syntax:

pveum Rollehinzufügen <rollenname> --privs <berechtigungen>

Wo:

<rollenname> ist der Name der zu erstellenden Rolle.

berechtigungen <berechtigungen> ist eine durch Kommata getrennte Liste von Berechtigungen, die der Rolle zugewiesen werden sollen (zum Beispiel, VM.PowerMgmt,VM.Config.Disk).

Beispiel:

pveum Rollehinzufügen vmmanager --privs VM.PowerMgmt,VM.Config.CDROM

Mit diesem Befehl wird eine Rolle namens vmmanager mit Berechtigungen zum Verwalten von VM-Einstellungen und Konfigurieren von CD-ROMs erstellt.

Bearbeiten einer vorhandenen Rolle

Administratoren können vorhandene Rollen und Berechtigungen mit dem Befehl rolemod (Berechtigungen hinzufügen oder entfernen) ändern.

Syntax:

pveum Rolemod <rollenname> --privs <berechtigungen>

Beispiel:

pveum Rolemod vmmanager --privs +VM.Config.Network

Mit diesem Befehl wird die Berechtigung VM.Config.Network zur Rolle vmmanager hinzugefügt.

Ändern der ACL

Proxmox-Administratoren können Zugriffssteuerungslisten (ACL) ändern, indem sie Rollen Benutzern oder Gruppen für bestimmte Proxmox-Objekte zuweisen.

Syntax:

pveum aclmod <path> --roles <rolename> --users <userid> --groups <groupname>

Wo:

<path> ist der Objektpfad, auf dem die ACL festgelegt werden soll (zum Beispiel /vms/100 für eine spezifische VM oder / für den gesamten Cluster).

roles <rolename> ist die Rolle, die zugewiesen werden soll.

users <userid> ist der Benutzer, dem die Rolle zugewiesen wird.

groups <groupname> ist die Gruppe, der die Rolle zugewiesen wird.

Beispiel:

pveum aclmod /vms/104 --roles vmmanager --users user4@pve

Dieser Befehl weist die vmmanager Rolle dem user4@pve auf der VM 104 zu, wodurch der Benutzer (user4) diese spezifische VM gemäß den Rechten in der vmmanager Rolle verwalten kann. Der aclremove Befehl wird verwendet, um ACLs von Objekten entsprechend zu entfernen.

Verwaltung von Authentifizierungsbereichen

Ein Authentifizierungsbereich definiert, wie Benutzer sich im System authentifizieren (zum Beispiel mit PAM, LDAP oder Active Directory). Sie können Authentifizierungsbereiche mit dem realm Befehl in Proxmox VE verwalten.

Syntax:

pveum realm <command> [options]

Wobei der Befehl sein kann:

list um alle verfügbaren Bereiche aufzulisten

add um einen neuen Bereich hinzuzufügen

modify um einen bestehenden Bereich zu ändern

entfernen um ein vorhandenes Realm zu entfernen

Um beispielsweise alle konfigurierten Authentifizierungs-Reiche in Proxmox VE aufzulisten, verwenden Sie den Befehl:

pveum realm list

Verwaltung vorhandener Benutzer

Sie können vorhandene Benutzer mit diesem Benutzerbefehl auflisten, bearbeiten und löschen.

Syntax:

pveum user <command> <userid> [options]

Die Befehle können sein:

listen um alle Benutzer aufzulisten

ändern um Benutzerdetails zu ändern, wie z.B. ein Passwort zu ändern oder den Kommentar zu aktualisieren

löschen um einen Benutzer zu löschen

Um beispielsweise alle Benutzer auf einem Proxmox-Host aufzulisten, verwenden Sie den Befehl:

pveum user list

Um weitere verfügbare Befehle und Optionen zu sehen, führen Sie den pveum help Befehl in der Proxmox CLI aus.

5. pvesh

Durch die Verwendung des pvesh Befehls können Administratoren mit der Proxmox REST API interagieren. Dieses Befehlszeilenwerkzeug ermöglicht es Ihnen, fast jede Aktion, die über die Proxmox-Weboberfläche durchgeführt werden kann, direkt von der Proxmox CLI auszuführen. Der pvesh Befehl fungiert als Shell für die Proxmox VE REST API, die es Ihnen ermöglicht, API-Aufrufe direkt über die Befehlszeile zu tätigen. Mit diesem Befehl können Sie virtuelle Maschinen, Speicher, Netzwerke und andere Elemente der Proxmox-Virtualisierungsinfrastruktur 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.

Informationen abrufen

Der get-Befehl ruft Informationen von einem bestimmten API-Endpunkt ab. Dieser Befehl wird verwendet, um eine Ressource nach Details abzufragen.

pvesh get /path

Wo path der API-Pfad ist, von dem Sie Informationen abrufen möchten.

Um beispielsweise die Statusinformationen für den Knoten pve-node1 abzurufen, wie CPU-Auslastung, Arbeitsspeichernutzung und Betriebszeit, können Sie den Befehl verwenden:

pvesh get /nodes/pve-node1/status

Konfiguration ändern

Der set -Befehl wird verwendet, um die Konfiguration einer Ressource zu ändern oder zu aktualisieren. 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 Namen der VM 100 auf dem Knoten pve-node1 in new-vm-name.

Ressource erstellen

Der Befehl „create“ ermöglicht es Ihnen, eine neue Ressource zu erstellen, wie z.B. eine neue VM oder ein Speichervolumen.

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.

VMs starten

Es gibt einen Befehl, um eine VM oder einen Container mit pvesh zu starten:

pvesh start /path

Zum Beispiel, um die VM mit der 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 zum Stopp-Befehl fährt der Herunterfahren-Befehl eine VM oder einen Container ordnungsgemäß 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 pvecm-Befehl ist ein Werkzeug zur Verwaltung von Proxmox-Clustern, das verwendet wird, um einen Proxmox-Cluster zu verwalten und zu konfigurieren. Sie können dieses Werkzeug verwenden, um einen Cluster zu erstellen sowie Knoten innerhalb eines Proxmox-Clusters hinzuzufügen und zu verwalten. Ein Cluster wird als eine einzige Einheit mit Konfigurationsfunktionen verwaltet, wie z.B. Hochverfügbarkeit, Live-Migration von VMs, gemeinsamer Speicher usw.

Syntax:

pvecm <Befehl> [Optionen]

Um alle unterstützten pvecm-Befehle zu sehen, führen Sie diesen Befehl aus:

man pvecm

Erstellen eines Clusters

Um einen neuen Proxmox VE-Cluster zu erstellen, können Sie den create -Befehl 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

Knoten zu einem Cluster hinzufügen

Verwenden Sie den addnode-Befehl, 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 delnode-Befehl 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 zur Anzeige 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>

Wobei <nodename> der Name des Knotens ist, den Sie als Master festlegen möchten.

Anzeige des Clusterstatus

Sie können den Status eines Proxmox-Clusters anzeigen, einschließlich Informationen über das Quorum, die Anzahl der Knoten und deren Rollen.

pvecm status

Festlegen der erwarteten Anzahl von Knoten

Sie können überprüfen, wie viele Knoten erforderlich sind, um das Quorum im Cluster mit dem expected-Befehl zu erreichen. Sie müssen diesen Befehl möglicherweise verwenden, wenn einige Clusterknoten vorübergehend offline sind, um Störungen zu vermeiden. Das Quorum wird verwendet, um Split-Brain-Situationen zu vermeiden, wenn verschiedene Clusterknoten widersprüchliche Informationen über den Zustand des Clusters haben.

pvecm expected <number>

7. hamanager

Der Befehl hamanager wird verwendet, um das Feature für hohe Verfügbarkeit (HA) für virtuelle Maschinen nach der Erstellung eines Proxmox-Clusters zu verwalten. Dieses Befehlszeilen-Dienstprogramm ermöglicht es Ihnen, die hohe Verfügbarkeit für wichtige VMs zu konfigurieren und festzulegen, wie sie in einem Cluster neu gestartet werden sollen, wenn der Knoten, auf dem sie ausgeführt werden, ausfällt. Das hamanager-Tool in der Proxmox CLI interagiert mit dem Proxmox High Availability Manager.

Syntax:

ha-manager <Befehl> [Optionen]

Anzeigen des Status

Um den aktuellen Status der HA-Ressourcen anzuzeigen, können Sie den Befehl verwenden:

ha-manager status

Die Ausgabe zeigt Informationen darüber, welche VMs oder CTs für HA konfiguriert sind, ihren aktuellen Zustand (gestartet, angehalten), einschließlich des HA-Zustands und des Failover-Zustands, und auf welchem Knoten sie ausgeführt werden.

Aktivieren von HA für eine VM

Syntax:

ha-manager add <vmid> --group <Gruppenname> --max-restarts <n> --max-migrate-tries <n>

Wo:

<vmid> ist die ID der VM oder CT, die Sie zu HA hinzufügen möchten.

Gruppe <Gruppenname> ist die HA-Gruppe, zu der die Ressource hinzugefügt werden soll (optional).

max-restarts <n> ist die maximale Anzahl von Neustartversuchen, wenn die Ressource fehlschlägt.

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 Fehlers:

ha-manager add 105 --max-restarts 3 --max-migrate-tries 1

Deaktivieren des HA-Status einer VM

Verwenden Sie den remove-Befehl, um den Hochverfügbarkeitsstatus einer virtuellen Maschine zu deaktivieren und die VM aus dem HA-Manager zu entfernen.

ha-manager remove <vmid>

Zum Beispiel, um den HA-Status für die VM mit der ID 105 zu deaktivieren, führen Sie den Befehl aus:

ha-manager remove 105

Nach Ausführung des Befehls wird die VM nicht mehr als hochverfügbares Ressource verwaltet.

VM-Migration

Sie können eine hochverfügbare VM manuell auf einen anderen Knoten im Cluster mit dem migrate-Befehl migrieren:

ha-manager migrate <vmid> <targetnode>

Zum Beispiel, um eine VM mit der ID 106 auf einen Knoten namens pve-node2 zu migrieren, führen Sie den Befehl aus:

ha-manager migrate 106 pve-node2

8. vzdump

Der vzdump-Befehl wird verwendet, um Sicherungen in Proxmox VE mit nativen Proxmox-Tools zu erstellen. Dieser Befehl unterstützt die Sicherung von VMs und Containern. Sicherungen können im .vma, .tgz oder .lzo-Format gespeichert werden.

Syntax:

vzdump [options] <vmid> [<vmid2> ...]

Wo:

vmid die ID einer VM oder eines Containers ist, den Sie sichern möchten.

–mode <mode> definiert den Sicherungsmodus. Es gibt drei unterstützte Sicherungsmodi:

  • snapshot – erstellt einen Live-Snapshot einer Proxmox-Virtual-Maschine oder eines Containers. Dieser Modus wird standardmäßig verwendet und ermöglicht es Ihnen, ein Backup durchzuführen, wenn eine VM oder ein Container läuft.
  • suspend – dieser Modus wird verwendet, um die VM oder den Container vor der Sicherung auszusetzen, was Ihnen ermöglicht, die Konsistenz der Daten sicherzustellen. Die kurze Ausfallzeit, die durch diesen Modus verursacht wird, ist ein Nachteil.
  • stop – stoppt die Virtual-Maschine oder den Container, bevor das Backup durchgeführt wird. Dieser Ansatz ermöglicht es Ihnen, die Konsistenz der Backup-Daten zu erhalten, erfordert jedoch eine längere Ausfallzeit.

–compress <type> wird verwendet, um die Komprimierungsmethode anzugeben. Es gibt drei unterstützte Komprimierungsoptionen:

  • lzo – leichte und schnelle Komprimierung für Proxmox-Backups (standardmäßig verwendet).
  • gzip – dies ist eine effizientere Komprimierungsmethode, erfordert jedoch mehr Zeit zum Komprimieren der Daten (langsamere Komprimierung).
  • zstd – Dieser Komprimierungstyp verwendet einen modernen Komprimierungsalgorithmus, der hohe Komprimierungsverhältnisse bei optimaler Leistung bietet.

–storage <storage> gibt das Speicherziel für die Sicherungsdatei an. Dies kann ein lokales Verzeichnis, ein NFS-Share oder ein Proxmox-Speicherpool sein.

–maxfiles <n> begrenzt die Anzahl der zu behaltenden Backup-Dateien. Ältere Backups werden automatisch gelöscht, wenn das Limit erreicht ist.

remove <mode> entfernt automatisch Sicherungsdateien gemäß dem angegebenen Modus. Die Modi umfassen:

  • alt – entfernt alte Sicherungen, wenn neue erstellt werden.
  • fehler – entfernt nur fehlgeschlagene Sicherungen.

Mehrere VMs sichern

VMs mit den IDs 101, 102 und 103 nacheinander sichern:

vzdump 101 102 103

Sicherung mit Kompression speichern

vzdump 101 --storage local --compress gzip --maxfiles 3

Der vzdump Befehl mit diesen Optionen führt die folgenden Aktionen aus:

  • Speichert die Sicherung der VM 101 im Speicher mit dem Namen lokal. Lokaler Speicher kann ein Verzeichnis auf einem Proxmox-Host oder ein Speicherpool sein.
  • Die gzip Kompression wird verwendet. Die Erstellung einer mit gzip komprimierten Sicherung kann länger dauern, aber Sie erhalten eine kleinere Sicherungsdatei.
  • Es werden nur die 3 aktuellsten Sicherungen aufbewahrt, während ältere automatisch gelöscht werden.

Protokolldateien ausschließen

vzdump 102 --exclude-path /var/log

Sichert die VM 102, schließt jedoch das /var/log Verzeichnis aus, wodurch die Größe der Sicherung durch das Weglassen von Protokolldateien verringert wird.

Alte Sicherungen entfernen

vzdump 101 --storage nfs-backup --maxfiles 5 --remove old

Dies ist ein automatisiertes Backup mit der Entfernung alter Backups. Es sichert die VM 101, speichert das Backup im nfs-backup-Speicher und behält nur die 5 aktuellsten Backups, indem ältere Backups automatisch gelöscht werden.

Backup im Snapshot-Modus

vzdump --all --mode snapshot --storage nfs-backup --bwlimit 20480 --remove old --maxfiles 7

Erstellen von Backups (wie z.B. einem nächtlichen Backup) aller VMs und Container im Snapshot-Backup-Modus. Die Backups werden in einem NFS-Share mit dem Namen nfs-backup gespeichert. Die Bandbreite ist auf 20480 Kbytes pro Sekunde (20 MBps) begrenzt, um eine Überlastung des Netzwerks zu verhindern. Es werden nur die letzten 7 Backups aufbewahrt und ältere Backups werden automatisch entfernt.

9. qmrestore

Der qmrestore-Befehl wird verwendet, um virtuelle Maschinen aus Backups wiederherzustellen, die mit dem vzdump-Befehl in der Proxmox-virtuellen Umgebung erstellt wurden. Diese vzdump– und qmrestore-Befehle sind native Proxmox-Tools für VM-Backup und -Wiederherstellung. Ein Backup kann auf eine neue oder bestehende VM wiederhergestellt werden.

Syntax:

qmrestore [options] <backupfile> <vmid>

Wo:

<backupfile> ist der Pfad zur Backup-Datei, die Sie wiederherstellen möchten. Diese Datei wird typischerweise vom vzdump-Befehl erstellt und in einem Verzeichnis oder auf einem Netzwerk-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, es sei denn, es werden spezifische Optionen verwendet, um dies zu verhindern.

Befehlsoptionen:

force wird verwendet, um eine vorhandene VM mit derselben ID zu überschreiben, ohne eine Bestätigungsfrage zu stellen. Sie können diese Option verwenden, um eine VM wiederherzustellen, wenn Sie den aktuellen Zustand der virtuellen Maschine mit derselben ID verlieren können.

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> legt den Zielspeicherort für virtuelle Festplattenabbilder der wiederhergestellten VM fest. Wenn diese Option nicht angegeben wird, wird die VM entweder in ihren ursprünglichen Speicher oder in den Standard-Speicher wiederhergestellt.

pool <pool> ermöglicht es Ihnen, die wiederhergestellte VM einem bestimmten Ressourcenpool in der Proxmox-Umgebung zuzuweisen. Ressourcenpools werden verwendet, um virtuelle Maschinen zur einfacheren Verwaltung zu gruppieren.

hostname <name> legt den Hostnamen der wiederhergestellten VM fest. Diese Option ist nützlich, wenn Sie einen anderen Hostnamen für die wiederhergestellte VM als den ursprünglichen Hostnamen festlegen möchten.

name <name> legt einen benutzerdefinierten Namen für die wiederhergestellte VM fest (einen Namen, der im Benutzerinterface von Proxmox angezeigt wird), der sich vom Originalnamen der gesicherten VM unterscheidet.

VM mit Original-ID wiederherstellen

Wiederherstellen einer VM mit ihrer Original-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 die VM mit der ID 101 wieder her. Wenn bereits eine VM mit der ID 101 existiert, wird sie überschrieben.

Wiederherstellen der Sicherung in eine neue VM

Wiederherstellen der Sicherung in 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 die Sicherung in eine neue VM mit der ID 102 wieder her und speichert ihre Festplattenabbilder im Speicher local-lvm.

Wiederherstellen und Ändern von Hostnamen und VM-Namen

Wiederherstellen der Sicherung 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 die Sicherung in eine neue 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 Befehlszeug-Dienstprogramm, das in Verbindung mit Proxmox Backup Server, einer nativen Proxmox-Backup-Lösung, für Sicherungs- und Wiederherstellungsvorgänge verwendet wird. Dieses Tool ermöglicht es Administratoren, virtuelle Maschinen, Container und andere Arten von Daten zu schützen. Das proxmox-backup-client Tool interagiert mit einem Proxmox Backup Server (PBS), um Sicherungen zu verwalten

Syntax:

proxmox-backup-client <Befehl> [Optionen]

Die grundlegende Syntax des Sicherungsbefehls

proxmox-backup-client backup <archive-name> <path> --repository <repository> [options]

Wo:

<archive-name> ist der Name, den Sie dem Backup-Archiv geben möchten.

<path> definiert den Pfad zum Verzeichnis oder zur Datei, die Sie sichern möchten.

repository <repository> ist das Ziel-Repository auf dem Proxmox Backup Server, normalerweise in Form von Benutzer@pbs:Datenbank

Beispiel:

proxmox-backup-client backup etc.pxar /etc --repository root@[email protected]:datastore1

Dieser Befehl sichert das Verzeichnis /etc auf dem datastore1 des Proxmox Backup-Servers, der sich unter 10.10.10.101 befindet. Das Backup wird als Archiv mit dem Namen etc.pxar gespeichert.

Die grundlegende Syntax des Wiederherstellungsbefehls

Der Wiederherstellungsbefehl für die Befehlszeilentools des proxmox-backup-client wird verwendet, um Daten von einem Proxmox Backup Server auf das lokale System wiederherzustellen.

proxmox-backup-client restore <archive-name> <path> --repository <repository> [options]

Wo:

<archive-name> ist der Name des Archivs, das Sie wiederherstellen möchten.

<path> ist 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@[email protected]:datastore1

Dieser Befehl stellt das etc.pxar Archiv 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 ein leistungsstarkes Set von Werkzeugen zur Verwaltung der Proxmox- virtuellen Umgebung, einschließlich Speicher, virtuellen Maschinen, Clustern, VM-Backup usw. Wenn Sie eine umfassende VM-Backup-Strategie implementieren möchten, installieren Sie NAKIVO Backup & Replication und nutzen Sie die agentenlose Backup-Funktionalität für Proxmox VE VMs.

Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands/