# Recuperare reiserFS dopo un calo di tensione...

## Gianni.Sax

Ciao a tutti,

sono un utente linux alle prime armi.

Avevo installato un server Gentoo in casa mia che ospitava quei 60Gb di dati condivisi sulla rete locale. Ho due hard disk, uno da pochi giga su cui ho installato il sistema e uno da 160Gb (hdb1 reiserfs) su cui ho archiviato più di 60 Gb di dati.

Dopo un calo di tensione al riavvio del server Gentoo la partizione hdb1 mi ha abbandonato. L'errore è il seguente:

```
 * Checking all filesystems...

 Reiserfs super block in block 16 on 0x341 of format 3.6 with standard journal

 Blocks (total/free): 40019904/21442716 by 4096 bytes

 Filesystem is NOT clean

 Replaying journal..

 /dev/hda1: clean, 38/15744 files, 7558/62968 blocks (check in 4 mounts)

 Reiserfs journal '/dev/hdb1' in blocks [18..8211]: 0 transactions replayed

 The problem has occurred looks like a hardware problem. If you have

 bad blocks, we advise you to get a new hard drive, because once you

 get one bad block  that the disk  drive internals  cannot hide from

 your sight,the chances of getting more are generally said to become

 much higher  (precise statistics are unknown to us), and  this disk

 drive is probably not expensive enough  for you to you to risk your

 time and  data on it.  If you don't want to follow that follow that

 advice then  if you have just a few bad blocks,  try writing to the

 bad blocks  and see if the drive remaps  the bad blocks (that means

 it takes a block  it has  in reserve  and allocates  it for use for

 of that block number).  If it cannot remap the block,  use badblock

 option (-B) with  reiserfs utils to handle this block correctly.

 bread: Cannot read the block (26836992): (Input/output error).

 Warning... fsck.reiserfs for device /dev/hdb1 exited with signal 6.

  * Fsck could not correct all errors, manual repair needed                                                      

          [ !! ]

  Give root password for maintenance

  (or type Control-D for normal startup):
```

Ho provato a fare un fsck.reiserfs --check, ma con scarsi risultati...

```
root@geppetto valenti # fsck.reiserfs /dev/hdb1 --check

reiserfsck 3.6.19 (2003 www.namesys.com)

*************************************************************

** If you are using the latest reiserfsprogs and  it fails **

** please  email bug reports to reiserfs-list@namesys.com, **

** providing  as  much  information  as  possible --  your **

** hardware,  kernel,  patches,  settings,  all reiserfsck **

** messages  (including version),  the reiserfsck logfile, **

** check  the  syslog file  for  any  related information. **

** If you would like advice on using this program, support **

** is available  for $25 at  www.namesys.com/support.html. **

*************************************************************

Will read-only check consistency of the filesystem on /dev/hdb1

Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes

###########

reiserfsck --check started at Fri Feb 18 02:53:28 2005

###########

Replaying journal..

Reiserfs journal '/dev/hdb1' in blocks [18..8211]: 0 transactions replayed

The problem has occurred looks like a hardware problem. If you have

bad blocks, we advise you to get a new hard drive, because once you

get one bad block  that the disk  drive internals  cannot hide from

your sight,the chances of getting more are generally said to become

much higher  (precise statistics are unknown to us), and  this disk

drive is probably not expensive enough  for you to you to risk your

time and  data on it.  If you don't want to follow that follow that

advice then  if you have just a few bad blocks,  try writing to the

bad blocks  and see if the drive remaps  the bad blocks (that means

it takes a block  it has  in reserve  and allocates  it for use for

of that block number).  If it cannot remap the block,  use badblock

option (-B) with  reiserfs utils to handle this block correctly.

bread: Cannot read the block (26836992): (Input/output error).

Aborted

```

Cosa mi consigliate di fare per recuperare i dati? Sono disperato...

----------

## TwoMinds

...quando ho avuto lo stesso errore era proprio l'hd a essersi rotto... non sono riuscito a recuperare nulla... per fortuna avevo partizioni separate e la /home era salva... i settori danneggiati erano nella partizione di /...

----------

## Cazzantonio

Reiserfs è un ottimo fs, sia dal punto di vista delle prestazioni, sia da quello della stabilità "software" (anche se su questo avrei da ridire...)

Il fatto è che appena compaiono dei settori danneggiati va del tutto a puttane e c'è ben poco da farci (se reiresfsck non ti ribecca nulla l'unica potrebbe essere quella di ricorrere a servizi, di solito costosi, di recupero dati.... ci sono ditte che lo fanno)

Io solitamente uso reiserfs per partizioni contenenti molti file piccoli (per esempio /), per i quali reiserfs è ottimizzato, e soprattutto che backuppo spesso (per cui in caso di fallimento hardware non perdo troppi dati)

Per partizioni di storage (che solitamente, per le loro dimensioni, vengono backuppate raramente o mai.... prova te a fare un backup casalingo di una partizione con 30 giga di mp3....) ti consiglio in futuro di usare fs più stabili, anche in caso di fallimento hardware.

Per esempio io userei xfs oppure etx3

----------

## [PHT]Giangi

 *Gianni.Sax wrote:*   

> 
> 
> Ho provato a fare un fsck.reiserfs --check, ma con scarsi risultati...

 

Credo se non lo hai già fatto ..... che devi lanciare il comando in "single usermode"   :Wink: 

----------

## mouser

Come dice Cazzantonio probabilmente ti e' saltato il fs, e c'e' ben poco da fare.....

Ci sono societa' che fanno recupero di dati da hd danneggiati, ma te le consiglio solo se i dati da recuperare sono di *vitale* importanza (l'ultima volta che ho sentito una azienda che fa quel servizio, dovevo recuperare un pst da 1,2 GB di un cliente, e mi hanno chesto 26 euri a MB  :Shocked:   :Shocked:   :Shocked:  )

Ti consiglio XFS per la prossima volta  :Wink: 

Ciriciao

mouser  :Wink: 

----------

## Cazzantonio

Ecco, prima non potevo postartelo perchè non ero sul mio pc...

io proverei innanzitutto a fare 

```
badblocks -s -v /dev/hdb1
```

per vedere se ci sono blocchi danneggiati, dopodichè (se non ce ne sono) un 

```
reiserfsck --rebuild-tree /dev/hdb1
```

per vedere se riesce a recuperare qualcosa dei tuoi dati.

Probabilmente se recupera roba finisce in lost+found con nomi delle directory probabilmente diverse....

non ti scoraggiare, io con tanta pazienza sono riuscito a ricostruire una / completamente a puttane andando a cercare directory per directory... devi avere soprattutto pazienza  :Smile: 

----------

## prada

Probabilmente sono cavolate ma ho sentito dire che il reiserFS non di offende se anche viene spento malamente, tipo staccando la spina del pc. Per quanto riguarda la mia esperienza ieri la morosa mi ha staccato la spina del portatile mentre compilavo e al riavvio non c'era niente di anomalo. Ho anche eseguito reiserfsck dal livecd (se avvio il sistema dall'hd monta il filesistem in scrittura e ovviamente non lo può correggere) ma non ha trovato niente fuori posto. Ho forse avuto fortuna perhè al momento non stava scrivendo su disco...

----------

## mouser

Bhe', nelle condizioni con cui sono adesso con il mio porty, praticamente un giorni si un giorno no spengo almeno 3 volte il pc brutalmente con il pulsante (grazie, ati, grazie ....  :Evil or Very Mad:  )

Certo, quando devo fare cosi'.... mi accerto che il leddino del disco sia spento che non si lamenti l'hp.

Comunque il fatto che a volte non venga corrotto il fs non e' un buon motivo per spegnere in quel modo....... io, per esempio, mi sono fo****o il dma del disco (ancora grazie, ati....  :Evil or Very Mad:   :Evil or Very Mad:  )

mouser  :Wink: 

----------

## Gianni.Sax

Grazie a tutti per l'aiuto.

Ho fatto:

```
badblocks -s -v /dev/hdb1
```

Ha trovato 96 settori danneggiati...

Oggi vado a comprare un hd nuovo e un gruppo di continuità.

Non c'è modo di recuperare i files che stanno sui settori buoni con i tool reiserfs?

----------

## Cazzantonio

se guardi il man ri reiserfsck ci dovrebbe essre un modo per segnalargli quali sono i badblocks (e bakblocks ha l'opzione di generare un file con l'elenco dei badblocks da dare in pasto a reiserfsck)

Non posso essere più preciso perchè non l'ho mai fatto ma penso che si tratti di segnalare i badblocks a reiserfsck e poi magari dare un reiserfsck --rebuild tree o cose simili...

----------

## Gianni.Sax

Ok, grazie, ci provo subito.

Ciao.

----------

## mouser

Se risolvi posta il procedimento..... molti utenti te ne saranno grati!!!!!

 :Very Happy:   :Very Happy:   :Very Happy: 

Ciriciao

mouser  :Wink: 

----------

## xchris

 *Gianni.Sax wrote:*   

> Ha trovato 96 settori danneggiati...
> 
> 

 

[flame mode on]

per una volta non e' colpa di reiserfs

[/flame mode off]

......santo backup.....prega per noi....

......santo backup.....

etc etc

mi spiace  :Rolling Eyes: 

----------

## mouser

 *xchris wrote:*   

> 
> 
> [flame mode on] 
> 
> per una volta non e' colpa di reiserfs 
> ...

 

quoto

Spezzo un "settore" a favore di reiserfs  :Laughing:   :Laughing: 

