Server Debian Wheezy convert to RAID1 (mirror) + ext3 to ext4

Ripristino RAID

Il mio vecchio server ha Hardware da desktop, quindi in dotazione ho un semplice controller ATA a 2 canali, sul master primario tengo SDA e sul master secondario SDB sullo slave secondario tengo il lettore DVD.

Per provare il raid spengo il PC e scollego SDA, avviando il PC da SDB ,la macchina parte e al boot vedo subito che mdadm carica le partizioni segnalando la mancanza di un disco, bene funziona ora spegniamo e proviamo l’opposto.

Ora il PC viene avviato con il solo SDA mentre SDB (provato prima) resta scollegato, come prima mi trovo la segnalazione del RAID1 degradato ma il sistema parte, tutto OK.

Controllo nella posta di sistema e vedo che mi manca la mail che mi aspettavo con la segnalazione, controllo /etc/mdadm/mdadm.conf e noto che manca l’indirizzo per segnalare gli alert, allora aggiungo:

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

La stessa cosa si può ottenere con :

#mdadm --monitor --scan --daemonize --mail=root

ecco una segnalazione di errore (una per ogni partizione degradata)

--- Messaggio originale ---
 Oggetto: DegradedArray event on /dev/md2:server
 Da: "mdadm monitoring" <root@server.org>
 A: root@server
 Data: 31-01-2014 13:24

 This is an automatically generated mail message from mdadm
 running on server

 A DegradedArray event had been detected on md device /dev/md2.

 Faithfully yours, etc.

 P.S. The /proc/mdstat file currently contains the following:

 Personalities : [raid1] 
 md4 : active raid1 sda6[2]
       25149312 blocks super 1.2 [2/1] [_U]

 md3 : active raid1 sda5[2]
       12574592 blocks super 1.2 [2/1] [_U]

 md2 : active (auto-read-only) raid1 sda3[2]
       4192192 blocks super 1.2 [2/1] [_U]

 md1 : active raid1 sda2[2]
       6287296 blocks super 1.2 [2/1] [_U]

 md0 : active raid1 sda1[2]
       16768896 blocks super 1.2 [2/1] [_U]

 unused devices: <none>

Ora ricostruiamo il RAID1, In qualsiasi condizione sia avvenuto il guasto (rottura di SDA o SDB), la macchina deve ripartire con il disco ancora buono sul canale master primario (SDA), per essere riconosciuto per primo, mentre sul canale master secondario alloggerà un disco pulito (in questi casi cancello la tabella delle partizioni).

La macchina ora dovrebbe riconoscere i dischi così eseguiamo:

#blkid

si dovrebbe presentare SDA con tutte le sue partizioni (/dev/sdax), mdadm (/dev/mdx) e SDB vuoto, ora copiamo la tabella delle partizioni di SDA su SDB :

# sfdisk -d /dev/hda | sfdisk /dev/hdb

I comandi per ricostruire il RAID ora sono semplici e visto che lo spostare il disco avviando sempre come se fosse SDA rende l’operazione di ricostruzione come se fosse sempre rotto SDB.

Decido di crearmi gli alias dei comandi.

Prestate attenzione alla composizione del RAID indicando le giuste partizioni aiutatevi con
$cat /proc/mdstat
 
alias raid0='mdadm /dev/md0 --add /dev/sdb1'
alias raid1='mdadm /dev/md1 --add /dev/sdb2'
alias raid2='mdadm /dev/md2 --add /dev/sdb3'
alias raid3='mdadm /dev/md3 --add /dev/sdb5'
alias raid4='mdadm /dev/md4 --add /dev/sdb6'

da così:

$ cat /proc/mdstat
 Personalities : [raid1] 
 md4 : active raid1 sda6[2]
       25149312 blocks super 1.2 [2/1] [_U]

 md3 : active raid1 sda5[2]
       12574592 blocks super 1.2 [2/1] [_U]

 md2 : active (auto-read-only) raid1 sda3[2]
       4192192 blocks super 1.2 [2/1] [_U]

 md1 : active raid1 sda2[2]
       6287296 blocks super 1.2 [2/1] [_U]

 md0 : active raid1 sda1[2]
       16768896 blocks super 1.2 [2/1] [_U]

 

dovreste vedere ora la ricotruzione, i DELAYED sono in attesa, aiutatevi con il comando

#watch cat /proc/mdstat

per vedere la ricostruzione il live.

I tempi di ripristino sono legati al volume e alla velocità dei dischi, nel mio caso 80GB hanno impiegato circa 40/45 minuti.

Al termine avremo la condizione:

$ cat /proc/mdstat
 Personalities : [raid1]
 md4 : active raid1 sdb6[3] sda6[2]
 25149312 blocks super 1.2 [2/2] [UU]
md3 : active raid1 sdb5[3] sda5[2]
 12574592 blocks super 1.2 [2/2] [UU]
md2 : active (auto-read-only) raid1 sdb3[3] sda3[2]
 4192192 blocks super 1.2 [2/2] [UU]
md1 : active raid1 sdb2[3] sda2[2]
 6287296 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sdb1[3] sda1[2]
 16768896 blocks super 1.2 [2/2] [UU]

La macchina è tornata a posto !

Non dimentichiamoci del MBR per avere entrambe i dischi bootabili

#dpkg-reconfigure grub-pc

Si potrebbe ottenere la stessa cosa con

#grub-install /dev/sda
#grub-install /dev/sdb

#update-grub

Mi resta ancora una cosa da fare, voglio convertire le partizioni da ext3 a ext4, il RAID1 si ripristina in poco tempo così stacco un disco e mi lancio all’avventura, nel caso trovassi problemi mi basta rimontare il disco appena scollegato per far tornare l server operativo .

Seguiamo la prossima pagina.

4 risposte a “Server Debian Wheezy convert to RAID1 (mirror) + ext3 to ext4”

  1. Cavolo a me Raider da un errore di MBR sull’ sda
    Mi dice MBR/msdos etc…
    Per caso hai mai fatto la stessa cosa usando solamente mdadm?
    Io sto usando SID ora.

  2. Ho fato diverse prove sia su macchina virtuale, che su macchina fisica e con squeeze o wheezy nessun problema.

    Leggendo le note di raider vedo che è stata provata su Debian 5 e 6.

    Sinceramente non so che dirti, magari contatta chi ha creato questo progetto, anche se è da qualche tempo vedo che è fermo.

    PS. ma con Sid che cippa ti frega del raid ? Da come spieghi il tuo problema forse un taumaturgo sarebbe di maggior aiuto.

  3. In che senso “con Sid” del RAID
    Dici per il fatto che sia una postazione Desktop e quindi non ha tutta sta importanza.
    Si apparentemente si però ho degli HDD fermi dove c’era Windogs opportunamente piallati che vorrei riutilizzare per questo tentativo.

  4. Hai letto le note di raider ?
    “Mi dice MBR/msdos etc…” riesci a dare un’output completo e comprensibile?
    “Per caso hai mai fatto la stessa cosa usando solamente mdadm?” cosa vuol dire solamente con mdadm ?

    O riesci a farti capire o non vedo alternative oltre chiudere i commenti.
    Ti ricordo che stai usando Sid, al secolo conosciuta come unstable.

Rispondi