Veeam per Linux: Ubuntu

Ho finalmente ricevuto le credenziali per scaricare Veeam per Linux.

In questo articolo parlo dell’installazione su una workstation Ubuntu con ambiente grafico, il backup su un server CentOS verrà trattato in seguito.

Il pacchetto che ho scaricato è una versione beta che dura 56 giorni a partire dal 7 luglio, il nome del file è VeeamAgentLinux_1.0.0.499BETA.zip

Nell’archivio si trovano l’ISO per il ripristino (per il momento solamente a 64 bit) e i pacchetti per Debian e compatibili, per RedHat Enterprise e compatibili e per Suse. Tutti i pacchetti sono disponibili sia a 32 sia a 64 bit.

Ho estratto dall’archivio i pacchetti veeam_1.0.0.499_amd64.debveeamsnap_1.0.0.499_all.deb quindi li ho installati con:

sudo dpkg -i veeam_1.0.0.499_amd64.deb
sudo dpkg -i veeamsnap_1.0.0.499_all.deb
sudo apt-get install -f

Una volta terminata l’installazione si può eseguire il programma con

sudo veeam

veeam_ubuntu_01

Premendo C per configurare il programma appare il wizard di configurazione, del tutto simile all’omologo Windows del software, che chiede nell’ordine:

  • il nome da assegnare al job;
  • cosa salvare: tutta la macchina, alcuni volumi, alcuni file;
  • dove salvare i dati: in un volume locale, in una risorsa condivisa (NFS o CIFS), in un repository Veeam Backup & Replication (opzione non disponibile nella beta);
  • il percorso dei dati da salvare e il numero di istanze da tenere;
  • la schedulazione: ora e giorni della settimana.

Al termine il wizard il programma presenta questa schermata riassuntiva con indicata anche la command line da utilizzare se si desidera eseguire il job a mano o con un altro sistema di schedulazione e l’opzione di eseguire il job immediatamente

veeam_ubuntu_02

Se si sceglie di avviare il job, questo viene eseguito in background ed è possibile chiudere il programma.

Per esaminare lo stato del job si può rilanciare Veeam in qualsiasi momento e selezionare il job in corso.

Durante la fase iniziale di scansione del disco il job si prende il 100% di un core della CPU; durante il trasferimento dati il carico di sistema cala.

Dopo un paio d’ore il programma termina con successo:

veeam_ubuntu_04

Dai dati si vede che ha analizzato un tera e mezzo (il computer monta un SSD da 512 Gb con una partizione ext4 e un disco rotante da 1 Tb con una partizione BTRFS) e ha trasferito sul NAS solamente 230 Gb.

Per ripristinare un file evidenzio il job nell’elenco e si premo R (Recover files) per montare l’immagine di backup.

Seleziono, quindi, il set di backup

veeam_ubuntu_05

e attendo che Veeam legga i dati dal NAS; al termine dell’operazione appare la segnalazione che il backup è stato montato correttamente in /mnt/backup

Posso, quindi, uscire dal programma (l’immagine resta montata) e copiare da /mnt/backup i file che servono. Al termine rientro nel programma e smonto l’immagine.

Nel mio caso, il disco rotante è formattato BTRFS, un file system non (ancora) supportato da Veeam, quindi posso eseguire il restore granulare solamente dal disco principale ext4.

Decido di eseguire anche un test di disaster recovery.

Creo una VM con due dischi e faccio il boot dall’ISO di ripristino. In questo momento Veeam non supporta il restore su dischi più piccoli degli originali.

veeam_ubuntu_06

La scheda di rete viene configurata automaticamente in DHCP, ma è comunque possibile fare una configurazione manuale.

Se si decide di ripristinare dei volumi interi bisogna specificare la sorgente. Quando ci si connette ad un disco di rete è sufficiente indicare server e share (CIFS o NFS), dopodiché si apre un browser di directory che permette di localizzare il backup e quindi viene visualizzato il backup set:

veeam_ubuntu_07

Veeam a questo punto chiede come si vuole procedete:

veeam_ubuntu_08

Se si sceglie Restore whole disk from… si può decidere di ripristinare l’intero disco dal backup, incluso il boot e la tabella di partizioni; è quello che faccio io.

