Top 10 Proxmox CLI-commando’s die elke beheerder zou moeten kennen

Proxmox virtuele omgeving (VE) kan worden beheerd met een gebruiksvriendelijke grafische interface in een webbrowser. In specifieke scenario’s is het echter beter om de opdrachtregelinterface (CLI) te gebruiken. De CLI biedt voordelen zoals meer gedetailleerde configuratie, batchverwerking, scripting en automatisering.

Er zijn standaard Linux-commando’s en Proxmox-specifieke commando’s om Proxmox virtuele omgevingen te beheren. Deze blogpost behandelt de top 10 Proxmox-specifieke commando’s met voorbeelden voor effectieve administratie.

1. qm

Het qm commando is een van de belangrijkste Proxmox CLI-commando’s, en qm is een afkorting voor QEMU Manager. Het wordt gebruikt om virtuele machines (VM’s) in een Proxmox virtuele omgeving (Proxmox VE) te beheren. Virtuele machines op Proxmox zijn QEMU/KVM-gebaseerd, en het qm commando communiceert met hen. Je kunt met dit commando VM’s maken, bewerken, configureren, starten, stoppen en migreren.

De algemene syntaxis van het commando is:

qm [opties] <commando> [argumenten]

Lijst virtuele machines

Je kunt de status en ID van de VM zien. Je hebt mogelijk de ID nodig om deze VM in de Proxmox CLI te beheren.

qm list

Een nieuwe virtuele machine maken

Algemene syntaxis:

qm create <vmid> [opties]

Voorbeeld:

qm create 103 --name "DebianVM" --memory 2048 --net0 virtio,bridge=vmbr0 --sockets 1 --cores 2 --ostype l26

De volgende Proxmox CLI-opdracht maakt een VM met ID 103 genaamd “DebianVM” met 2GB RAM, 1 socket, 2 cores en een Virtio-netwerkinterface die is verbonden met vmbr0. Het besturingssysteemtype is Linux (aangegeven door l26).

Een schijf aan een VM koppelen

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

Koppelt een schijf van 32GB aan de VM met behulp van de SCSI-interface.

Een CD-ROM koppelen voor OS-installatie

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

Deze opdracht voegt een Debian-ISO toe aan de IDE CD-ROM-station van de VM voor de installatie van een gastbesturingssysteem of andere doeleinden.

De opstartvolgorde configureren

qm set 105 --boot order=ide2;scsi0

De opdracht die in dit voorbeeld wordt gebruikt, configureert de VM om eerst op te starten vanaf de CD-ROM (IDE2), daarna de schijf (SCSI0).

Een virtuele machine starten

Syntax:

qm start <vmid>

Voorbeeld:

qm start 103

De VM met ID 103 starten

Een VM stoppen

qm stop <vmid>

Deze opdracht stopt een draaiende VM onmiddellijk. Deze manier om een VM te stoppen is hetzelfde als het trekken van de stroomstekker van een fysieke machine.

qm stop 103

De VM met ID 103 stoppen.

Een VM afsluiten in Proxmox CLI

qm shutdown <vmid>

Dit commando sluit een VM op een nette manier af, waardoor het gastbesturingssysteem bestanden kan sluiten en processen correct kan beëindigen.

qm shutdown 101

Een uitschakelsignaal verzenden naar de VM met ID 101.

Een VM migreren naar een andere node

qm migrate <vmid> <doelnode>

Dit commando migreert een VM van zijn huidige node naar een andere node binnen dezelfde Proxmox-cluster.

Bijvoorbeeld, om een VM met ID 103 naar node2 te migreren, kunnen we het commando gebruiken:

qm migrate 103 node2

Een snapshot van een VM maken

qm snapshot <vmid> <snapshotnaam>

Het commando maakt een snapshot van de VM, waarbij de huidige staat wordt vastgelegd, inclusief het geheugen, de schijf en de apparaatsstatus.

qm snapshot 103 "before_upgrade"

Dit commando maakt een snapshot van de VM met ID 103 en noemt deze “before_upgrade“. Het gebruik van het commando om een snapshot te maken is nuttig voordat risicovolle operaties worden uitgevoerd, zoals software-upgrades.

Een VM-status herstellen vanuit een snapshot

qm rollback <vmid> <snapshotnaam>

Dit commando zet een VM terug naar een eerdere snapshot, waardoor de staat wordt hersteld naar het punt waarop de snapshot werd gemaakt.

Bijvoorbeeld, als de software-upgrade binnen een VM onsuccesvol was en is mislukt, kunnen we de VM-status herstellen met het commando:

qm rollback 103 "before_upgrade"

Wijzigingen die zijn aangebracht sinds de momentopname zijn verworpen (ongedaan gemaakt).

Een virtuele machine klonen

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

De qm clone opdracht kloont een bestaande VM om een nieuwe VM met een andere ID te creëren. Je kunt ervoor kiezen om de hele schijf (volledige kloon) of alleen de gekoppelde opslag te klonen.

qm clone 103 104 --name "DebianClone" --full

Deze opdracht kloont de VM met ID 103 naar een nieuwe VM met ID 104, en noemt deze “DebianClone“. De full optie creëert een volledige kloon, waarbij alle gegevens worden gekopieerd.

De schijf van een virtuele machine vergroten

qm resize <vmid> <disk> <size>

De qm resize opdracht wordt gebruikt om een virtuele schijf die aan een VM is gekoppeld te vergroten of te verkleinen. Zorg ervoor dat het gastbesturingssysteem de wijziging aankan.

qm resize 103 scsi0 +10G

Deze Proxmox CLI-opdracht vergroot de grootte van de scsi0 schijf op de VM met ID 103 met 10GB.

2. pve-firewall

De pve-firewall opdracht wordt gebruikt om de firewallinstellingen in de Proxmox virtuele omgeving te beheren, inclusief Proxmox clusters. Deze Proxmox CLI-opdracht biedt gebruiksvriendelijke opties voor het configureren van firewallregels en stelt beheerders in staat om het netwerkverkeer naar en van Proxmox knooppunten, virtuele machines en containers te controleren. De Proxmox-firewall integreert nauw met de Proxmox-beheerinterface en maakt het beheer van de firewall in de gehele Proxmox-omgeving handiger. De pve-firewall tool is speciaal ontwikkeld voor Proxmox VE en gebruikt een hoog niveau van abstractie om firewallregels te beheren in vergelijking met de meer gedetailleerde en handmatige benadering die wordt gebruikt in iptables.

Syntax:

pve-firewall <opdracht> [opties]

Voer de pve-firewall opdracht uit om het gebruik van de hoofdopdracht te zien.

Controleer de status

De status van de Proxmox VE firewallservice controleren:

pve-firewall status

De uitvoer toont aan of de firewall momenteel draait of niet op het huidige knooppunt.

Start de firewall

De firewallservice starten op het huidige Proxmox knooppunt:

pve-firewall start

Herlaad de firewall

De firewallservice herladen en de wijzigingen in de firewallconfiguratie toepassen zonder de firewallservice te hoeven stoppen en opnieuw te starten.

pve-firewall reload

Accepteer SSH-verkeer

Een firewallregel maken die SSH-verkeer accepteert:

pve-firewall create rule -action accept -macro ssh

Dit commando maakt een regel aan om SSH-toegang tot de Proxmox-omgeving toe te staan.

Waar: create <object> creëert een nieuw firewall-object, zoals een regel, beveiligingsgroep of IP-set.

Verwijder regel

Om de regel te verwijderen, gebruik het commando:

pve-firewall delete rule <rule-id>

Toon log

Toon de firewall-log, die verkeer en regelovereenkomsten laat zien:

pve-firewall log

De uitvoer toont de meest recente firewall-logboekvermeldingen.

Weiger HTTP-verkeer

Om een firewallregel te maken die al het HTTP-verkeer weigert, gebruik het commando:

pve-firewall create rule -action drop -macro http

3. pvesm

Het pvesm commando in Proxmox CLI is de opdrachtregelhulpmiddel dat wordt gebruikt om de opslagconfiguratie in Proxmox VE te beheren. Met deze opdrachtregeltool kunt u opslagpools maken, verwijderen, wijzigen en beheren. Daarnaast kunt u verschillende opslaggerelateerde taken uitvoeren, zoals het maken van mappen, het toevoegen van opslagapparaten en het beheren van inhoudstypen.

Syntax:

pvesm <command> [options]

Lijst opslag

pvesm list <storage>

Waar <storage> de naam is van de opslagpool (datastore) die u wilt vermelden.

De status van alle of specifieke opslagpools controleren

pvesm status

