I 10 comandi CLI Proxmox che ogni amministratore dovrebbe conoscere

L’ambiente virtuale (VE) Proxmox può essere gestito tramite un’interfaccia grafica intuitiva accessibile da un browser web. Tuttavia, in determinati scenari, è preferibile utilizzare l’interfaccia a riga di comando (CLI). La CLI offre vantaggi quali una configurazione più dettagliata, l’elaborazione in batch, la creazione di script e l’automazione.

Esistono comandi Linux standard e comandi specifici di Proxmox per la gestione degli ambienti virtuali Proxmox. Questo post del blog illustra i 10 principali comandi specifici di Proxmox con esempi per un’amministrazione efficace.

NAKIVO per il backup Proxmox

NAKIVO per il backup Proxmox

Backup senza agenti e coerente con le applicazioni per Proxmox VE con destinazioni multiple, inclusi backup immutabili su cloud. Diverse opzioni di ripristino granulare istantaneo e Ripristino completo.

1. qm

The qm command is one of the main Proxmox CLI commands, and qm is short for QEMU Manager. It is used to manage virtual machines (VMs) in a Proxmox virtual environment (Proxmox VE). Virtual machines on Proxmox are QEMU/KVM-based, and the qm command interacts with them. You can create, edit, configure, start, stop and migrate VMs with this command.

The general syntax of the command is:

qm [options] <command> [arguments]

List virtual machines

You can see the VM status and ID. You may need the ID to manage this VM in the Proxmox CLI.

qm list

Listing Proxmox virtual machines in the CLI

Creating a new virtual machine

General syntax:

qm create <vmid> [options]

Example:

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

The following Proxmox CLI command creates a VM with ID 103 named “DebianVM” with 2GB RAM, 1 socket, 2 cores and a Virtio network interface bridged to vmbr0. The OS type is Linux (indicated by l26).

Attaching a disk to a VM

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

Attaches a 32GB disk to the VM using the SCSI interface.

Attach a CD-ROM for OS installation

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

This command attaches a Debian ISO to the VM’s IDE CD-ROM drive for installation of a guest operating system or other purposes.

Configuring the boot order

qm set 105 --boot order=ide2;scsi0

The command used in this example configures the VM to boot from the CD-ROM first (IDE2), then the disk (SCSI0).

Starting a virtual machine

Syntax:

qm start <vmid>

Example:

qm start 103

Starting the VM with ID 103

Stopping a VM

qm stop <vmid>

This command stops a running VM immediately. This way to stop a VM is the same as pulling the power plug on a physical machine.

qm stop 103

Stopping the VM with ID 103.

Shut down a VM in Proxmox CLI

qm shutdown <vmid>

This command shuts down a VM gracefully, allowing the guest OS to close files and terminate processes properly.

qm shutdown 101

Sending a shutdown signal to the VM with ID 101.

Proxmox CLI shutdown VM

Migrating a VM to another node

qm migrate <vmid> <targetnode>

This command migrates a VM from its current node to another node within the same Proxmox cluster.

For example, to migrate a VM with the ID 103 to node2, we can use the command:

qm migrate 103 node2

Taking a snapshot of a VM

qm snapshot <vmid> <snapshotname>

The command creates a snapshot of the VM, capturing its current state, including the memory, disk and device status.

qm snapshot 103 "before_upgrade"

This command takes a snapshot of the VM with ID 103 and names it "before_upgrade". Using the command to take a snapshot is useful before performing risky operations, such as software upgrades.

Ripristino dello stato di una VM da uno snapshot

qm rollback <vmid> <snapshotname>

Questo comando riporta una VM a uno snapshot precedente, ripristinandone lo stato al momento in cui è stato creato lo snapshot.

Ad esempio, se l’upgrade del software all’interno di una VM non è andato a buon fine e ha generato un errore, è possibile ripristinare lo stato della VM con il comando:

qm rollback 103 "before_upgrade"

Qualsiasi modifica apportata dopo la creazione dello snapshot viene scartata (annullata).

Clonazione di una VM

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