Nel mio caso ho eseguito la medesima operazione per entrambi i dischi:

veeam_ubuntu_09

Quando scelgo di avviare il ripristino, Veeam mostra un’ultima schermata riassuntiva prima di iniziare a sovrascrivere eventuali dati sui dischi:

veeam_ubuntu_10

Dopo tre ore di lavoro il ripristino è completato

veeam_ubuntu_11

Spengo la macchina virtuale, disabilito il CD con cui ho fatto il boot e avvio la VM con non poca curiosità per vedere il risultato.

Durante il boot il controllo automatico di BTRFS (che viene dichiarato non supportato in questa versione) corregge alcuni errori, ma il boot continua e alla fine:

veeam_ubuntu_12

La macchina Ubuntu ripristinata dentro VMware Workstation ha qualche problema, ma sono problemi di Ubuntu con l’hardware virtualizzato, i dati ci sono tutti, inclusi quelli della partizione BTRFS.

I log di tutte le operazioni sono in /var/log/veeam

Il software è ancora in beta e, ovviamente, non deve essere utilizzato come unico backup di un sistema. Il supporto avviene attraverso il forum dedicato di Veeam.

Qualcuno dei puristi di Linux potrebbe storcere il naso per l’interfaccia TUI. A parte il fatto che la torsione del naso è un esercizio quotidiano dei cosiddetti puristi, di cui sono campioni olimpionici, credo che sia più importante per un software come Veeam che venga mantenuta la coerenza di interfaccia nelle varie edizioni piuttosto che rispettare presunte regole sacre delle rispettive piattaforme.

Mi spiego: gli utilizzatori tipici (quelli che pagano tanti soldi, per capirci) di Veeam sono società che vogliono utilizzare le varie edizioni di Veeam per proteggere tutto il loro parco macchine. A queste persone non interessa la presunta sacralità di presunte norme di una piattaforma, quanto avere un’interfaccia il più possibile omogenea su varie piattaforme, questo consente di avere una curva di apprendimento più rapida, quindi minori tempi (leggi: costi) di implementazione.

Quando si parla di backup, ma, soprattutto, di restore, muoversi in un terreno noto vuol dire molto.

Ciò non toglie, ovviamente, che non esista, come in Veeam Backup & Replication, la possibilità di utilizzare degli script per automatizzare le operazioni. L’utility a riga di comando veeamconfig riesce ad eseguire tutte le operazioni della TUI e qualcosa in più.

Ad esempio il comando veeamconfig job info –id 4b71efb5-1981-4a90-89e3-b3c16c8913ba produce questo risultato

Backup job
   UUID: {4b71efb5-1981-4a90-89e3-b3c16c8913ba}
   Name: LR Test 01
   Repository UUID: {a30fd8e0-200c-4518-aa41-05d661aed544}
   Repository name: Repository_1
   Creation time: 2016-07-07 17:52:45
   Options:
      Compression: Lz4
      Deduplication: no
      Max Points: 14
   Objects for backup:
   Include All System: 

Dal momento che il software è ancora in beta, è abbastanza prematuro parlare di opzioni che mancano.

Di sicuro mi sento di dire che assieme a NFS e CIFS io avrei aggiunto anche SSH come target di backup.

Dal momento che lo scopo del modulo per Linux è anche quello di salvare server che stanno in giro per Internet, un trasporto via SSH sarebbe stato comodissimo.

Inoltre un trasporto su SSH consente di trasmettere i dati in maniera nativamente cifrata con algoritmi la cui efficacia è oggetto quotidiano di peer review.

Sempre in tema di server in giro per il mondo, un’opzione di restore che parte da un server preinstallato (e ovviamente pialla l’installazione esistente) e non da un’immagine ISO sarebbe gradita, dal momento che non sempre i fornitori di hosting permettono di avviare le macchine con delle immagini ISO arbitrarie.

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

3 pensieri riguardo “Veeam per Linux: Ubuntu”

  1. (disclaimer per tutti, lavoro in Veeam)

    Ciao Luigi,
    grazie mille per l’ottimo articolo, e se per te va bene mi prenderei carico di postare l’idea del backup via ssh sul nostro forum, a me piace molto, grazie della “dritta” 🙂

Spazio per un commento