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

Nell’articolo precedente avevo mostrato come clonare e ridimensionare le partizioni, ora il mio server girava tranquillo su un nuovo HD che occupava in tutto 80GB.

Questo perchè nel mio parco di HD usati e tutti ATA ho diversi pezzi da 120 e da 80, e dalle prove che avevo fatto con mdadm se lo spazio totale non superava gli 80GB potevo creare un RAID1 con diverse pezzature di dischi.

Ora ero pronto per provare a passare alla configurazione della macchina per migrare da installazione semplice a RAID1 in mirror con 2 dischi, ho letto un po in giro per la rete ma non sono riuscito a portare a termine la migrazione su una macchina virtuale, la guida più interessante era questa , riferita a squeeze e non a wheezy, con alcune operazioni che non andavano e altre a mio parere mancanti.

In mio aiuto è venuto raider, una serie di script in grado di fare il passaggio in modo semplice e indolore:

Raider is a tool to automate linux software raid conversion.
It is able to convert a single linux system disk in to a software raid 1, 4, 5, 6 or 10 system in a two-pass simple command.

una paio di prove per verificare il ripristino in caso di rottura di un disco e poi via con la conversione da ext3 a ext4 delle partizioni.

un po di appunti disordinati.

Creare il RAID

Per prima cosa utilizzo G4L per clonare l’installazione funzionante su un’altro HD, che userè poi per le prove, nel caso qualcosa vada storto posso ripristinare la macchina in poco tempo.

Ora sono pronto per avviare la macchina con SDA (debian) e un disco vuoto SDB , sul mio serverino sta girando wheezy aggiornata con qualcosa da backports come il kernel 3.12, le partizioni sono così :

puppa@server:~$ df -h
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                   16G  9.3G  5.6G  63% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   203M  400K  203M   1% /run
/dev/disk/by-uuid/896663f-5db3-46e5-8830-2a1d5d9ce7f6   16G  9.3G  5.6G  63% /
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   1.2G     0  1.2G   0% /run/shm
/dev/sda2                                                5.8G  863M  4.7G  16% /home
/dev/sda5                                                 12G  2.4G  8.8G  21% /mnt/www
/dev/sda6                                                 24G  6.0G   17G  27% /mnt/data

Comincio con lo scaricare raider :
Download  latest version
(0.13.2)

Prima di installare raider verificate che sulla macchina siano presenti

1  - mdadm package =>2.6
2  - parted package =>2.0
3  - bash =>3.0
4  - kernel =>2.6.18
5  - sfdisk
6  - hdparm
7  - rsync
8  - bc
9  - wget

l’installazione dopo averlo scompattato è molto semplice :

# ./install.sh

adesso prima di trasformare SDB in sistema con RAID1 porto il sistema al minimo delle funzioni in runlevel 1/single mode , essendo un server disattivo tutti i servizi e i processi inutili

#telinit 1

ora avvio la generazione del RAID1 inserendo l’ozione -s con cui indico che anche la partizione di swap sarà nel RAID1 altrimenti verranno montate le 2 partizioni di swap (sdax+sdbx)

#raider -s -R1

Le opzioni possibili sono diverse, per maggiori informazioni leggete : http://raider.sourceforge.net/readme.txt.

Ora occorre pazientare, l’operazione chiede tanto tempo quanto è il volume da clonare, al termine dovremmo trovarci SDB con l’intero sistema clonato in grado di avviarsi come RAID1 degradato.

Spegniamo la macchina e invertiamo i dischi, SDA diventerà SDB e viceversa, ora possiamo riavviare.

Per sicurezza riporto il sistema a runlevel 1/single mode :

#telinit 1

ora siamo pronti per aggiungere al RAID1 il disco mancante:

#raider –run

al termine il server sarà così :

puppa@server:~$ 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]

il nostro RAID1 in mirror è attivo e funzionante.

Per sicurezza verifico che l’MBR sia operativo in entrambe i dischi:

#dpkg-reconfigure grub-pc

suk48

questa opzione non è indispensabile, sto indagando….

suk49

lasciare “quiet

suk45

Spuntare i dischi SDA e SDB

Volendo è possibile aggiornare l’initramfs:

#update-initramfs -u -k all

eventuali errori con vecchi kernel vanno risolti rimuovendo i vecchi kernel in /var/lib/initramfs-tools/

  • NOTA

Con Squeeze ho avuto problemi avviando da SDB, ho risolto decommentando nel file /etc/default/grub la linea:

GRUB_TERMINAL=console

seguito da:

#update-grub

🙂

ora possiamo passare al crash di un disco alla pagina successiva

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