Benchmarking ddrescue

View: New views
2 Messages — Rating Filter:   Alert me  

Benchmarking ddrescue

by Corvus Corax :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello devs and users of GNU ddrescue :)

I just finnished developing a benchmark suite that simulates faulty
hardware for data resurection in a reproducable way
(and without further damaging real hardware)

It works with a glibc wrapper library, simulating a virtual file/device,
which will behave much like a real one.

I can has:
- simulated IO errors on faulty blocks
- blocks that fail to read with IO error sometimes and sometimes work
  (recoverable blocks)
- realistic timing characteristics for sector read times and seeking
  (both on faulty blocks and good ones)

Its bundled with safecopy-1.5 ( http://safecopy.sourceforge.net )
(safecopy is free software, GPL v2 )
and will work with any program using read() and seek() calls to recover
data. (cat, dd, dd-rescue, GNU ddrescue, safecopy, ... )

I have put more thorrough information about the simulation idea here:
http://safecopy.sourceforge.net/analysis/analysis.html

The actual statistics data of the drives I analyzed is in a tarball on
sourceforge too (warning, huge):
http://sourceforge.net/projects/safecopy/files/statistics-data/statistics-data.tgz/download

Please tell me what you think and if you have any suggestions or
comments.

regards

Corvus Corax

demo:

> ./benchmark.sh floppy
>
>  Safecopy device simulator.
>  This program simulates bad media and allows you to benchmark programs
>  that try to read from it.
>
> Simulating floppy:
>  The virtual file simulating floppy is called 'debug' and accessible in
>  any directory.
>  You can now benchmark any program attempting to read from it.
>
>  For example:
> safecopy -b 512 -o badblocks.log debug output.dat
>  or
> dd if=debug of=output.dat
>
>  You can exit the simulator at any time with:
> exit
>
>
> Information on floppy:
> This simulates a 5.25 inch floppy disk (with data coming from /dev/zero)
> 80 tracks, 512 byte per sector, 1.2 MB capacity.
> The disk has some buggy sectors on track 0 and 1
> ...
> sh-3.2$  time ddrescue debug test.dat logfile
> simulator initialising - reading config simulator.cfg
> simulator time granularity: 127 usecs
> simulator everything shorter will be busy-waiting
> simulator simulated blocksize: 512
> simulator simulated filesize: 1228800
> simulator time to seek over 1000 sectors: 503905 usec
> simulator delay on any sectors: 34 usec
> simulator simulated soft error count: 2
> simulator opening data source: /dev/zero
> simulator verbosity: 0
>
>
> Press Ctrl-C to interrupt
> Initial status (read from logfile)
> rescued:    269824 B,  errsize:   58368 B,  errors:       1
> Current status
> rescued:     1227 kB,  errsize:    1536 B,  current rate:      512 B/s
>    ipos:     10240 B,   errors:       3,    average rate:    24510 B/s
>    opos:     10240 B
> Finished                
>
> real    0m38.985s
> user    0m0.156s
> sys     0m5.956s
> sh-3.2$




_______________________________________________
Bug-ddrescue mailing list
Bug-ddrescue@...
http://lists.gnu.org/mailman/listinfo/bug-ddrescue

Re: Benchmarking ddrescue

by Antonio Diaz Diaz-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Corvus Corax wrote:
> I just finnished developing a benchmark suite that simulates faulty
> hardware for data resurection in a reproducable way
> (and without further damaging real hardware)

This sounds great. Thanks!

Just now I am on vacation, but I'll test it as soon as I can.


Best regards,
Antonio.


_______________________________________________
Bug-ddrescue mailing list
Bug-ddrescue@...
http://lists.gnu.org/mailman/listinfo/bug-ddrescue