19

I wanted to ask about testing suites available for testing Linux file systems. I am looking for more of stress and load testing suites, which can stress the system, find corruptions by validating the data it wrote, among other things.

Is there such a tool available for both local FS like ext*, and network protocols such as NFS/CIFS?

Thanks in advance.

Mark Lobo
  • 331
  • 2
  • 3
  • 9

2 Answers2

32

Let's focus on the concrete parts of your question. Tools and suites will be given for the following Linux filesystems: ext4, CIFS, NFS.

 General test suites (for correctness and robustness)

 "stress and load testing suites"

 "find corruptions by validating the data"

 CIFS

NFS

Sources

pevik
  • 4,523
  • 3
  • 33
  • 44
Anon
  • 6,306
  • 2
  • 38
  • 56
  • 2
    My new tool to make filesystem block-level backend "forgetful" to test how robust is the filesystem against surprise storage removal: https://github.com/vi/outoforderfs . Shall it be mentioned somewhere here? – Vi. Mar 21 '16 at 10:35
4

Depends on how far down the rabbit hole you're going. For starters, here's the list of Linux test utilities, which do basic benchmarking for the Linux file systems. http://ltp.sourceforge.net/tooltable.php

If you're doing serious performance evaluation, I'd suggest something like filebench, or iozone, both of which are very flexible tools for benchmarking. They'll work for either local or network file systems, but they simply write files to a mounted file system, they don't exercise the NFS or CIFS driver directly.

Also check out the file system benchmarking portal (original link broken as of 2017, archived version available), which has a nice long list of available testing tools, as well as their applications. It's also got a bunch of information on how to correctly set up benchmarks to correct for things like cache effects, so that your numbers reflect the true performance.

You can enable diagnostic mode in iozone to check for corruptions, and I believe filebench has something similar. Or just checksum your data and validate it at the end, but that's slightly less out of the box.

s-m-e
  • 3,433
  • 2
  • 34
  • 71
aleatha
  • 808
  • 5
  • 7