Note: Multiple processes will become threads when the multi-threaded dt is ready.
Also Note: Multiple devices on the command line is a short term solution, since the
next major dt release will support a target input file to define many devices each
with their own test options. But that said, the CLI method has been successful for
50+ devices on Windows (CLI length varies per host OS).
So why add this support after all these years?
well, for folks initiating their IO tools from NATE control servers, you'll realize
the following benefits:
So, what's different?
Please Note: To assure unique data per device, please consider adding the prefix= option. A standard prefix that has worked well is: prefix="%d@%h", where '%d' expands to the device name amd '%h' expands to the host name. This prefix is written at the start of each block, and has been instrumental in helping triage data corruptions.
Log File Format Keywords:
%dsf = The device name. %device = The device path.
%iodir = The I/O direction. %iotype = The I/O type.
%host = The host name. %pid = The process ID.
%user = The user name.
Example: log=dt_%host_%dsf-%iodir_%iotype-%pid.log
So for each device, the device name/path is substituted into the log file name, to
generate a unique log for each device. Note: Path delimiters: '/' or '\\', are
converted to an understore '_'. For "%dsf", the device directory: '/dev/' or '\\.\'
are stripped. See examples below.
Please Note: Use of dt's log file option requires write access to the testbed directory, if you include a log path directory to this. On Windows, your testbed share must be mapped. On *nix, the auto-mounter takes care of this (of course), if client is properly configured.
Trigger Types:
zapipanic = Panic controllers via ZAPI.
At the present time, sending ZAPI commands is accomplished using this external tool:
Later, ZAPI support may be integrated directly into dt (planned as part of threaded dt).
NetApp Specific Options:
ontap_cserver=string The cluster server name.
ontap_nodes=string The cluster node name(s).
ontap_username=string The user name (optional).
ontap_password=string The password (optional).
ontapi_path=string The 'ontapi' path (optional)
ssan-rhel5u4-21# cd /var/tmp
ssan-rhel5u4-21# mkdir dtlogs
ssan-rhel5u4-21# dt.last version
--> Date: June 20th, 2012, Version: 17.66, Author: Robin T. Miller <--
ssan-rhel5u4-21# dt.last if=/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde count=1 log=dtlogs/dt-%host-%dsf.log disable=compare,stats
ssan-rhel5u4-21# ls dtlogs
dt-ssan-rhel5u4-21-multi-dsfs.log dt-ssan-rhel5u4-21-sdc.log-16709 dt-ssan-rhel5u4-21-sde.log-16711
dt-ssan-rhel5u4-21-sdb.log-16708 dt-ssan-rhel5u4-21-sdd.log-16710
ssan-rhel5u4-21#
ssan-rhel5u4-21# rm dtlogs/*log*
ssan-rhel5u4-21# dt of=/var/tmp/dt.data1,/var/tmp/dt.data2 count=1 log=dtlogs/dt-%host-%device.log disable=stats enable=pdebug
ssan-rhel5u4-21# ls dtlogs
dt-ssan-rhel5u4-21-multi-devices.log dt-ssan-rhel5u4-21-_var_tmp_dt_data2.log-22914
dt-ssan-rhel5u4-21-_var_tmp_dt_data1.log-22913
ssan-rhel5u4-21#
Windows Example:
X:\bin>x:\bin\dt.last if=\\.\PhysicalDrive1,\\.\PhysicalDrive2 log=c:\temp\dt-%host-%dsf.log count=1 disable=compare,stats
X:\bin>dir c:\temp\dt*log*
Volume in drive C has no label.
Volume Serial Number is 54F3-DB6A
Directory of c:\temp
06/22/2012 10:11 AM 224 dt-rtmiller1-lxp-multi-dsfs.log
06/22/2012 10:11 AM 218 dt-rtmiller1-lxp-PhysicalDrive1.log
06/22/2012 10:11 AM 218 dt-rtmiller1-lxp-PhysicalDrive2.log
3 File(s) 660 bytes
0 Dir(s) 57,474,859,008 bytes free
X:\bin>
ZAPI Panic Examples:
This first example is forcing a panic of all nodes via the cluster server (cserver).
Force an error condition that forces the trigger to be executed:
robin-ptc% ./dt if=/var/tmp/dt.data bs=512 count=1 position=0 \
pattern=0xdeadface flags=direct \
trigger=zapipanic ontap_cserver=rtmiller-vsim3-d2.sim.rtp.netapp.com
Then verify all nodes of the cluster have rebooted with dump enabled (panic).
This second example forces a panic on specified cluster nodes:
robin-ptc% ./dt if=/var/tmp/dt.data bs=512 count=1 position=0 \
pattern=0xdeadface flags=direct trigger=zapipanic \
ontap_nodes=rtmiller-vsim3.sim.rtp.netapp.com,rtmiller-vsim4.sim.rtp.netapp.com
See BURT 592918
for more details.
Send mail to admin of this page: Robin.Miller@netapp.com
To Robin's home page.
Last Modified: June 20th, 2012