Drive error while building parity drive


Recommended Posts

how can the first option(ddrescue) is better than the second option? I ask this because i honestly dont know ddrescue and try to read the docs seems too complicated for me.

 

if the file cannot be copied using the second option, can ddrescue recover the same file?

can ddrescue provide a list of files name (and its path) of unrecoverable files?

 

Thanks.

Link to comment

ddrescue can recover partial files, say you have a movie and there's a bad sector on the middle of it, it will fail to copy normally, ddrescue could recover 99.99% of the file, making it playable but possible resulting in a very small glitch during playback, but can be better than no file at all if you don't have backups.

Link to comment

ok. thats better than nothing.

 

But would I know that the file is 99% recovered? Can i get a list of files that are not 100% recovered?

 

Im more interested to have a list of files that are not 100% recovered. Can ddrescue provide me that info?

 

reason being, most of the files in my nas is files that i got from someplace else. if i know what file is unrecovered, i can get it again  from someplace else.

Edited by publicENEMY
Link to comment
5 minutes ago, publicENEMY said:

Im more interested to have a list of files that are not 100% recovered. Can ddrescue provide me that info?

Yes, all the info in on the link I posted.

 

3 minutes ago, publicENEMY said:

Based on the logs, how bad is my drive?

Doesn't look that bad, I would expect most of the data to be recoverable, but some sometimes looks are deceiving.

Link to comment

my pc crashed. Not unraid. my pc where i run the terminal. this is the contents of the logs.

 

# Mapfile. Created by GNU ddrescue version 1.22
# Command line: ddrescue -f /dev/sdn /dev/sdh /boot/ddrescue.log
# Start time:   2019-07-06 07:48:15
# Current time: 2019-07-06 16:02:54
# Scraping failed blocks... (forwards)
# current_pos  current_status  current_pass
0x276289B5E00     /               1
#      pos        size  status
0x00000000  0x22D367C0000  +
0x22D367C0000  0x48F21F5E00  -
0x276289B5E00  0x4478AC0000  /
0x2BAA1475E00  0x00000200  -

 

should i rerun ddrescue again? in screen?

Link to comment
1 hour ago, publicENEMY said:

i tried mount destination drive and i can see some files. i assume these files are 100% good. is it?

What you are seeing is the file table of contents listing, which is good. Whether or not the files themselves transferred properly is another question. The only way to know for sure is compare the checksums done before the corruption to what was recovered, or compare the files to your backups.

Link to comment

 

5 hours ago, jonathanm said:

The only way to know for sure is compare the checksums done before the corruption to what was recovered, or compare the files to your backups. 

Im not sure how to do this. I dont event have anything to compare to. i dont keep checksums of files. what you mean by "file table of contents listing" is the listing of the original content in the drive before it failed. It doesnt mean the actual content is there. there is possibility if i click a file and the actual file is nowhere to be found. is this correct?

 

Did ddrescue complete it tasks? should i run it again? the drive doesnt look good either. i cant even see the status of the  drive in unraid webgui. what would you do if you were me?

image.thumb.png.1d2dd61942552b23a8db0693d651fab9.png

Link to comment

i tried ddrescue again but with different destination drive. it starts with Pass 5. does this mean that the previous run stopped at pass 4 or pass 5 and ddrescue resume the tasks?

 

also, the rescued maintains at 0B. does this means that my drive is totally dead and i should just give up and just use the data recovered in the first drive? should i rerun ddrescue on the first destination drive and not change the destination drive?

 

image.png.3b5c9872b5ad7f8d95f2d7992d08bc03.png

Link to comment
1 hour ago, johnnie.black said:

Yes you did, sorry, my mistake, you can try power cycling the server to see if the disk comes alive and run ddrescue again, if not use recover the data you got form the first try.

No need to be sorry. Youve been very helpful. I need to be more clear. I dont expect you to keep track every single key i typed. :)

 

This is the cmd for first try (to sdH drive)

ddrescue -f /dev/sdn /dev/sdh /boot/ddrescue.log

 

This is the cmd for second try (to sdO drive)

ddrescue -f /dev/sdn /dev/sdo /boot/ddrescue-sdo.log

 

both drive are new.

 

From my understanding, what i need to do is

1. reboot

2. see if sdN is alive

3. run this command to resume ddrescue from first try

ddrescue -f /dev/sdn /dev/sdh /boot/ddrescue.log

 

Let me know if this is not correct.

 

I have few question.

1. data recovered from first try seems ok. maybe not all, but i have recovered some data. if i resume the first try, would it affect data that is already recovered? if the source drive failed again(dead during recovery), would it affect negatively?

2. would it be best to start the ddrescue from scratch? lowest risk?

3. what would you do in my situation?

4. what do you exactly mean by "run ddrescue again"? resume or run from scratch?

 

Thanks.

 

Edited by publicENEMY
Link to comment
24 minutes ago, publicENEMY said:

3. run this command to resume ddrescue from first try


ddrescue -f /dev/sdn /dev/sdh /boot/ddrescue.log

Correct, though I don't no if resume will work in this case, but if should never overwrite any exiting recovered data, at least it's what I would expect, if you wan't to play it extra safe clone sdo to sdo with regular dd (assuming drives are still the same letters), then run ddrescue again to sdh using the original log.

 

 

Link to comment

i give up ddrescue. i take it whats left in the first recovered drive. sdh.

 

i want to replace disk12 with sdh(drive that contains recovered data). im afraid that if i replace drive 12 with new drive, unraid will replace data in new drive with old wrong data (rebuild from parity).

 

how should i proceed?

here are the steps that i know is wrong.

1. stop the array

2. switch disk12 with disk with recovered data.

3. start the array.

4. parity should be rebuild.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.