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

Proxmox virtuelle Umgebung (VE) kann mit einer benutzerfreundlichen grafischen Oberfläche in einem Webbrowser verwaltet werden. In bestimmten Szenarien ist es jedoch besser, die Befehlszeilenschnittstelle (CLI) zu verwenden. Die CLI bietet Vorteile wie detailliertere Konfiguration, Batch-Verarbeitung, Skripting und Automatisierung.

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

1. qm

Der qm Befehl ist einer der Hauptbefehle der Proxmox CLI, und qm steht für QEMU Manager. Er wird verwendet, um virtuelle Maschinen (VMs) in einer Proxmox virtuellen Umgebung (Proxmox VE) zu verwalten. Virtuelle Maschinen in Proxmox basieren auf QEMU/KVM, und der qm Befehl interagiert mit ihnen. Mit diesem Befehl können Sie VMs erstellen, bearbeiten, konfigurieren, starten, stoppen und migrieren.

Die allgemeine Syntax des Befehls ist:

qm [Optionen] <Befehl> [Argumente]

Liste der virtuellen Maschinen

Sie können den Status und die ID der VM 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, die den Namen “DebianVM” trägt, mit 2 GB RAM, 1 Sockel, 2 Kernen und einer Virtio-Netzwerkschnittstelle, die mit vmbr0 verbunden ist. Der Betriebssystemtyp 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.

Eine CD-ROM 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 eine Debian-ISO an das IDE-CD-ROM-Laufwerk der VM zur Installation eines Gastbetriebssystems oder für andere Zwecke an.

Den Bootreihenfolge 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, um eine VM zu stoppen, ist dieselbe wie das Ziehen des Stromsteckers an 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.

Zum Beispiel, um 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, der ihren aktuellen Zustand erfasst, einschließlich des Speichers, der Festplatte und des Gerätestatus.

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 risikobehaftete Operationen wie Software-Upgrades durchgeführt werden.

Den VM-Zustand aus einem Snapshot wiederherstellen

qm rollback <vmid> <snapshotname>

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

Wenn zum Beispiel das Software-Upgrade innerhalb einer VM fehlgeschlagen ist, können wir den VM-Zustand mit dem Befehl wiederherstellen:

qm rollback 103 "before_upgrade"

Änderungen, die seit der Aufnahme gemacht wurden, werden verworfen (rückgängig gemacht).

Virtuelle Maschine klonen

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 die gesamte Festplatte (Vollklon) oder nur den verlinkten 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 benennt sie in „DebianClone“ um. Die Option full erstellt einen Vollklon, der alle Daten kopiert.

Die Festplatte einer virtuellen Maschine ändern

qm resize <vmid> <disk> <size>

Der Befehl qm resize wird verwendet, um eine virtuelle Festplatte, die an eine VM angehängt ist, zu ändern, indem sie entweder vergrößert oder verkleinert wird. Stellen Sie sicher, dass das Gastsystem 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 pve-firewall-Befehl wird verwendet, um die Firewall-Einstellungen in der Proxmox-Umgebung, einschließlich Proxmox-Clustern, zu verwalten. 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 integriert sich eng mit der Proxmox-Verwaltungsschnittstelle und macht die Verwaltung der Firewall über die gesamte Proxmox-Umgebung bequemer. Das pve-firewall-Tool wurde speziell für Proxmox VE entwickelt und verwendet eine hochgradige Abstraktion zur Verwaltung von Firewall-Regeln im Vergleich zu dem granulareren und manuellen Ansatz, der in iptables verwendet wird.

Syntax:

pve-firewall <command> [options]

Führen Sie den pve-firewall-Befehl aus, um die Hauptnutzung des Befehls zu sehen.

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 Knoten läuft oder nicht.

Firewall starten

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

pve-firewall start

Firewall neu laden

Neuladen des Firewall-Dienstes und Anwenden der Änderungen der Firewall-Konfiguration, ohne den Firewall-Dienst stoppen und starten zu müssen.

pve-firewall reload

SSH-Verkehr akzeptieren

Erstellen einer Firewall-Regel, die 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, 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>

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-Datenverkehr verweigern

