From: Jens Axboe <axboe@kernel.dk>
To: Grant Grundler <grundler@google.com>
Cc: jcasse@google.com, "fio@vger.kernel.org" <fio@vger.kernel.org>
Subject: Re: FIO and Storage Data Integrity testing
Date: Wed, 31 Jul 2013 15:23:16 -0600 [thread overview]
Message-ID: <51F98044.1080105@kernel.dk> (raw)
In-Reply-To: <CANEJEGsMAS3uYtQx04bq8mPcdnhtXaVwg=vS=TgcY97d2kQeqw@mail.gmail.com>
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
next prev parent reply other threads:[~2013-07-31 21:23 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-31 20:32 FIO and Storage Data Integrity testing Grant Grundler
2013-07-31 21:23 ` Jens Axboe [this message]
2013-07-31 22:37 ` Grant Grundler
2013-08-01 2:25 ` Jens Axboe
2013-08-01 21:02 ` Jens Axboe
2013-08-02 17:15 ` Juan Casse
2013-08-02 21:07 ` Juan Casse
2013-08-02 21:10 ` Juan Casse
2013-08-02 21:21 ` Jens Axboe
2013-08-02 21:18 ` Juan Casse
2013-08-02 21:21 ` Juan Casse
2013-08-02 21:39 ` Grant Grundler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51F98044.1080105@kernel.dk \
--to=axboe@kernel.dk \
--cc=fio@vger.kernel.org \
--cc=grundler@google.com \
--cc=jcasse@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.