RAID1 con Slackware 12.0
Indice |
Problema generale
Configurare e installare un RAID1 tra due dischi SATA con Slackware 12.0
Problema specifico
Il comando mkraid è scomparso dalla slack12, in quanto deprecato. Viene soppiantato dal comando mdadm.
Azioni svolte
Letti diversi manuali, HOW-TO, forum eccetera eccetera, la stragrande parte delle quali scritta - superfluo a dirsi - per mkraid; seguiti i vari post di www.frattocchie.it (SEMPRE molto utili).
Soluzione
La procedura suggerita qui non è la strada più breve ma tutto sommato è quella più semplice e seguendola è possibile installare il RAID1 in circa tre quarti d'ora (il tempo ha sempre la sua importanza).
Materiale necessario
Un PC con due HD possibilmente di uguale capacità e certamente funzionanti; i CD di installazione Slackware 12; carta e penna.
Procedura
1) Introdurre il CD n.1 di installazione Slackware 12.0 e effettuare il login come root e avviare il partizionamento del disco 1
# fdisk /dev/sda
- STEP 1.1: Si suppone di voler realizzare 4 partizioni primarie: /- /boot - /swap - /var. nell'esempio che segue si presenta la sequenza di azioni previste per realizzare la prima partizione primaria di 50Mb che verrà utilizzata per /boot.
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-30401, default 1): <CR> Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-30401, default 30401): +50M
- STEP 1.2: La medesima operazione di STEP 1.1 va ripetuta per le altre tre partizioni.
- STEP 1.3: Occorre cambiare l'id del filesystem e scegliere la partizione SWAP. La partizione 2 viene contrassegnata come SWAP e il suo id viene sostituito con 82.
Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 82
- STEP 1.4: Occorre cambiare l'id del filesystem e scegliere il LINUX RAID che consentirà al kernel di riconoscere i dischi contrassegnati per montarli nel RAID.
Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): fd
- STEP 1.5: L'operazione STEP 1.4 deve essere eseguita per le partizioni 1 - 3 - 4 (non per la SWAP).
- STEP 1.6: Al termine del partizionamento digitare.
Command (m for help): p
Device Boot Start End Blocks Id System
/dev/sda1 <START> <END> <BLOCKS> fd Linux raid autodetect
/dev/sda2 <START> <END> <BLOCKS> 82 Linux swap
/dev/sda3 <START> <END> <BLOCKS> fd Linux raid autodetect
/dev/sda4 <START> <END> <BLOCKS> fd Linux raid autodetect
Copiare la tabella che viene riprodotta, compresi i numeri <START>, <END>, <BLOCKS>. Torneranno utili per la partizione del secondo disco e in ogni caso per ripetere la partizione qualora le operazioni non andassero a buon fine.
- STEP 1.7: Conclusa la sostituzione dei tipi di filesystem occorre scrivere la tabella delle partizioni con l'opzione w.
Command (m for help): w The partition table has been altered!
- STEP 1.8: Il primo disco risulta partizionato, occorre ripetere le operazioni per il secondo disco: quindi digitare # fdisk /dev/sdb e ripetere STEP 1.1 - STEP 1.2 - STEP 1.3 - STEP 1.4 - STEP 1.5 utilizzando i dati che si sono copiati nello STEP 1.6, eseguire anche le operazioni STEP 1.7.
2) Creare il RAID1
- STEP 2.1: Digitare nella riga di comando
# mdadm -Cv /dev/md1 -l1 -n2 /dev/sda1 /dev/sdb1
e rispondere "y" alla domanda se si vuole creare il device (il comando appena digitato ha detto: -Cv = crea in modo descrittivo il primo device raid /dev/md1 ---> -l1 = con un livello di RAID 1 ---> -n2 = che utilizza due dischi ---> [nome dei due dischi]).
- STEP 2.2: Ripetere la medesima operazione per la partizione 3 e la partizione 4.
ATTENZIONE alla successione della numerazione, che salta la partizione 2 in quanto è la partizione di SWAP.
/dev/md1 ---> /dev/sda1 /dev/sdb1 /dev/md2 ---> /dev/sda3 /dev/sdb3 /dev/md3 ---> /dev/sda4 /dev/sdb4
- STEP 2.3: Formattare il filesystem del RAID. digitare nella riga di comando
# mke2fs -j /dev/mdN
dove N sta per il numero del device di RAID. ripetere per md1 - md2 - md3.
- STEP 2.4: Formattare il filesystem della partizione SWAP. digitare nella riga di comando
# mkswap /dev/sda2 # mkswap /dev/sdb2
non inseriremo nel RAID le partizioni di SWAP; in questo modo il RAID funzionerà con una SWAP pari a /dev/sda2 + /dev/sdb2. Nel caso uno dei due dischi si degradi, l'altro avrà a disposizione solo la propria SWAP.
- STEP 2.5: Verificare la condizione del RAID. digitare nella riga di comando
# cat /proc/mdstat
comparirà la lista dei 4 devices appena creati; leggendo qualcosa del genere
md1 : active raid1 sdb1[1] sda1[0] <numero> blocks [2/2] [UU]
vuol dire che il RAID è installato attivo e sincronizzato può anche comparire la parola DELAYED ---> il device deve essere ancora sincronizzato. SUGGERIMENTO: attendere che tutti i devices siano sincronizzati prima di eseguire l'installazione della Slackware
3) Installare Slackware 12.0.
- STEP 3.1: Avviare il setup da riga di comando
# setup
- STEP 3.2: Rispondere ok senza modificare nulla nella tabella delle partizioni SWAP.
- STEP 3.3: Installare le partizioni target nel solito modo. invece che l'indicatore dei dischi (p.e. /dev/sda1) comparirà l'indicatore del device RAID (/dev/md1). Operare come al solito fino al termine dell'installazione.
- STEP 3.4: Installazione di LILO: scegliere il modo expert
--> selezionare la prima opzione, per impostare i parametri generali --> modificare le opzioni secondarie che interessano --> MODIFICARE il dispositivo di boot predefinito (/dev/sda) in /dev/md1 (quello dove ora si trova il boot del RAID) --> selezionare l'opzione per la costruzione dell'avvio di LINUX --> MODIFICARE il dispositivo di root scegliendolo tra quelli proposti dalla tabella /dev/md2 --> selezionare l'installazione di LILO
- STEP 3.5: Quando è terminata la configurazione uscire dal programma regolarmente MA NON riavviare il sistema.
4) Installazione di LILO. Con il file di LILO appena costruito e installato non sono stati occupati gli MBR di entrambi i dischi. nel caso si rompesse uno dei due potrebbe essere un problema far ripartire la macchina. PRIMA di riavviare il sistema eseguire una nuova installazione con la seguente procedura.
- STEP 4.1: Montare il device root del RAID. digitare da riga di comando
# mount /dev/md2 /mnt/hd
- STEP 4.2: Editare il file lilo.conf del RAID. digitare da riga di comando
# vi /mnt/hd/etc/lilo.conf
inserire (p.e. dopo la riga boot = /dev/md1) la seguente riga
raid-extra-boot = "/dev/sda,/dev/sdb"
salvare e chiudere vi.
- STEP 4.3: Installare LILO. digitare da riga di comando
# /mnt/hd/sbin/lilo -v -C /mnt/hd/etc/lilo.conf
(stiamo dicendo al sistema di andare ad eseguire lilo che si trova nella partizione montata e di installare il file lilo.conf che si trova nel medesimo device. si poteva fare lo stesso portandosi nella partizione /mnt/hd e digitando #chroot . --> complichiamoci la vita, va')
- STEP 4.4: Riavviare il sistema.
5) Creazione di un nuovo file /etc/mdadm.conf. Il file /etc/mdadm.conf è stato pensato come omologo del file /etc/raidtab. Può essere creato manualmente oppure si può farlo creare da mdadm. Ora che il RAID è funzionante possiamo seguire questa seconda strada.
- STEP 5.1: Duplichiamo il file esistente prima che venga sovrascritto, è sempre utile averlo, anche solo per studiarlo. Digitare nella riga di comando
# cp /etc/mdadm.conf /etc/mdadm.conf.old
- STEP 5.2: Creiamo il nuovo file. Digitare nella riga di comando
# mdadm --detail --scan > /etc/mdadm.conf
nel caso vi fossero problemi in futuro, sarà possibile riavviare un device con il seguente comando
# mdadm -As /dev/mdN (dove N è il numero del device. il comando andrà a leggersi i dati nel file di configurazione: -As ---> assembla e fai lo scan)
Autore: Nemo