Um eine Firewall-Regel zu erstellen, die jeglichen HTTP-Datenverkehr verweigert, 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 zur Verwaltung der Speicherkonfiguration in Proxmox VE verwendet wird. Mit diesem Befehlszeilenwerkzeug können Sie Speicherpools erstellen, löschen, ändern und verwalten. Darüber hinaus können Sie verschiedene speicherbezogene Aufgaben ausführen, wie das Erstellen von Verzeichnissen, das Hinzufügen von Speichergeräten und das Verwalten von Inhaltstypen.

Syntax:

pvesm <command> [options]

Speicher auflisten

pvesm list <storage>

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

Überprüfen 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, verzeichnisbasierten 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 ähnelt dem pvesm create-Befehl, aber anstelle eines neuen Speichers wird der bereits vorhandene Speicher zur Proxmox-Konfiguration hinzugefügt, um ihn verfügbar zu machen.

Beispiel:

Hinzufügen eines vorhandenen NFS-Exports, der sich unter 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 vorhandenen Speicherpools

pvesm set <storage-id> --options

Beispiel:

Ändern des Pools local-storage01, um es zu ermöglichen, VM-Images, ISO-Dateien und Backup-Dateien zu speichern:

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

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

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

Beispiel:

Der Befehl, um ein 10-GB-Volumen im Pool local-storage-name für VM 100 zuzuweisen:

pvesm alloc local-storage-name 100 10G

4. pveum

Die Proxmox Virtual Environment ermöglicht es Ihnen, mehrere Benutzer zur Verwaltung von Proxmox VE zu erstellen. Dies kann mit Proxmox CLI-Befehlen unter Verwendung des pveum (Benutzerverwaltung) Befehls durchgeführt werden. Proxmox-Administratoren können Benutzer und Gruppen verwalten und Zugriffssteuerungen und Berechtigungen konfigurieren. Dies definiert wiederum, wer Zugriff haben kann und berechtigt ist, Maßnahmen in den verschiedenen Teilen der Proxmox-Infrastruktur 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> ist die Gruppe (oder Gruppen), zu der 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 admin Gruppe mit einer Beschreibung hinzuzufügen und das Passwort für diesen Benutzer festzulegen.

Benutzer löschen

Um einen Benutzer zu löschen, verwenden Sie den pveum Befehl mit der gleichen Logik wie beim Hinzufügen eines Benutzers, zum Beispiel:

pveum userdel user3@pve

Dieser Befehl wird verwendet, um user3 auf einem Proxmox-Host zu löschen.

Gruppe erstellen

Um eine neue Gruppe in der Proxmox-CLI zu erstellen, verwenden Sie den groupadd Befehl.

Syntax:

pveum groupadd <groupname> --comment <comment>

Beispiel:

pveum groupadd support --comment "Support-Team-Gruppe"

Dieser Befehl erstellt eine neue Gruppe mit dem Namen support mit der Beschreibung “Support-Team-Gruppe“.

Gruppe löschen

Ähnlich wie beim Löschen eines Benutzers können Sie auch eine Gruppe löschen. Zum Beispiel, um eine guests Gruppe zu löschen, können Sie den 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>

Wo:

<rolename> ist der Name der zu erstellenden Rolle.

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

Beispiel:

pveum roleadd vmmanager --privs VM.PowerMgmt,VM.Config.CDROM

Dieser Befehl erstellt eine Rolle namens vmmanager mit Berechtigungen zur Verwaltung der VM-Stromversorgungseinstellungen und zur Konfiguration von CD-ROMs.

Ändern einer vorhandenen Rolle

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

Syntax:

pveum rolemod <rolename> --privs <privileges>

Beispiel:

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

Dieser Befehl fügt der Rolle vmmanager das Recht VM.Config.Network hinzu.

Ändern der ACL

Proxmox-Administratoren können Zugriffssteuerungslisten (ACL) ändern, indem sie Rollen Benutzern oder Gruppen auf bestimmten Proxmox-Objekten 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 bestimmte 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 user4@pve für die VM 104 zu, wodurch der Benutzer (user4) diese spezifische VM gemäß den Berechtigungen 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 beim System authentifizieren (zum Beispiel über PAM, LDAP oder Active Directory). Sie können Authentifizierungsbereiche mit dem realm-Befehl in Proxmox VE verwalten.

