First decide what you are looking for, what are you trying to confirm is good?
Data paths to and from Individual disks?
Volumes?
The shared memory subsystem?
Now decide whether you are doing a distructive test or a Read-only test. If you are doing a readonly test then I recommend you do not run this as root, and that you make sure you do not have permission to update the files and devices. Make sure you use the O_RDONLY option.
diskomizer -o O_RDONLY=1 ...
Now choose your devices or files to test. Be aware that with out the O_RDONLY option being set non zero, the contents of any device or file that you choose as your victim will be lost. For example I am going to be testing /dev/rdsk/c1t0d0s0 and /dev/rdsk/c1t1d0s0:
diskomizer -o DEVICE="/dev/rdsk/c1t0d0s0 /dev/rdsk/c1t1d0s0"
Or create an options file which specified these devices on the DEVICE line.
DEVICE=/dev/rdsk/c1t0d0s0 /dev/rdsk/c1t1d0s0
Diskomizer does not support any form of filename expansion (globbing) in the way the shell does, but you can get the shell to do it for you, here is how (korn shell), this will test slice 2 on every disk on controller 0, be very careful when doing this:
diskomizer -o DEVICE="$(echo /dev/rdsk/c0*s2)"
Do you want to to background the program?
Yes: Set the options STDOUT and STDERR to redirect Standard out and Standard error respectively to files and set the option BACKGROUND to background it.. For example I am going to be writing to files called "stdout" and "stderr", So I have:
STDOUT=stdout STDERR=stderr BACKGROUND=1
or use the option file called background that is in /opt/SUNWdiskomizer/etc/background as your first option file, e.g.:
diskomizer -f background -f your_option_file
When testing disks use the option file /opt/SUNWdiskomizer/etc/disks which will set the defaults for testing individual disks as opposed to testing the memory systems or volumes.
diskomizer -f disks -o DEVICE="$(echo /dev/rdsk/c0*s2)"
or if you want to background:
diskomizer -f disks -f background -o DEVICE="$(echo /dev/rdsk/c0*s2)"
Because software raid devices tend to be larger than individual disks you normally need to increase the number of read and write threads per device to get a reasonable load.
diskomizer -f raid -o DEVICE="/dev/md/rdsk/md50"
Hardware RAID devices should be treated like disk drives since the limit on the load will be determined by a single driver instance.
When a new device and/or driver needs to be tested, use the EXPERT_READ_BUFFER_GAP and EXPERT_WRITE_BUFFER_GAP settings to make sure that some of the io buffers that are used are not aligned. This will verify that the device and it's driver can cope with non aligned buffers but the performance of Diskomizer will not be quite as good. The options are set for you when you use the acceptance configuration file, e.g.:
diskomizer -f acceptance -o DEVICE="$(echo /dev/rdsk/c0*s2)"
You can use diskomizer to do fast surface analysis of current drives. Diskomizer can be configured to write and read every block on the all the disks to number of times to do a surface analysis of all the standard blocks on the device. You can specify the number of times to write and read each block with the SEQUENTIAL_PASSES option. Then set WTHREADS to zero. These options are set when you use the analysis option file:
diskomizer -o NLOOPS=3 -f analysis -o DEVICE="$(echo /dev/rdsk/c0*s2)"
This will do three passes of all the data on each drive on controller c0. The number of passes must be set before the analysis file is specified.