Ubuntu 7.10 server in raid software, test in virtualbox e vmware



Installazione di un server LAMP con ubuntu 7.10 server in RAID software

Ogni volta che mettiamo a punto un sistema server, sorge subito la necessità di salvare tutto e renderlo ridondante per evitare anomalie o semplicemente per evitare che il nostro duro lavoro sia reso vano per esempio da una rottura del disco fisico. In pratica se disponessimo di hardware con tecnologia RAID potremmo vedere due o più dischi come uno solo e su questo gestire il nostro sistema operativo.

Un sistema efficace quanto basta è quello di usare due dischi configurati in RAID 1 dove ognuno è la copia dell’altro, ovvero se uno dei due fallisce, basta aggiungerne uno nuovo di dimensioni uguali o maggiori (le partizioni devono essere uguali) e riassegnarlo con pochi comandi al sistema RAID e ritornare così in produzione. Su ognuno dei due dischi il filesystem è visibile se vi accediamo per esempio da un LiveCD.

La sperimentazione, perché di questo si tratta, l’ho provata in VirtualBox e VMware server, optando per la seconda a causa della lentezza del primo per non so quale motivo. D’altronde il mio misero portatile è limitato e forse il mirror dei dischi viene gestito meglio nel formato del disco vmdk (vmware) piuttosto che in quello vdi (virtualbox).

E’ importante considerare che a fine lavoro la nostra macchina virtuale occuperà 4 (QUATTRO) volte la dimensione effettiva del raid. In pratica se il server occuperà 600 Mb, ci ritroveremo con 2,4 Gb di spazio occupato (due dischi vmdk da 1,2 Gb).
E’ superfluo dire che il procedimento nel sistema virtuale è identico se ci trovassimo davanti a due dischi veri. Il partizionamento dei dischi si può fare durante l’installazione con il comando fdisk passando a un’altra console con alt+F2 e preparando la partizione per il RAID di tipo “fd” (Linux raid autodetect), come si vede di seguito:

$ sudo fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0000a86c

Device Boot Start End Blocks Id System
/dev/sda1 1 122 979933+ 82 Linux swap / Solaris
/dev/sda2 * 123 1566 11598930 fd Linux raid autodetect

Disk /dev/sdb: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdb1 1 122 979933+ 82 Linux swap / Solaris
/dev/sdb2 * 123 1566 11598930 fd Linux raid autodetect

Disk /dev/md0: 11.8 GB, 11868962816 bytes
2 heads, 4 sectors/track, 2897696 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

In pratica le due partizioni identiche sda2 e sdb2 sono visibili come /dev/md0 e su questo verrà installato ubuntu server.

Le immagini sottostanti invece si riferiscono all’installazione del server su virtualbox e vmware nella modalità “preconfezionata”:

Anche durante l’installazione potremo vedere lo stato del mirroring dei dischi con il comando cat /proc/mdstat e una volta finita, avremo più o meno questo risultato:

$ cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]

md0 : active raid1 sda2[0] sdb2[1]

      11590784 blocks [2/2] [UU]

unused devices: none

mentre questo è il file /etc/fstab.

Quindi saremmo quasi a posto, ma va considerata l’installazione di Grub su entrambi i dischi, mentre dopo vedremo come intervenire per “sostituire” il disco guasto. Su questo sito troveremo informazioni chiare su RAID e Grub, in pratica potremo usare grub da riga comando:

grub> root (hd0,1)
grub> setup (hd0)

grub> root (hd1,1)
grub> setup (hd1)

Se poi volessimo effettuare il boot da un disco o dall’altro, potremo creare due label separate come si vede da queste immagini:



E’ opportuno per avere prestazioni “dignitose”, separare i due dischi vmdk in partizioni o dischi diversi, per non appesantire la scrittura (quadrupla?) sul disco, mentre nel RAID 1 vero è logico e auspicabile che le partizioni risiedano su hard disk diversi😉

Ripristino

In VMware possiamo simulare la rottura del disco, semplicemente rimuovendolo dalla configurazione e agganciarne uno vuoto di identiche proporzioni. A questo punto effettueremo il boot con l’immagine ISO o con il CD di ubuntu-server scegliendo Rescue a broken sistem (Ripristina un sistema danneggiato) e una volta in console usiamo il comando sfdisk per copiare la tavola delle partizioni da un disco all’altro (MI RACCOMANDO: DA QUELLO BUONO!!!):

# sfdisk -d /dev/sda | sfdisk /dev/sdb

così sarà sufficiente aggiungere la partizione sdb2 al RAID (md0) con:

# mdadm  /dev/md0 - -add /dev/sdb2  (due trattini)

Verifichiamo con cat /proc/mdstat che il RAID sia in mirroring (resync), installiamo GRUB (vedi sopra) e riavviamo. All’inizio ci sarà attività e rallentamento fino a quando tutto il disco non sia stato “copiato”.

Come dicevo all’inizio la prova con virtualbox non l’ho portata a termine per la lentezza del sistema virtuale con i due dischi vdi, se invece potete smentirla vi invito a farmelo sapere. In fondo anche se vmware è un ottimo prodotto, rimane il fatto che il software libero possa essere uguale o migliore.

