<- SL: Postfix - Copertina - SL: Protocolli ->

Sistemi Liberi


GNU/Linux e il backup: Un caso reale

a cura di Rudi Giacomini Pilon


L'articolo...

La cronaca di un'installazione di un'unita di backup IDE su un server Linux con evidenziati alcuni trabocchetti incontrati nel percorso

Quella che segue è la cronaca del percorso seguito per installare un'unità di backup su un server GNU/Linux.
L'intento era quello di dotare gli utenti di un file server non-NT e di fornire un servizio di backup.

Questo è il primo file server GNU/Linux introdotto nell'azienda, e la scelta della distribuzione è caduta sulla distribuzione Red Hat solo per ragioni di esperienza personale.
La scelta dell'unità di backup è stata un po' atipica, in quanto non è stata il risultato di un analisi tecnica, quanto piuttosto dettata da ragioni di costo: abbiamo recuperato un'unità che aveva un'altra destinazione iniziale d'uso. In parole povere mi sono trovato a disposizione un'unità HP Colorado 14G IDE interna da "riciclare".
Altra premessa fondamentale è che il sottoscritto usa Linux, come utente, da 3 anni circa, ma ha sempre amministrato reti NT (con tutti i problemi del caso). Molte cose che andrò a spiegare sono forse scontate per un professionista, ma sono un esempio di come un neofita può comunque affrontare un problema e risolverlo.

L'installazione del sistema operativo è stata "custom". Per scelta, infatti, sono stati esclusi i pacchetti dei giochi e di altre amenità ritenute superflue per le funzioni scelte per il server. Non ho eseguito l'installazione con la modalità che Red Hat definisce "server" perchè volevo avere il controllo della situazione, ovvero dei pacchetti installati.
Dopo l'installazione ho verificato che, al boot, l'unità di backup venisse rilevata dal sistema come hdd (tale indicazione compare fra i messaggi mostrati all'avvio del sistema). L'unità è infatti collegata come disco slave sul secondo controller IDE, e quindi l'identificazione era corretta. A questo punto non ero assolutamente al corrente di cosa fare per effettuare un backup.
Da alcuni articoli letti sulla Linux Gazette (http://www.linuxgazette.com) ricordavo che era sufficiente esguire un comando tar con destinazione il dispositivo che rappresenta l'unità a nastro. Mi sembra superfluo dire che qualcosa del tipo

	tar -cvf nomefile /dev/hdd

non ha funzionato.

A questo punto il sottoscritto ha scaricato da internet il file BACKUP HOW-TO; male interpretando le istruzioni contenute, ho confuso la mia unità IDE con un'unità floppy (ovvero una di quellle unità di backup che si collegano in cascata al floppy disk).
Dopo vari tentativi per l'installazione del modulo ftape, (ovvero il driver per le unità floppy-tape), è giunta l'illuminazione: dopo un ennesimo stupido tentativo di scrittura su /dev/hdd ho eseguito un comando lsmod per vedere se il modulo ftape venisse caricato in memoria. Al suo posto trovavo un ide-tape caricato automaticamente.

Nuova ricerca e nuove informazioni: l'errore da me commesso era evidente, non avevo a che fare con un floppy tape ma con un ide tape.
Una nota in calce alla lista delle unità di backup supportate su www.redhat.com recitava quanto segue:
Make sure you load the ide-tape.o module... the tape drive will then likely appear as /dev/ht0. Do a "ln -s /dev/ht0 /dev/tape"...
Ovvero: "Verificate di aver caricato il modulo ide-tape... l'unità a nastro a quel punto sarà identificata come /dev/ht0. Eseguite il comando ln -s /dev/ht0 /dev/tape ...." Dopo aver creato il link soprariportato vi assicuro che l'operazione:

	tar -cvf nomefile /dev/tape

ha fatto il suo dovere.

Per le operazioni di backup è stato poi creato uno script (copiato di sana pianta dal "Backup how-to"), nel quale è necessario configurare le righe seguenti:
EMAILTO=<nomeutente@dominio> ovvero il destinatario degli avvisi
DESTFILE="/dev/tape" ovvero il device dell'unità
BACKUPFILES="/root /etc /home" directory di cui eseguire il backup
In tale script sono previsti 2 livelli di backup (0 o 1) da passare come parametro allo script stesso: il livello 0 esegue un backup completo, il livello uno esegue un backup incrementale.
Lo script è stato salvato in /usr/local/bin col nome backup.sh (come suggerito dall'how-to).

Dopo questo è stato "sufficiente" :-) schedulare le operazioni di backup con cron:
Cron (per i pochi che non lo sanno... tra cui il sottoscritto :-) ) è un comando atto a schedulare dei processi/comandi che vengono eseguiti in background.
Ovviamente conviene che i processi schedulati non richiedano interattività da parte dell'operatore, altrimenti si rischia di ritrovarsi una serie di richieste di conferma in attesa del nostro ritorno dalle ferie.

A questo punto per avere un server funzionante era sufficiente configurare samba, gli utenti, creare le directory condivise e poco altro...



L'autore

Rudi Giacomini Pilon, programmatore dall'età di 14 anni, ex progettista elettronico, ex hardwarista e sistemista presso un Microsoft Solution Provider, ex esperto di reti e programmatore in una concessionaria IBM, incontra Linux nel 1994 e da allora vede pinguini ovunque. Dal 1999 è responsabile EDP in una SpA ove affronta l'informatica a 538 gradi (360 erano pochi).


<- SL: Postfix - Copertina - SL: Protocolli ->