Creazione di un raid software livello 5 con Debian o Ubuntu

Nella gestione dei dati una delle tecniche migliori da utilizzare è sicuramente il RAID, in particolare tra tutti i livelli disponibili per questa tecnologia, quello che offre il miglior rapporto tra prestazioni, uso disco e ridondanza è sicuramente il livello 5. Esistono 3 tipologie di RAID a livello implementativo

  • RAID hardware: disponibile sui server di fascia alta, è quello che offre forse le migliori performance in quanto le operazioni vengono eseguite tutte dal controller in maniera completamente trasparente, ma ha sicuramente i costi più elevati. Inoltre utilizzando questa tipologia di raid i dati sono legati al controller utilizzato e non possono essere utilizzati ad esempio in un’altra macchina senza che si utilizzi lo stesso controlloer
  • FAKERAID: ovvero RAID hardware a basso costo. Questa è la tecnologia che viene usata sui controller di fascia bassa oppure implementata nelle motherboard dei computer desktop. Questa tecnologia viene chiamata fakeraid in quanto non è un RAID vero e proprio ma una parte dell’implementazione e della computazione viene lasciata alla CPU e l’interfacciamento con i dati avviene tramite un driver. Qui le performance sono decisamente più basse e rimane il problema del trasporto dei dati da un sistema all’altro. Inoltre non è detto che il driver di questi controller sia disponibile per tutti i sistemi operativi.
  • RAID software: quello di cui discuteremo qui. Il maggiore vantaggio di questa tecnologia è il controllo assoluto sui propri dati, si possono aggiungere e rimuovere dispositivi a piacere e soprattutto si possono trasferire da una macchina all’altra. Inoltre è possibile eseguire le operazioni di manutenzione a sistema attivo, cosa che non è possibile negli altri due casi in cui è richiesto un reboot.

Per questo tutorial utilizzerò una macchina virtuale in modo da poter aggiungere dischi a piacimento e simulare la rottura di un disco rimuovendolo dalla macchina virtuale. Il sistema operativo di questa macchina virtuale è Ubuntu 9.10, ma i comandi ed i pacchetti utilizzati sono gli stessi che si utilizzerebbero su Debian. L’unico pacchetto che va installato per poter creare e manipolare array di dischi è il pacchetto mdadm che mette a disposizione l’omonimo comando.

Per creare un array di dischi a utilizzando il RAID5 sono necessari almeno 3 dischi/partizioni della stessa dimensione. Degli N dischi utilizzati uno di essi è utilizzato come codice di controllo in maniera circolare, per cui lo spazio effettivo a disposizione nell’array risultante sarà pari ad (n-1) * disksize. Il livello di fault tolerance offerto da questa soluzione è di un disco, ovvero il sistema rimane in funzione ed i dati rimangono integri se si danneggia fino ad un disco, in caso di rottura di più di un disco contemporaneamente i dati sono irrimediabilmente persi. Se si hanno più dischi a disposizione si può configurare uno di essi come spare disk, ovvero come disco di emergenza. Nel caso di rottura di un disco esso verrà rimpiazzato automaticamente dal disco di riserva ottenendo quindi una fault tolerance pari a 2 dischi.

Nella macchina virtuale di esempio verranno utilizzati 3 dischi da 3GB per la configurazione iniziale che porteranno quindi ad un array di dimensione 6GB.

Creazione delle partizioni

Una volta aggiunti i dischi alla macchina virtuale essi appaiono come dispositivi vuoti, quindi come prima cosa vanno partizionati per poter essere utilizzati come membri di array. Il tipo di partizione per il RAID è fd, per cui utilizzando fdisk la sequenza di comandi da utilizzare per ognuno dei 3 dischi è la seguente:

root@fabio-laptop-ubuntu:/# fdisk /dev/sdb
Il dispositivo non contiene né una tabella delle partizioni DOS valida, né una disklabel Sun, SGI od OSF
Building a new DOS disklabel with disk identifier 0xd90f450c.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Attenzione: il flag 0x0000 non valido della tabella delle partizioni 4 verrà corretto con w(rite)

Comando (m per richiamare la guida): n
Azione comando
   e   estesa
   p   partizione primaria (1-4)
p
Numero della partizione (1-4): 1
Primo cilindro (1-391, predefinito 1):
Utilizzo del valore predefinito 1
Last cilindro, +cilindri or +size{K,M,G} (1-391, predefinito 391):
Utilizzo del valore predefinito 391

Comando (m per richiamare la guida): t
Partizione selezionata 1
Codice esadecimale (digitare L per elencare i codici): fd
Modificato il tipo di sistema della partizione 1 in fd (Autorilevamento raid di Linux)

Comando (m per richiamare la guida): w
La tabella delle partizioni è stata alterata!

Chiamata di ioctl() per rileggere la tabella delle partizioni.
Sincronizzazione dei dischi in corso.

Il procedimento va ripetuto per tutti e tre i dischi in modo da prepararli per la costruzione dell’array. Una volta create le partizioni dopo aver creato le partizioni per tutti i dischi interessati si dovrebbe avere questo output digitando il comando fdisk -l

Disco /dev/sdb: 3221 MB, 3221225472 byte
255 testine, 63 settori/tracce, 391 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0x00000000

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         391     3140676   fd  Autorilevamento raid di Linux

Disco /dev/sdc: 3221 MB, 3221225472 byte
255 testine, 63 settori/tracce, 391 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0xd90f450c

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         391     3140676   fd  Autorilevamento raid di Linux

Disco /dev/sdd: 3221 MB, 3221225472 byte
255 testine, 63 settori/tracce, 391 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0x171338f5

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         391     3140676   fd  Autorilevamento raid di Linux

Creazione dell’array

Come accennato in precedenza tutte le operazioni vengono eseguite con il comando mdadm. Per vedere le opzioni a disposizione vedere la relativa pagina di manuale, in ogni caso per creare il volume è sufficiente eseguire il comando

root@fabio-laptop-ubuntu:/# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 3140608K
mdadm: array /dev/md0 started.

In questo modo si è creato ed avviato il device /dev/md0 che può essere utilizzato come una normale partizione in modo del tutto trasparente. Per controllare che il device sia stato utilizzato correttamente basta eseguire

root@fabio-laptop-ubuntu:/# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd1[2] sdc1[1] sdb1[0]
      6281216 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>

Se l’array è stato creato correttamente siamo a posto, ma dobbiamo fare in modo che esso venga avviato all’avvio del sistema operativo. Per fare ciò dobbiamo editare (o creare) il file mdadm.conf che normalmente dovrebbe trovarsi in /etc, ma in Ubuntu si trova in /etc/mdadm/mdadm.conf. Per i dettagli relativi a tale file consultare la pagina di manuale relativa (ovvero mdadm.conf). In ogni caso l’opzione che va inserita per caricare all’avvio l’array appena creato è ARRAY. Per ottenere automaticamente il contenuto di tale opzione è sufficiente eseguire il comando

root@fabio-laptop-ubuntu:/# mdadm --examine --scan
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=c5a20602:9985ece9:11a1047a:ce03a3ef

L’output generato da tale comando è la linea che dobbiamo inserire nel file di configurazione. Un’altra opzione utile da considerare in tale file è MAILADDR ovvero l’indirizzo di posta a cui il demone mdadm invierà le email per segnalare eventuali anomalie nel sistema. Su Ubuntu/Debian il programma mdadm viene avviato automaticamente all’avvio del sistema, su altre distribuzioni potrebbe essere necessario aggiungere uno script in init.d a tale scopo. Infine un’ultima opzione che consiglio di lasciare al valore di default è DEVICE. Questa opzione indica a mdadm in quali device deve ricercare partizioni di tipo fd. Il valore di default è partitions, ovvero tutte le partizioni elencate in /proc/partitions. Utilizzando questo valore invece che la lista esplicita delle partizioni di tipo RAID non si rischia di dimenticare nessuna partizione che potrebbe contenere una parte di array.

Finito di editare il file mdadm.conf riavviamo il sistema e controlliamo al riavvio attraverso il file /proc/mdstat che l’array sia stato inizializzato correttamente (ovvero che si abbia lo stesso output avuto in precedenza).

Se tutto è andato a buon fine si può cominciare ad utilizzare il device creando un filesystem su di esso. Ad esempio per creare un filesystem di tipo ext3 con il seguente comando

