Manual Page Result
0
Command: diskx | Section: 8 | Source: Digital UNIX | File: diskx.8.gz
diskx(8) System Manager's Manual diskx(8)
NAME
diskx - disk exerciser program
SYNOPSIS
/usr/field/diskx [ option(s) ] [ parameter(s) ]
DESCRIPTION
The diskx program is intended to test various aspects of disk driver
functionality. These tests provide more comprehensive functional cov-
erage than the dskx utility. Main functional areas which are tested
include:
o Read testing.
o Write testing.
o Seek testing.
o Performance analysis.
Some of the tests involve writing to the disk. For this reason the ex-
erciser should be used with caution on disks which may contain useful
data which could be over-written. Tests which write to the disk will
first check for the existence of file systems on the test partitions
and partitions which overlap the test partitions. If a file system is
found on these partitions, a prompt will appear asking if testing
should continue.
There are a number of options that diskx accepts. These options con-
trol which tests are performed and also specify parameters of test op-
eration.
FLAGS
The following is a description of the diskx options:
-h Help. Displays a help message describing test options and func-
tionality.
-p Performance test. Read and write transfers will be timed to mea-
sure device throughput. No data validation is performed as part
of this test. Testing will be done using a range of transfer
sizes if the -F option is not specified. The transfer size used
for testing a range of record sizes will start at the minimum
value and be incremented by the reciprocal of the number of speci-
fied "splits". For example if the number of splits is set to 10,
the transfer size will start at the minimum value, the next trans-
fer size will be the minimum value added to 1/10th of the range of
values, similarly the next transfer size will increase by 1/10th
of the range during each testing interval. If a specific number
of transfers are not specified, the transfer count will be set to
allow the entire partition to be read or written; this number will
vary depending on the transfer size and the partition size. The
performance test will run until completed or interrupted and is
not time limited by the -minutes parameter. This test may take a
long time to complete depending on the test parameters.
-r Read-only test. Reads from the specified partitions.
This test is useful for generating system I/O activity. Because
it is a read-only test, it is possible to run more than one in-
stance of the exerciser on the same disk.
-w Write test. The purpose of this test is to verify that data can
be written to the disk and read back for validation. Seeks are
also done as part of this test. This test provides the most com-
prehensive coverage of disk transfer functionality due to the us-
age of reads, write, and seeks. The test also combines sequential
and random access patterns.
The test performs the following operations using a range of transfer
sizes. A single transfer size will be utilized if the -F attribute is
specified. The first step is to sequentially write the entire test
partition (unless the number of transfers has been specified using
-num_xfer). Next the test partition is sequentially read. The data
read from disk is examined to insure that it is the same as what was
originally written. At this point if random transfer testing has not
been disabled (using the -S attribute) then writes will be issued to
random locations on the partition. After completion of the random
writes, reads will be issued to random locations on the partition. The
data read in from random locations will be examined for validity.
The following options are testing attributes which modify how tests are
to be run.
-F Perform fixed size transfers. If this option is not specified
transfers will be done using random sizes. This attribute is as-
sociated with the following tests: -p, -r, -w.
-i Interactive mode. Under this mode the user will be prompted for
various test parameters. Typical parameters include the transfer
size and the number of transfers. The following scaling factors
are allowed:
o k or K - kilobyte (1024 * n)
o b or B - block (512 * n)
o m or M - megabyte (1024 * 1024 * n)
For example 10k would specify 10240 bytes.
-O Perform the specified test once. If this option is specified with
the sequential transfer attribute, the test will halt after the
entire disk has been read or written. This attribute is associ-
ated with the -r and -w tests.
-Q Do not perform performance analysis of read transfers. This will
cause only write performance testing to be performed. To perform
only read testing and to skip the write performance tests the -R
attribute must be specified. This attribute is associated with
the following tests: -p.
-R Opens the disk in read-only mode. This attribute is associated
with all tests.
-S Performs sequential transfers. In order to achieve maximum
throughput the -S attribute should be specified on the command
line. Transfers will be performed to sequential disk locations.
This may slow down the observed throughput due to associated head
seeks on the device. If this option is not specified transfers
will be done to random disk locations. This attribute is associ-
ated with the following tests: -p, -r, -w.
-T Directs output to the terminal. This attribute is useful when
output is directed to a logfile using the -o option. By also
specifying this parameter after the -o filename options will cause
output to be directed to both the terminal and the log file. This
attribute is associated with all tests.
-X Does not check for disk labels or partition overlaps. This option
should be used when testing DRD (Distributed Raw Disk) or LSM
(Logical Storage Manager) devices. See the -f and -x options
also.
-Y If any of the selected tests write to the disk, the disk will be
examined for any existing file systems. If it appears that file
systems exist, the exerciser will prompt for confirmation before
proceeding. When this attribute is specified the exerciser will
NOT prompt for confirmation before proceeding.
The following options are used to specify test parameters. These op-
tions are followed by an associated parameter specification. Test pa-
rameters may also be modified in an interactive manner. Refer to the
description of the -i test attribute for details. To specify a numeri-
cal value, type the parameter name followed by a space and then the
number. For example -perf_min 512
The following scaling factors are allowed:
o k or K - kilobyte (1024 * n)
o b or B - block (512 * n)
o m or M - megabyte (1024 * 1024 * n)
To illustrate this, -perf_min 10K, causes transfers to be done in sizes
of 10240 bytes.
-code
Specifies a code to be imbedded in the high byte of a long word
pattern. This option is only valid with 64 bit patterns, -pattern
8 or -pattern 99. See also the -pattern option. This parameter is
associated only with the -w test option.
-debug
Specifies the level of diagnostic output to display. The higher
this number is, a greater volume of output will be produced de-
scribing the operations the exerciser is performing. This parame-
ter is associated with all tests.
-err_lines
Specifies the maximum number of error messages may be produced as
a result of an individual test. Limits on error output is done to
prevent a flooding of diagnostic messages in the event of persis-
tent errors. This parameter is associated with all tests.
-f devname
Used to specify the device special file to perform testing on.
The devname parameter is the name associated with either a block
or character special file which represents the disk to be tested.
The file name must begin with an "r" as in rz0 or rz1. The last
character of the file name may represent the disk partition to
test, if no partitions are specified it is assumed that testing is
to be done to all partitions. For example if the specified dev-
name is /dev/rrz0 then testing will be done to all partitions. If
devname is /dev/rrz0a then testing will be done on only the "a"
partition. This parameter must be specified in order to allow any
testing to be performed. This parameter is associated with all
tests.
On a cluster system using DRD devices, or when using LSM, use the
-x option with the -f option to specify the pathname. You must
also use the -X option and specify a value for the the
-numb_blocks option when using -x. (see the example section).
-minutes
Specifies how many minutes to allow testing to continue. This pa-
rameter is associated with the following tests: -r, -w.
-max_xfer
Specifies the maximum transfer size to be performed. When trans-
fers are to be done using random sizes, the sizes will be within
the range specified by the -max_xfer and -min_xfer parameters. If
fixed size transfers are specified (see the -F test attribute)
then transfers will be done in a size specified by the -min_xfer
parameter. Transfer sizes to the character special file should be
specified in multiples of 512 bytes. If the specified transfer
size is not an even multiple the value will be rounded down to the
nearest 512 bytes. This parameter is associated with the follow-
ing tests: -r, -w.
-min_xfer
Specifies the minimum transfer size to be performed. This parame-
ter is associated with the following tests: -r, -w.
-num_blocks
Specifies the range of disk blocks that diskx should use. Use
this option when testing DRD devices or when using LSM.
-num_xfer
Specifies how many transfers to perform before changing the parti-
tion that is currently being tested. This parameter is only use-
ful when more than one partition is being tested. If this parame-
ter is not specified then the number of transfers will be set to
be enough to completely cover a partition. This parameter is as-
sociated with the following tests: -r, -w.
-o filename
Sends output to the specified filename. The default is to not
create an output file and send output to the terminal. This para-
meter is associated with all tests.
-pattern #
This option specifies the write pattern to be used when exercising
a disk.
o 1 indicates a byte pattern (8 bits)
o 2 indicates a short word pattern (16 bits)
o 4 indicates a int word pattern (32 bits)
o 8 indicates a long word pattern (64 bits)
o 99 indicates a repeating pattern (64 bits)
The default is a long word pattern (64 bits). This parameter is
associated only with the -w test option. See also the -code op-
tion.
-perf_max
Specifies the maximum transfer size to be performed. When trans-
fers are to be done using random sizes, the sizes will be within
the range specified by the -perf_min and -perf_max parameters. If
fixed size transfers are specified (see the -F test attribute)
then transfers will be done in a size specified by the -perf_min
parameter. This parameter is associated with the following tests:
-p.
-perf_min
Specifies the minimum transfer size to be performed. This parame-
ter is associated with the following tests: -p.
-perf_splits
Specifies how the transfer size will be changed when testing a
range of transfer sizes. The range of transfer sizes is divided
by perf_splits to obtain a transfer size increment. For example
if perf_splits is set to 10, tests will be run by starting with
the minimum transfer size and increasing the size by 1/10th of the
range of values for each test iteration. The last transfer size
will be set to the specified maximum transfer size. This parame-
ter is associated with the following tests: -p.
-perf_xfers
Specifies the number of transfers to be performed in performance
analysis. If this value is not explicitly specified the number of
transfers will be set equal to the number required to read the en-
tire partition. This parameter is associated with the following
tests: -p.
-x Specifies that the pathname quoted should be used without specify-
ing partition letters. This is useful when testing a DRD (Dis-
tributed Raw Device) in a cluster, or when LSM is in use.
EXAMPLES
The following are example command lines with a description of what the
resulting test action will be. diskx -f /dev/rrz0 -r The above example
will perform read-only testing on the character device special file
that rrz0 represents. Since no partition is specified, reading will be
done from all partitions. The default range of transfer sizes will be
used. Output from the exerciser program will be displayed on the ter-
minal. diskx -x -X -f /dev/rdrd/drd1 -r -num_blocks 100000 diskx -x -X
-f /dev/vol/vol1 -r -num_blocks 100000 The above examples performs
read-only testing. The first example specifies a DRD device, and the
second an LSM volume. diskx -f /dev/rz0a -o diskx.out -p -n -S Perfor-
mance tests will be run in the "a" partition of rz0. Program output
will be logged to the file diskx.out. The -S option will cause sequen-
tial transfers for best test results. Testing will be done over the
default range of transfer sizes. diskx -f /dev/rrz0 -r &; diskx -f
/dev/rrz1 -r &; diskx -f /dev/rrz2 -r & This command will run the read
test on all partitions of the disks. The disk exerciser is being in-
voked here as 3 separate processes. In this manner the 3 processes
will be generating a lot of system I/O activity. This may be useful
for system stress testing purposes. diskx -f /dev/rrz17b -w -pattern
99 This command will run the write test on partition "b" of rz17. The
repeating long word pattern will write the following test pattern to
the disk: resulting test pattern written: <address> <quad word>
<quad word> 0000020 0007060504030201 0007060504030201 0000030
0007060504030201 0007060504030201 0000040 0007060504030201
0007060504030201 diskx -f /dev/rrz17b -w -pattern 8 -code 255 This com-
mand will run the write test on partition "b" of rz17. The specified
pattern and code will write the following test pattern to the disk: re-
sulting test pattern written: <address> <quad word> <quad word>
0000020 ff00000000000004 ff00000000000005 0000030 ff00000000000006
ff00000000000007 0000040 ff00000000000008 ff00000000000009
PROGRAM OUTPUT
The following are descriptions of some of the tables which are produced
by the disk exerciser:
This is the header used to describe the results of the transfer tests
followed by a description of each column:
Disk Transfer Statistics
Part Seeks Seek_Er Writes Writ_Er MB_Write Reads Read_Er MB_Read
Data_Er
Part A letter used to represent the disk partition.
Seeks The number of seek system calls that were issued.
Seek_Er
The number of seek system calls returning error status.
Writes The number of write system calls issued.
Writ_Er
The number of write system calls returning error status.
MB_Write
The number of megabytes of data written.
Reads The number of read system calls issued.
Read_Er
The number of read system calls returning error status.
MB_Read
The number of megabytes of data read.
Data_Er
The number of transfers which had data validation errors.
This does not specify the number of bytes that were in error;
rather it specifies that the transfer had at least one byte
in error.
This header is used to describe the results of the performance tests.
Performance test results:
Part- Transfer Count of Read Write Transfer
ition Size Transfers Rate Rate Errors
Partition
A letter used to represent the disk partition.
Transfer Size
This is the size of the read or write system call.
Count of Transfers
Specifies the number of read or write system calls.
Read Rate
The observed disk throughput obtained by timing the specified
number of read system calls.
Write Rate
The observed disk throughput obtained by timing the specified
number of write system calls.
Transfer Errors
Shows how many read and write system calls resulted in a return
value of error status. If this value is nonzero then the values
displayed in the Read and Write Rate columns may not accurately
reflect correct device performance.
RELATED INFORMATION
getdiskbyname(3), disktab(4), cmx(8), fsx(8), shmx(8), tapex(8),
memx(8)
See also the Trucluster(TM) Administration guide. delim off
diskx(8)