volprint - Displays records from the Logical Storage Manager
configuration
/sbin/volprint [-AvpsdGhnlafmtqQ] [-g diskgroup] [-e pattern]
[-D database] [-F [type:] format_spec] [name...]
/sbin/volprint [-SAq] [-g diskgroup]
The following options are recognized: Displays configuration
summary information. The output consists of a header
line followed by a line containing the total number of
subdisks, plexes and volumes; the number of unassociated
subdisks; and the number of unassociated plexes. Prints
records from all active (imported) disk groups. Each disk
group represented in the output is separated from other
disk groups by blank lines. A short header line introduces
each disk group. Displays records from the specified disk
group. The diskgroup option argument can be either a disk
group name or disk group ID. Displays volumes and their
hierarchies (associated plexes and subdisks). If used with
the -n option, displays volume names only. If used with
the -e option, the database records matched will primarily
be reduced to volumes. If a name operand names a plex or
subdisk, a diagnostic is written to the standard error
output. Displays plexes and their hierarchies (associated
subdisks). If used with the -n option, displays plex names
only. If used with the -e option, the database records
matched will primarily be reduced to plexes. If a name
operand names a volume or subdisk, a diagnostic is written
to the standard error output. Displays only subdisks. If
a name operand names a volume or plex, a diagnostic is
written to the standard error output. Displays only disk
media records. Displays only disk group records.
Note
The -v, -p, -s, -d, and -G options can be combined
to specify that more than one record type is
allowed. Specifying all these options is equivalent
to the default behavior. Uses a volume configuration
search expression to select records to be displayed.
See vol_pattern(4) for a description of
search patterns. Lists complete hierarchies below
selected records. For volumes, this list includes
all associated plexes and subdisks. For plexes,
this list includes all associated subdisks. Hierarchies
are separated in the output by a blank line.
Each object listed occupies its own line. The order
of output is a volume name, followed by one associated
plex, followed by all of the subdisks for that
plex, followed by another associated plex, followed
by all of the subdisks for the second plex, and so
on.
The -v, -p, and -s options limit the selection only
of the head of a hierarchy. They do not prevent the
display of associated records through the -h
option.
Unless objects are named explicitly with name
operands, a record is never displayed in two separate
hierarchies. Thus, a selected plex is not displayed
as a separate hierarchy if the volume that
is associated with the plex is also selected. Displays
only the names of selected records. Displays
all information from each selected record. This
information is in a free format that is not
intended for use by scripts. This format is more
convenient than the -m format for looking at
records directly, because the density of information
is more appropriate for human viewing. Displays
all information about each selected record,
one record per line. The format is the same as for
the -m option, except that the -a option format
appears on a single line with one space character
between each field, and the list of associated
records is not displayed. This format is useful for
processing output through filters such as sed and
grep that operate exclusively on one-line records,
although the fields are not readily distinguishable.
It is not a practical format from the viewpoint
of human readability. Displays all information
about each selected record in a format that is
useful as input to both the volmake utility and to
awk scripts. The format used is the volmake
description format (see volmake(4)). In addition
to record information, the list of plex or subdisk
records associated with selected volume or plex
records is displayed. Each field is displayed on a
separate line, indented by a single tab ('\\t').
Values for fields that contain comment-style
strings are always preceded by one double-quote
character ('"') and terminated with the end-of-line
character ('\\n'). Displays information about each
record as one-line output records containing the
following fields, from left to right: Record type
Record name Usage-type, volume association, or plex
association (or - for unassociated plexes and subdisks)
Enabled state (or - for subdisks, disks, or
disk groups) Length, in units of system sectors
Plex association offset (or - for volumes, plexes,
disks, or disk groups). This field will appear as
LOG for log subdisks. Usage-dependent state (or -
for subdisks). If an exception condition is recognized
(a plex I/O failure, removed or inaccessible
disk, or an unrecovered stale data condition), that
condition is listed instead of any usage-typedependent
state. The tutil[0] field. This field is
set by usage-types as a lockout mechanism. The
putil[0] field. This field can be set to prevent
associations of plex or subdisk records.
A one-line header is written before any record
information. Prints single-line output records
that depend upon the configuration record type.
For disk groups, the output consists of the following
fields, in order from left to right: Record
type (dg) Disk group name Number of configuration
copies to enable Number of log copies to enable
Base number for minor of device Disk group ID
For disk media records, the output consists of the
following fields, in order from left to right:
Record type (dm) Record name Underlying disk access
record Disk access record type (sliced, simple, or
nopriv) Length of the disk's private region Length
of the disk's public region Usage-dependent state
(or -)
For subdisks, the output consists of the following
fields, from left to right: Record type (sd) Record
name Associated plex, or a dash (-) if the subdisk
is dissociated Name of the disk media record used
by the subdisk Device offset in sectors Subdisk
length in sectors Plex association offset, optionally
preceded by subdisk column number for subdisks
associated to striped plexes, LOG for log subdisks,
or the putil[0] field if the subdisk is dissociated.
The putil[0] field can be nonempty to
reserve the subdisk's space for nonvolume uses. If
the putil[0] field is empty, a dash (-) is displayed
for dissociated subdisks. Underlying device
name. A string representing the state of the subdisk
(ENA if the subdisk is usable; DIS if the subdisk
is disabled; RCOV if the subdisk is part of a
RAID 5 plex and has stale content; DET if the subdisk
has been detached; KDET if the subdisk has
been detached in the kernel due to an error; RMOV
if the media record on which the subdisk is defined
has been removed from its disk access record by a
utility; or NDEV if the media record on which the
subdisk is defined has no access record associated).
For plexes, the output consists of the following
fields, from left to right: Record type (pl) Record
name Associated volume, or a dash (-) if the plex
is dissociated Plex kernel state Plex utility
state. If an exception condition is recognized on
the plex (an I/O failure, a removed or inaccessible
disk, or an unrecovered stale data condition), that
condition is listed instead of the value of the
plex record's state field. Plex length in sectors
Plex layout type Number of columns and plex stripe
width, or a dash (-) if the plex is not striped
Plex I/O mode, either RW (read-write), WO (writeonly),
or RO (read-only)
For volumes, the output consists of the following
fields, from left to right: Record type (v) Record
name Associated usage type Volume kernel state Volume
utility state Volume length in sectors Volume
read policy The preferred plex, if the read-policy
uses a preferred plex, or a dash (-) if not applicable
to the type of its read-policy.
A header line is printed before any record information,
for each type of record that could be
selected based on the -v, -p, -s, and -h options.
These header lines are followed by a single blank
line. Suppresses headers that would otherwise be
printed for the default and the -t and -f output
formats. Suppresses the disk group header that
separates each disk group. A single blank line
still separates each disk group. Sets a literal
format string to use for displaying record information.
If the option argument begins with a commaseparated
list of zero or more record types (sd,
plex, or vol) followed by a colon, the format_spec
after the colon is used when printing the indicated
record types. If no record types are specified, all
record types are assumed.
The order of -F options is significant, with specifications
later in the option list overriding earlier
specifications. Any use of -F overrides any
other option letter specifying a type of format for
the indicated record types. Thus, -F vol:format_spec
can be used with the -t option to change
the format used for volumes, while still using the
-t format for plex and subdisk records.
The format_spec string consists of literal text
with embedded configuration record variables. Configuration
record variables are introduced with a
percent sign (%). The percent sign is followed by a
variable name or by a variable name and optional
field width in braces. The following formats are
allowed for a variable specification:
%field_name %{field_name}
%{field_name:[[-]width][*]}
%{field_spec|field_spec[|...]}
The first format specifies the exact field name.
The second format allows a field to be specified
with immediately surrounding text that would otherwise
be taken as part of the field name. The third
format allows the specification of a justification
and a field width. The fourth format allows alternate
specifications to be used, either with or
without justification and width specifications.
For the fourth, the first specification is used if
the specified field name is applicable to the
record and is nonempty; otherwise, the next available
specification is used. Any number of alternate
specifications can be used.
If no field width is specified, the number of output
column positions used for the field is the
smallest possible to contain the value; otherwise
spaces are added in the output to make it width
columns in length. A field is not truncated if the
minimum number of column positions necessary for a
value is greater than width.
If a field width is specified with a leading dash
(-) character, an output field is lengthened by
adding spaces after the field value, yielding a
left-justified field. Otherwise, spaces are added
before the value, yielding a right-justified field.
If a field width is followed or replaced by an
asterisk (*) character, an unrecognized or inappropriate
field yields either no output for the field
or a field containing all blanks. Without the
asterisk, the printed field contains the dash (-)
character.
One % character can be displayed by including two %
characters in format_spec.
See the RECORD FIELDS section for a description of
the field names that can be specified. An invalid
format string may yield unexpected output, but does
not generate an error. Gets a configuration from
the specified location. The database option argument
can be one of: (Default). Gets a configuration
from the volume configuration daemon. Reads a configuration
from the standard input. The standard
input is expected to be in standard volmake input
format.
The volprint utility displays complete or partial information
from records in Logical Storage Manager disk group
configurations. Records can be selected by name or with
special search expressions (see vol_pattern(4)). Additionally,
record association hierarchies can be displayed
in a way that makes the structure of records more apparent.
Dashes (-) are displayed in the output wherever there is
no applicable record value.
If no options are specified, the default output uses -f,
-h, and -A. However, specifying certain options can override
-h or -A, making it necessary to specify -h or -A
explicitly with some option combinations.
By default, record information is displayed on single
lines with fields for record type, name, usage type or
object association, enabled state, length, and others. A
one-line header is written before the record information.
The default output includes all records for all active
disk groups. Subdisks are sorted primarily by the subdisk
device, secondarily by the device offset. Plex and volume
records are sorted by name.
Note
The volprint utility displays only disk group, disk media,
volume, plex, and subdisk records. To display disk access
records or physical disk information, use the voldisk list
operation.
You can use the field names displayed by the volprint -a
and volprint -m commands as input to volmake. You can also
use the same fields that you specify with the -F format_spec
string as input to volmake. For a list of these
field names, see volmake(4). Some additional pseudo fields
are also supported. These are: The name of the record
being displayed. Because the record name is specified
positionally within volmake description formats, the volmake
utility and the -m and -a options to volprint do not
explicitly provide this field name. Either dg (disk
group), dm (disk), vol (volume), plex (plex), or sd (subdisk),
depending on the record being displayed. Either
dg, dm, v, pl, or sd, depending upon the record type. This
pseudo variable can be used in a 2-character field, if a
full 4-character field (required by rec_type) is too
large. The name of the disk group containing the record.
The name of the volume or plex to which a plex or subdisk
record is associated. If the record is not associated,
this field is empty. The usage type for volume records
and the association name for associated plexes and subdisks.
For dissociated plexes and subdisks, this is an
empty string. A comma-separated list of subdisks or
plexes that are associated with a plex or volume record.
A comma-separated list of subdisks associated with a plex.
Each subdisk name is followed by a colon and the subdisk's
plex association offset, in sectors. For volume records,
this field is equivalent to aslist. The persistent state
for a plex or volume record, accounting for any exceptional
conditions. For volume records, this displays the
state field. For plex records, this displays one of the
following in the given precedence order: NODEVICE if an
expected underlying disk could not be found; REMOVED if an
underlying disk is in the removed state; IOFAIL if an
unrecovered I/O failure caused the plex to be detached;
RECOVER if a disk replacement left the plex in need of
recovery, either from another plex or from a backup. The
name of an associated volume record. For a volume record,
this is the volume's name; for a plex record, this is the
associated volume's name (if any); for a subdisk record,
this is the associated volume of the associated plex (if
any). The name of an associated plex record. For a plex
record, this is the plex's name; for a subdisk record,
this is the associated plex's name (if any). For a
striped plex, the number of columns and stripe unit size
for a plex, separated by a /, or - if the plex is not
striped. For a subdisk associated with a striped plex,
the column number and column offset of the subdisk separated
by a / or the plex offset (if the subdisk is associated
in a nonstriped plex) or - (if the plex is not associated).
For a subdisk associated with a RAID 5 plex,
this will display flags relating to the status of the subdisk.
An S indicates that the subdisk is considered to
contain stale data. A d indicates that the subdisk has
been detached from the RAID 5 plex.
Displaying a Boolean value always yields on or off. If a
field containing a length or offset is specified in a format_spec
string, the result is the length or offset in
sectors. When the field is displayed with -m or -a, the
length or offset is displayed in sectors with a suffix of
s.
The following command displays all records in all disk
groups, with clearly displayed associations and with output
lines tailored to each record type:
# volprint -Ath
To simplify the output, you can add the -q option
to suppress the display of header lines. The following
command displays information on all subdisks
and all disk groups, in sorted order by disk:
# volprint -Gts
This form of volprint can be useful for viewing
information in large configurations where all plex
names are based on volume names. The association
field for each subdisk gives the plex name, and the
form of the plex name usually implies a volume
association. The following command displays the
names of all unassociated plexes:
# volprint -n -A -p -e !assoc
When issued from csh, the negation prefix (!) must
be escaped (\!). The following command displays
information for all subdisks, including the subdisk
name and either the subdisk plex association offset
or the putil0 field for dissociated subdisks:
# volprint -As -F "%{name:-14} %{pl_offset|putil0}"
The volprint utility exits with a nonzero status if the
attempted operation fails. A nonzero exit code is not a
complete indicator of the problems encountered but rather
denotes the first condition that prevented further execution
of the utility.
See volintro(8) for a list of standard exit codes.
awk(1), grep(1), sed(1), volmake(4), vol_pattern(4),
volinfo(8), volintro(8), volmake(8)
volprint(8)
[ Back ] |