De output toont de status van de opslagpool, inclusief informatie over of deze actief of inactief is, het type opslag en het huidige gebruik.

Een nieuwe opslagpool aanmaken

pvesm create <type> <storage-id> --options

Waar:

<type> is het type opslagbackend dat moet worden aangemaakt (bijvoorbeeld dir, lvm, nfs, zfs).

<storage-id> is de unieke naam of ID voor de opslagpool.

options definieert de aanvullende opties die specifiek zijn voor het type opslag.

Voorbeeld:

Een nieuwe op directory gebaseerde opslagpool met de naam new-datastore1 aanmaken, gelegen op /mnt/storage-name, die VM-images en ISO-bestanden kan opslaan:

pvesm create dir new-datastore1 --path /mnt/storage-name --content images,iso

Een bestaande opslagbackend aan Proxmox VE toevoegen

Het principe van deze opdracht is vergelijkbaar met de pvesm create opdracht, maar in plaats van nieuwe opslag aan te maken, wordt de al bestaande opslag aan de Proxmox-configuratie toegevoegd om deze beschikbaar te maken.

Voorbeeld:

Een bestaande NFS-share gelegen op 192.168.101.100 op /export/data aan Proxmox VE toevoegen onder de naam 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

Het wijzigen van de configuratie van een bestaande opslagpool

pvesm set <storage-id> --options

Voorbeeld:

De local-storage01 pool wijzigen om het mogelijk te maken VM-afbeeldingen, ISO-bestanden en back-upbestanden op te slaan:

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

Een nieuwe schijf toewijzen op een specifieke opslagpool voor een VM of container

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

Voorbeeld:

De opdracht om een schijf van 10 GB toe te wijzen op de local-storage-name pool voor VM 100:

pvesm alloc local-storage-name 100 10G

4. pveum

De Proxmox Virtual Environment maakt het mogelijk om meerdere gebruikers te creëren voor het beheren van Proxmox VE. Dit kan gedaan worden met Proxmox CLI-opdrachten door gebruik te maken van het pveum (gebruikersbeheer) commando. Proxmox-beheerders kunnen gebruikers en groepen beheren en toegangscontroles en machtigingen configureren. Dit bepaalt op zijn beurt wie toegang kan hebben en gemachtigd is om actie te ondernemen op de verschillende delen van de Proxmox-infrastructuur. Beheerders kunnen machtigingen toewijzen voor toegang tot objecten, zoals virtuele machines, opslag, cluster nodes, enz.

Syntax:

pveum <command> [options]

Een nieuwe gebruiker toevoegen aan Proxmox VE

pveum useradd <userid> --password <password> --comment <comment> --groups <group>

Waar:

wachtwoord <password> is het wachtwoord voor de nieuwe gebruiker.

opmerking <comment> is een optionele opmerking of beschrijving voor de gebruiker.

groepen <group> is de groep (of groepen) waartoe de gebruiker moet behoren.

Voorbeeld:

pveum useradd user2@pve --password UserSecretPassword111 --comment "user2 – admin groep" --groups admin

Deze opdracht wordt gebruikt om een gebruiker met de naam user2 toe te voegen aan de admin groep met een beschrijving en het wachtwoord voor deze gebruiker in te stellen.

Een gebruiker verwijderen

Om een gebruiker te verwijderen, gebruik je de pveum opdracht met dezelfde logica als voor het toevoegen van een gebruiker, bijvoorbeeld:

pveum userdel user3@pve

Deze opdracht wordt gebruikt om user3 op een Proxmox-host te verwijderen.

Een groep maken

Om een nieuwe groep in Proxmox CLI te maken, gebruik je de groupadd opdracht.

Syntax:

pveum groupadd <groupname> --comment <comment>

Voorbeeld:

pveum groupadd support --comment "Support Team Groep"

Deze opdracht maakt een nieuwe groep genaamd support met de beschrijving “Support Team Groep“.

Een groep verwijderen

Net als het verwijderen van een gebruiker, kun je ook een groep verwijderen. Bijvoorbeeld, om een guests groep te verwijderen, kun je de opdracht gebruiken:

pveum groupdel gasten

Rollen toevoegen

Rollen worden gebruikt om een set machtigingen te definiëren voor gebruikers en groepen waaraan deze rol is toegewezen.

Syntax:

pveum roleadd <rolenaam> --privs <privileges>