Il comando qm clone clona una VM esistente per crearne una nuova con un ID diverso. È possibile scegliere di clonare l’intero disco (clone completo) o solo lo storage collegato.

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

Questo comando clona la VM con ID 103 in una nuova VM con ID 104, denominandola "DebianClone". L’opzione --full crea un clone completo, copiando tutti i dati.

Ridimensionamento del disco di una VM

qm resize <vmid> <disk> <size>

Il comando qm resize viene utilizzato per ridimensionare un disco virtuale collegato a una VM, espandendolo o riducendolo. Assicurarsi che il sistema operativo guest sia in grado di gestire la modifica.

qm resize 103 scsi0 +10G

Questo comando CLI di Proxmox aumenta di 10 GB la dimensione del disco scsi0 sulla VM con ID 103 .

2. pve-firewall

Il comando pve-firewall viene utilizzato per gestire le impostazioni del firewall nell’ambiente virtuale Proxmox, inclusi i cluster Proxmox. Questo comando CLI di Proxmox fornisce opzioni intuitive per la configurazione delle regole del firewall e consente agli amministratori di controllare il traffico di rete da e verso i nodi Proxmox, le VM e i contenitori. Il firewall Proxmox si integra perfettamente con l’interfaccia di gestione Proxmox e rende più comoda la gestione del firewall nell’intero ambiente Proxmox. Lo strumento pve-firewall è stato sviluppato appositamente per Proxmox VE e utilizza un’astrazione di alto livello per gestire le regole del firewall rispetto all’approccio più granulare e manuale utilizzato in iptables.

Sintassi:

pve-firewall <command> [options]

Eseguire il comando pve-firewall per visualizzare l’utilizzo del comando principale.

Using pve-firewall in Proxmox CLI

Verifica dello stato

Verifica dello stato del servizio firewall di Proxmox VE:

pve-firewall status

L’output mostra se il firewall è in esecuzione o meno sul nodo corrente.

Avvia il firewall

Avvio del servizio firewall sul nodo Proxmox corrente:

pve-firewall start

Ricarica il firewall

Ricarica del servizio firewall e applicazione delle modifiche alla configurazione del firewall senza la necessità di arrestare e riavviare il servizio firewall.

pve-firewall reload

Accetta il traffico SSH

Creazione di una regola firewall che accetta il traffico SSH:

pve-firewall create rule -action accept -macro ssh

Questo comando crea una regola per consentire l’accesso SSH all’ambiente Proxmox.

Dove: create <object> crea un nuovo oggetto firewall, come una regola, un gruppo di sicurezza o un insieme di indirizzi IP.

Elimina regola

Per eliminare la regola, utilizzare il comando:

pve-firewall delete rule <rule-id>

Visualizza registro

Visualizza il registro del firewall, che mostra il traffico e le corrispondenze delle regole:

pve-firewall log

L’output mostra le voci più recenti del registro del firewall.

Nega il traffico HTTP

Per creare una regola del firewall che neghi qualsiasi traffico HTTP, utilizzare il comando:

pve-firewall create rule -action drop -macro http

3. pvesm

Il comando pvesm nella CLI di Proxmox è l’utilità da riga di comando utilizzata per gestire la configurazione dello storage in Proxmox VE. Con questo strumento da riga di comando è possibile creare, eliminare, modificare e gestire i pool di storage. Inoltre, è possibile eseguire varie attività relative allo storage, come la creazione di directory, l’aggiunta di dispositivi di storage e la gestione dei tipi di contenuto.

Sintassi:

pvesm <command> [options]

Elenco dello storage

pvesm list <storage>

Dove <storage> è il nome del pool di storage (archivio dati) da elencare.

Listing resources on the local storage

Verifica dello stato di tutti i pool di archiviazione o di quelli specifici

pvesm status

L’output mostra lo stato del pool di archiviazione, comprese le informazioni relative al fatto che sia attivo o inattivo, al tipo di archiviazione e all’utilizzo corrente.

Checking the status of a Proxmox storage pool

Creazione di un nuovo pool di archiviazione

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

