bug-ddrescue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-ddrescue] Skipping over tar pits


From: Ole Tange
Subject: Re: [Bug-ddrescue] Skipping over tar pits
Date: Tue, 22 Aug 2017 18:20:41 +0200

On Fri, Aug 18, 2017 at 8:39 PM, Antonio Diaz Diaz <address@hidden> wrote:
> Ole Tange wrote:
>>
>> It looks like Ketil is right: I get around ~50 MB of tar pit and ~150
>> MB of smooth sailing. Then ~50 MB of tar pit again. The drive is
>> hts545050b9a300 and has 250 GB/platter + 4 heads according to
>> https://www.hgst.com/sites/default/files/resources/TS5K500B_DS_final.pdf
>>
>> Given that I have finite amount of time what is the most efficient way
>> of getting all the data, that is fast to copy, and skip the data, that
>> is in the tarpit?
>
> As ddrescue is currently scraping, and -a only works during the copying
> phase, maybe a combination of --try-again and -c1 (perhaps with a large
> --skip-size if the drive is not returning errors) could solve your problem:
>
>   ddrescue --try-again -c1 --skip-size=50MB

That still keeps me in the tar pit. I get read rates of 1.7 KB/s.

It seems more and more clear to me, that I can rescue almost the whole
drive, if I am willing to wait for 125 GB to be read at 1 KB/s. But
that is not an option to me (as that is roughly 3 years).

But I really would like to get all of the 75% where I can read at 3000 KB/s.

I can walk forwards through the drive by:

seq 10 10 500000 | sudo parallel -uj1 'timeout 10 ddrescue -d  -r5
-T10 -i {}000000 /dev/sdd disk.img disklog'

When this hits a good section, it reads more then 10 MB during the 10
seconds, thus recovering all of the good section from the start byte.
I will still miss up to 10 MB of the good section, and I will still
waste some time in the tar pits.

If I can somehow do the same backwards, I will be able to read the (up
to) 10 MB blocks.

Can I say: Start at byte 100G and read backwards?

It seems when I use -R it always starts from 500 GB.


/Ole



reply via email to

[Prev in Thread] Current Thread [Next in Thread]