root@fabio-laptop-ubuntu:/home/fabio# mkfs.ext3 /dev/md0
mke2fs 1.41.9 (22-Aug-2009)
Etichetta del filesystem=
Tipo SO: Linux
Dimensione blocco=4096 (log=2)
Dimensione frammento=4096 (log=2)
393216 inode, 1570304 blocchi
78515 blocchi (5.00%) riservati per l'utente root
Primo blocco dati=0
Maximum filesystem blocks=1610612736
48 gruppi di blocchi
32768 blocchi per gruppo, 32768 frammenti per gruppo
8192 inode per gruppo
Backup del superblocco salvati nei blocchi:
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Scrittura delle tavole degli inode: fatto
Creating journal (32768 blocks): fatto
Scrittura delle informazioni dei superblocchi e dell'accounting del filesystem: fatto

Questo filesystem verrà automaticamente controllato ogni 25 mount, o
180 giorni, a seconda di quale venga prima. Usare tune2fs -c o -i per cambiare.

Fault tolerance in RAID5

Vediamo ora cosa succede disconnettendo un disco dalla macchina virtuale, simulando così la rottura di un disco. Per verificare l’integrità dei dati nella partizione costruita sul RAID ho creato alcuni files dal contenuto casuale (con il comando dd if=/dev/urandom of=testfile bs=1MB count=100) e ne ho salvato l’md5 in un file di testo.

Spegnendo la macchina virtuale ed eliminando un disco al successivo riavvio l’array non verra’ montato e, se configurata la variabile MAILADDR in mdadm.conf ci arriverà un messaggio di posta che ci avvisa che l’array è degradato. Sarà comunque possibile avviare l’array utilizzando il seguente comando ed i verificare che i dati sono integri e disponibili

root@fabio-laptop-ubuntu:/mnt/raid# mdadm -As
mdadm: /dev/md0 has been started with 2 drives (out of 3).
root@fabio-laptop-ubuntu:/mnt/raid# mount /mnt/raid
root@fabio-laptop-ubuntu:/mnt/raid# md5sum -c md5
testfile: OK
testfile1: OK
testfile2: OK
testfile3: OK

Chiaramente questo è molto pericoloso in quanto se si dovesse rovinare un altro disco sarebbe tutto irrimediabilmente perso (ed inoltre le performance sono ridotte all’osso in quanto i dati del disco mancante sono calcolati a partire dagli altri 2). Per cui il passo successivo è quello di rimpiazzare al più presto il disco mancante e ricostruire l’array. Inserendo un nuovo disco per sostituire il precedente e partizionandolo come in precedenza (quindi sempre come /dev/sdd1), sarà sufficiente eseguire il seguente comando per ricostruire l’array e tornare operativi e coperti da eventuali ulteriori guasti:

root@fabio-laptop-ubuntu:/mnt/raid# mdadm /dev/md0 --add /dev/sdd1
mdadm: added /dev/sdd1

A questo punto l’array verrà ricostruito automaticamente come si può verificare con il comando

root@fabio-laptop-ubuntu:/mnt/raid# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd1[3] sdb1[0] sdc1[1]
      6281216 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
      [>....................]  recovery =  4.9% (154624/3140608) finish=2.2min speed=22089K/sec

unused devices: <none>

Aggiunta di un nuovo disco all’array

Nello stesso modo in cui si sostituisce un disco/partizione che ha fallito è possibile aggiungere un nuovo device all’array nel caso in cui fossimo a corto di spazio. Per cui una volta inserito il nuovo disco nella macchina si può aggiungere all’array con il comando

root@fabio-laptop-ubuntu:/mnt/raid# mdadm /dev/md0 --add /dev/sde1
mdadm: added /dev/sde1

In questo modo si è aggiunto il disco all’array ma allo stato attuale delle cose il nuovo disco viene considerato come disco di spare, ovvero come disco di emergenza da usare in caso di fallimento di un altro disco. Per aggiungere questo dispositivo allo spazio effettivamente disponibile bisogna utilizzare un altro comando con il quale si ingrandisce l’array.

root@fabio-laptop-ubuntu:/mnt/raid# mdadm --grow /dev/md0 --raid-devices=4
mdadm: Need to backup 384K of critical section..
mdadm: ... critical section passed.

