Principale > Blog sul backup e sul ripristino > Come fare il backup di Proxmox? Metodi di backup e ripristino di Proxmox

Come fare il backup di Proxmox? Metodi di backup e ripristino di Proxmox

1 Star2 Stars3 Stars4 Stars5 Stars
(17 voti, media: 5,00 fuori da 5)
Loading...
Aggiornato 9th Febbraio 2023, Rob Morrison

La creazione di backup efficaci è una pratica critica per quasi tutte le aziende al giorno d’oggi, indipendentemente dal tipo di dati e applicazioni con cui lavorano. Proxmox Virtual Environment (VE) non è diverso da questo punto di vista. Fortunatamente, la popolarità in rapida ascesa di Proxmox ha fatto sì che molte soluzioni di backup di terze parti abbiano sviluppato un modo per creare un backup specifico per Proxmox, e ci sono anche alcuni modi integrati per creare backup.

Metodi di backup integrati in Proxmox

Innanzitutto, è comprensibile che i metodi di backup integrati possano avere limitazioni e problemi di personalizzazione. Pertanto, come regola generale, tutti i metodi di backup integrati in Proxmox tendono ad essere backup completi. Questo, a sua volta, significa che sono dotati di tutte le limitazioni inerenti all’utilizzo di questo livello di backup.

Esistono due modi principali per avviare un backup integrato di Proxmox: utilizzando la GUI originale o tramite il comando specifico vzdump nella riga di comando. Questi backup devono avere anche un’archiviazione di backup a livello di file, e i backup possono anche essere programmati utilizzando il livello “Datacenter” nella GUI.

Proxmox può operare sia con le macchine virtuali che con i container – anche se ci sono alcune differenze quando si tratta di diverse modalità di backup, nonostante ci sia lo stesso trio di modalità sia per i container che per le macchine virtuali: modalità di arresto, modalità di sospensione e modalità snapshot.

  • La modalità Stop per una VM è quella che offre la maggiore coerenza tra le tre, al costo di un breve periodo di inattività. Come suggerisce il nome, la VM deve essere arrestata prima di eseguire questa modalità di backup.
    L’idea per i container è la stessa, ma c’è un potenziale di downtime prolungato.
  • La modalità Suspend per una VM cerca di ridurre il tempo di inattività potenziale non arrestando completamente l’intera VM, ma il tempo di inattività è comunque relativamente elevato e la consistenza dei dati può risentirne drasticamente, pertanto questa opzione non è generalmente raccomandata.
    La situazione per i container è un po’ diversa, poiché questo processo crea una copia dei dati del container live in una posizione temporanea, sospende poi il container e quindi sostituisce i file del primo backup con la copia dal container sospeso. Il tempo di inattività di questa operazione è significativamente inferiore rispetto alla modalità di arresto, ma richiede uno spazio libero aggiuntivo per contenere la copia temporanea del container.
  • Snapshot è probabilmente l’opzione più interessante delle tre, che offre la possibilità di creare backup di VM con tempi di inattività minimi o nulli, ma con il rischio che un lavoro di backup sia incoerente. Poiché i dati vengono copiati da una VM attiva, esiste la possibilità di copiare qualche file a metà del cambiamento; per questo motivo l’istantanea di solito esegue i comandi guest-fsfreeze-freeze e guest-fsfreeze-thaw per cercare di mitigare i potenziali problemi di coerenza.
    Il processo di creazione di un’istantanea di un contenitore è per lo più lo stesso, poiché il software di backup sospende anche le operazioni all’interno di un contenitore specifico e poi crea un’istantanea temporanea di tutti i contenuti di quel contenitore. L’intero contenuto del contenitore viene quindi archiviato e l’istantanea stessa viene poi eliminata.

Anche il processo di ripristino con le appliance Proxmox integrate è relativamente semplice: può essere eseguito sia tramite la GUI originale che con l’aiuto di due diversi comandi:

  • qmrestore – per ripristinare le macchine virtuali.
  • pct restore – per ripristinare i contenitori.

Un problema potenziale del processo di ripristino è che potrebbe influenzare seriamente le sue prestazioni complessive con le macchine virtuali/container, poiché non esiste un limite alla quantità di larghezza di banda che le operazioni di ripristino possono intraprendere. Fortunatamente, questi limiti possono essere impostati dall’utente. Esistono due tipi di limiti: per ripristino e per scrittura sullo storage.

Per-restore si tratta di limitare la larghezza di banda per un ripristino da un singolo archivio di backup, e per-storage write limita la quantità di larghezza di banda utilizzata nel processo di scrittura su uno storage specifico.

Nomi dei file e compressione

Alcune delle versioni più recenti di vzdump codificano sia l’ora del backup che il tipo di ospite nel nome del file. Un esempio di tale nome di file è mostrato di seguito:


vzdump-lxc-105-2019_05_24-11_08_39.tar

Questo tipo di denominazione consente di archiviare diversi backup nella stessa directory. Sono disponibili anche diverse opzioni di conservazione che approfondiremo in seguito.

La compressione dei file è un’altra parte del processo di backup quando si tratta di Proxmox. Esistono tre algoritmi di compressione comunemente conosciuti: lzo, gzip e zstd. Attualmente, zstd è l’algoritmo più veloce dei tre, poiché supporta il multi-threading. Sorprendentemente, sia lzo che gzip sono spesso le scelte predefinite per molti casi e sono più comunemente utilizzati in generale.

Esiste anche un sostituto di gzip chiamato pigz, che vanta prestazioni migliori grazie alla possibilità di utilizzare il multi-threading. Sia pigz che zstd possono regolare manualmente la quantità di core/thread utilizzati.

La maggior parte delle volte è facile capire quale algoritmo di compressione è stato utilizzato semplicemente guardando l’estensione del file di backup.

  • .zst – Compressione Zstandard
  • .gz o .tgz – compressione gzip
  • .lzo – compressione lzo

Se l’estensione del file di backup non corrisponde a nessuno degli esempi precedenti – allora non è stato compresso da vzdump in primo luogo.

Ritenzione dei backup ed esempi

Ci sono diverse opzioni disponibili per quanto riguarda la conservazione dei backup in Proxmox, ecco un elenco di tutte:

  • keep-all <boolean> – tutti i backup vengono conservati. Non è possibile impostare altre opzioni se questo è “true”.
  • keep-last <N> – specifica il numero di backup da conservare, contando all’indietro dall’ultimo.
  • keep-hourly <N> – specifica il numero di ore per cui i suoi backup devono essere conservati. Se c’è più di un singolo backup per un’ora, viene conservato solo il backup più recente.
  • keep-daily <N> – specifica il numero di giorni per cui i suoi backup devono essere conservati. Se c’è più di un singolo backup per un giorno, viene conservato solo il backup più recente.
  • keep-weekly <N> – specifica il numero di settimane per cui i suoi backup devono essere conservati. Se c’è più di un singolo backup per una settimana, viene conservato solo il backup più recente.
  • keep-monthly <N> – specifica il numero di mesi per i quali i suoi backup devono essere conservati. Se c’è più di un singolo backup per un mese, viene conservato solo il backup più recente.
  • keep-yearly <N> – specifica il numero di anni per cui i suoi backup devono essere conservati. Se c’è più di un singolo backup per un anno, viene conservato solo il backup più recente.

Tutte le opzioni di conservazione vengono elaborate in questo ordine, dall’alto verso il basso. Ciascuna di queste opzioni copre solo i backup che rientrano nel suo periodo di tempo e non si occupa dei backup già coperti dalle opzioni precedenti. Le opzioni di conservazione di sua scelta devono essere specificate in un elenco separato da virgole, come nell’esempio seguente:


# vzdump 777 –prune-backups keep-last=3,keep-daily=13,keep-yearly=9

Ora esamineremo alcuni dei comandi di backup regolari e le loro funzionalità aggiuntive per quanto riguarda la configurazione


# vzdump 777

Nell’esempio precedente stiamo creando un dump di base di un ospite 777 nella directory di dump predefinita, senza alcuna istantanea.


# vzdump 777 –mode suspend

Nell’esempio precedente stiamo creando un backup dello stesso guest utilizzando un’istantanea, che comporta un tempo di inattività minimo.


# vzdump –all –mode suspend –mailto root –mailto admin

Nell’esempio precedente stiamo eseguendo il backup di tutti i nostri sistemi guest e stiamo inviando e-mail di notifica agli utenti admin e root.


# vzdump 777 –dumpdir /mnt/backup –mode snapshot

Nell’esempio precedente utilizziamo il metodo snapshot con una directory di dump personalizzata.


# vzdump 101 102 103 –mailto root

Nell’esempio precedente stiamo eseguendo il backup di diversi ospiti contemporaneamente (101, 102, 103…).


# vzdump –mode suspend –exclude 101,102

Nell’esempio precedente stiamo eseguendo il backup di tutti gli ospiti tranne quelli specificati (101, 102).


# pct restore 600 /mnt/backup/vzdump-lxc-777.tar

Nell’esempio precedente stiamo ripristinando un contenitore su un nuovo CT 600.


# qmrestore /mnt/backup/vzdump-qemu-888.vma 601

Nell’esempio precedente stiamo ripristinando una VM di QemuServer come VM 601.

Metodi di backup Proxmox di Bacula Enterprise

