Newsgroup: it.comp.os.linux.sys
Titolo: crash con RAID 1

Riepilogo
ho avuto un crash con Raid1 (linux RH8)
l' HD master è ko (hd fail al boot del sistema)
lo slave potrebbe essere OK ma non riesco ad usarlo per riavviare il sistema
ne a montarlo deop aver avviato il PC da un altro HD
la procedura che sto utilizzando per montare il disco è la seguente
ho creato una directory /mnt/discoraid
#mount -t ext3 /dev/hdb1 /mnt/discoraid
il risultato è che dopo 3-4 secondi esce il seguente errore
mount: tipo fs errato, opzione non valida, superblocco su /dev/hdb1
danneggiato, o troppi file system montati
dove sbaglio ?
Ppaul
--------------------------------
Inviato via 
http://usenet.libero.it



Provato a fare un e2fsck?
-- 
Roberto Tagliaferri<-> r.tagliaferri@(forse)
tosnet.it
	Il paese da dove veniva non era un paese di geni.
	Loro lo chiamavano computer umano perchè sapeva contare fino a 20.
	Nudo fino a 21

> Provato a fare un e2fsck?
e2fsck: Attempt to read block from filesystem resulted in short read while
trying to open /dev/hdb1
questa notte, in base quello che ho capito:
ho fatto questo:mke2fs -n /dev/hdb1
per vedere i punti di backup dei superblocchi:
copio il risultato:
root@sp root]# mke2fs -n /dev/hdb1
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
5020064 inodes, 10036600 blocks
501830 blocks (5.00%) reserved for the super user
First data block=0
307 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624
poi ho provato e2fsck -B 4096 -b (per ogni backup superblocco) /dev/hdb1
ottengo sempre:
e2fsck: Attempt to read block from filesystem resulted in short read while
trying to open /dev/hdb1
che faccio?
grazie Ppaul


 #mount -t ext3 /dev/hdb1 /mnt/discoraid