Waar:

<rolenaam> is de naam van de rol die moet worden aangemaakt.

privs <privileges> is een door komma’s gescheiden lijst van machtigingen die aan de rol moeten worden toegewezen (bijvoorbeeld, VM.PowerMgmt,VM.Config.Disk).

Voorbeeld:

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

Dit commando maakt een rol genaamd vmmanager aan met machtigingen om de VM-energie-instellingen te beheren en CD-ROM’s te configureren.

Een bestaande rol wijzigen

Beheerders kunnen bestaande rollen en machtigingen aanpassen met het rolemod commando (machtigingen toevoegen of verwijderen).

Syntax:

pveum rolemod <rolenaam> --privs <privileges>

Voorbeeld:

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

Dit commando voegt de VM.Config.Network machtiging toe aan de vmmanager rol.

ACL wijzigen

Proxmox-beheerders kunnen Toegangscontrolelijsten (ACL) wijzigen door rollen toe te wijzen aan gebruikers of groepen op specifieke Proxmox-objecten.

Syntax:

pveum aclmod <pad> --rollen <rolenaam> --gebruikers <gebruikerid> --groepen <groepsnaam>

Waar:

<pad> is het objectpad waarop de ACL moet worden ingesteld (bijvoorbeeld, /vms/100 voor een specifieke VM of / voor het gehele cluster).

rollen <rolenaam> is de rol die toegewezen moet worden.

gebruikers <gebruikerid> is de gebruiker aan wie de rol wordt toegewezen.

groepen <groepsnaam> is de groep aan wie de rol wordt toegewezen.

Voorbeeld:

pveum aclmod /vms/104 --rollen vmmanager --gebruikers user4@pve

Deze opdracht wijst de vmmanager rol toe aan user4@pve op VM 104, waardoor de gebruiker (user4) die specifieke VM kan beheren volgens de privileges in de vmmanager rol. De aclremove opdracht wordt gebruikt om ACL’s van objecten te verwijderen.

Beheer van authenticatiedomeinen

Een authenticatiedomein definieert hoe gebruikers zich authentiseren met het systeem (bijvoorbeeld, met PAM, LDAP of Active Directory). U kunt authenticatiedomeinen beheren met de domein opdracht in Proxmox VE.

Syntax:

pveum domein <opdracht> [opties]

Waar de opdracht kan zijn:

lijst om alle beschikbare domeinen op te sommen

toevoegen om een nieuw domein toe te voegen

wijzigen om een bestaand domein te wijzigen

verwijderen om een bestaand domein te verwijderen

Bijvoorbeeld, om alle geconfigureerde authenticatiedomeinen in Proxmox VE te lijst, gebruik het commando:

pveum realm list

Bestaande gebruikers beheren

Je kunt bestaande gebruikers lijst, bewerken en verwijderen met dit gebruikerscommando.

Syntax:

pveum user <commando> <userid> [opties]

De commando’s kunnen zijn:

lijst om alle gebruikers te lijst

wijzigen om gebruikersgegevens aan te passen, zoals het wijzigen van een wachtwoord of het bijwerken van de opmerking

verwijderen om een gebruiker te verwijderen

Bijvoorbeeld, om alle gebruikers op een Proxmox-host te lijst, gebruik het commando:

pveum user list

Om meer beschikbare commando’s en opties te zien, voer het pveum help commando uit in de Proxmox CLI.

5. pvesh

Door het gebruik van het pvesh commando kunnen beheerders interageren met de Proxmox REST API. Dit opdrachtregelhulpmiddel stelt je in staat om bijna elke actie uit te voeren die via de Proxmox-webinterface kan worden gedaan, direct vanuit de Proxmox CLI. Het pvesh commando fungeert als een shell voor de Proxmox VE REST API, waardoor je API-aanroepen kunt doen met commando’s direct vanuit de opdrachtregel. Met dit commando kun je virtuele machines, opslag, netwerken en andere elementen van de Proxmox-virtuele infrastructuur beheren.

Syntax:

pvesh <commando> [opties]

Hulpbronnen of API-eindpunten lijst

Dit commando is vergelijkbaar met het ls commando in Linux, maar het lijst beschikbare API-paden of bronnen in de Proxmox VE-omgeving.

pvesh ls /path

Voorbeeld:

pvesh ls /cluster/resources