Enjoy🙂





Info Antonio Doldo
www.toolinux.it - www.virtualboxes.org - adoldo.wordpress.com - Linux user & Android fan

14 Responses to Ubuntu 7.10 server in raid software, test in virtualbox e vmware

  1. matteo scrive:

    Complimenti per l’articolo, veramente interessante.
    Non sapevo che su un portatile si possono installare 2 hard disk, ora che lo so porto il mio acer aspire 5633wlmi all’assistenza e chiedo di montarne un altro.

    Ti chiedevo, ora ho 1 hd da 160 gb, che pero ha una partizione bloccata da acer per il ripristino, 1 con winxp e 1 dati, per provare quello che hai fatto tu basta che installo la virtual machine su xp e poi procedo come da te descritto?

  2. Antonio Doldo scrive:

    @matteo
    scusa, ma forse non sono stato chiaro. I due hard disk sono virtuali, cioè sono due files di 1,2 Gb ciascuno (Ubuntu server raid.vmdk – Ubuntu server raid-1.vmdk) che risiedono in una cartella relativa alla macchina virtuale che ho usato, il portatile ha un solo disco fisico. Il tutto viene visto da VMware come un vero server, con due hard disk e su questi si può installare ubuntu in RAID. L’installazione può essere effettuata, spazio permettendo, in qualunque cartella, sia Linux che Windows😉
    Ciao e grazie dei complimenti,
    Antonio

  3. mkoala scrive:

    Ciao Bell’articolo, una questione (reale) se uno dei dischi muore, che tu sappia esiste un modo per cui linux comunichi via mail o altro modo che gli si e’ rotto un disco? Giusto per evitare di accorgersi un giorno che si sono rotti tutti e due i dischi… (:-P.

    Saluti mAx

  4. Antonio Doldo scrive:

    @mkoala
    grazie dei complimenti…🙂
    esiste già una configurazione prevista nel file /etc/mdadm.conf
    un bell’esempio si trova su:
    http://man-wiki.net/index.php/5:mdadm.conf

    credo sia sufficiente sostituire
    MAILADDR utente@miodominio

    Ciao,
    Antonio

  5. Giuseppe scrive:

    Ciao,
    Un bell’articolo, peccato che Ubuntu 7.10 abbia un fastidioso bug sulla gestione dell’avvio con un sistema raid1.

    In caso che uno dei due dischi muoia, il sistema non riesce piu’ a fare il boot dall’altro disco e il sistema diviene inutilizzabile finche’ non si ripristina il raid con due dischi.

    Sai niente se e’ uscito un fix per questo bug?

    Ciao
    Giuseppe

  6. Antonio Doldo scrive:

    @Giuseppe
    non so molto su questo bug, potresti essere più preciso? Nelle prove che ho fatto “staccando” il disco virtuale mi sembra che il boot avveniva, ma non ci giurerei poiché in effetti il disco vuoto lo collegavo subito, però controllerò.
    Grazie della segnalazione,
    Antonio

  7. Fulvio scrive:

    Mi intrometto visto che l’argomento e’ interessante e confermo che con ubuntu 7.10 e raid 1 se si stacca uno qualunque dei due dischi (solo per simulare una rottura) il sistema non riesce piu’ a fare il boot. Speriamo di trovare soluzione😉

  8. Antonio Doldo scrive:

    @Fulvio
    in effetti ho provato anch’io e il boot rimane “incantato” anche con acpi=off o in single mode. Il contenuto del disco è invece accessibile, e non potrebbe essere altrimenti.
    Grazie, Antonio

  9. Antonio Doldo scrive:

    @tutti
    sembra ci siano dei fix o workaround al problema del boot con un solo disco, la descrizione dettagliata è su:
    https://bugs.launchpad.net/ubuntu/+bug/157648
    https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/120375
    http://launchpadlibrarian.net/8884059/failed-raid.patch
    Appena avro’ tempo (leggasi periodaccio) lo proverò…
    Antonio

  10. Pingback: Ubuntu 7.10 - post riassuntivo | FDS

  11. Pingback: Ubuntu 8.04 - post riassuntivo | FDS

  12. trader scrive:

    Sk madre gigabyte GA-7dxr+ con controller raid integrato promise 20276 , ubuntu mi vede i dischi in raid 1 formattati ntfs che uso x salvare i dati come indipendenti😦 . con windows xp bisogna caricare un driver x usare il raid ma x ubuntu nn c’è come posso fare ?

  13. Antonio Doldo scrive:

    @trader
    Per quanto ne so non è possibile di vedere il raid di windows come disco unico, infatti in linux il filesystem viene visto secondo i parametri di fdisk e quello che c’è in /etc/fstab, per cui i tuoi dischi hanno la partizione ntfs e il device del raid in linux /dev/md0 si aspettebbe di trovare la partizione fd (Linux raid autodetect)
    In questo caso dovresti evitare la scrittura su entrambi i dischi per non incontrare inconsistenze.
    Ciao,
    Antonio

  14. Pingback: Ubuntu - Ottimizzazioni, modifiche per il post installazione e software consigliati | FDS

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: