Proxmox Backup è stato già trattato in un precedente articolo. L’idea ora è quella di integrare PBS all’interno del nuovo homelab, sfruttando le sue caratteristiche peculiari:
- Deduplicazione: i backup periodici generano una quantità significativa di dati ridondanti. La
deduplicazioneconsente di eliminare la ridondanza e ottimizzare lo spazio di archiviazione utilizzato - Backup incrementali
- Integrità dei dati: l’utilizzo di checksum garantisce l’affidabilità dei backup
- Sincronizzazione: è possibile sincronizzare i dati verso siti remoti o dispositivi di archiviazione USB, trasferendo esclusivamente il delta
- Crittografia: i backup possono essere crittografati lato client
- Controllo degli accessi granulare
Hardware e specifiche di rete
Per l’implementazione di PBS utilizzerò il mio vecchio Intel NUC con le seguenti specifiche:
- CPU Intel Celeron J3455
- 12 GB RAM
- SSD da 2 TB
Il layout di rete previsto è illustrato nello schema seguente:
- Indirizzo IP di PBS: 10.0.5.5
- Gateway: 10.0.5.254
- Da collegare alla porta 2 dello switch, già configurata nella VLAN 5 di Management
Installazione
Dopo aver scaricato l’immagine ISO e creato un supporto di avvio, l’installazione risulta semplice e analoga a quella di PVE.
Per accedere all’interfaccia web di configurazione all’indirizzo https://10.0.5.5:8007, è possibile procedere in due modi:
- Collegare un dispositivo alla porta 3 dello switch, anch’essa configurata nella VLAN 5
- Creare una regola di firewall che consenta l’accesso a PBS dalla VLAN 10, esclusivamente al nostro device
Se la configurazione è stata eseguita correttamente, sarà possibile accedere all’interfaccia di gestione di PBS.
Dalla sezione Configuration si possono modificare e visualizzare le impostazioni di rete:
Primo accesso
Si raccomanda di eseguire le seguenti operazioni preliminari:
- Modificare la password di root con una password complessa e sicura
- Abilitare la 2FA per l’utente root da
Access Control > Two Factor Authentication - Verificare ed installare tutti gli aggiornamenti disponibili dalla sezione
Administration > Updates - Impostare un indirizzo email valido per ricevere notifiche relative allo stato dei backup e alle verifiche di integrità dei dati
Gestione backup
Datastore
Il primo passo consiste nella creazione del datastore, il contenitore dedicato ai backup. È possibile accedere alla sezione corrispondente dall’interfaccia di amministrazione.
All’interno di questa sezione, è possibile definire anche la retention policy dei backup, ovvero la durata di conservazione dei dati. Esiste anche l’ottimo strumento ufficiale per la simulazione della retention.
Verify e Prune Job
Da Datastore > Verify Job, creare un job di verifica dell’integrità del backup. Spostandosi nella tab Prune, creare il job per il prune dei vecchi backup.
Utente dedicato
Per garantire la sicurezza e limitare i permessi, è necessario creare un utente dedicato ai backup. Questo utente avrà il solo permesso di eseguire backup, senza la possibilità di eliminarli.
L’utente si crea dalla sezione Access Control > User Management.
Successivamente, nella tab Permissions, è possibile assegnare i permessi corretti all’utente creato in precedenza, limitandoli al solo datastore di interesse. Nel caso specifico, avendo creato il datastore pve01.home.lan, si assegna all’utente il ruolo DatastoreBackup, che consente esclusivamente di creare nuovi backup e eseguire operazioni di lettura e verifica sul datastore.
Configurazione del datastore su PVE
L’ultimo passaggio prevede l’aggiunta del datastore appena creato all’interno di PVE, tramite il percorso Datacenter > Storage. Non è necessario specificare la retention policy, in quanto questa viene gestita direttamente da Proxmox Backup. Si consiglia inoltre di attivare la crittografia dalla tab Encryption, assicurandosi di salvare in modo sicuro la chiave di crittografia generata.
Il fingerprint richiesto, puó essere visualizzato direttamente dalla dashboard di PBS:
Infine, è possibile creare un job di backup tramite il percorso Datacenter > Backup, selezionando lo storage appena configurato e inserendo le varie VM.
Selezionando la VM e quindi spostandosi nella sezione Backup, é possibile eseguire un backup/restore manuale.
Disco esterno
Per configurare un datastore su un disco USB esterno, bisogna:
- Connettere il disco USB esterno al mini PC su cui è installato PBS
- Dalla sezione
Storage/Diskidentificare il disco USB appena collegato - Eseguire un wipe del disco: questa operazione cancellerà in modo permanente tutti i dati presenti
- Spostarsi nella tab
ZFSe avviare la procedura per la creazione di un nuovo pool
- Al termine della creazione del pool, verrá in automatico creato il datastore associato.
Confronto PVE-PBS
Di seguito viene presentato un confronto tra un backup eseguito tramite PVE e uno eseguito tramite PBS:
Dal confronto emerge che il primo backup risulta identico in entrambi i casi, in quanto completo. A partire dal secondo backup, tuttavia, le differenze diventano evidenti: grazie al fatto che si tratta di backup incrementali, PBS completa il backup in 2 secondi contro i 32 secondi di PVE. Inoltre, l’occupazione di spazio su disco risulta notevolmente ridotta grazie anche alla deduplicazione.
Un ulteriore vantaggio offerto da PBS è la possibilità di eseguire il ripristino di singoli file, tramite l’opzione File Restore:
Backup delle configurazioni di un nodo PVE
Un nodo Proxmox può subire guasti hardware o malfunzionamenti. Eseguire il backup della directory /etc consente di preservare tutte le impostazioni principali del sistema e/o del cluster, garantendo un rapido ripristino del servizio in caso di reinstallazione. Non è necessario includere altre directory come /var, /root o simili, in quanto non contengono configurazioni critiche per il recupero del nodo.
Backup automatico tramite PBS e systemd
Il client a riga di comando proxmox-backup-client, installato di default in PVE, consente di interfacciarsi con PBS per eseguire backup di host fisici o virtuali. In questo contesto, verrà utilizzato per configurare un backup crittografato della directory /etc del nostro PVE.
Prerequisiti
- Creare un datastore e un utente dedicato allo scopo, col ruolo
DatastoreBackup - Verificare che il pacchetto
proxmox-backup-clientsia installato sul nodo PVE
Timer Systemd
Accedere via SSH a PVE e creare il servizio /etc/systemd/system/proxmox-backup.service con il seguente contenuto:
|
|
Creare il timer /etc/systemd/system/proxmox-backup.timer:
In questo modo, ogni giorno alle ore 20:00 viene eseguito un backup della directory /etc.
Definire le variabili nel file /etc/default/proxmox-backup:
Impostare i seguenti permessi: chmod 600 /etc/default/proxmox-backup
Le informazioni si trovano direttamente selezionando il datastore e cliccando Show Connection Information
Crittografia
Per garantire un ulteriore livello di sicurezza, è possibile generare una chiave di crittografia lato client:
Includere la chiave nel comando di backup tramite l’opzione --keyfile /etc/proxmox/backup.key. La chiave é giá inclusa nel comando di backup specificato nel servizio.
Attivazione del timer
Eseguire i seguenti comandi per attivare il timer:
Per eseguire un backup manuale, basta riavviare il servizio systemctl restart proxmox-backup.service. I backup si possono vedere anche direttamente da PBS:
Oppure tramite i seguenti comandi:
|
|