e` un raid 1 software? se no, puoi non leggere il resto...
se si, stai facendo una gran stron$ata :-)
devi avviare il sistema con un kenrel che supporta il raid 1 SW,
avere in /etc un raidtab adeguato a quello usato e fare un mount del tipo:
#mount -t ext3 /dev/md0 /mnt/discoraid
dove md0 e` il raid composto dalle partizioni/dischi  di boot.

 dove md0 e` il raid composto dalle partizioni/dischi di boot.
io ho riavviato da un nuovo hd su cui ho installato RH8 ex novo, non ho
impostato niente per il RAID, (originariamente avevo configurato il raid con
disk druid senza approfondire troppo (e me ne pento) mi dai qualche
dettaglio in piu' (porta pazienza)
grazie ppaul


 se si, stai facendo una gran stron$ata :-)
sei sicuro? adesso non ho nessuna macchina con raid1 software sottomano, 
ma mi sembra di ricordare che con il raid 1 (e solo con quello) i 
singoli dischi siano montabili normalmnte quando l'array raid č disattivato.
Mi sembra (ma č passato molto tempo) che aveveo fatto il test 
dell'effettivo funzionamento del raid 1 scrivendo in /dev/md0, fermando 
l'array e montando entrambi i dischi e controllandone il contenuto.
verso le 19.00 ho la possiblitą di provare.
a dopo...
cya
Banana


fatemi sapere qualcosa ... please


 fatemi sapere qualcosa ... please
ok, ho fatto un po' di prove
è possibile montare i dischi di un array raid1 software anche separatamante.
entrambi i dischi si sono montati senza problemi, il contenuto dei due 
dischi è leggibile senza alcun problema.
maggiori dettagli
# cat /etc/raidtab
raiddev                 /dev/md0
        raid-level              1
        nr-raid-disks           2
        nr-spare-disks          0
        chunk-size              32
        persistent-superblock   1
 
        device          /dev/sdb1
        raid-disk               0
        device          /dev/sdc1
        raid-disk               1
 
# mkraid /dev/md0
# mkfs.xfs /dev/md0
# mount /dev/md0 /mnt/
... aspetto che finisca il sync dell'array ....
# dd if=/dev/zero of=/mnt/file bs=1k count=100000 
con il precedente comando ho generato un file da 100 Mb nell'array raid1
# umount /mnt
# raidstop /dev/md0
# mount /dev/sdb1 /mnt/
filato liscio com l'olio
# md5sum /mnt/file
75a1e608e6f1c50758f4fee5a7d8e3d0  /mnt/file
# umout /mnt
# mount /dev/sdc1 /mnt/
anche questo senza problemi
# md5sum /mnt/file
75a1e608e6f1c50758f4fee5a7d8e3d0  /mnt/file
# umout /mnt
# raidstart /dev/md0
# mount /dev/md0 /mnt/
# md5sum /mnt/file
75a1e608e6f1c50758f4fee5a7d8e3d0  /mnt/file
come si vede i file sono perfettamente identici, il contenuto dei due dischi 
è quindi accessibile anche montando singolarmente ogni dispositivo.
E possibile montare un singolo disco senza dare il comando raidstop, ma non 
mi sembra un buona idea
La stessa prova l'ho fatta con ext3, ho solo dovuto specificare che tipo di 
filesystem al mount (-t ext3) ed è andato tutto bene.
cya
Banana

 Inviato via 
http://usenet.libero.it
.... ti posso confermare quanto detto. Avevo un raid 1 e potevo montare 
singolarmente ciascun disco.
Non ho chiaro dove hai montato il disco adesso, ma se è su di una bus eide 
di una macchina avviata con linux prova a dare il comando 
fdisk -l
dovresti capire anche come è stata formattata la partizione.
Poi prova a montarlo come di consueto.
Saluti
Antonio

 Banana
non è che riesci a darmi qualche consiglio per la mia situazione, sono alle
prime armi.
grazie Ppaul


 Poi prova a montarlo come di consueto.
[root@sp etc]# fdisk -l
Disco /dev/hda: 255 testine, 63 settori, 2494 cilindri
Unità = cilindri di 16065 * 512 byte
Dispositivo Avvio Inizio Fine Blocchi Id Sistema
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 2437 19470780 83 Linux
/dev/hda3 2438 2494 457852+ 82 Linux swap
Disco /dev/hdb: 255 testine, 63 settori, 4998 cilindri
Unità = cilindri di 16065 * 512 byte
Dispositivo Avvio Inizio Fine Blocchi Id Sistema
/dev/hdb1 * 1 4998 40146403+ fd Autorilevamento raid di Linux
quello che non riesco a montare è hdb1


 alle prime armi.
posta l'output del comando mount (da solo, senza argomenti) e il contenuto 
del file /etc/fstab.
magari qualcosa ne caviamo fuori...
cya
Banana

 del file /etc/fstab.
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/cdrom1 /mnt/cdrom1 iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
se serve
[root@sp root]# fdisk -l
Disco /dev/hda: 255 testine, 63 settori, 2494 cilindri
Unità = cilindri di 16065 * 512 byte
Dispositivo Avvio Inizio Fine Blocchi Id Sistema
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 2437 19470780 83 Linux
/dev/hda3 2438 2494 457852+ 82 Linux swap
Disco /dev/hdb: 255 testine, 63 settori, 4998 cilindri
Unità = cilindri di 16065 * 512 byte
Dispositivo Avvio Inizio Fine Blocchi Id Sistema
/dev/hdb1 * 1 4998 40146403+ fd Autorilevamento raid di Linux
hdb è il RAID superstite
grazie, aspetto con ansia Ppaul


 grazie, aspetto con ansia Ppaul
a vedere così, quel disco ha le carte in regola per essere montato, sicuro 
che ext3 sia il filesystem corretto? prova ad usare ext2.
puoi montare come ext2 anche partizioni ext3, i due filesystem hanno lo 
stesso deisgn, solo che ext3 ha il journal.
se il filesystem di quel disco è ext3 e non si monta ne con -t ext3 ne con 
-t ext2... allora mi sa che anche il secondo disco è andato
com'è avvenuto di preciso il crash?
cya
Banana

 com'è avvenuto di preciso il crash?
è andata circa cosi' in settimana mercoledi' due volte nel giro di mezz'ora
è saltata la corrente oltre il tempo dell'ups (l'avevo installato da poco e
stavo imparando a configurare lo sht down) ho riavviato ma aihme' causa poco
tempo non ho fatto verifiche.
fino a sabato era tutto ok.
lunedi mattina i client non vedevano il server e sul server non si accendeva
neppure il monitor... ho necessariamente resettato (tasto)
al reboot: qualcosa del tipo: primary master hard disk fail
no 80 cable connector installed
e poi tutto bloccato.
se è ko c'e' qualche utility per cercare di recuperare un po' di dati?
grazie ppaul


Mi sa che il disco te lo sei giocato.
Comunque da quello che ho capito tu hai due dischi uguali, configurati in
raid 1,  dei quali uno e' hdb. ora visto che non e' possibile montarli si
puo' fare qualcosa per recuperare i dati.
Cancelli il disco hdb e dopo con fdisk ricrei la partizione hdb1, ricordati
pero' che questa nuova partizione che hai creato deve essere identica alla
prima cioe', stessi  mega ,
stesso inizio e stessa fine.
Forse riesci a recuperare i dati  che hai dentro hdb.
Ciao

 Ciao
sono un po' impedito con i comandi da terminale mi dai una dritta
sono di Brescia, se ce' qualcuno della zona lo pago anche per darmi una mano
grazie ppaul


Non c'e'  che paghi ti aiuto volentieri se vuoi lo possiamo fare per
telefono te lo mando alla tua mail.
Ciao


ok proviamoci!
dammi un orario in cui non ti disturbo e ... grazie
Ppaul


 e poi tutto bloccato.
Ehi, non è che ti si è fottuto il controller o il connettore sulla mobo 
invece che l'HD??
-- 
Fabrizio "Hermooz" Ermini

 invece che l'HD??
direi di no perchè l'errore lo da solo con un disco (ho provato nche a
spostare i 2 dischi su un altro pc)
Ppaul


 
hai provato a cambiare il tag della partizione?
magari con fdisk, dando alla partizione tipo 83 riesci a montarla...
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
+-------


provato adesso ma non la monta
mi sto disperando!


allora:
provato a reinstallare RH 8.0 con disco nuovo in 2 partizioni raid senza
alcun risultato
fdisk /dev/hdb1 e poi l manca sempre la voce 13
provato a cambiare il type da fd a 83 ma non lo monta lo stesso
provato se era quello che intendevia fare
fdisk /dev/hdb
cancellare la partizione e ricrearla uguale (erano poi i parametri di
default) ma non la monta lo stesso.
altre idee?
grazie Ppaul


 l'array e montando entrambi i dischi e controllandone il contenuto.
ma lui non e` in uno stato di consistenza del raid. forse e` meglio che
ci vada attorno con gli appositi tool.

 ci vada attorno con gli appositi tool.
Se in un array raid1 di due dischi uno si fulmina, l'altro può essere 
montato tranquillamente come se fosse un normale disco, e si possono 
recuparare tutti i dati, senza correre alcun rischio.
Se anche il contenuto del secondo disco è andato a farsi friggere non 
recuperi niente ne montandolo a mano ne ricreando un'array raid.
Ppaul ha avuto due crash consecutivi, non è detto che si sia 'solo' rotto un 
disco, ma potrebbe anche (ed infatti è successo) avere rovinato i dati nel 
filesystem.
Se a causa del crash si sono rovinati i dati in /dev/md0 si sono rovinati i 
dati di entrambi i filesystem in entrambi i dischi, infatti il filesystem 
ed il raid stanno su due 'livelli' diversi.
Il raid1 si limita a leggere e scrivere le stesse cose in due o più device 
fisici, ma non controlla quello che srive o legge, se sputtani il contenuto 
di /dev/md0 allora suputtani il contenuto di tutto l'aray raid1.
Ppaul ha avuto parecchia sfiga, ma è stato anche imprudente, visto che stava 
'testando' l'ups in una macchina in produzione.
cya
Banana

 Il raid1 si limita a leggere e scrivere le stesse cose in due o più device 
legge da uno e scrive su piu`. Per il resto concordo

 legge da uno e scrive su piu`. Per il resto concordo
sicuro? io credo legga anche dai due dischi, infatti ho notato un 
miglioramento delle prestazioni in lettura rispetto ad un disco normale
test eseguiti con tiotest
in un disco normale
 ,----------------------------------------------------------------------.
| Item                  | Time     | Rate         | Usr CPU  | Sys CPU |
+-----------------------+----------+--------------+----------+---------+
| Write         100 MBs |   15.5 s |   6.463 MB/s |   0.9 %  |  13.2 % |
| Random Write   39 MBs |   43.2 s |   0.905 MB/s |   0.1 %  |   1.5 % |
| Read          100 MBs |   13.1 s |   7.618 MB/s |   0.8 %  |   7.6 % |
| Random Read    39 MBs |   13.0 s |   2.997 MB/s |   0.2 %  |   3.5 % |
raid1
,----------------------------------------------------------------------.
| Item                  | Time     | Rate         | Usr CPU  | Sys CPU |
+-----------------------+----------+--------------+----------+---------+
| Write         100 MBs |   18.8 s |   5.326 MB/s |   0.3 %  |  14.1 % |
| Random Write   39 MBs |   56.5 s |   0.691 MB/s |   0.1 %  |   1.2 % |
| Read          100 MBs |   12.0 s |   8.309 MB/s |   0.5 %  |  11.2 % |
| Random Read    39 MBs |    9.9 s |   3.928 MB/s |   0.5 %  |   5.1 % |
in un raid1 a scrivere ci mette più tempo, (prob. perchè deve scrivere due 
volte tutto) a leggere ci mette un po' meno forse perchè legge dai due 
dischi porzioni di dati e li unisce, se noti c'è anche un carico di lavoro 
maggiore perchè deve elaborare le informazioni in modo più complesso.
cya
Banana

 io credo legga anche dai due dischi,
non ha molto senso scomodare 2 dischi quando hai gli stessi dati su
entrambi. Volendo anche solo leggere un po' di dati da uno e un po' dall 
altro in parallelo sei costretto a fare dei seek e muovere le testine 
per saltare le parti del file che hai fatto leggere all' altro disco.
E i risultati migliori i dischi li hanno sempre in lettura
sequenziale...
Ovviamente si sta parlando di raid 1.

 funzionava cosi`.
con le patch per il kernel 2.2 mi pareva fosse cosě, ma nel 2.4 deve 
essere cambiato qualcosa, sarebbe interessante vedere i sorgenti, solo 
che io con il c ho appena cominciato e non sono in grado di leggerli.
Cya
Banana
P.S. mi piace quando i post prendono una piega cosě tecnica!

 da cu*o!
era proprio quella la situazione... a pensarci adesso sembra ovvio.
Oltre ad una unità di backup dat (consigli su marca e modello?) e' il caso
che installi un secondo controller? (eviterei lo SCSI, per ora)
Il dubbio più grosso: quando ho predisposto il tutto ed installato RH, con
le idee poco chiare, avevo impostato un unica grande partizione (no / +
/boot +/swap) , puo' essere collegato con le difficoltà di montare quella
esistente.
Leggendo nei vari post ho provato un dumpe2fs /dev/hdb1 | grep "block count"
che mi restituisce il solito "short read error" ed un block count pari a
10036576 ...
posso farmene qualcosa?
ciao Ppaul