Fortunatamente, esiste una buona gamma di alternative di terze parti per quanto riguarda le operazioni di backup e ripristino all’interno dell’ambiente virtuale Proxmox. Ad esempio, c’è Bacula Enterprise, che è una soluzione di backup completa, in grado di lavorare con una miriade di tipi di database/VM diversi, e ha anche un modulo Proxmox integrato in modo nativo.

Sorprendentemente, Bacula Enterprise offre anche due modi diversi per eseguire il backup di una VM Proxmox, e uno di questi non coinvolge nemmeno il modulo Proxmox.

Il primo metodo prevede l’installazione di un File Daemon di Bacula Enterprise su ciascuna delle macchine virtuali guest di cui desidera eseguire il backup. Tenga presente che dovrà pianificare e stabilire delle priorità se utilizza più macchine virtuali con questo metodo, poiché il backup di tutte contemporaneamente potrebbe facilmente creare un collo di bottiglia per il sottosistema rete/disco.

A parte questo, l’installazione di un demone file Bacula consente un’ampia scelta di funzioni, tra cui la verifica dei lavori, il ripristino di singoli file, la compressione a livello di file, la verifica del checksum e altro ancora.

Poiché il secondo metodo di creazione di backup Proxmox con l’aiuto del modulo Proxmox di Bacula è il più potente, ci addentreremo solo nei dettagli e nelle configurazioni di questo modulo specifico.

Backup Proxmox con Bacula Enterprise

Il processo di creazione di un backup di una VM Proxmox con Bacula Enterprise prevede tre fasi principali:

  • Salvataggio della configurazione della VM ospite.
  • Creazione di istantanee della VM ospite.
  • Data offloading con l’aiuto del comando vzdump .

Come si può vedere, la modalità di backup principale utilizzata da Bacula Enterprise è la modalità Snapshot, che consente di ottenere backup costanti e tempi di inattività minimi. I backup delle VM guest LXC sono archiviati in due tipi di file: .tar e .conf, mentre le VM guest QEMU utilizzano il tipo di file .vma.

Questo vale solo per una VM guest, quindi è necessario creare più processi di backup se si desidera eseguire il backup di più VM Proxmox. Il processo stesso è in gran parte automatizzato, con la creazione di istantanee e la loro rimozione dopo lo scarico dei dati, quindi è relativamente semplice dal punto di vista di un utente normale.

Ripristino Proxmox con Bacula Enterprise

Sono disponibili due tipi di ripristino quando si tratta di Proxmox con Bacula Enterprise. Può ripristinare i dati come una VM guest Proxmox completa (verrà ripristinata con il vmid originale con cui è stato eseguito il backup, oppure con quello nuovo se quello precedente è già stato preso). Tutto ciò che deve fare è utilizzare il parametro where= durante il processo di recupero dei dati Bacula.

Un’altra sfumatura riguarda il vmid della VM guest ripristinata. Se è necessario che una VM ripristinata abbia un nuovo vmid, questo viene scelto in modo casuale come numero del vmid più alto disponibile +1…11 aggiunto a tale numero. Può anche eseguire questo processo casuale con il comando sequentialvmid – in questo modo la sua VM guest otterrà il primo numero disponibile nel sistema.

Un’altra opzione di recupero è quella di ripristinare tutti i dati in una directory locale. Questo può essere fatto anche con un comando simile: where=/some/path. I percorsi inesistenti saranno creati automaticamente dal modulo Proxmox.

Conclusione

Bacula Enterprise offre una gamma particolarmente ampia di opzioni diverse quando si tratta di operazioni di backup e ripristino, e il suo backup e ripristino Proxmox non è da meno. L’elevato livello di personalizzazione si traduce in un backup particolarmente veloce e (cosa ancora più importante) in un recupero rapido dei dati di un’organizzazione. Utilizzando la sua tecnologia avanzata di snapshot e sfruttando la flessibilità del software nel processo, Bacula Enterprise è una scelta forte per le sue esigenze di backup e ripristino Proxmox.

Informazioni sull'autore
Rob Morrison
Rob Morrison è il direttore marketing di Bacula Systems. Ha iniziato la sua carriera nel marketing IT con Silicon Graphics in Svizzera, ottenendo ottimi risultati in vari ruoli di gestione del marketing per quasi 10 anni. Nei 10 anni successivi, Rob ha ricoperto anche diverse posizioni di gestione del marketing in JBoss, Red Hat e Pentaho, assicurando la crescita della quota di mercato di queste note aziende. Si è laureato all'Università di Plymouth e ha conseguito una laurea ad honorem in Digital Media and Communications e ha completato un programma di studi all'estero.
Lascia un commento

Il suo indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *