vxprint - display records from the Volume Manager configuration


vxprint [ -AvpsdGhnlafmtqQ ] [ -g diskgroup ] [ -e pattern ] [ -D database ] [ -F [type:]format-spec ]
[ name ... ]

vxprint [ -SAq ] [ -g diskgroup ]


The vxprint utility displays complete or partial information from records in Volume Manager disk group configurations. Records can be selected by name or with special search expressions. Additionally, record association hierarchies can be displayed in an orderly fashion so that the structure of records is 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. The default output format consists of single-line records, each of which includes a record type, name, usage type or object association, enabled state, length, and other fields. A one-line header is written before the record information.

By default, all records in the rootdg disk group are displayed. Subdisks are sorted primarily by the subdisk device, secondarily by the device offset. Plex and volume records are sorted by name.

NOTE: The vxprint utility can display disk group, disk media, volume, plex, and subdisk records. It cannot display disk access records. Use the vxdisk list operation to display disk access records, or physical disk information.


Display 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.

Print 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.

-g diskgroup
Display records from the specified disk group. The diskgroup option argument can be either a disk group name or disk group ID.

Display only volumes for display. This restricts the records matched with search patterns. Also, the default selection of all records in the database is then restricted to all volumes. If a name operand names a plex or subdisk, then a diagnostic is written to the standard error.

Display only plexes.

Display only subdisks.

Display only disk media records.

Display only disk group records.

NOTE: The -v, -p, -s, -d, and -G options may be combined to specify that more than one record type is allowed. Specifying all options restores the default behavior. Also, note that without the addition of the -A option, the -G option will print at most one disk group record.

-e pattern
Use a volume configuration search expression to select records to be displayed. See vxmake(F) for a description of search patterns.

List 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.

Display only the names of selected records.

Display 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.

Display 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 isn't a practical format from the viewpoint of human readability.

Display all information about each selected record in a format that is useful as input to both the vxmake utility and to awk(C) scripts. The format used is the vxmake description format (see vxmake(F)). In addition to record information, the list of plex or subdisk records associated with selected volume or plex records is displayed. Each field is output on a separate line, indented by a single tab. Values for fields that contain comment-style strings are always preceded by one double-quote character.

Display information about each record as one-line output records containing the following fields, from left to right:

1. Record type

2. Record name

3. Usage-type, volume association, or plex association (or - for unassociated plexes and subdisks)
4. Enabled state (or - for subdisks, disks, or disk groups)

5. Length, in units of system sectors

6. Plex association offset (or - for volumes, plexes, disks, or disk groups). This field will appear as LOG for log subdisks.

7. 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), then that condition is listed instead of any usage-type-dependent state.

8. The tutil[0] field. This field is set by usage-types as a lockout mechanism.

9. 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.

Print single-line output records that depend upon the configuration record type. For disk groups, the output consists of the record type (dg) the disk group name, and the disk group ID.

For disk media records, the output consists of the following fields, in order from left to right:
1. Record type (dm)

2. Record name

3. Underlying disk access record

4. Disk access record type (sliced, simple, or nopriv)

5. Length of the disk's private region

6. Length of the disk's public region

7. Path to use for accessing the underlying raw disk device for the disk's public region
For subdisks, the output consists of the following fields, from left to right:

1. Record type (sd)

2. Record name

3. Associated plex, or - if the subdisk is dissociated

4. Name of the disk media record used by the subdisk

5. Device offset in sectors

6. Subdisk length in sectors

7. 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 non-empty to reserve the subdisk's space for non-volume uses. If the putil[0] field is empty, - is displayed for dissociated subdisks.

8. 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:

1. Record type (pl)

2. Record name

3. Associated volume, or - if the plex is dissociated

4. Plex kernel state

5. 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), then that condition is listed instead of the value of the plex record's state field.

6. Plex length in sectors

7. Plex layout type

8. Number of columns and plex stripe width, or - if the plex is not striped

9. Plex I/O mode, either RW (read-write), WO (write-only), or RO (read-only)

For volumes, the output consists of the following fields, from left to right:

1. Record type (v)

2. Record name

3. Associated usage type

4. Volume kernel state

5. Volume utility state

6. Volume length in sectors

7. Volume read policy

8. The preferred plex, if the read-policy uses a preferred plex

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.

Suppress headers that would otherwise be printed for the default and the -t and -f output formats.

Suppress the disk group header that separates each disk group. A single blank line still separates each disk group.

-F [type:]format_spec
Set a literal format string to use for displaying record information. If the option argument begins with a comma-separated list of zero or more record types (sd, plex, or vol) followed by a colon, then the format_spec after the colon is used when printing the indicated record types. If no record types are specified, then 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:

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 non-empty; otherwise, the next available specification is used. Any number of alternate specifications can be used.

If no field width is specified, then 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, then 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, then 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 character -.

One % 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.

-D database
Get a configuration from the specified location. The database option argument can be one of:

(Default). Get a configuration from the volume configuration daemon.

Read a configuration from the standard input. The standard input is expected to be in standard vxmake input format.

Record fields

The field names that can be used with the format_spec string of the -F option and that are produced for the -m or -a options are the same as those that can be provided as input to the vxmake utility. For a list of these field names, see vxmake(F). Some additional pseudo fields are also supported. These are:

The name of the record being displayed. Because the record name is specified positionally within vxmake description formats, the vxmake utility and the -m and -a options to vxprint do not explicitly provide this field name.

rec_type or rtype
This is either dg (disk group), dm (disk), vol (volume), plex (plex), or sd (subdisk), depending on the record being displayed.

short_type or type
This is 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.

dgname or dg_name
This is 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.

vname or v_name
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).

plname or pl_name
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 comma (,) 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 non-striped 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, then 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.

Exit codes

The vxprint 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 vxintro(ADM) for a list of standard exit codes.


To display all records in all disk groups, with clearly displayed associations and with output lines tailored to each record type, use the command:

	vxprint -Ath 
To avoid looking at the 5-line header and the extra disk group headers generated by this command, you can remove all the headers by adding a -q.

To display all subdisks and all disk groups, in sorted order by disk, use:

	vxprint -AGts 
If all plexes are named based on volumes, this can be a convenient means of viewing large configurations. The association field for each of the subdisks names the plex, and the plex name will normally imply a volume association by the form of the plex name.

To display the names of all unassociated plexes, use the command

	vxprint -n -p -e !assoc 
To print all subdisks, including the subdisk name and either the subdisk plex association offset or the putil0 field for dissociated subdisks, use:

	vxprint -s -F "%{name:-14} %{pl_offset|putil0}" 


awk(C), grep(C), sed(C), vxinfo(ADM), vxintro(ADM), vxmake(ADM), vxmake(F)

Copyright © 2005 The SCO Group, Inc. All rights reserved.