Newsgroup: it.comp.os.linux.iniziare
Titolo: RAID, mdadm, un aiutino

Ciao, su uno scaffale ho un vecchio disco le cui due partizioni facevano parte 
di due rispettivi array RAID1.
Se lo collego tramite un lettore usb ottengo
 
~$ cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
[multipath]
md126 : inactive sdi2[3](S)
       100000000 blocks super 1.2
 
md127 : inactive sdi1[0](S)
       100000000 blocks
 
Mi interessa poter leggere /dev/sdi2, che è una partizione ext4 criptata con 
LUKS, ma accade questo:
 
~$ cryptsetup -v --readonly luksOpen /dev/sdi2 vecchiodisco
Device /dev/sdi2 is not a valid LUKS device.
Command failed with code -1 (wrong or missing parameters).
 
Quando il disco era in uso, /proc/mdstat diceva "...active raid1..." e montavo 
tutto l'array con
~$ cryptsetup -v luksOpen /dev/md126 ilmiobellarray
per cui immagino che sia necessario riattivare l'array md126, ma non capisco come.
Googlando non trovo nulla di specifico per un caso del genere.


Uh...
 
(S) sarebbe "spare", cosa che capita ogni
tanto se qualcosa non funziona come dovrebbe...
Forse manca il secondo volume per ognuno dei RAID?
 
Cioe` sono due RAID-1 diversi?
A cui manca il partner?
 
mdadm --detail /dev/md26
mdadm --detail /dev/md27
 
Vi sono varie possibilita` per sistemare
la cosa ed anche varie possibilita` per
rovinare tutto in maniera spettacolare.
 
Per il recupero...
 
Per prima cosa, copia delle due partizioni,
per esempio con "dd" o "ddrescue" o "dd_rescue",
quello che sia meglio.
 
mdadm --stop /dev/md126
mdadm --stop /dev/md127
 
dd if=/dev/sdi1 of=sdi1.raw bs=4k
dd if=/dev/sdi2 of=sdi2.raw bs=4k
 
Secondo, creare un loop device con uno dei
due file ottenuti da cui sopra.
 
Non ricordo come si fa... :-)
 
Attivazione del singolo loop device
come /dev/md1
 
mdadm --assemble /dev/md1 /dev/loop_whatever missing
 
Se era un RAID-1, ma non viene dichiarato
da /prov/mdstat, il che e` sospetto.
 
Ad ogni modo, a questo punto, se tutto
funziona, ci si ritrova con un /dev/md1
che puo` essere aperto come LUKS device.
Se non funziona, si puo` provare con
"--force", che ignora alcuni errori.
 
Credo:
 
mdadm --assemble --force /dev/md1 /dev/loop_whatever missing
 
Nota che conviene sempre lavorare con la
copia di backup, per evitare di fare
danni agli originali.
 
Prova un po' e riporta qui i risultati.
 
bye,
 
-- 
 
piergiorgio

 
]zac[
 
In generale, dare comandi errati ad un raid può provocare la perdita 
immediata di tutti i dati, e non si può accedere ai dati del singolo disco 
dell'array.
 
 
Simulo una cosa simile alla tua fermando il raid1
 
cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sdc1[0] sdb1[2]
      1953381376 blocks super 1.2 [2/2] [UU]
      bitmap: 0/15 pages [0KB], 65536KB chunk
 
mdadm -S /dev/md0 
 
ls /dev/md0 
ls: impossibile accedere a '/dev/md0': File o directory non esistente
 
 
poi
 
mdadm --examine --verbose --scan
 
ARRAY /dev/md/0  level=raid1 metadata=1.2 num-devices=2 
UUID=f8a9bd1a:e965f370:f8a08019:4a1c9f8c name=
exnetold.gdb.it:0
 
   devices=/dev/sdc1,/dev/sdb1
 
 
mdadm -A /dev/md0 /dev/sdc1 /dev/sdb1
 
cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sdc1[0] sdb1[2]
      1953381376 blocks super 1.2 [2/2] [UU]
      bitmap: 0/15 pages [0KB], 65536KB chunk

        bitmap: 0/15 pages [0KB], 65536KB chunk
 
Prova con:
 
mdadm -A /dev/md0 /dev/sdc1 missing
 
Forse funziona con un disco solo...
 
Oppure:
 
mdadm -A --force /dev/md0 /dev/sdc1
 
Potrebbe anche funzionare...
 
In ogni caso, e` possibile far partire un
mirror di due dischi con un disco solo.
Per ovvi motivi...
 
bye,
 
-- 
 
piergiorgio

 Ovviamente senza sicurezza.
]zac[
 
Dalla versione del superblock 1.1 non si può.
 
Forse si può provare facendo un mount di un loop device con un offset che 
salti i dati di 'partizione' del raid e arrivi fino a quelli del 
filesystem.

 filesystem.
 
Questo e` un altro discorso.
 
bye,
 
-- 
 
piergiorgio

 bye,
 
No, il tuo è un altro discorso.
 
Sia il mio e sia un tentativo di chi fatto la richiesta, è sempre stato 
quello.
 
.
 

 quello.
 
Ed e` sbagliato.
Non ha senso tentare di usare il device.
Si deve attivare il RAID-1 in degraded mode.
 
bye,
 
-- 
 
piergiorgio