sabato 5 gennaio 2008

Configurazione di dischi USB da caricare al boot

E' spesso molto comodo avere dischi USB (nel mio caso per lo storage dei backup) che si montano al boot automaticamente.

I problemi riscontrati sono stati i seguenti:

  1. un device USB non sempre ottiene lo stesso nome di device; potrebbe cambiare se viene inserito un nuovo dispositivo.
  2. i moduli di gestione dell'USB in genere vengono caricati DOPO l'esecuzione del caricamento dei filesystem.

Per ovviare al primo problema ho creato una etichetta sulla partizione da montare così da poter identificare il dispositivo tramite la LABEL e non il suo device name.
Per ovviare in modo semplice al secondo ho configurato fstab in modo che non carichi automaticamente le partizioni al boot ed ho modificato lo script /etc/rc.local in modo che il montaggio venga fatto appena l'intero sistema è partito.

vediamo in dettaglio le operazioni:
Sistema utilizzato: Ubuntu Feisty Fawn 7.04 AMD-64 server

Precisazione: il sistema descritto prevede che non sia presente interfaccia grafica quale gnome o KDE che implementano sistemi di automount che possono interferire con la procedura


Collegare il disco USB ed accenderlo

elencare i device e le partizioni con il comando:
 sudo fdisk -l

Device Boot Start End Blocks Id System
/dev/sda1 1 60801 488384001 b W95 FAT32

nel caso in esempio il disco USB viene visto come /dev/sda e contiene una partizione FAT32

OK, per prima cosa voglio un filesystem decente!! e scelgo ext3; quindi devo ricreare la partizione e riformattarla

 sudo fdisk /dev/sda

uso prima il comando "d" per eliminare la partizione 1; quindi il comando "n" per crearne una nuova
alla fine con il comando "w" si scrivono effettivamente le modifiche.

ora tocca alla formattazione:

 sudo mkfs -t ext3 /dev/sda1

Quindi creiamo una etichetta per la partizione:

 sudo e2label /dev/sda1 backup

Nell'esempio la partizione sda1 viene nominata backup (perché nel mio caso il disco verrà usato per i backup)

Ora occorre modificare il file /etc/fstab in modo che utilizzi l'etichetta appena creata per riconoscere il dispositivo ed il punto di mount:

 sudo vim /etc/fstab

aggiungere una linea come questa:

 LABEL=backup    /media/backup   ext3    defaults,noauto 0 0

dove "backup" è il nome della etichetta e /media/backup è il punto in cui verrà montata

Adesso creiamo il punto di munt:

sudo mkdir /media/backup

Guardando bene la linea aggiunta in /etc/fstab si nota che sono stati inseriti i parametri "noauto" e "0 0"; questo perché non si vuole che il filesystem venga montato da fstab al boot e non si vuole neanche che fsck lo controlli all'avvio (questo perché in quasi tutti i sistemi tale operazione blocca il boot in quanto la partizione non è ancora visibile per la mancanza dei moduli USB)

Infine si edita il file /etc/rc.local inserendo questa linea alla fine (prima di exit 0)

# monta i filesystem per il backup
/bin/mount /media/backup


Ed il gioco è fatto

Riferimenti: Creating an ext3 File System

Nessun commento: