voltrace - Trace operations on volumes
/usr/sbin/voltrace [-eEla] [-d outputfile] [-f inputfile] [-t timeout] [-c
eventcount] [-w waitinterval] [-b buffersize] [-g diskgroup] [-o
objtype[,objtype]...] [name | device]...
The following options are recognized by voltrace:
-e Selects new error trace data. The default is to select I/O trace data.
-E Selects pre-existing error trace data. This can be combined with -e to
get both preexisting trace data and new trace data.
-l Specifies long format. Prints all available fields for all tracing
records, rather than a subset of the available fields. The default is
to use the short format.
Writes (dumps) binary trace data to the specified output file.
-a Appends to the outputfile rather than truncating it. By default, the
output file is truncated.
Reads binary trace data from the specified input file, rather than from
Accumulates trace data for at most timeout seconds and then exits.
Accumulates at most eventcount events and then exits. The timeout and
eventcount options can be used together.
If voltrace waits for waitinterval seconds without receiving any new
events, prints the message waiting... to allow scripts to wake up and
process previously accumulated events. This is mostly of use for pro-
cessing errors. The waiting... message does not count as an event for
the purposes of the -c option.
Sets the kernel I/O trace buffer size or sets the read buffer size when
used with the -f option. The Logical Storage Manager kernel allocates a
private kernel space to buffer the I/O trace records for each voltrace
command. The default buffer size is 8K bytes. Some trace records may
be discarded if the trace buffer is too small. This option can be used
to set a larger or a smaller kernel trace buffer size. The buffer size
is specified as a standard Logical Storage Manager length (see volin-
tro(8)). Depending on the Logical Storage Manager kernel configuration,
usually only a maximum of 64K bytes buffer size will be granted.
Selects objects from the specified disk group. The disk group can be
specified either by disk group ID or by disk group name. With no name
or device operands, all appropriate objects in the disk group are
selected. With name operands, diskgroup names the disk group that is
expected to contain the named configuration record.
-o objtype[,objtype] ...
Selects object based on the objtype option arguments. Multiple types
of objects can be specified with one or several -o options. The possi-
ble object selection types are:
v | vol | volume
Selects mirrored or RAID-5 volume kernel objects.
p | pl | plex
Selects striped or concatenated plex kernel objects.
m | mv | mirror
Selects mirrored volume kernel objects.
s | sd | subdisk
Selects subdisk kernel objects.
disk | physical
Selects LSM physical disks.
dev | logical
Selects virtual disk devices.
Selects DRL or RAID-5 log volumes.
Selects RAID-5 log plexes.
Selects DRL or RAID-5 log subdisks.
log Selects all log objects.
all | ALL
Selects all possible virtual disk devices, kernel objects and phy-
If name or device operands are provided, kernel objects of the requested
types are selected if they are associated with the configuration records or
virtual disk devices indicated by those operands.
The voltrace utility prints kernel error or I/O trace event records on the
standard output or writes them to a file in binary format. Binary trace
records written to a file can be read back and formatted by voltrace as
If no operands are given, either all error trace data or all I/O trace data
on all virtual disk devices are reported. With error trace data, it is
possible to select all accumulated error trace data, to wait for new error
trace data, or both (the default). Selection can be limited to a specific
disk group, to specific kernel I/O object types, or to particular named
objects or devices.
Operands specify configuration record names, or physical or virtual disk
device nodes (by device path). If no object types were selected with the
-o option, only trace records corresponding to the indicated configuration
records or devices are selected; otherwise, objects of the requested types
are selected if they are associated in any way with the named configuration
record or device.
If a name argument does not match a regular configuration record but does
match a disk access record, the indicated physical disk is selected. Physi-
cal disks can also be selected by the device path of the public region par-
tition, or by the disk media record name.
By default name arguments are searched for in all disk groups or in the
disk group specified using the -g option. Without the -g option, a record
that is found in more than one disk group will cause an error unless the
record is in the rootdg disk group (in which case, the record in the rootdg
disk group is selected). The disk group for any individual name operand
can be overridden using the form:
When reading trace data from a file with the -f option, association
information is not available.
1. To trace all physical disk I/Os, use the command:
# voltrace -o disk
2. To trace virtual disk device I/Os to the device associated with volume
testvol, use either of the commands:
# voltrace -o dev testvol
# voltrace /dev/vol/testvol
3. To trace all log subdisks associated with volume testvol, use the com-
# voltrace -o logsd testvol
4. To trace all log objects, use the command:
# voltrace -o log
5. To accumulate 10 seconds worth of trace data for disk04 and then for-
mat that data, use the command:
# voltrace -t 10 -d /tmp/tracedata disk04
# voltrace -l -f /tmp/tracedata
6. To read error trace data into a script for processing, using 10 second
pauses to generate mail messages, use the command:
# voltrace -leE -w 10 | while read...
Default device to which events are logged.
volintro(8), volnotify(8), volstat(8)