White Papers
28 Dell HPC NFS Storage Solution – High Availability (NSS7.0-HA) Configuration
A.3. Checkstream
The checkstream utility is available at http://sourceforge.net/projects/checkstream/. Version 1.0 was
installed and compiled on the NFS servers and used for these tests.
First, a large file was created using the genstream utility. This file was copied to and from the NFS share
by each client by using dd to simulate write- and read operations. Failures were simulated during the file
copy process and the NFS service was failed over from one server to another. The resultant output files
were checked by using the checkstream utility to test for data correctness and ensure that there was no
data corruption.
A sample output of a successful test with no data corruption is given here:
checkstream[genstream.file.100G]: ------------------------------------------------
checkstream[genstream.file.100G]: valid data for 107374182400 bytes at offset 0
checkstream[genstream.file.100G]: ------------------------------------------------
checkstream[genstream.file.100G]: end of file summary
checkstream[genstream.file.100G]: [valid data] 1 valid extents in 261.205032 seconds
(0.00382841 err/sec)
checkstream[genstream.file.100G]: [valid data] 107374182400/107374182400 bytes (100
GiB/100 GiB)
checkstream[genstream.file.100G]: read 26214400 blocks 107374182400 bytes in 261.205032
seconds (401438 KiB/sec), no errors
For comparison, here is an example of a failing test with data corruption in the copied file. For example, if
the file system is exported by usinng NFS async operation and there is an HA service failover during a write
operation, data corruption is likely to occur.
checkstream[compute-00-10]: ------------------------------------------------
checkstream[compute-00-10]: valid data for 51087769600 bytes at offset 45548994560
checkstream[compute-00-10]:
checkstream[compute-00-10]: ------------------------------------------------
checkstream[compute-00-10]: end of file summary
checkstream[compute-00-10]: [valid data] 1488 valid extents in 273.860652 seconds
(5.43342 err/sec)
checkstream[compute-00-10]: [valid data] 93898678272/96636764160 bytes (87 GiB/90 GiB)
checkstream[compute-00-10]: [zero data] 1487 errors in 273.860652 seconds (5.42977
err/sec)
checkstream[compute-00-10]: [zero data] 2738085888/96636764160 bytes (2 GiB/90 GiB)
checkstream[compute-00-10]: read 23592960 blocks 96636764160 bytes in 273.860652 seconds
(344598 KiB/sec)
checkstream[compute-00-10]: ------------------------------------------------
checkstream[compute-00-10]: encountered 1487 errors, failing