Dove:

<type> è il tipo di backend di archiviazione da creare (ad esempio, dir, lvm, nfs, zfs).

<storage-id> è il nome univoco o l’ID del pool di archiviazione.

--options definisce le opzioni aggiuntive specifiche per il tipo di archiviazione.

Esempio:

Creazione di un nuovo pool di storage basato su directory denominato new-datastore1 situato in /mnt/storage-name, in grado di archiviare immagini VM e file ISO:

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

Aggiunta di un backend di storage esistente a Proxmox VE

Il principio di questo comando è simile a quello del comando pvesm create , ma invece di creare un nuovo pool di storage, l’archivio già esistente viene aggiunto alla configurazione di Proxmox per renderlo disponibile.

Esempio:

Aggiunta di una condivisione NFS esistente situata su 192.168.101.100 all’indirizzo /export/data a Proxmox VE con il nome 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

Modifica della configurazione di un pool di archiviazione esistente

pvesm set <storage-id> --options

Esempio:

Modifica del pool local-storage01 per consentirgli di archiviare immagini VM, file ISO e file di backup:

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

Assegnazione di un nuovo volume su un pool di archiviazione specificato per una VM o un contenitore

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

Esempio:

Il comando per allocare un volume da 10 GB sul pool local-storage-name per la VM 100:

pvesm alloc local-storage-name 100 10G

4. pveum

Proxmox Virtual Environment consente di creare più utenti per la gestione di Proxmox VE. Ciò può essere effettuato tramite i comandi della CLI di Proxmox utilizzando il comando ` pveum ` (gestione utenti). Gli amministratori di Proxmox possono gestire utenti e gruppi e configurare i controlli di accesso e le autorizzazioni. Ciò, a sua volta, definisce chi può avere accesso ed è autorizzato a eseguire azioni sulle diverse parti dell’infrastruttura Proxmox. Gli amministratori possono assegnare permessi per accedere a oggetti, come VM, storage, nodi di cluster, ecc.

Sintassi:

pveum <command> [options]

Aggiunta del nuovo utente a Proxmox VE

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

Dove:

--password <password> è la password per il nuovo utente.

--comment <comment> è un commento o una descrizione facoltativa per l’utente.

--groups <group> è il gruppo (o i gruppi) a cui l’utente dovrebbe appartenere.

Esempio:

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

Questo comando viene utilizzato per aggiungere un utente il cui nome è user2 al gruppo admin con una descrizione e impostando la password per questo utente.

Eliminazione di un utente

Per eliminare un utente, utilizzare il comando pveum con la stessa logica utilizzata per l’aggiunta di un utente, ad esempio:

pveum userdel user3@pve

Questo comando viene utilizzato per eliminare user3 su un host Proxmox.

Creazione di un gruppo

Per creare un nuovo gruppo nella CLI di Proxmox, utilizzare il comando groupadd .

Sintassi:

pveum groupadd <groupname> --comment <comment>

Esempio:

pveum groupadd support --comment "Support Team Group"

Questo comando crea un nuovo gruppo chiamato support con la descrizione "Support Team Group".

Eliminazione di un gruppo

Analogamente all’eliminazione di un utente, è possibile eliminare un gruppo. Ad esempio, per eliminare un gruppo guests , è possibile utilizzare il comando:

pveum groupdel guests

Aggiunta di ruoli

I ruoli vengono utilizzati per definire un insieme di autorizzazioni per gli utenti e i gruppi a cui è assegnato tale ruolo.

Sintassi:

pveum roleadd <rolename> --privs <privileges>

Dove:

<rolename> è il nome del ruolo da creare.

--privs <privileges> è un elenco separato da virgole dei privilegi da assegnare al ruolo (ad esempio, VM.PowerMgmt,VM.Config.Disk).

Esempio:

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

Questo comando crea un ruolo denominato vmmanager con autorizzazioni per gestire le impostazioni di alimentazione delle VM e configurare i CD-ROM.

Modifica di un ruolo esistente

Gli amministratori possono modificare i ruoli e le autorizzazioni esistenti con il comando rolemod (aggiungere o rimuovere privilegi).

