linux user group brescia

immagine del castello

Archivio della mailing list

RAID-1 recovery (automatica) che non funge

marco ghidinelli marcogh a linux.it
Mar 14 Set 2004 22:58:18 UTC
On Tue, Sep 14, 2004 at 03:00:13PM +0200, Luca Coianiz wrote:
> 
> Tenterò di essere stringato ;)

non ci crede nessuno. :)

innanzitutto una cosa: in questa situazione fare la cosa sbagliata e' un
attimo, e di solito e' quello che la gente fa quando si trova in questa
situazione.

quindi prima di fare qualsiasi cosa, leggi un po' di
documentazione e pensa bene prima di fare le cose.

> (la maggior parte del msg è dedicata ai log)
> 
> Sep 13 20:31:13 home kernel: hda: dma_intr: status=0x51 { DriveReady
> SeekComplete Error }

problemi hw...

> Sep 13 20:31:13 home kernel: hda: dma_intr: error=0x40 { UncorrectableError
> }, LBAsect=656093, sector=61576
> Sep 13 20:31:13 home kernel: end_request: I/O error, dev 03:03 (hda), sector
> 61576
> Sep 13 20:31:13 home kernel: md0: no spare disk to reconstruct array! --
> continuing in degraded mode

--^^^^^^^^^^^^^^^^^^^^^^^^^^^

questo significa che tu dovresti ancora poter accedere a /med/md0 senza
alcun problema, soltanto che le modifiche che fai vengono scritte solo
su un disco.

> Sep 13 20:31:13 home kernel: md: recovery thread finished ...
> Sep 13 20:31:13 home kernel: md: md_do_sync() got signal ... exiting
> ---8<---
> 
>  Mi fa il boot da /dev/hda1 (quindi credo che hda sia danneggiato solo in
> modo logico, a parte la segnalazione di I/O error qui sopra, che m'ha dato
> solo una volta) ma poi in /dev/md0 inserisce solo il disco /dev/hdb3 e, dato
> che non ho uno spare, gira in modo degraded.

perfetto. quindi devi solo cambiare il disco...

>  Cenni di config:
> 
> - distro SuSE 8.0
> - RAID-1 software
> - 2 HD IDE da 40GB /dev/hda e /dev/hdb
> - partizioni (/etc/fstab):
>   /dev/hda1	/boot	(fuori RAID)	Ext3	ok
>   /dev/hdb1	/boot1	(  "    "  )	Ext3	ok
>   /dev/hda2	swap	(  "    "  )		ok
>   /dev/hdb2	swap	(  "    "  )		ok
>   /dev/hda3	/	RAID-1		Ext3	"fault"
>   /dev/hdb3	/	RAID-1		Ext3	ok

nota che potresti mettere anche /boot e lo swap in raid...

> home:/var/log # cat /proc/mdstat
> Personalities : [raid1]
> read_ahead 1024 sectors
> md0 : active raid1 hdb3[1]
>       39905344 blocks [2/1] [_U]
> 
> unused devices: <none>
> 
>  Dato che hda3 non è utilizzato ho anche provato un fsck:
> 
> home:/etc # e2fsck -cc -v /dev/hda3
> e2fsck 1.26 (3-Feb-2002)
> Checking for bad blocks (non-destructive read-write test): done
> Pass 1: Checking inodes, blocks, and sizes
> Pass 2: Checking directory structure
> Pass 3: Checking directory connectivity
> Pass 4: Checking reference counts
> Pass 5: Checking group summary information
> /dev/hda3: ***** FILE SYSTEM WAS MODIFIED *****
> 
>   196741 inodes used (3%)
>    10295 non-contiguous inodes (5.2%)
>  # of inodes with ind/dind/tind blocks: 17246/276/0
>  5776652 blocks used (57%)
>        0 bad blocks
>        0 large files
> 
>   172746 regular files
>    13303 directories
>     1828 character device files
>     6690 block device files
>        6 fifos
>      527 links
>     2152 symbolic links (2132 fast symbolic links)
>        7 sockets
> --------
>   197259 files
> 
>  ...e non mi pare che riscontri problemi.

quindi sembra che il disco che ha avuto problemi adesso funzioni?

>  Purtroppo come "tools" non è che abbia granchè:
> 
> home:/var/log # l /sbin/raid*

l che comando e'?

>  /sbin/raid0run -> mkraid*
>  /sbin/raidautorun*
>  /sbin/raidhotadd -> raidstart*
>  /sbin/raidhotgenerateerror -> raidstart*
>  /sbin/raidhotremove -> raidstart*
>  /sbin/raidstart*
>  /sbin/raidstop -> raidstart*
> 
>  In pratica il sistema sembra usare solo raidautorun, tant'è che non esiste
> nemmeno /etc/raidtab: quando ho provato ad usare raidstart s'è subito
> lamentato che mancava:

probabilmente usa il persistent superblock insieme all'md autodetect che
ti permette di stare senza /etc/raidtab

> home:/etc # raidstart /dev/md0

ma tu hai ancora md0 attivo... non puoi fare 'ste cose..

> home:/etc # raidstart /dev/md0
> /dev/md0: File exists

infatti...

>  L'unica cosa che non ho ancora fatto è un mkfs: non sono molto pratico con
> i device ed ho troppa paura di sderenare la parte funzionante dell'array. :|
> (nel frattempo mi sto preoccupando del backup su un altro disco IDE da 30GB)

potresti semplicemente fare un raidhotadd (non ricordo la sintassi) in
modo da aggiungere /dev/hdb3 al raid md0... e a quel punto dovresti
uscire dalla modalita' degradata (per poi rientrarci quando il disco
ricomincera' ad avere problemi).



>  Così a sensazione mi sembra un pò una situazione di stallo, in cui non
> posso andare indietro (stop del RAID), non posso andare avanti (il rebuild
> del mirror non avviene, non capisco il perchè nè riesco a forzarlo) e stando
> "fermo" non cambia nulla (mica siamo in windows che dopo un paio di reboot
> "qualcosa riparte" ;)). :|
> 
>  Consigli?

1) cambia il disco che ha avuto problemi
2) metti smartmontools che ti monitori lo stato di smart dei dischi
(prevede quando il disco sta per morire)
3) METTI I DUE DISCHI SU DUE CANALI IDE SEPARATI! (le prestazioni sono
uccise se metti i due dischi sullo stesso canale ide: sugli ide la
regola e': una unita' per canale.
4) ricrea sul disco nuovo le partizioni di dimensioni uguali a quelle
del primo disco 
5) raidhotadd 
6) metti qualche tool che ti controlli lo stato del raid in automatico
(mdadm oppure qualcosa del genere)

ciao!

-- 
BOFH excuse #376:

Budget cuts forced us to sell all the power cords for the servers.



Maggiori informazioni sulla lista Lug