Newsgroup: it.comp.os.linux.sys
Titolo: Montare partizione tipo 0xFD "Linux Raid Autodetect"

Ciao a tutti.
Per farla breve, mi ritrovo tra le mani questo accidenti di disco 
(Seagate Barracuda 1Tb) estratto a forza dal freddo cadavere di una 
schifezza di mini-NAS monodisco iomega home media, da cui devo cercare 
di recuperare i dati.
(si, lo so, vi prego risparmiatemi la storia dei backup: la nas non ï¿œ 
mia, fosse stata la mia avrei avuto 3 copie tra cui scegliere quella da 
recuperare.)
Ho attaccato il disco tramite una docking station eSATA al mio portatile 
(win7) e con un tool di recovery ho recuperato parte del contenuto (il 
file system ï¿œ ext2/3). Ma prima di smazzare a mano tutti i dati (il 
recovery ha recuperato i files, ma non i nomi, ed ï¿œ un delirio), vorrei 
cercare di recuperarli in qualche modo tramite un sistema linux dato che 
la nas stessa ï¿œ linux based.
Ho lanciato un ubuntu server che avevo pronto in una macchina virtuale, 
dandogli accesso al disco fisico. Questo ï¿œ quanto:
axeman@narada-gws:~$ sudo fdisk -l
[sudo] password for axeman:
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001cf00
    Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               4         515     4112640   fd  Linux raid 
autodetect
/dev/sdb2             516      121601   972623295   fd  Linux raid 
autodetect
/dev/sdb3               1           3       24097   da  Non-FS data
/dev/sdb1 ï¿œ la partizione del sistema operativo... dentro c'ï¿œ un linux 
immagino embedded, aprendola da win7 con il tool di recovery si accede a 
tutta la struttura del file system senza particolari problemi.
/dev/sdb3 contiene dati non interpretabili.
/dev/sdb2 ï¿œ la partizione contenente i dati.
Ora, come posso fare per montare e vedere il contenuto della maledetta 
/dev/sdb2? Se la monto direttamente via sudo mount /dev/sdb2 /mnt, mount 
fallisce senza pietï¿œ e va in crash senza dare errori (lo fa anche con la 
/dev/sdb1). E anche il fatto che il tipo di partizione sia "raid" 
nonostante la nas sia monodisco mi lascia abbastanza perplesso. Ma non 
conosco i dettagli dei file system linux per verificare oltre la 
situazione.
Idee? Consigli? Grazie in anticipo...

 mount /dev/md0 /dove/lo/vuoi
E se il superblock � altrove?
Io proverei prima a fare un cat /etc/raidtab o /etc/mdadm.conf dalla
partizione di sistema... almeno per capire di cosa si parla.
Anche /etc/fstab potrebbe dare informazioni utili.
Inoltre � possibile che mount /dev/sdb2 /mnt -t ext2 sia sufficiente a
leggere la partizione.
-- 
ValeRyo
XT600 "Katoki Pajama" - 
http://www.slimmit.com/go.asp?7Y9
GamerTag: 
http://card.mygamercard.net/IT/nxe/ValeRyo76.png

 leggere la partizione.
No, ci avevo giï¿œ provato (con e senza -t) e un mount diretto fatto in 
questo modo fa crashare mount (sia sulla partizione di sistema che su 
quella dati).

 
http://ubuntuforums.org/archive/index.php/t-1665035.html
Si l'ho trovato anche io googlando dopo aver visto il file e aver 
postato... ok... quindi posso tentare di trattarlo con gli strumenti per 
xfs.
Stasera ci provo (ma su una macchina fisica, non mi fido a farlo 
attraverso la virtuale... )

 per xfs.
Visto che in fstab c'erano informazioni utili? :-D


 /dev/sdb2?
Prima di tutto verifichi di che tipo di raid stiamo parlando:
# mdadm -Q -E /dev/sdb2
Dopodiche` ricrei l'array come riportato da Davide:
# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=1 /dev/sdb2
Per sicurezza, verifichi qual e` il file system utilizzato:
# blkid /dev/md0
E, in base al risultato, usare gli appositi strumenti di correzione:
# fsck /dev/md0
Infine monti il file system da qualche parte
# mount /dev/md0 /mnt
Enrico
P.S. tieni presente che se si tratta di un RAID 1 puoi fare qualcosa, se si 
tratta di un RAID 0 o di un RAID 5, a meno di non avere un altro disco del 
dataaset, hai perso tutto
P.P.S. Se puoi, lavora su di una immagine del disco (dd if=/dev/sdb2 
of=file) montata o via loop, o via macchina virtuale

 E se il superblock è altrove?
Il superblock e` sulla partizione e ripetuto su tutte le partizioni facenti 
parte dell'array. Puo` cambiare la posizione all'interno della partizione 
(e.g. nella versione 0.90 e` all'inizio e nel RAID 1 e` simile a ext2, nelle 
altre versioni puo` cambiare posizione) ma e` comunque presente
Enrico

 of=file) montata o via loop, o via macchina virtuale
Oramai � inutile, comunque sempre per mettere tutto da parte, sarebbe mount 
-o loop nomefile /dev/nomedevice, giusto? 

 Mi sa che il disco scassato ha vinto questa partita.
Come ti ha già detto qualcun altro, mai operare sul disco originario.
Anche con dischi estremamente deteriorati, se riesci a fare una dd altrove, hai
buone possibilità di cavarci qualcosa, ma accanirsi su un disco che dà evidenti
sintomi di failure non è cosa buona.

 un disco che dà evidenti sintomi di failure non è cosa buona.
Eh lo so, ma come si dice: o la minestra o la finestra. 
Il fatto � che dopo pochi minuti il disco smetteva di rispondere e 
bisognava spegnerlo e riaccenderlo. Non c'era molto da fare, e non c'era il 
tempo di fare una immagine (ci ho provato, pi� volte.)

 comunque presente
Intendevo questo: se prima non esamini la partizione non sai il
tipo di superblock (anche se, visto l'errore, direi che è una .90 o
1.0).


 c'era il tempo di fare una immagine (ci ho provato, piů volte.)
Prova con il freezer, hai visto mai...


 
E con gli offset di dd.
Un disco con gli stessi comportamenti, sono riuscito a copiarlo
in una decina di sessioni di dd "incrementali".
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net