Sintassi:

pveum rolemod <rolename> --privs <privileges>

Esempio:

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

Questo comando aggiunge il privilegio VM.Config.Network al ruolo vmmanager .

Modifica dell’ACL

Gli amministratori Proxmox possono modificare gli elenchi di controllo degli accessi (ACL) assegnando ruoli a utenti o gruppi su specifici oggetti Proxmox.

Sintassi:

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

Dove:

<path> è il percorso dell’oggetto su cui impostare l’ACL (ad esempio, /vms/100 per una VM specifica o / per l’intero cluster).

--roles <rolename> è il ruolo da assegnare.

--users <userid> è l’utente a cui viene assegnato il ruolo. --groups <groupname> è il gruppo a cui è assegnato il ruolo.

Esempio:

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

Questo comando assegna il ruolo vmmanager a user4@pve sulla VM 104, consentendo all’utente (user4) di gestire quella specifica VM in base ai privilegi del ruolo vmmanager . Il comando aclremove viene utilizzato per rimuovere le ACL dagli oggetti di conseguenza.

Gestione dei domini di autenticazione

Un dominio di autenticazione definisce come gli utenti si autenticano nel sistema (ad esempio, utilizzando PAM, LDAP o Active Directory). È possibile gestire i regni di autenticazione con il comando realm in Proxmox VE.

Sintassi:

pveum realm <command> [options]

Dove il comando può essere:

list per elencare tutti i regni disponibili

add per aggiungere un nuovo regno

modify per modificare un regno esistente

remove per rimuovere un regno esistente

Ad esempio, per elencare tutti i regni di autenticazione configurati in Proxmox VE, utilizzare il comando:

pveum realm list

Checking the Proxmox authentication realm configuration

Gestione degli utenti esistenti

È possibile elencare, modificare ed eliminare gli utenti esistenti con questo comando utente.

Sintassi:

pveum user <command> <userid> [options]

I comandi possono essere:

list per elencare tutti gli utenti

modify per modificare i dettagli dell’utente, come cambiare una password o aggiornare il commento

delete per eliminare un utente

Ad esempio, per elencare tutti gli utenti su un host Proxmox, utilizzare il comando:

pveum user list

Per visualizzare altri comandi e opzioni disponibili, eseguire il comando pveum help nella CLI di Proxmox.

Prova NAKIVO Backup & Replication per Proxmox VE

Prova NAKIVO Backup & Replication per Proxmox VE

Approfitta di una prova gratuita di 15 giorni per eseguire backup incrementali delle macchine virtuali Proxmox senza agenti, con tracciamento delle modifiche nativo, Storage immutabile e opzioni di ripristino completo e granulare istantaneo.

5. pvesh

Utilizzando il comando pvesh , gli amministratori possono interagire con l’API REST di Proxmox. Questo strumento da riga di comando consente di eseguire quasi tutte le azioni disponibili tramite l’interfaccia web di Proxmox direttamente dalla CLI di Proxmox. Il comando pvesh funge da shell per l’API REST di Proxmox VE, consentendo di effettuare chiamate API utilizzando comandi direttamente dalla riga di comando. Con questo comando è possibile gestire macchine virtuali, storage, rete e altri elementi dell’infrastruttura virtuale Proxmox.

Sintassi:

pvesh <command> [options]

Elenco delle risorse o degli endpoint API

Questo comando è simile al comando ls in Linux, ma elenca i percorsi API o le risorse disponibili nell’ambiente Proxmox VE.

pvesh ls /path

Esempio:

pvesh ls /cluster/resources

Questo comando elenca tutte le risorse nel cluster Proxmox, incluse VM, contenitori e storage.

Recupero delle informazioni

Il comando get recupera le informazioni da uno specifico endpoint API. Questo comando viene utilizzato per interrogare una risorsa e ottenere dettagli.

pvesh get /path

Dove path è il percorso API da cui si desidera recuperare le informazioni.

Ad esempio, per recuperare le informazioni sullo stato del nodo pve-node1, quali carico della CPU, utilizzo della memoria e tempo di attività, è possibile utilizzare il comando:

pvesh get /nodes/pve-node1/status

Checking the Proxmox host status

Modifica della configurazione

Il comando set viene utilizzato per modificare o aggiornare la configurazione di una risorsa. Ciò equivale a effettuare una richiesta POST o PUT nell’API REST.

Sintassi:

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

--key value è costituito dalle coppie chiave-valore delle impostazioni che si desidera modificare.

Esempio:

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

Questo comando modifica il nome della VM 100 sul nodo pve-node1 in new-vm-name.

Creazione di una risorsa

Il comando create consente di creare una nuova risorsa, come una nuova VM o un volume di storage.

Sintassi:

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

Ad esempio, è possibile creare una nuova VM con parametri specifici utilizzando il comando:

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

Questo comando crea una nuova VM con ID 106 sul nodo pve-node1, con il nome new-vm-name, 2 GB di RAM e 2 core CPU.

Avvio delle VM

Esiste un comando per avviare una VM o un contenitore con pvesh:

pvesh start /path

Ad esempio, per avviare la VM con ID 101 sul nodo pve-node1, è possibile eseguire il comando:

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

Spegnimento della VM

A differenza del comando stop, il comando shutdown spegne una VM o un contenitore in modo ordinato:

pvesh shutdown /path

Ad esempio, per spegnere una VM con ID 101 su un host Proxmox, il cui nome è pve-node1, utilizzare il comando: pvesh shutdown /nodes/pve-node1/qemu/101

Avvio di tutte le VM

Per avviare o arrestare tutte le VM su un nodo o nell’intero cluster, è possibile utilizzare il comando corrispondente:

pvesh startall /nodes/<nodename>

pvesh stopall /nodes/<nodename>

6. pvecm

Il comando pvecm è uno strumento per la gestione dei cluster Proxmox utilizzato per gestire e configurare un cluster Proxmox. È possibile utilizzare questo strumento per creare un cluster, nonché per aggiungere e gestire i nodi all’interno di un cluster Proxmox. Un cluster viene gestito come un’unica entità con funzioni di configurazione quali Alta Disponibilità, migrazione live delle VM, storage condiviso, ecc.

Sintassi:

pvecm <command> [options]

Per visualizzare tutti i comandi pvecm supportati, eseguire questo comando:

man pvecm

Creazione di un cluster

Per creare un nuovo cluster Proxmox VE, è possibile utilizzare il comando create . È necessario eseguire questo comando sul primo nodo (nodo master) che formerà il cluster.

pvecm create <clustername>

Esempio:

Il comando riportato di seguito crea un cluster denominato cluster01. Questo nodo (su cui si esegue il comando) diventa il nodo master del cluster.

pvecm create cluster01

Aggiunta di un nodo a un cluster

Utilizzare il comando addnode per aggiungere nuovi nodi a un cluster Proxmox esistente. Eseguire questo comando su un nodo che si desidera aggiungere al cluster.

pvecm add <master-node-ip>

Esempio:

Aggiunta dell’host Proxmox corrente a un cluster controllato da un nodo master con l’indirizzo IP 192.168.101.121 :

pvecm add 192.168.101.121

Eliminazione di un nodo da un cluster

Il comando delnode viene utilizzato nella CLI di Proxmox per rimuovere un nodo dal cluster.

Sintassi:

pvecm delnode <nodename>

Esempio:

Il comando per rimuovere il nodo denominato pve-node2 dal cluster è:

pvecm delnode pve-node2

Elencare tutti i nodi di un cluster

Il comando per elencare tutti i nodi del cluster e visualizzarne lo stato, inclusi i nomi dei nodi e gli indirizzi IP, è:

pvecm nodes

Impostare il nuovo nodo master

È possibile impostare un altro nodo del cluster come master in un cluster Proxmox:

pvecm setmaster <nodename>

Dove <nodename> è il nome del nodo che si desidera designare come master.

Visualizzazione dello stato del cluster