Dit commando lijnt alle bronnen in de Proxmox-cluster op, inclusief VM’s, containers en opslag.

Informatie ophalen

Het get commando haalt informatie op van een specifiek API-eindpunt. Dit commando wordt gebruikt om een bron te raadplegen voor details.

pvesh get /path

Waarbij path het API-pad is waaruit je informatie wilt ophalen.

Bijvoorbeeld, om de statusinformatie voor de node pve-node1 op te halen, zoals CPU-belasting, geheugenverbruik en uptime, kun je het commando gebruiken:

pvesh get /nodes/pve-node1/status

De configuratie wijzigen

Het set commando wordt gebruikt om de configuratie van een bron te wijzigen of bij te werken. Dit komt overeen met het doen van een POST- of PUT-verzoek in de REST API.

Syntax:

pvesh set /path --key value [--key value ...]

key waarde zijn de sleutel-waarde paren van de instellingen die je wilt wijzigen.

Voorbeeld:

pvesh set /nodes/pve-node1/qemu/100/config --name new-vm-name

Dit commando verandert de naam van VM 100 op de node pve-node1 naar new-vm-name.

Een bron maken

De create-opdracht stelt je in staat om een nieuwe bron te creëren, zoals een nieuwe VM of opslagvolume.

Syntax:

pvesh create /path --key value [--key value ...]

Bijvoorbeeld, je creëert een nieuwe VM met specifieke parameters met de opdracht:

pvesh create /nodes/pve-node1/qemu --vmid 106 --name new-vm-name --memory 2048 --cores 2

Deze opdracht maakt een nieuwe VM met ID 106 op de node pve-node1, met de naam new-vm-name, 2 GB RAM en 2 CPU-kernen.

VM’s opstarten

Er is een opdracht om een VM of container te starten met pvesh:

pvesh start /path

Bijvoorbeeld, om de VM met ID 101 op de node pve-node1 te starten, kun je de opdracht uitvoeren:

pvesh start /nodes/pve-node1/qemu/101

VM uitschakelen

In tegenstelling tot de stop-opdracht, schakelt de shutdown-opdracht een VM of container op een nette manier uit:

pvesh shutdown /path

Bijvoorbeeld, om een VM met ID 101 op een Proxmox-host, wiens naam pve-node1 is, uit te schakelen, gebruik je de opdracht:

pvesh shutdown /nodes/pve-node1/qemu/101

Alle VM’s opstarten

Om alle VM’s op een node of in het hele cluster te starten of te stoppen, kun je de overeenkomstige opdracht gebruiken:

pvesh startall /nodes/<nodename>

pvesh stopall /nodes/<nodename>

6. pvecm

De pvecm opdracht is een hulpmiddel voor het beheer van Proxmox-clusters dat wordt gebruikt om een Proxmox-cluster te beheren en configureren. Je kunt dit hulpmiddel gebruiken om een cluster te creëren, evenals om knooppunten binnen een Proxmox-cluster toe te voegen en te beheren. Een cluster wordt beheerd als één entiteit met configuratiefuncties, zoals Hoge Beschikbaarheid, live VM-migratie, gedeelde opslag, enz.

Syntax:

pvecm <opdracht> [opties]

Om alle ondersteunde pvecm opdrachten te zien, voer je deze opdracht uit:

man pvecm

Een cluster creëren

Om een nieuwe Proxmox VE-cluster te creëren, kun je de create opdracht gebruiken. Je moet deze opdracht uitvoeren op het eerste knooppunt (master knooppunt) dat de cluster zal vormen.

pvecm create <clusternaam>

Voorbeeld:

De onderstaande opdracht creëert een cluster genaamd cluster01. Dit knooppunt (waar we de opdracht uitvoeren) wordt het master knooppunt van de cluster.

pvecm create cluster01

Een knooppunt aan een cluster toevoegen

Gebruik de addnode opdracht om nieuwe knooppunten toe te voegen aan een bestaand Proxmox-cluster. Voer deze opdracht uit op een knooppunt dat je aan de cluster wilt toevoegen.

pvecm add <master-knooppunt-ip>

Voorbeeld:

Het toevoegen van de huidige Proxmox-host aan een cluster dat wordt beheerd door een master knooppunt met het IP-adres 192.168.101.121:

pvecm add 192.168.101.121

Een knooppunt uit een cluster verwijderen

