[lug] Feedback Wanted - Proposed Open Source Disk Test SW

Steve Sullivan sullivan at mathcom.com
Thu Jan 3 10:03:08 MST 2008


George,

One way to have every block, and in fact every word, be different would be:

  main:
    seed = argv value to integer
    rng = new RNG
    writeFile( rng, seed)
    readFile( rng, seed)

  writeFile( int seed):
    rng.setSeed( seed)
    for a while:
      write rng.getInteger()

  readFile( int seed):
    rng.setSeed( seed)
    for a while:
      read value
      if value != rng.getInteger(): error()

Steve

On Wed, Jan 02, 2008 at 09:49:59PM -0700, George Sexton wrote:
> 
> 
> Steve Sullivan wrote:
> >Hi George,
> >
> >Judging from the docs, Jonnie looks like a useful package that fills a 
> >need.
> >A few questions ...
> >
> >Why would someone want to set the TestCorruption flag?
> 
> It's a built-in self test mechanism. I thought that if the whole point 
> was to catch read-errors, I should have some way of assuring myself they 
> would actually be caught.
> 
> >
> >Do all the files (and all the blocks for that matter) have different
> >data?  That is, are they all written from a single RNG with a long
> >period?  That way if a bad driver reads the wrong block, Jonnie can
> >detect it.
> 
> The files for sequential and random IO each have different random blocks 
> of data, but within a file the block is the same. To make every block 
> random would require essentially a second file that I would have to 
> write both the blocks to and then read and compare each other against.
> 
> >
> >Is it possible to use Jonnie against an existing file?  Suppose we have
> >a huge DBMS that is giving us odd errors.  Could we take the DB down some
> >night and use Jonnie to read, change, read-verify, restore, read-verify 
> >blocks?
> 
> That's an interesting idea that I never thought of. I think that if 
> you're running a RAID controller, there should not be any media errors. 
> It would seem to me that any kind of errors would be systematic and not 
> positional.
> 
> It wouldn't be a great deal of effort to adjust the code to look for a 
> test file name to use, but again, with a RAID system I would think any 
> errors would be systematic.
> 
> >
> >Thanks!
> >
> >Steve
> >
> >On Wed, Jan 02, 2008 at 11:35:03AM -0700, George Sexton wrote:
> >>If you follow the list, you've seen my recent comments about the 
> >>inadequacy of commonly used disk testing software.
> >>
> >>To meet my own needs in this area, I've created my own disk test 
> >>software tentatively named (wait for it): "jonnie".
> >>
> >>If there is sufficient interest, I'll GPL the software and throw it up 
> >>on Source Forge.
> >>
> >>Here's a link to the documentation:
> >>
> >>http://www.mhsoftware.com/jonnie/
> >>
> >>and a link to the actual application (42KB)
> >>
> >>http://www.mhsoftware.com/jonnie/jonnie_0.9.zip
> >>
> >>I would appreciate any feedback you have. In particular, I'm interested 
> >>in feedback on the documentation and on the quality of the tests.
> >>
> >>Things I have in mind for this sw before considering it done are:
> >>
> >>* Making it possible to localize messages
> >>* Perhaps making the Random IO Testing a little more paranoid.
> >>
> >>
> >>-- 
> >>George Sexton
> >>MH Software, Inc.
> >>Voice: +1 303 438 9585
> >>URL:   http://www.mhsoftware.com/
> >>_______________________________________________
> >>Web Page:  http://lug.boulder.co.us
> >>Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> >>Join us on IRC: lug.boulder.co.us port=6667 channel=#colug
> >
> 
> -- 
> George Sexton
> MH Software, Inc.
> Voice: +1 303 438 9585
> URL:   http://www.mhsoftware.com/
> _______________________________________________
> Web Page:  http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> Join us on IRC: lug.boulder.co.us port=6667 channel=#colug

-- 

========================================
Steve Sullivan    sullivan at mathcom.com

http://www.mathcom.com    303-494-7115
========================================



More information about the LUG mailing list