Syntax:

pveum realm <command> [options]

Wo 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 bestehendes Realm

zum Beispiel, um alle in Proxmox VE konfigurierten Authentifizierungs-Realm aufzulisten, verwenden Sie den Befehl:

pveum realm list

Verwalten bestehender Benutzer

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

Syntax:

pveum user <command> <userid> [options]

Die Befehle können sein:

list um alle Benutzer aufzulisten

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

delete um einen Benutzer zu löschen

Zum Beispiel, um 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, sodass Sie API-Aufrufe mit Befehlen direkt von der Befehlszeile aus tätigen können. Mit diesem Befehl können Sie virtuelle Maschinen, Speicher, Netzwerk und andere Elemente der Proxmox virtuellen Infrastruktur verwalten.

Syntax:

pvesh <command> [options]

Ressourcen oder API-Endpunkte auflisten

Dieser Befehl ist ähnlich 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

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

Um beispielsweise die Statusinformationen für den Knoten pve-node1, wie CPU-Auslastung, Speicherauslastung und Betriebszeit, abzurufen, 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 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 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 einen Speicherplatz.

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. Mit diesem Tool können Sie einen Cluster erstellen sowie die Knoten innerhalb eines Proxmox-Clusters beitreten und verwalten. Ein Cluster wird als eine einzige Einheit mit konfigurierbaren Funktionen wie Hochverfügbarkeit, Live-VM-Migration, gemeinsamem Speicher usw. verwaltet.

Syntax:

pvecm <Befehl> [Optionen]

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

Hinzufügen eines Knotens zu einem Cluster

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 der 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 der Knoten

Sie können überprüfen, wie viele Knoten benötigt werden, 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 Unterbrechungen zu vermeiden. 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 hamanager-Befehl wird verwendet, um die Hochverfügbarkeits (HA)-Funktion für virtuelle Maschinen nach der Erstellung eines Proxmox-Clusters zu verwalten. Dieses Befehlszeilenprogramm ermöglicht es Ihnen, Hochverfügbarkeit für kritische VMs zu konfigurieren und festzulegen, wie sie in einem Cluster neu gestartet werden, wenn der Knoten, auf dem sie ausgeführt werden, ausfällt. Das hamanager-Tool in Proxmox CLI interagiert mit dem Proxmox Hochverfügbarkeitsmanager.

Syntax:

ha-manager <command> [options]

Status anzeigen

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

ha-manager status

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

HA für eine VM aktivieren

Syntax:

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

Wo:

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

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

max-restarts <n> die maximale Anzahl an Neustartversuchen ist, wenn die Ressource ausfällt.

max-migrate-tries <n> die maximale Anzahl an Migrationsversuchen zu einem anderen Knoten ist, 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>

Um beispielsweise 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>

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

modus <modus> definiert den Backup-Modus. Es gibt drei unterstützte Backup-Modi:

  • snapshot – erstellt einen Live-Snapshot einer Proxmox-VM oder eines Containers. Dieser Modus wird standardmäßig verwendet und ermöglicht es, ein Backup durchzuführen, während eine VM oder ein Container läuft.
  • suspendieren – dieser Modus wird verwendet, um die VM oder den Container vor dem Backup anzuhalten, was sicherstellt, dass die Daten konsistent sind. Die kurze Ausfallzeit, die durch diesen Modus verursacht wird, ist ein Nachteil.
  • stoppen – stoppt die virtuelle Maschine oder den Container, bevor das Backup durchgeführt wird. Dieser Ansatz ermöglicht es, die Konsistenz der Backup-Daten zu gewährleisten, erfordert jedoch eine längere Ausfallzeit.

komprimieren <typ> 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, um Daten zu komprimieren (langsamere Komprimierung).
  • zstd – Dieser Komprimierungstyp verwendet einen modernen Komprimierungsalgorithmus, der hohe Komprimierungsraten mit optimaler Leistung bietet.

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