Anche qui si può controllare lo stato della ricostruzione dell’array con il comando

root@fabio-laptop-ubuntu:/mnt/raid# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sde1[3] sdb1[0] sdd1[2] sdc1[1]
      6281216 blocks super 0.91 level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      [>....................]  reshape =  2.5% (79680/3140608) finish=3.8min speed=13280K/sec

unused devices: <none>

Dopo che si è aggiunto il disco però è necessario un altro passo, ovvero l’estensione del filesystem, altrimenti non otterremmo nessun beneficio nell’aver aggiunto ulteriore spazio. Nel caso di ext3 questa operazione può essere eseguita al volo con il comando

root@fabio-laptop-ubuntu:/mnt/raid# resize2fs /dev/md0
resize2fs 1.41.9 (22-Aug-2009)
Filesystem at /dev/md0 is mounted on /mnt/raid; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/md0 to 2355456 (4k) blocks.
The filesystem on /dev/md0 is now 2355456 blocks long.
You can leave a response, or trackback from your own site.
  • Paolo

    Grande ! Questo articolo mi è stato d’aiuto perchè ho visto che in rete si trova poco quando si parla di raid in linux.
    In particolar modo ero riuscito a impostare il tutto, però al riavvio il sistema mi dava errori, come se non esistesse più /dev/md0.
    E nell’articolo ho trovato la risposta: bisogna editare /etc/mdadm/mdadm.conf per far avviare l’array all’avvio del sistema operativo

  • fabio

    Sono contento che ti sia stato di aiuto :-)

  • Paolo

    Ho un’altra domanda: se in fase d’installazione non aggiungo la riga in /etc/mdadm.conf con i dati dell’array appena creato, e riavvio il computer, al riavvio non riconosce oppure non avvia l’array (dice che /dev/md0 non esiste).
    A questo punto come si può fare per evitare di reinstallare tutto?

  • fabio

    Se non lo editi in fase di installazione, puoi sempre editarlo dopo con un qualsiasi editor di testo agendo come root, senza la necessità di reinstallare tutto. Ad esempio da terminale con sudo vi /etc/mdadm.conf

  • Paolo

    A quel punto basta inserire

    ARRAY /dev/md0 level=raid5 num-devices=3

    saltando la seconda parte della riga oppure è necessaria anche quella:

    UUID=c5a20602:9985ece9:11a1047a:ce03a3ef

    (ho fatto riferimento all’esempio pubblicato nell’articolo)

  • fabio

    Si, l’uuid è richiesto. La lista completa delle opzioni che puoi utilizzare la puoi trovare ad esempio qui, in ogni caso ti consiglio di utilizzare l’output del comando mdadm --examine --scan per editare il file mdadm.conf. In tal modo non rischi di commettere errori.

  • Giorgio

    Ciao Fabio ho un problema, seguo la tua guida fino a cat /proc/mdstat con l’array appena creato e senza rimuovere o sostituire HD a me qui già inizia la fase di recovery, e anche quando questa finisce le prestazione in scrittura sono bassissime 10 mb/sec con configurazione raid 0 invece tutto ok tutti gli HD sembrano lavorare bene. Ho gli HD Western Digital Caviar Green da 1 TB e Ubuntu 10.04. Grazie!

  • fabio

    Scusa se ti rispondo solo ora ma ero in ferie ;-) Hai fatto progressi? Puoi postare più informazioni sull’errore che si verifica e sui comandi eseguiti?

  • matteo

    ciao, piacere, matteo, prima di tutto complimenti per la chiarezza, non si trova un tutorial fatto bene come il tuo nella rete. finiti i complimenti, passiamo alla nota dolente :D anche io soffro dello stesso problema di giorgio, performance in scrittura a dir poco penose. ti posso dire che la mia piastra è una supermicro X7SPA-H con processore d510 e controller ICH9R. la mia intenzione è creare un raid 5 su 4 hdd wd green. il problema è che ho performance in scrittura penose, facendo un pò troppi esperimenti mi sono accorto che se imposto il raid dal bios, creo l’array dal matrix storage e poi uso dmraid, le performance sono una cannonata. ti torna questo inconveniente? se poi non ti disturbo, magari ci potremmo trovare via msn, magari mi puoi dare una dritta senza che xò ti disturbo troppo. buona serata e grazie in anticipo

  • fabio

    Innanzi tutto grazie per i complimenti, sono contento che ti piaccia il mio tutoria. Venendo al tuo problema, anche a te entra in recovery mode? Hai controllato se in dmesg ci sono errori particolari? Io nello scrivere il tutorial ho usato una macchina virtuale e le prestazioni sono molto più alte dei 10 mb/sec indicati da Giorgio, quindi mi risulta strano che nel vostro caso con hardware reale siano così basse…

    Fammi sapere se trovi errori particolari o anche solo messaggi strani controllando tutti i file di log in /var/log con ‘grep md *’

  • matteo

    ti posto qui di seguito cosa appare con il comando dmesg

    [ 448.678679] md: bind
    [ 449.134836] md: bind
    [ 449.165361] md: bind
    [ 449.201544] md: bind
    [ 449.252981] md/raid:md0: device sdf operational as raid disk 2
    [ 449.252995] md/raid:md0: device sde operational as raid disk 1
    [ 449.253004] md/raid:md0: device sdb operational as raid disk 0
    [ 449.254552] md/raid:md0: allocated 4282kB
    [ 449.257817] md/raid:md0: raid level 5 active with 3 out of 4 devices, algorithm 2
    [ 449.257827] RAID conf printout:
    [ 449.257832] — level:5 rd:4 wd:3
    [ 449.257838] disk 0, o:1, dev:sdb
    [ 449.257843] disk 1, o:1, dev:sde
    [ 449.257848] disk 2, o:1, dev:sdf
    [ 449.257937] md0: detected capacity change from 0 to 6001196531712
    [ 449.258310] md0:
    [ 449.259365] RAID conf printout:
    [ 449.259376] — level:5 rd:4 wd:3
    [ 449.259385] disk 0, o:1, dev:sdb
    [ 449.259392] disk 1, o:1, dev:sde
    [ 449.259399] disk 2, o:1, dev:sdf
    [ 449.259406] disk 3, o:1, dev:sdg
    [ 449.262119] md: recovery of RAID array md0
    [ 449.262163] md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
    [ 449.262172] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery.
    [ 449.262187] md: using 128k window, over a total of 1953514496 blocks.

    tieni presente che questo problema avviene anche se uso l’interfaccia grafica x creare il raid.

    dando invece cat /proc/mdstat ottengo qnt segue

    Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
    md0 : active raid5 sdg[4] sdf[2] sde[1] sdb[0]
    5860543488 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
    [================>....] recovery = 80.3% (1570449664/1953514496) finish=128.2min speed=49785K/sec

    unused devices:

    grazie ancora :D

  • fabio

    Ciao Matteo, hai novità sul tuo problema? Nel senso: una volta terminato il recovery (che comunque è strano, non dovrebbe farlo a meno di problemi) come sono le prestazioni?

  • massimo

    Ciao Fabio, grazie della guida esaustiva con la quale ho creato, qualche mese fa, il mio server con 4 dischi (di cui uno in spare). Il tutto ha funzionato correttamente fino a qualche giorno fa quando dopo un comando di shutdown e successivo restart mi ha risposto che aveva problemi sull’array md2 (ho 4 partizioni per disco). Vedendo l’output del comando mdadm -E /dev/sda(b,c,d) rispettivamente per le 4 partizioni trovo che per i dischi a,c e d l’array è attivo senza spare, se eseguo lo stesso comando sull’hd sdb mi diche che l’array è attivo su a,b e c con sdd spare. Hai qualche idea? Grazie

  • fabio

    Non ho ben capito la tua configurazione, in particolare il motivo delle 4 partizioni per disco. Se fai un array per disco con 4 partizioni la configurazione in raid non ha nessun vantaggio né in termini di ridondanza dei dati né in termini di prestazioni…
    Il senso del raid è quello di distribuire le scritture e le letture su dispositivi differenti in modo da massimizzare il throughput totale e (nel caso di livello 5) di evitare la perdita di dati se un disco si danneggia, se applichi questo meccanismo a 4 partizioni su uno stesso device non ottieni nessuno dei due vantaggi sopra, in quanto i dati viaggiano tutti sullo stesso canale ed in caso di rottura perdi tutte e 4 le partizioni contemporaneamente.

    In ogni caso, può darsi che abbia frainteso io la tua configurazione per verificare meglio la situazione, qual è l’output del comando cat /proc/mdstat?

  • massimo

    Ulteriori info: eseguendo il comando cat /proc/mdstat ottengo il seguente output nel quale il disco sdb non è presente:
    md3: active raid5 sdd7[1] sdc7[2] sda7[0]
    955080064 blocks level 5, 64chunk, algorithm 2 [3/3] [UUU]

    Lo stesso si ripete per md0, md2 e md1 ovviamente con dimensoni delle partizioni diverse e con md0 che ha [2/2] dischi essendo questa partizione (/boot) in Raid 1. al termine della schermata si legge unused device:
    Da quello che capisco non viene visto il disco sdb pur essendo presente e (sembrerebbe, funzionante.

  • fabio

    Ok, adesso ho capito la tua configurazione (per la cronaca secondo me era meglio fare un raid unico con i dischi interi e poi metterci sopra lvm per gestire le partizioni). Venendo al tuo problema, dovresti indagare sulla sparizione di sdb, un buon inizio può essere con il comando fdisk -l /dev/sdb e vedere cosa ti risponde. In seguito dovresti controllare i file di log in /var, in particolare syslog e messages alla ricerca di messaggi relativi ad sdb e ovviamente anche dmesg | grep sdb ti potrebbe essere molto d’aiuto.

  • massimo

    Grazie della rapida risposta.
    Ho riacceso il server stamattina. La sequenza di quello che succede è questa: alla prima accensione si pianta tutto dando il seguente messaggio:
    ———–
    fsck.ext2: Device or resource busy while tryng to open /dev/md0 (nota:la partizione /boot)
    Filesystem mounted or opened exclusively by another program?
    mountall: fsck /boot [575] terminated with status 8
    mountall: general fsck error
    init: mountall main process (567) terminated with status 1
    General error mounting filesystem
    A maintenance shell will now be started
    CONTROL-D will terminate this shell and re-try
    ———–
    A questo punto premo control-d, il sistema fa un po di attività e a volte si pianta oppure prosegue dando errori. E’ necessario eseguire un reset premedo il pulsante.
    Fatto il reset si riavvia tutto, viene eseguito fsck sui vari dischi e parte tutto quanto.
    Seguendo i tuoi suggerimenti ho eseguito fdisk -l /dev/sdb. L’output è normale. vede sia il disco che le partizioni. Ho eseguito lo stesso comando anche sul disco sda e l’output è identico.
    Diverso è il responso di dmesg | grep sdb, anche questo eseguito prima su sdb e poi su sda. La prima parte dove identifica l’hardware è identica (a parte il num. seriale). La seconda parte dice:
    (per sdb)
    md: export_rdev (sdb5)
    md: export_rdev (sdb1)
    md: export_rdev (sdb5) ecc. ecc. ripetendolo + volte per ogni partizione
    (per sda)
    md: bind (sda1)
    md: bind (sda5)
    md: bind (sda7)
    md: raid 5: device sda7 operational as raid disk 0
    disk 0, o:1, dev:sda7(poi ripete la stessa cosa per le altre partizioni)

    Sto controllando syslog e messages ma ti diro’ che non ci sto capendo piu’ molto.

  • fabio

    Allo stato attuale potresti provare a riaggiungere il device sdb all’array e vedere cosa succede. In ogni caso cercando con google la stringa “md: export_rdev” escono fuori molti risultati che parlano di problemi simile al tuo (ed in realtà anche simili a quelli riscontrati nei commenti sopra) i primi in particolare vengono fuori dai forum di Ubuntu. Ti consiglio di dare una letta a quelli per vedere se trovi delle similitudini con il tuo problema ed in ogni caso di provare a postare il tuo problema anche li, in quanto c’è una community molto attiva e numerosa, probabilmente ti riusciranno ad aiutare molto più di quanto possa fare io da solo.

    Fammi sapere se risolvi.

Subscribe to RSS Feed