De delnode opdracht wordt gebruikt in de Proxmox CLI om een node uit de cluster te verwijderen.

Syntax:

pvecm delnode <nodename>

Voorbeeld:

De opdracht om de node genaamd pve-node2 uit de cluster te verwijderen is:

pvecm delnode pve-node2

Alle nodes van een cluster opsommen

De opdracht om alle cluster nodes op te sommen en hun status weer te geven, inclusief node namen en IP-adressen, is:

pvecm nodes

De nieuwe master node instellen

Je kunt een andere cluster node instellen als master in een Proxmox cluster:

pvecm setmaster <nodename>

Waar <nodename> de naam is van de node die je wilt aanwijzen als de master.

De clusterstatus weergeven

Je kunt de status van een Proxmox cluster weergeven, inclusief informatie over het quorum, het aantal nodes en hun rollen.

pvecm status

Het verwachte aantal nodes instellen

Je kunt controleren hoeveel nodes worden verwacht om het quorum in de cluster te bereiken met de expected opdracht. Je moet deze opdracht mogelijk gebruiken wanneer sommige cluster nodes tijdelijk offline zijn om verstoringen te voorkomen. Quorum wordt gebruikt om split-brain situaties te vermijden wanneer verschillende cluster nodes conflicterende informatie hebben over de status van de cluster.

pvecm expected <number>

7. hamanager

De hamanager opdracht wordt gebruikt om de High Availability (HA) functie voor virtuele machines te beheren na het creëren van een Proxmox-cluster. Dit opdrachtregelhulpmiddel stelt je in staat om High Availability te configureren voor kritieke VM’s en in te stellen hoe ze opnieuw moeten worden opgestart in een cluster als de node waarop ze draaien faalt. De hamanager tool in de Proxmox CLI interacteert met de Proxmox High Availability Manager.

Syntax:

ha-manager <command> [options]

Status bekijken

Om de huidige status van de HA-bronnen te bekijken, kun je de opdracht gebruiken:

ha-manager status

De uitvoer toont informatie over welke VM’s of CT’s zijn geconfigureerd voor HA, hun huidige staat (gestart, gestopt), inclusief de HA-status en failoverstatus, en op welke node ze draaien.

HA inschakelen voor een VM

Syntax:

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

Waar:

<vmid> is de ID van de VM of CT die je aan HA wilt toevoegen.

group <groupname> is de HA-groep waaraan de bron moet worden toegevoegd (optioneel).

max-restarts <n> is het maximale aantal herstartpogingen als de bron faalt.

max-migrate-tries <n> is het maximale aantal migratiepogingen naar een andere node als de bron niet kan worden herstart.

Voorbeeld:

Een VM met ID 105 toevoegen aan de HA-manager met een maximaal aantal van 3 herstartpogingen en 1 migratiepoging in geval van een storing:

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

De HA-status van een VM uitschakelen

Gebruik de remove opdracht om de hoge beschikbaarheidsstatus van een virtuele machine uit te schakelen en de VM uit de HA-manager te verwijderen.

ha-manager remove <vmid>

Bijvoorbeeld, om de HA-status voor de VM met ID 105 uit te schakelen, voer de opdracht uit:

ha-manager remove 105

Na het uitvoeren van de opdracht zal de VM niet langer worden beheerd als een hoog beschikbare bron.

VM-migratie

Je kunt handmatig een hoog beschikbare VM naar een andere node in de cluster migreren met de migrate opdracht:

ha-manager migrate <vmid> <targetnode>

Bijvoorbeeld, om een VM met ID 106 naar een node genaamd pve-node2 te migreren, voer de opdracht uit:

ha-manager migrate 106 pve-node2

8. vzdump

De vzdump opdracht wordt gebruikt om back-ups te maken in Proxmox VE met native Proxmox-tools. Deze opdracht ondersteunt back-up van VM’s en containers. Back-ups kunnen worden opgeslagen in .vma, .tgz of .lzo formaat.

Syntax:

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

Waarbij:

vmid de ID is van een VM of container die je wilt back-uppen.

modus <modus> definieert de back-upmodus. Er zijn drie ondersteunde back-upmodi:

  • snapshot – maakt een live snapshot van een Proxmox virtuele machine of container. Deze modus wordt standaard gebruikt en stelt je in staat om een back-up uit te voeren terwijl een VM of container draait.
  • suspend – deze modus wordt gebruikt om de VM of container op te schorten voordat de back-up wordt gemaakt, waardoor je kunt zorgen voor consistente gegevens. De korte downtime die door deze modus wordt veroorzaakt, is een nadeel.
  • stop – stopt de virtuele machine of container voordat de back-up wordt uitgevoerd. Deze benadering maakt het mogelijk om de consistentie van back-upgegevens te behouden, maar vereist een langere downtime.

compressie <type> wordt gebruikt om de compressiemethode op te geven. Er zijn drie ondersteunde compressieopties:

  • lzo – lichte en snelle compressie voor Proxmox back-up (standaard gebruikt).
  • gzip – dit is een efficiëntere compressiemethode, maar vereist meer tijd om gegevens te comprimeren (langzamere compressie).
  • zstd – dit compressietype gebruikt een modern compressie-algoritme dat hoge compressieverhoudingen biedt met optimale prestaties.

opslag <opslag> specificeert de opslagdoel voor het back-upbestand. Dit kan een lokale map, een NFS-share of een Proxmox opslagpool zijn.

maxfiles <n> beperkt het aantal back-upbestanden dat behouden moet worden. Oudere back-ups worden automatisch verwijderd als de limiet is bereikt.

verwijder <mode> verwijdert automatisch back-upbestanden volgens de opgegeven modus. Modus omvat:

  • oud – verwijdert oude back-ups wanneer nieuwe worden aangemaakt.
  • falen – verwijdert alleen mislukte back-ups.

Maak meerdere VM’s een back-up

Maak back-ups van VM’s met de ID’s 101, 102 en 103 achtereenvolgens:

vzdump 101 102 103

Bewaar back-up met compressie

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

De vzdump opdracht met deze opties voert de volgende acties uit:

  • Bewaart de back-up van VM 101 naar de opslag genaamd local. Lokale opslag kan een lokale map op een Proxmox-host of een opslagpool zijn.
  • De gzip compressie wordt gebruikt. Het maken van een back-up die versleuteld is met gzip compressie kan langer duren, maar je eindigt met een kleiner back-upbestand.
  • Alleen de 3 meest recente back-ups worden bewaard, terwijl oudere automatisch worden verwijderd.

Logbestanden uitsluiten

vzdump 102 --exclude-path /var/log

Maakt een back-up van VM 102 maar sluit de /var/log map uit, waardoor de grootte van de back-up wordt verkleind door logbestanden weg te laten.

Verwijder oude back-ups

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

Dit is een geautomatiseerde back-up met de verwijdering van oude back-ups. Het maakt een back-up van VM 101, slaat de back-up op in nfs-backup opslag en houdt alleen de 5 meest recente back-ups, waarbij oudere back-ups automatisch worden verwijderd.

Back-up maken in snapshotmodus

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

Back-ups (zoals een nachtelijke back-up) maken van alle VM’s en containers met behulp van de snapshot-back-upmodus. De back-ups worden opgeslagen op een NFS-share genaamd nfs-backup. De bandbreedte is beperkt tot 20480 Kbytes per seconde (20 MBps) om netwerklast te voorkomen. Alleen de laatste 7 back-ups worden bewaard, en oudere back-ups worden automatisch verwijderd.

9. qmrestore

De qmrestore opdracht wordt gebruikt om virtuele machines te herstellen van back-ups die zijn gemaakt met de vzdump opdracht in de Proxmox virtuele omgeving. Deze vzdump en qmrestore opdrachten zijn native Proxmox-tools voor VM-back-up en herstel. Een back-up kan worden hersteld naar een nieuwe of bestaande VM.

Syntax:

qmrestore [options] <backupfile> <vmid>

Waar:

<backupfile> het pad is naar het back-upbestand dat u wilt herstellen. Dit bestand wordt doorgaans gegenereerd door de vzdump opdracht en opgeslagen in een map of op een netwerkopslagapparaat.

<vmid> is de ID van de VM die u wilt herstellen. Als de VM-ID al bestaat, wordt de bestaande VM overschreven, tenzij specifieke opties worden gebruikt om dit te voorkomen.

Opdrachtopties:

force wordt gebruikt om een bestaande VM met dezelfde ID te overschrijven, en er is geen bevestigingsvraag. Je kunt deze optie gebruiken om een VM te herstellen wanneer je het niet erg vindt om de huidige staat van de virtuele machine met dezelfde ID te verliezen.