mouser  :Wink: 

----------

## gutter

@mouser: nel tuo caso sarebbero utili le sysrq per fare in modo di fare il sync del disco così almeno puoi spegnere essendo "quasi" sicuro che le scritture sul disco sono state effettuare. La documentazione relativa la trovi in /usr/srs/linux/Documentation/sysrq.txt.

----------

## Cazzantonio

 *xchris wrote:*   

> [flame mode on]
> 
> per una volta non e' colpa di reiserfs
> 
> [/flame mode off]

 

Diciamo che non è colpa di reiserfs... è proprio una caratteristica di reiserfs quella di  sputtanarsi quando avviene un fallimento hardware  :Wink:  (a proposito, io sono un sostenitore di reiserfs... sulla /, ma la mia /home la tengo con xfs  :Wink:  )

----------

## gutter

/me sostenitore di reiserfs 

P.S.: ma non ditelo in giro  :Very Happy: 

----------

## mouser

Il problema e' che quando faccio halt o reboot e va glu il clientX, il pc mi da' una bellissima schermata o nera, o a scrisce bianche..... e l'unico modo per fargli completare lo spegnimento/riavvio e' tenere pigiato il pulsantino che shutdowna (che termini si inventano per non fare ripetizioni .....  :Rolling Eyes:  ).

Lo stesso identico problema me lo da quando switcho da X ad una console o quando switcho tra 2 interfacce di X o due console differenti!

Burn, ATI burn

mouser  :Wink: 

----------

## Gianni.Sax

Ho fatto così:

```
badblocks -o badblocks.output /dev/hdb1
```

E mi ha creato il file con tutti i settori danneggiati, poi questo:

```
geppetto root # reiserfsck --badblocks badblocks.output --rebuild-tree /dev/hdb1 

reiserfsck 3.6.19 (2003 www.namesys.com)

*************************************************************

** Do not  run  the  program  with  --rebuild-tree  unless **

** something is broken and MAKE A BACKUP  before using it. **

** If you have bad sectors on a drive  it is usually a bad **

** idea to continue using it. Then you probably should get **

** a working hard drive, copy the file system from the bad **

** drive  to the good one -- dd_rescue is  a good tool for **

** that -- and only then run this program.                 **

** If you are using the latest reiserfsprogs and  it fails **

** please  email bug reports to reiserfs-list@namesys.com, **

** providing  as  much  information  as  possible --  your **

** hardware,  kernel,  patches,  settings,  all reiserfsck **

** messages  (including version),  the reiserfsck logfile, **

** check  the  syslog file  for  any  related information. **

** If you would like advice on using this program, support **

** is available  for $25 at  www.namesys.com/support.html. **

*************************************************************

Will rebuild the filesystem (/dev/hdb1) tree

Bad block list will contain only blocks specified in 'badblocks.output' file

Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes

create_badblock_bitmap: block number (99108992) points out of fs size (40019904).

create_badblock_bitmap: block number (99108993) points out of fs size (40019904).

create_badblock_bitmap: block number (99108994) points out of fs size (40019904).

[...]

create_badblock_bitmap: block number (107347967) points out of fs size (40019904).

create_badblock_bitmap: block number (107347968) points out of fs size (40019904).

create_badblock_bitmap: block number (107347969) points out of fs size (40019904).

create_badblock_bitmap: block number (107347970) points out of fs size (40019904).

create_badblock_bitmap: block number (107347971) points out of fs size (40019904).

Replaying journal..

Reiserfs journal '/dev/hdb1' in blocks [18..8211]: 0 transactions replayed

The problem has occurred looks like a hardware problem. If you have

bad blocks, we advise you to get a new hard drive, because once you

get one bad block  that the disk  drive internals  cannot hide from

your sight,the chances of getting more are generally said to become

much higher  (precise statistics are unknown to us), and  this disk

drive is probably not expensive enough  for you to you to risk your

time and  data on it.  If you don't want to follow that follow that

advice then  if you have just a few bad blocks,  try writing to the

bad blocks  and see if the drive remaps  the bad blocks (that means

it takes a block  it has  in reserve  and allocates  it for use for

of that block number).  If it cannot remap the block,  use badblock

option (-B) with  reiserfs utils to handle this block correctly.

bread: Cannot read the block (26836992): (Input/output error).

Aborted
```

Cos'altro posso tentare di fare secondo voi a parte tirare testate nel muro?  :Mad: 

----------

## gutter

Prova a seguire questo consiglio:

```
If it cannot remap the block,  use badblock

option (-B) with  reiserfs utils to handle this block correctly. 
```

----------

## Gianni.Sax

L'ho già fatto, l'opzione -B e --badblocks sono la stessa cosa.

Quando ho fatto

```
badblocks -o FILE /dev/hdb1
```

e poi

```
reiserfsck --fix-fixable --badblocks FILE /dev/hdb1
```

reiserfsck dovrebbe aver preso la lista dei settori danneggiati che ha fatto badblocks, però c'è qualcosa che non funziona.

Credo che il problema sia hardware e abbastanza pesante. Ogni tanto l'hd fa dei rumori strani...

Lo vado a comprare nuovo e festa finita.

Ad ogni modo il suggerimento che mi ha dato Cazzantonio credo che si traduca in quei due comandini scritti sopra, magari per qualcun altro con l'hd meno rotto del mio funzionano.

Grazie a tutti per gli aiuti che mi avete dato.  :Smile: 

----------

## Flonaldo

Credo che difficilmente recupererai qualcosa...non per scoraggiarti ma da quello che ho letto nn ci vedo nulla di buono!

I reiserfs sono belli, buoni e veloci ma se friggi tutto non possono fare miracoli!

----------

## .:deadhead:.

 *Cazzantonio wrote:*   

> Diciamo che non è colpa di reiserfs... è proprio una caratteristica di reiserfs quella di  sputtanarsi quando avviene un fallimento hardware  (a proposito, io sono un sostenitore di reiserfs... sulla /, ma la mia /home la tengo con xfs  )

 Non per flammare, ma davvero XFS in caso di fallimento HW continua bel bello a funzionare?  :Shocked: 

/me che usa reiser con soddisfazione [e dal quale ho anche recuperato dati dopo brutte storie] ma continua a pensare che un UPS [o batteria del portatile] && Backup regolari siano cmq meglio di ogni fsck  :Smile: [/u]

----------

## Cazzantonio

 *.:deadhead:. wrote:*   

> Non per flammare, ma davvero XFS in caso di fallimento HW continua bel bello a funzionare?  

 

Devo dire che non ci ho fatto sopra uno studio approfondito... so solo che xfs è ritenuto più stabile di reiserfs, che è meno veloce con i file piccoli, che dovrebbe essere un po' meglio per i file grossi (per questo uso reiserfs per la /, ricca di piccoli file, e xfs per la /home e per le altre partizioni che contengono file "grossi").

Inoltre so che reiserfs è famoso per il fatto che in caso di badblocks è praticamente irrecuperabile.... imamgino che xfs sia almeno parzialmente recuperabile se si becca qualche badblocs... spero sinceramente di non scoprirlo mai  :Very Happy: 

Con questo... i backup delle home e della / li faccio... solo che mi risulta problematico backuppare directory o partizioni che contengono giga e giga di "dati" (immagino che capiate a che dati mi riferisco) che non metterò mai su cd o dvd (non amo quel tipo di supporto, infatti aspiro a comprare un bell'ipod un giorno...)

L'unica cosa che posso sperare è che siano recuperabili in caso di problemi.... di sicuro non posso creare un tar.gz da 20 o 30 giga... non saprei dove metterlo...

----------

## .:deadhead:.

 *Cazzantonio wrote:*   

> spero sinceramente di non scoprirlo mai  

 eh quando è l'HW a lasciarti a piedi, è brutta...

 *Cazzantonio wrote:*   

> (non amo quel tipo di supporto, infatti aspiro a comprare un bell'ipod un giorno...)

 che è cmq un HD suscettibile cmq a quasti meccanici...O usa memorie flash di spropositata dimensioni  :Laughing:  Beh, se non ti piacciono i DVD-R [ormai accessibili come prezzi e stra-comodi (ma cm mai odi i DVD?) ] non ti rimane molto...le cartucce DDS...peccato che il costo del lettore sia alto, le cartucce lente e ad accesso sequenziale, oppure RAID, anche se non è un vero backup, ma solo una garanzia contro guasti meccanici  :Smile: 

----------

## makoomba

se hai spazio a sufficienza, dai un'occhiata qui . . . .magari qualcosa recuperi

ma per reiserfs non esistono tools tipo debugfs o_O ?

----------

## Cazzantonio

 *.:deadhead:. wrote:*   

> ma cm mai odi i DVD?

 

Ormai siamo finiti totalmente ot (vabbé.. tanto il topic ha esaurito la sua funzione...)

Io non odio i DVD, solo non trovo pratico avere in 4 o 5 dvd dei file che aggiorno frequentemente... troppo dispendioso (sia come fatica che come soldi) tenere aggiornati i backup su tutti quei dvd e quelli sull'hd...

Il backup del sistema (senza dati "grossi") è ragionevolmente piccolo e sta su un dvd (50 centesimi)... e anche su una partizione separata di un mio hd (non si sa mai).

Il backup dei dati "grossi" (chiamiamoli così) costerebbe almeno 3 euro e troppa fatica per capire come spezzettare intelligentemente una directory da 20 o 30 giga in pezzi da 4,5 giga...

----------

