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/