unique wordt gebruikt om een nieuwe, unieke VM-ID te genereren voor een herstelde VM. Overweeg om deze optie te gebruiken om een back-up te herstellen door een nieuwe VM te creëren zonder bestaande VM’s te overschrijven.

storage <storage> specificeert de doelopslaglocatie voor virtuele schijfbeelden van de herstelde VM. Als deze optie niet is gespecificeerd, wordt de VM hersteld naar de originele opslag of naar de standaardopslag.

pool <pool> stelt je in staat om de herstelde VM aan een specifieke resource pool in de Proxmox-virtuele omgeving toe te wijzen. Resource pools worden gebruikt om virtuele machines te groeperen voor eenvoudigere beheersing.

hostname <name> stelt de hostnaam van de herstelde VM in. Deze optie is nuttig als je een andere hostnaam voor de herstelde VM wilt instellen dan de originele hostnaam.

name <name> stelt een aangepaste naam in voor de herstelde VM (een naam die wordt weergegeven in de Proxmox-gebruikersinterface), anders dan de originele VM-naam die was geback-upt.

Herstel VM naar originele ID

Een VM herstellen naar zijn originele ID:

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

Dit commando herstelt het back-upbestand vzdump-qemu-101-2023_08_27-00_00_00.vma naar de VM met ID 101. Als er al een VM met ID 101 bestaat, zal deze worden overschreven.

Herstel back-up naar nieuwe VM

Het herstellen van de back-up naar een nieuwe VM:

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

Dit commando herstelt de back-up naar een nieuwe VM met ID 102, waarbij de schijfbeelden worden opgeslagen op de local-lvm opslag.

Herstel en wijzig hostname en VM-naam

Het herstellen van de back-up en het wijzigen van de hostname en naam:

qmrestore /mnt/pve/nfs-backup/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 103 --hostname restored-vm --name "MyRestoredVM"

Herstelt de back-up naar een nieuwe VM met ID 103, hernoemt de VM naar MyRestoredVM en stelt de hostname in op restored-vm.

10. proxmox-backup-client

De proxmox-backup-client is een commandoregelhulpmiddel dat wordt gebruikt in combinatie met Proxmox Backup Server, een native Proxmox-backupoplossing, die wordt gebruikt voor back-up- en hersteloperaties. Dit hulpmiddel stelt beheerders in staat om virtuele machines, containers en andere soorten gegevens te beschermen. Het proxmox-backup-client hulpmiddel communiceert met een Proxmox Backup Server (PBS) om back-ups te beheren

Syntax:

proxmox-backup-client <command> [options]

De basis syntaxis van het back-upcommando

proxmox-backup-client backup <archive-naam> <pad> --repository <repository> [opties]

Waar:

<archive-naam> is de naam die je wilt geven aan het back-up archief.

<pad> definieert het pad naar de map of het bestand dat je wilt back-uppen.

repository <repository> is de doelrepository op de Proxmox Backup Server, typisch in de vorm van gebruiker@pbs:datastore

Voorbeeld:

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

Dit commando maakt een back-up van de /etc map naar datastore1 op de Proxmox Backup Server gelegen op 10.10.10.101. De back-up wordt opgeslagen als een archief met de naam etc.pxar.

De basis syntax van het herstelcommando

Het herstelcommando voor de proxmox-backup-client commandoregeltools wordt gebruikt om gegevens van een Proxmox Backup Server naar het lokale systeem te herstellen.

proxmox-backup-client restore <archive-naam> <pad> --repository <repository> [opties]

Waar:

<archive-naam> is de naam van het archief dat je wilt herstellen.

<pad> is het pad waar de gegevens hersteld moeten worden.

repository <repository> is de repository waar de back-up is opgeslagen.

Voorbeeld:

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

Dit commando herstelt het etc.pxar archief van datastore1 op de Proxmox Backup Server op 10.10.10.101 naar de lokale directory /restore/etc.

Conclusie

Proxmox CLI-commando’s zijn een krachtige set tools voor het beheren van de Proxmox virtuele omgeving, inclusief opslag, virtuele machines, clusters, VM-back-up, enz. Als je een uitgebreide VM-back-upstrategie wilt implementeren, installeer dan NAKIVO Backup & Replication en gebruik de agentloze back-upfunctionaliteit voor Proxmox VE VM’s.

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