maxdateien <n> beschränkt 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. Modi umfassen:

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

Sichern mehrerer VMs

Sichern Sie die VMs mit den IDs 101, 102 und 103 nacheinander:

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 local. Lokaler Speicher kann ein lokales Verzeichnis auf einem Proxmox-Host oder ein Speicherpool sein.
  • Die gzip-Kompression wird verwendet. Das Erstellen einer mit gzip-Kompression verschlüsselten Sicherung kann länger dauern, führt jedoch zu einer kleineren Sicherungsdatei.
  • Es werden nur die 3 neuesten 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, wobei ältere Backups automatisch gelöscht werden.

Sichern im Snapshot-Modus

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

Erstellen von Backups (z. B. ein nächtliches Backup) aller VMs und Container unter Verwendung des Snapshot-Backup-Modus. Die Backups werden in einem NFS-Share namens 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-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 durch den vzdump Befehl generiert und in einem Verzeichnis oder auf einem Netzwerkspeichergerät gespeichert.

<vmid> ist die ID der VM, die Sie wiederherstellen möchten. Wenn die VM-ID bereits existiert, wird die bestehende 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, und es gibt keine Bestätigungsfrage. Sie können diese Option verwenden, um eine VM wiederherzustellen, wenn Sie den aktuellen Zustand der virtuellen Maschine mit derselben ID verlieren möchten.

unique wird verwendet, um eine neue, eindeutige VM-ID für eine wiederhergestellte VM zu generieren. Erwägen Sie, diese Option zu verwenden, um ein Backup wiederherzustellen, indem Sie eine neue VM erstellen, ohne vorhandene VMs zu überschreiben.

storage <storage> gibt den Zielspeicherort für virtuelle Festplattenbilder der wiederhergestellten VM an. Wenn diese Option nicht angegeben ist, wird die VM in ihren ursprünglichen Speicher oder in den Standardspeicher 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> setzt den Hostnamen der wiederhergestellten VM. 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> setzt einen benutzerdefinierten Namen für die wiederhergestellte VM (einen Namen, der in der Proxmox-Benutzeroberfläche angezeigt wird), der sich vom ursprünglichen VM-Namen unterscheidet, der gesichert wurde.

VM auf ursprüngliche ID wiederherstellen

Wiederherstellung einer VM auf ihrer ursprünglichen ID:

qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101

Dieser Befehl stellt die Backup-Datei 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.

Backup auf neue VM wiederherstellen

Wiederherstellen des Backups auf eine neue VM:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 102 --storage local-lvm

Dieser Befehl stellt das Backup auf eine neue VM mit der ID 102 wieder her und speichert deren Festplattendateien im local-lvm-Speicher.

Backup wiederherstellen und Hostnamen sowie VM-Namen ändern

Wiederherstellen des Backups und Ändern des Hostnamens und 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 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 proxmox-backup-client-Befehl ist ein Kommandozeilenwerkzeug, das in Verbindung mit dem Proxmox Backup Server, einer nativen Proxmox-Backup-Lösung, verwendet wird, die für Backup- und Wiederherstellungsoperationen genutzt 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 Backups zu verwalten

Syntax:

proxmox-backup-client <command> [options]

Die grundlegende Syntax des Backup-Befehls

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

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, typischerweise in der Form von user@pbs:datastore

Beispiel:

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

Dieser Befehl sichert das /etc-Verzeichnis in datastore1 auf dem Proxmox Backup Server, 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 proxmox-backup-client Befehlszeilenwerkzeuge wird verwendet, um Daten von einem Proxmox Backup Server auf das lokale System wiederherzustellen.

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

Wo:

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

<path> ist der Pfad, wo 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-Virtualisierungsumgebung, einschließlich Speicher, virtuellen Maschinen, Clustern, VM-Backups usw. Wenn Sie eine umfassende VM-Backup-Strategie implementieren möchten, installieren Sie NAKIVO Backup & Replication und nutzen Sie die agentenlose Backup-Funktionalität für Proxmox VE VMs.

Source:
https://www.nakivo.com/blog/top-10-proxmox-cli-commands-every-admin-should-know/