You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
5.3 KiB
146 lines
5.3 KiB
Disktest Version v1.4.x README
|
|
|
|
WHAT IS DISKTEST?
|
|
|
|
Disktest performs repeated i/o accesses to disk devices or filesystems
|
|
and optionally writes to, reads from, and verifies the data.
|
|
|
|
There are many optional parameters that can be supplied to disktest to have
|
|
it perform in a multitude of test cases.
|
|
|
|
It is distributed under the GNU General Public License - See the LICENSE
|
|
file that accompanies this distribution for more details.
|
|
|
|
CHANGES
|
|
|
|
Please read the CHANGELOG for details on the changes to disktest from
|
|
previous releases.
|
|
|
|
WHAT Operating Systems/Architectures DOES IT RUN ON?
|
|
|
|
This code has been written to compile on Linux, AIX, and Windows. Both
|
|
on a 32bit and 64bit environments on Intel and Power. There should be no
|
|
compatibility issues at the time of compilation or execution. If you have
|
|
the time and can expand that list of OS/Arch types please feel free.
|
|
|
|
DOCUMENTATION:
|
|
|
|
At present, the only documentation provided with disktest is the man page
|
|
which is included with the source files as man1/disktest.1. You can either
|
|
install it as a man page on your system, use groff to view it if man is
|
|
not available, or export the man page to another readable format such as
|
|
html.
|
|
|
|
INSTALLING THE SOURCE:
|
|
|
|
You can install the source by untaring the source tar files:
|
|
|
|
gzip -cd disktest.<version>.tar.gz | tar xvf -
|
|
|
|
This will create a directory in the current directory of:
|
|
|
|
disktest.<version>
|
|
|
|
The directory contents that should have been included in this source package
|
|
are:
|
|
|
|
/
|
|
README LICENSE childmain.c childmain.h
|
|
defs.h Getopt.c Getopt.h globals.c
|
|
globals.h main.c main.h Makefile.windows
|
|
Makefile.aix Makefile.linux parse.c parse.h
|
|
sfunc.c sfunc.h threading.c threading.h
|
|
usage.c usage.h timer.c timer.h
|
|
stats.c stats.h io.c io.h
|
|
dump.c dump.h signals.c signals.h
|
|
CHANGELOG
|
|
|
|
man1/
|
|
disktest.1.gz
|
|
|
|
BUILDING THE SOURCE
|
|
|
|
You will need a compiler for the machine that you want to build the source
|
|
for. There is a make file included for each OS type, which will attempt to
|
|
use the default compiler on your system.
|
|
|
|
If you wish, create a symbolic link to the correct Makefile for the system
|
|
that you are compiling the code for, the following defines are used in the
|
|
code to #ifdef code fragments:
|
|
|
|
Windows: -D"WINDOWS"
|
|
AIX: -D"AIX"
|
|
Linux: -D"LINUX"
|
|
|
|
This will set up the includes and typedefs correctly to support the
|
|
different system types.
|
|
|
|
Issue the make command:
|
|
|
|
"make all"
|
|
|
|
The result should be a file in the source directory that is executable with
|
|
'disktest' as the name.
|
|
|
|
There are other make commands defined:
|
|
|
|
"make clean" Will remove executable and object files only
|
|
|
|
"make all-clean" Will remove executable, temp files, object files and
|
|
archives (*tar* & *zip*)
|
|
|
|
"make distro" Will repackage the source files
|
|
|
|
"make install" Will copy man page to /usr/share/man1, and binary to
|
|
/usr/bin/
|
|
|
|
"make uninstall" Will remove man page and binary out of install
|
|
directories.
|
|
|
|
EXECUTING
|
|
|
|
To get started, run disktest with the -? flag:
|
|
|
|
"disktest -?"
|
|
|
|
This will display a simplified usage to get started. More descriptive
|
|
documentation is located in the man page, along with examples of executions
|
|
and output that can give you the first look and feel of how disktest will
|
|
receive inputs and display outputs.
|
|
|
|
SO WHAT ABOUT BUGS, FEATURES, ENHANCEMENTS?
|
|
|
|
It is possible that there will be issues, whether they are bugs or features
|
|
that would like to be added. You can do a couple of things, one, fix/add the
|
|
code yourself and send it to me. This is the fastest way to get improvements
|
|
into the code. Two, You can send me a note that has a description of the
|
|
problem and if possible the recreate setup. I will see what I can do about
|
|
getting these things added to the code.
|
|
|
|
Comments are always welcome, even if it is just a note to let me know how
|
|
well the tool is working for you. I am also interested in comparing the
|
|
tool to others people have used. I would be interested in any feedback
|
|
about the usability, data output, functionality, etc. as compared to other
|
|
tools or testing needs.
|
|
|
|
ON THE TODO LIST
|
|
|
|
- if filesystem IO testing is requested, pre-init the file if not created
|
|
- non-destructive read/write IO function
|
|
- allow user to specify complete LBA/block data
|
|
- RPC functionality to support client server type testing
|
|
- Butterfly seek option: test will seek block
|
|
start/end/start+1/end-1/.../end-1/start+1/end/start
|
|
- Ping-Pong seek option: test will seek block start/end/start/end/etc...
|
|
- min seek: force a minimum seek distance during any IO access
|
|
- max seek: force a maximum seek distance during any IO access
|
|
- add metric for the average response time for all IOs
|
|
- implement flock for filesystem testing on clusters
|
|
- OCFSv2 Oracle Cluster File System, compets with gpfs, gfs
|
|
|
|
CONTACT
|
|
|
|
My email address is: yardleyb@us.ibm.com (Brent Yardley)
|
|
|
|
|