last update: 18/ april / 2002

GNU/Linux e autoloader: un' avventura

tape

Dopo una piacevole avventura con un file server GNU/Linux :-) abbiamo deciso di upgradare il sistema che era divenuto un poco stretto per le nostre necessita`. Abbiamo incontrato non poche difficoltà a gestire il backup; così ho deciso di evitare ad altri una simile avventura spiegando come siamo arrivati alla fine dei nostri guai.

Viste le nostre necessita` e cio` che offriva il mercato, si e` deciso l'acquisto di un server IBM Netfinity 5000, con controller SCSI Hot-Swap e 4 dischi da 36Gb riuniti in un disco logico da 80Gb. La scelta e` stata motivata da una dichiarata conformita` a GNU/Linux da parte di IBM.

Si prevedeva di dover eseguire il backup di almeno 30Gb di dati e quindi abbiamo acquistato un autoloader (previsto come opzione dalla IBM). Tale autoloader è un unità a nastro che al posto del nastro accetta un apposito contenitore ('magazine') dotato di guide per ospitare 6 nastri da 20Gb (40Gb compressi) per un totale max di 240Gb di backup. I nastri vengono posizionati sulla testina dalla meccanica dell'unità. Il singolo nastro si intende 'caricato' solo quando viene portato in posizione di lettura/scrittura.

Sul suddetto server è stata installata una distribuzione Red Hat 6.2 (per mere ragioni di competenza del sottoscritto come illustrato anche in un altro articolo sul backup).

L'unita` e` stata riconosciuta senza difficolta` ;-) dal sistema; scorrendo i messaggi di avvio del pc, infatti, si scopre che essa viene identificata come Seagate DAT 06241-xxx, ed indirizzata tramite un device /dev/st0 che, per comodita`, e` stato linkato con un nome piu` significativo tramite il comando seguente:

ln -s /etc/st0 /etc/tape

Abbiamo, quindi, caricato un magazine di nastri e poi un nastro (tramite i comandi sul pannello frontale) ed eseguito una copia di test sul dispositivo /dev/tape con il comando

tar -cvf /dev/tape testfile

Il tutto ha funzionato alla perfezione e ci siamo ritrovati un backup del file testfile a velocita` record.

Nasceva quindi la necessita` di sfruttare l'autoloader per il caricamento automatico dei nastri ed il cambio degli stessi. Dopo molte ricerche in internet ho scoperto (da un newsgroup) l'esistenza del programma mtx (rif. mtx.sourceforge.net ). Questo programma viene definito come "tape changer control program" ovvero un programma in grado di gestire la parte robotica di un autoloader. Infatti leggendo attentamente il file Faq che accompagna i sorgenti di tale commando si comprende che una unita` autoloader e` composta di due devices:

  1. l'unita` di backup
  2. il meccanismo di loading

le due unita` vengono interpretate come dispositivi di tipologia differente uno sequenziale e uno a blocchi e devono venire associate a due differenti device.

Il problema era che il kernel individuava solo il device per il backup in automatico; infatti dando un comando:

cat /proc/scsi/scsi

l'output risultante non mostrava nessuna unità "Media changer" o similari.

La risposta ancora una volta nel Faq: il controller scsi installato nel server ha uno SCSI ID unico ma 2 LUN's (logical units) differenti. Per risolvere il problema bisogna ricompilare il kernel o aggiungere la seguente linea al file /etc/lilo.conf : append="max_scsi_luns=2"

Eseguire poi: /sbin/lilo e riavviare il pc.

Vi assicuro che a tale punto l'unita` e` stata individuata immediatamente dal sistema (come device /dev/sge). Come suggerito dalle istruzioni di mtx il device e` stato linkato ad un nome che viene individuato come dispositivo di default dal comando:

ln -s /dev/sge /dev/changer

Il comando mtx permette il caricamento dei nastri con comandi tipo

mtx load n (ove n e` il numero del nastro)

o di scaricare il magazine completo con

mtx eject

 

Per automatizzare le procedure di backup ho quindi modificato degli script che ho preso dal "Backup how-to", e che sono disponibili al link seguente:

backupfunctions.tar.gz

Spero di essere stato esauriente e di avere evitato a qualcuno la fatica da noi compiuta per far funzionare il tutto. Scrivetemi pure per segnalare errori o richiedere aiuto:

di Rudi Giacomini Pilon


articoli