Ricerca nel sito web

Come creare un backup con il client di backup Proxmox


Mentre nella prima parte di questa serie dedicata al server di backup Proxmox abbiamo visto come installare la distribuzione, e nella seconda abbiamo esplorato l'interfaccia di amministrazione web, in questo terzo tutorial impariamo come creare e ripristinare un backup di un dispositivo fisico host utilizzando il client di backup Proxmox.

In questo tutorial impariamo come installare il client di backup Proxmox e come eseguire un backup di un host fisico.

In questo tutorial imparerai:

  • Come installare il client di backup Proxmox su Debian e distribuzioni basate su Debian
  • Come eseguire il backup di un host fisico utilizzando il client di backup Proxmox
  • Come elencare, montare e ripristinare le istantanee

Installazione del client di backup

Per poter installare il client di backup Proxmox su Debian stabile (bookworm, al momento in cui scrivo), o su una delle tante distribuzioni basate su Debian, dobbiamo aggiungere il repository dedicato ai sorgenti del software della distribuzione. Iniziamo scaricando la chiave GPG utilizzata per firmare e convalidare i pacchetti:

$ curl -O https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg

Una volta completato il download verifichiamo il checksum della chiave sha512:

$ sha512sum proxmox-release-bookworm.gpg

Il comando restituisce il seguente valore, che è esattamente quello che ci aspettiamo:

7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87

Una volta verificato che la chiave è valida, possiamo spostarla nella directory /etc/apt/trusted.gpg.d/:

$ sudo mv proxmox-release-bookworm.gpg /etc/apt/trusted.gpg.d

Ora possiamo aggiungere il repository Proxmox ai sorgenti del software di distribuzione. Possiamo farlo emettendo il seguente comando:

$ echo "deb http://download.proxmox.com/debian/pbs-client bookworm main" | sudo tee /etc/apt/sources.list.d/pbs-client.list

A questo punto dobbiamo sincronizzare il repository e, infine, installare il pacchetto “proxmox-backup-client”:

$ sudo apt update && sudo apt install proxmox-backup-client

Creazione di un backup

Prima di eseguire il nostro primo backup, ricapitoliamo la nostra configurazione attuale. Nella prima parte di questa serie abbiamo installato il server di backup Proxmox, raggiungibile al 192.168.122.72. Nell'ambito del secondo tutorial, invece, abbiamo creato un datastore chiamato “datastore0”. Per creare un backup utilizziamo il comando “backup” del client di backup Proxmox, che richiede la seguente sintassi:

proxmox-backup-client backup {<backupspec>} [OPTIONS]

Dove è l'elenco delle origini di cui eseguire il backup nel formato:

<label.ext>:<path>

Supponiamo di voler creare un backup della directory /etc sul sistema client e inviarlo al server di backup Proxmox che abbiamo già installato. Ecco il comando da eseguire:

$ sudo proxmox-backup-client backup etc.pxar:/etc --repository 192.168.122.72:datastore0

Come puoi vedere, abbiamo utilizzato l'etichetta "etc" insieme all'estensione ".pxar" (Proxmox File Archive Format). Per specificare l'IP del server, possiamo utilizzare l'opzione --repository o assegnarlo come valore della variabile di ambiente PBS_REPOSITORY. Se non viene specificato alcun utente, si presuppone "root". Per procedere dobbiamo autenticarci e fornire la propria password sul server:

Password for "root@pam":

Se è la prima volta che eseguiamo un backup dobbiamo confermare che vogliamo connetterci al computer remoto. Una volta completato il backup, riceveremo un report:

Starting backup: host/doc-standardpcq35ich92009/2024-01-11T11:01:49Z
Client name: doc-standardpcq35ich92009
Starting backup protocol: Thu Jan 11 12:01:55 2024
storing login ticket failed: $XDG_RUNTIME_DIR must be set
No previous manifest available.
Upload directory '/etc' to '192.168.122.72:datastore0' as etc.pxar.didx
etc.pxar: had to backup 78.847 MiB of 78.847 MiB (compressed 6.68 MiB) in 0.66s
etc.pxar: average backup speed: 119.457 MiB/s
Uploaded backup catalog (45.525 KiB)
Duration: 0.79s
End Time: Thu Jan 11 12:01:56 2024

Se diamo un'occhiata all'interfaccia web del server, possiamo vedere che ora è presente una voce nella sezione "datastore0":

Facendo clic su ciascuna voce del backup, possiamo vedere i componenti del backup e facendo clic sull'icona "directory" nella colonna "Azioni", possiamo vedere i file inclusi nel backup e facoltativamente scaricarli:

Esclusi file e directory