È possibile visualizzare lo stato di un cluster Proxmox, comprese le informazioni sul quorum, il numero di nodi e i loro ruoli.

pvecm status

Impostazione del numero previsto di nodi

È possibile verificare quanti nodi sono previsti per raggiungere il quorum nel cluster con il comando expected . Potrebbe essere necessario utilizzare questo comando quando alcuni nodi del cluster sono temporaneamente offline per evitare interruzioni. Il quorum viene utilizzato per evitare situazioni di split-brain quando diversi nodi del cluster dispongono di informazioni contrastanti sullo stato del cluster. pvecm expected <number>

7. hamanager

Il comando hamanager viene utilizzato per gestire la funzione di Alta Disponibilità (HA) delle VM dopo aver creato un cluster Proxmox. Questa utility da riga di comando consente di configurare l’Alta Disponibilità per le VM critiche e di impostare le modalità di riavvio all’interno di un cluster in caso di guasto del nodo su cui sono in esecuzione. Lo strumento hamanager nella CLI di Proxmox interagisce con Proxmox High Availability Manager.

Sintassi:

ha-manager <command> [options]

Visualizzazione dello stato

Per visualizzare lo stato attuale delle risorse HA è possibile utilizzare il comando:

ha-manager status

L’output mostra informazioni su quali VM o CT sono configurate per l’HA, il loro stato attuale (avviate, arrestate), compreso lo stato HA e lo stato di failover, e su quale nodo sono in esecuzione.

Abilitazione dell’HA per una VM

Sintassi:

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

Dove:

<vmid> è l’ID della VM o del CT che si desidera aggiungere all’HA.

--group <groupname> è il gruppo HA a cui la risorsa deve essere aggiunta (opzionale).

--max-restarts <n> è il numero massimo di tentativi di riavvio in caso di errore della risorsa.

--max-migrate-tries <n> è il numero massimo di tentativi di migrazione su un altro nodo se la risorsa non può essere riavviata.

Esempio:

Aggiunta di una VM con ID 105 al gestore HA con un massimo di 3 tentativi di riavvio e 1 tentativo di migrazione in caso di guasto:

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

Disabilitazione dello stato HA di una VM

Utilizzare il comando remove per disabilitare lo stato di alta disponibilità di una VM e rimuovere la VM dal gestore HA.

ha-manager remove <vmid>

Ad esempio, per disabilitare lo stato HA della VM con ID 105, eseguire il comando:

ha-manager remove 105

Dopo aver eseguito il comando, la VM non sarà più gestita come risorsa ad alta disponibilità.

Migrazione della VM

È possibile migrare manualmente una VM ad alta disponibilità su un altro nodo del cluster con il comando migrate :

ha-manager migrate <vmid> <targetnode>

Ad esempio, per migrare una VM con ID 106 su un nodo denominato pve-node2, eseguire il comando:

ha-manager migrate 106 pve-node2

8. vzdump

Il comando vzdump viene utilizzato per creare backup in Proxmox VE con strumenti nativi di Proxmox. Questo comando supporta il backup di VM e contenitori. I backup possono essere salvati in formato .vma, .tgz or .lzo .

Sintassi:

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

Dove:

vmid è l’ID di una VM o di un contenitore di cui si desidera eseguire il backup.

--mode <mode> definisce la modalità di backup. Sono supportate tre modalità di backup:

  • snapshot – acquisisce uno snapshot live di una VM o di un contenitore Proxmox. Questa modalità è quella predefinita e consente di eseguire un backup mentre una VM o un contenitore è in esecuzione.
  • suspend – questa modalità viene utilizzata per sospendere la VM o il contenitore prima del backup, garantendo così la coerenza dei dati. Lo svantaggio di questa modalità è un breve periodo di inattività.
  • stop – arresta la VM o il contenitore prima di eseguire il backup. Questo approccio consente di preservare la coerenza dei dati di backup, ma richiede un periodo di inattività più prolungato.

--compress <type> viene utilizzato per specificare il metodo di compressione. Sono supportate tre opzioni di compressione:

  • lzo – compressione leggera e veloce per il backup Proxmox (utilizzata di default).
  • gzip – questo è un metodo di compressione più efficiente, ma richiede più tempo per comprimere i dati (compressione più lenta).
  • zstd – Questo tipo di compressione utilizza un moderno algoritmo di compressione che offre elevati rapporti di compressione con prestazioni ottimali.

--storage <storage> specifica la destinazione di archiviazione per il file di backup. Può trattarsi di una directory locale, di una condivisione NFS o di un pool di archiviazione Proxmox.

--maxfiles <n> limita il numero di file di backup da conservare. I backup più vecchi vengono eliminati automaticamente se viene raggiunto il limite.

--remove <mode> rimuove automaticamente i file di backup in base alla modalità specificata. Le modalità includono:

  • old – rimuove i backup vecchi quando ne vengono creati di nuovi.
  • fail – rimuove solo i backup non riusciti.

Esegue il backup di più VM

Esegue il backup delle VM con le opzioni IDs 101, 102e 103 in sequenza:

vzdump 101 102 103

Salva il backup con compressione

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

Il comando vzdump con queste opzioni esegue le seguenti azioni:

  • Salva il backup di VM 101 nell’archivio denominato local. L’archivio locale può essere una directory locale su un host Proxmox o un pool di archiviazione.
  • Viene utilizzata la compressione gzip . La creazione di un backup crittografato con la compressione gzip potrebbe richiedere più tempo, ma si ottiene un file di backup più piccolo.
  • Vengono conservati solo i 3 backup più recenti, mentre quelli più vecchi vengono eliminati automaticamente.

Ometti i file di log

vzdump 102 --exclude-path /var/log

Esegue il backup della VM 102 ma esclude il /var/log directory, riducendo le dimensioni del backup grazie all’omissione dei file di log.

Rimuovi i vecchi backup

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

Si tratta di un backup automatizzato con la rimozione dei vecchi backup. Esegue il backup della VM 101, archivia il backup nello spazio di archiviazione nfs-backup e conserva solo i 5 backup più recenti, eliminando automaticamente quelli più vecchi.

Esegue il backup in modalità snapshot

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

Crea backup (come ad esempio un backup notturno) di tutte le VM e i contenitori utilizzando la modalità di backup tramite snapshot. I backup vengono salvati in una condivisione NFS denominata nfs-backup. La larghezza di banda è limitata a 20480 Kbyte al secondo (20 MBps) per evitare il sovraccarico della rete. Vengono conservati solo gli ultimi 7 backup, mentre quelli più vecchi vengono rimossi automaticamente.

9. qmrestore

Il comando qmrestore viene utilizzato per ripristinare VM dai backup creati utilizzando il comando vzdump nell’ambiente virtuale Proxmox. Questi comandi vzdump e qmrestore sono strumenti nativi di Proxmox per il backup e il ripristino delle VM. Un backup può essere ripristinato su una VM nuova o esistente.

Sintassi:

qmrestore [options] <backupfile> <vmid>

Dove:

<backupfile> è il percorso del file di backup che si desidera ripristinare. Questo file viene tipicamente generato dal comando vzdump e memorizzato in una directory o su un dispositivo di storage di rete.

<vmid> è l’ID della VM che si desidera ripristinare. Se l’ID della VM esiste già, la VM esistente verrà sovrascritta a meno che non vengano utilizzate opzioni specifiche per impedirlo.

Opzioni del comando:

--force viene utilizzato per sovrascrivere una VM esistente con lo stesso ID e non viene visualizzata alcuna richiesta di conferma. È possibile utilizzare questa opzione per ripristinare una VM quando non si ha alcun problema a perdere lo stato corrente della VM con lo stesso ID.

--unique viene utilizzato per generare un nuovo ID VM univoco per una VM ripristinata. Si consiglia di utilizzare questa opzione per ripristinare un backup creando una nuova VM senza sovrascrivere alcuna VM esistente.

--storage <storage> specifica la posizione di storage di destinazione per le immagini del disco virtuale della VM ripristinata. Se questa opzione non viene specificata, la VM verrà ripristinata nella sua posizione di storage originale o in quella predefinita.

--pool <pool> consente di assegnare la VM ripristinata a un pool di risorse specifico nell’ambiente virtuale Proxmox. I pool di risorse vengono utilizzati per raggruppare le VM e facilitarne la gestione.

--hostname <name> imposta il nome host della VM ripristinata. Questa opzione è utile se si desidera impostare un nome host diverso da quello originale per la VM ripristinata.

--name <name> imposta un nome personalizzato per la VM ripristinata (un nome che viene visualizzato nell’interfaccia utente di Proxmox), diverso dal nome originale della VM di cui è stato eseguito il backup.

Ripristina VM all’ID originale

Ripristino di una VM al suo ID originale: qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_08_27-00_00_00.vma 101

Questo comando ripristina il file di backup vzdump-qemu-101-2023_08_27-00_00_00.vma sulla VM con ID 101. Se esiste già una VM con ID 101 , questa verrà sovrascritta.

Ripristino del backup su una nuova VM

Ripristino del backup su una nuova VM:

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

Questo comando ripristina il backup su una nuova VM con ID 102, salvando le immagini del disco sullo storage local-lvm .

Ripristino e modifica del nome host e del nome della VM

Ripristino del backup e modifica del nome host e del nome:

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

Ripristina il backup su una nuova VM con ID 103, rinomina la VM in MyRestoredVM e imposta il suo nome host su restored-vm.

10. proxmox-backup-client

Il comando proxmox-backup-client è un’utilità da riga di comando utilizzata in combinazione con Proxmox Backup Server, una soluzione di backup nativa di Proxmox, utilizzata per operazioni di backup e ripristino. Questo strumento consente agli amministratori di proteggere VM, contenitori e altri tipi di dati. Lo strumento proxmox-backup-client interagisce con un Proxmox Backup Server (PBS) per gestire i backup

Sintassi:

proxmox-backup-client <command> [options]

La sintassi di base del comando di backup

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

Dove:

<archive-name> è il nome che si desidera assegnare all’archivio di backup.

<path> definisce il percorso della directory o del file di cui si desidera eseguire il backup.

--repository <repository> è il repository di destinazione sul Proxmox Backup Server, tipicamente nella forma user@pbs:datastore

Esempio:

proxmox-backup-client backup etc.pxar /etc --repository root@pbs@10.10.10.101:datastore1

Questo comando esegue il backup della directory /etc su datastore1 sul Proxmox Backup Server situato all’indirizzo 10.10.10.101. Il backup viene memorizzato come archivio denominato etc.pxar.

La sintassi di base del comando di ripristino

Il comando di ripristino per gli strumenti da riga di comando proxmox-backup-client viene utilizzato per ripristinare i dati da un Proxmox Backup Server al sistema locale.

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

Dove:

<archive-name> è il nome dell’archivio che si desidera ripristinare.

<path> è il percorso in cui i dati devono essere ripristinati.

--repository <repository> è il repository in cui è memorizzato il backup.

Esempio:

proxmox-backup-client restore etc.pxar /restore/etc --repository root@pbs@10.10.10.101:datastore1

Questo comando ripristina l’archivio etc.pxar da datastore1 sul Proxmox Backup Server all’indirizzo 10.10.10.101 nella directory locale /restore/etc.

Conclusione

I comandi CLI di Proxmox costituiscono un potente set di strumenti per la gestione dell’ambiente virtuale Proxmox, inclusi storage, VM, cluster, backup delle VM, ecc. Se si desidera implementare una strategia completa di backup delle VM, installare NAKIVO Backup & Replication e utilizzare la funzionalità di backup senza agente per le VM Proxmox VE.

Prova NAKIVO Backup & Replication

Prova NAKIVO Backup & Replication

Richiedi una prova gratuita per scoprire tutte le funzionalità di protezione dei dati della soluzione. 15 giorni gratis. Nessuna limitazione in termini di funzionalità o capacità. Non è obbligatoria alcuna carta di credito.

Le persone leggono anche