bug-ddrescue
[Top][All Lists]
Advanced

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

[Bug-ddrescue] Benchmarking ddrescue


From: Corvus Corax
Subject: [Bug-ddrescue] Benchmarking ddrescue
Date: Wed, 29 Jul 2009 00:55:03 +0200
User-agent: Mutt/1.5.16 (2007-06-09)

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$






reply via email to

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