In determinate situazioni, potremmo voler escludere file e directory specifici dal backup. Per realizzare questo compito, dobbiamo creare un file .pxarexclude nella directory principale del nostro backup e/o in una delle sue sottodirectory. Vediamo un esempio. Supponiamo di voler eseguire il backup della directory /etc ma, per qualche motivo, vogliamo escludere il file /etc/fstab e il contenuto della directory /etc/X11 . Creeremo il file /etc/.pxarexclude, con il seguente contenuto:

/fstab
/X11/*

Un file .pxarexclude deve contenere una voce per riga; la directory in cui si trova è considerata la “radice” di ogni modello. Le righe che iniziano con “#” vengono considerate come commenti e ignorate; IL "!" carattere, all'inizio di una riga, trasforma il modello in un'inclusione esplicita. In ogni voce, un carattere glob (“*”) corrisponde a qualsiasi altro carattere, mentre un doppio glob (“**”) corrisponde alla directory corrente e alle sue sottodirectory. Per saperne di più sulla sintassi e sulle espressioni utilizzabili nel file potete dare un'occhiata alla sezione dedicata della documentazione ufficiale.

Crittografia dei backup

Il backup creato nell'esempio precedente non è crittografato. Per crittografare i nostri backup, dobbiamo prima generare una chiave di crittografia:

$ proxmox-backup-client key create

Per impostazione predefinita, una chiave viene generata come ~/.config/proxmox-backup/encryption-key.json; questo percorso viene cercato automaticamente ogni volta che utilizziamo l'opzione --keyfile. Per utilizzare qualsiasi altro percorso, possiamo specificarlo come argomento del comando. Per generare la chiave come "mykey" nella directory di lavoro corrente, ad esempio, eseguiremmo:

$ proxmox-backup-client key create mykey

Affinché la chiave venga generata con successo, dobbiamo fornire e confermare una password di crittografia. Per generare un backup crittografato utilizzando la chiave appena generata, eseguiremo:

$ proxmox-backup-client backup etc.pxar:/etc --keyfile mykey --repository 192.168.122.72:datastore0

Elenco, ripristino e montaggio di uno snapshot

Per recuperare l'elenco degli snapshot che abbiamo creato, possiamo utilizzare il comando “snapshot” e l'azione “list”:

$ sudo proxmox-backup-client snapshot list --repository 192.168.122.72:datastore0

In questo caso il comando restituisce il seguente output:

┌─────────────────────────────────────────────────────┬────────────┬───────────────────────────────────┐
│ snapshot                                            │ size       │ files                             │
╞═════════════════════════════════════════════════════╪════════════╪═══════════════════════════════════╡
│ host/doc-standardpcq35ich92009/2024-01-11T11:01:49Z │ 78.888 MiB │ catalog.pcat1 etc.pxar index.json │
└─────────────────────────────────────────────────────┴────────────┴───────────────────────────────────┘

Possiamo vedere l'ID dell'istantanea, la sua dimensione e i suoi file. Per recuperare l'elenco dei file inclusi nel backup possiamo eseguire:

$ sudo proxmox-backup-client catalog dump --repository 192.168.122.72:datastore0 host/doc-standardpcq35ich92009/2024-01-11T11:01:49Z

Per ripristinare un backup utilizziamo il comando “restore” e forniamo il nome dell'archivio che vogliamo ripristinare e la directory di destinazione. Per ripristinare l'archivio etc.pxar incluso nello snapshot, ad esempio nella directory /etc, eseguiremo:

$ sudo proxmox-backup-client restore --repository 192.168.122.72:datastore0 host/doc-standardpcq35ich92009/2024-01-11T11:01:49Z etc.pxar /etc

Utilizzando il comando “mount”, possiamo anche montare l'archivio utilizzando FUSE (Filesystem in Userspace). Per montare l'archivio etc.pxar nella directory /mnt, eseguiremo:

$ sudo proxmox-backup-client mount --repository 192.168.122.72:datastore0 host/doc-standardpcq35ich92009/2024-01-11T11:01:49Z etc.pxar /mnt

Se il comando ha esito positivo, il contenuto dell'archivio "etc.pxar" sarà accessibile nel punto di montaggio specificato.

Conclusioni

In questo terzo tutorial della serie dedicata al server proxmox-backup abbiamo imparato come installare il client di backup su Debian e distribuzioni basate su Debian. Abbiamo visto come eseguire un backup, come generare una chiave di crittografia, come elencare gli snapshot disponibili sul server e, infine, come montare e ripristinare un archivio di backup. Per saperne di più sull'utilizzo del client di backup Proxmox, dai un'occhiata alla documentazione ufficiale online o consulta la pagina manuale del client.

Articoli correlati: