Re: FIO and Storage Data Integrity testing

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

 



On 07/31/2013 02:32 PM, Grant Grundler wrote:
> Hi Jens!
> 
> My summer intern (Juan Casse) is working on a data integrity/retention
> test and has the first prototype running. (Juan might follow up with a
> gerrit code review for the first cut)
> 
> The goals of this data integrity test:
> o GPL implementation I can give to storage vendors as part of HW Qual test
> o verify data written to storage is available and correct

Both of these fio already satisfies.

> o log writes (save a map) so we can repeatedly verify writes at a
> later date (weeks or months later)

One approach that I have started favoring is instead providing coverage
through the use of an lfsr. This negates the need for dedicated tracking
map or log. Fio supports this through random_generator=lfsr. The one
thing that does not YET work is lfsr and multiple block sizes. Should be
doable through layered use of multiple lfsrs. Something for your intern
to tackle?

> o provide some "bread crumbs" for debugging when data is NOT correct.
>    (Not available typically will result in reported errors)

So lets say that one of the fio verify modes was augmented to include a
time stamp (say the meta mode, or could even be added to all the verify
modes), that could be part of the bread crumbs and aid in judging
retention of the data.

> o work on any block storage device (ie no knowledge of specific device
> geometry or flash vs magnetic vs optical or removable vs built-in -
> some 'workloads' might be geared for specific types of storage)

Certainly

> o specify workload the same way fio does (multi-threaded, async,
> random vs seq, read vs write mix, etc)
> o collect same performance statistics that fio does (latency
> histograms in particular)
> o be done in < 6 weeks by a full time intern. :)

Depends on the quality of the intern :-)

> It seems like he should be doing something with fio.  I saw this query
> in the Fio mailing list archive but didn't see a response:
>    http://www.spinics.net/lists/fio/msg01933.html
> 
> Since these are destructive tests, I expect the primary target
> "audience" is anyone working on Storage HW or wants to confirm Storage
> HW is operating correctly before deploying $$$ worth of HW.
> 
> Questions:
> 1) You know anyone else developing data integrity/retention testing with fio?

I know of lots of people/companies using it for data integrity testing
(I even work for one of them), but not data retention. So I think that
would be a very interesting feature to add.

> 2) Other good open source data integrity test I should know about?
> Both Juan and I looked and didn't find anything better than
> "badblocks". As a first exercise, Juan has written an autotest for
> badblocks on ChromeOS:
>    https://gerrit.chromium.org/gerrit/#/c/61786/

No idea, sorry.

> 3) You have a preference on how this might be implemented if (a) we
> used code from OR (b) integrated this functionality into fio?

I think the the data retention aspect should be integrated into the
verify modes. The fio verification modes checksum both the stored
header, as well as the actual contents. There might be additional
tracking required on the side for retention, to be able to pass some
interesting info on where we seem to fall off a cliff.

I'll be happy to work with you guys on this, both on the initial design
phase and the final integration into fio.

-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux