 |
Index for Section 8 |
|
 |
Alphabetical listing for V |
|
volmake(8)
NAME
volmake - Create Logical Storage Manager (LSM) configuration records
SYNOPSIS
/sbin/volmake [-Vp] [-g diskgroup] [-o useopt] [-U usetype] [-d descfile]
/sbin/volmake [-Vp] [-g diskgroup] [-o useopt] sd name [attr=value...]
/sbin/volmake [-Vp] [-g diskgroup] [-o useopt] plex name [attr=value...]
/sbin/volmake [-Vp] [-g diskgroup] [-o useopt] [-U usetype] vol name
[attr=value...]
OPTIONS
The following options are recognized:
-g diskgroup
Specify the disk group for the operation. The disk group can be
specified either by name or by disk group ID. See voldg(8) for more
information on disk groups.
-U usetype
Use usetype as the default usage type for volumes. This option has no
effect if only subdisks and plexes are created, or if the usage type
for a volume is specified directly with the description file variable
usetype.
-o useopt
Give usage-type-specific options to the usage type utility.
-d desc
Specify the name of a description file to use for building subdisks,
plexes, and volumes. If the desc option argument is -d, then the
description file is read from the standard input. If no operands are
specified, and no desc is specified, then a description file is read
from the standard input. This option is ignored for records that are
specified directly on the command line.
-V Write a list of utilities that would be called from volmake, along with
the arguments that would be passed. The -V option performs a ``mock
run'' of the utilities; the utilities are not actually called, and no
changes are made to the volume configuration database.
-p Print a list of all changes that would be made to the standard output,
but do not make those changes. The output is in the volmake
description file format. All computable and potentially useful
attributes are printed for new records. For records that would be
modified, only those attributes that would change are printed, along
with an extra attribute declaration, CHANGED=yes. In this way the -p
option performs a ``mock run'' of the utilities.
This option is intended for use with higher-level tools that preview
record creations, particularly with respect to usage-type-dependent
attribute modifications.
DESCRIPTION
The volmake utility creates subdisk, plex, and volume records for the
Logical Storage Manager. Records can be created entirely from parameters
specified on the command line, or they can be created using a description
file.
If no operands are specified, then a description file is used to specify
what records to create. By default, this description file is read from the
standard input. If operands are specified, then the first operand is a
keyword that determines the object to build, the second operand is the name
of the object to be created, and additional operands specify attributes for
the object to be built. An attribute given on the command line is
specified in the same manner used with the description file (with multiple
attributes given, one attribute per operand), except that the double-quote
convention is not needed. See the ``Examples'' section for sample uses.
For convenience, a special attribute form can be used for subdisks
specified directly from the command line. This special attribute form is
one of the following:
· devicepath,offset[,len]
· medianame,offset[,len]
The first form specifies a subdisk location by device path, offset within
that device, and length. The second form specifies the subdisk location by
a disk media record name, offset within the disk's public region, and
length. Optionally, the length can be specified with a len=length
attribute instead. If a device path is specified, then it must match the
device path for the public region of a known disk in the indicated disk
group.
More than one record, including more than one volume or plex hierarchy, can
be specified in a single description file. volmake attempts to create all
records within a single transaction, so that either all records are created
or no records are created.
See the volmake(4) reference page for a specification of volmake
descriptions.
Descriptions of records within a volume hierarchy are filtered through a
usage type specific utility, as appropriate for the usage type, before the
records are actually created. Subdisks and plexes that are not specified
within a volume hierarchy are filtered by the gen usage type. These
usage-type utilities may change the descriptions so that certain fields are
ignored or set up with initial values. Plex or subdisk records to be
associated with a volume or plex may also be changed if the association is
indicated in the description, even if the plex or subdisk record is not
explicitly specified.
A usage type must be specified for every volume record, either through
setting the usetype field in the volume record description, or through the
-U option to volmake.
ATTRIBUTE SPECIFICATION RULES
The only attributes that must be specified are the path and len attributes
for subdisk records, and a usage type for volume records. In addition, if
the layout attribute for a plex record is set to STRIPE, then a positive
value must be specified for the stwidth attribute.
Attempts to specify certain attributes are ignored by volmake. Some
attributes are ignored by the switchout (usage type independent) volmake
itself. The usage type dependent volmake may cause additional attributes
to be ignored.
Subdisks
Fields that can be specified for subdisks are: tutil0, tutil1, tutil2,
putil0, putil1, putil2, daname, dmname (or disk), path, comment, devoffset,
dmoffset, len, and dmrid.
The disk specification for subdisks uses one of following fields, in order
of precedence: dmrid, dmname, daname, or path. The dmrid field is used, if
non-zero. One of the other fields is used if defined to a non-empty
string. If the path field is the only field used, then it must define the
block device path for a partition containing the public region of a disk in
the requested disk group.
With path, the devoffset field is used as an offset into the partition;
otherwise dmoffset is used as an offset into the public region. This
distinction is important if the public region does not begin at the
beginning of its partition.
Specification of a disk in some form (including possibly the special forms
devicepath,offset,length or medianame,offset,length) is required.
Specification of the len field is also required. All other fields default
to zero (for numbers) or empty strings (for strings).
Plexes
Fields that can be specified for plexes are: tutil0, tutil1, tutil2,
putil0, putil1, putil2, comment, layout, stwidth, sd, and logsd.
There are no required fields for plex records. All fields default to zero
(for numbers) or empty strings (for strings). The layout field defaults to
concat.
If the layout field is set to stripe, then the stwidth field must be set to
a non-zero value.
An sd specification names the subdisks to associate with the plex. The
specification optionally names the offsets of the subdisks within the plex.
If no offsets are specified, then the subdisks are directly concatenated in
the order indicated.
A logsd specification names a subdisk to associate as a special logging
subdisk for recording volume activity as part of the block change logging
feature.
Volumes
Fields that can be specified for volumes are: tutil0, tutil1, tutil2,
putil0, putil1, putil2, comment, usetype, startopts, readpol, prefname,
minor, user, group, mode, len, writeback, writecopy, logtype, and plex.
Specification of a usage type is required, either using the -U option on
the command line, or using the usetype attribute. Specification of a
usetype attribute overrides a value specified with -U. All other fields
have default values: readpol defaults to round; user and group both default
to 0 (root); mode defaults to u=rw (mode 600); writeback and writecopy
default to on; the len field defaults to the length of the shortest
associated plex (or zero, if no plex associations are requested); all other
numeric fields default to zero, and all other string fields default to
empty strings.
A plex specification names the plexes to associate with the volume. The
order of plexes in this list is not important.
The value of the prefname field is relevant only if the readpol attribute
is set to prefer.
FSGEN AND GEN DESCRIPTION
The fsgen and gen usage-type-specific utilities that support volmake are
used by the switchout volmake utility as filters that set defaults for plex
and volume states.
Subdisk fields are set, checked, or modified as follows:
len Subdisk lengths are required to be set to a nonzero value.
tutil0
This field is cleared.
Plex fields are set, checked, or modified as follows:
tutil0
This field is cleared.
state
If the plex is to be associated with a volume, the state field is set
to EMPTY; otherwise it is cleared.
Volume fields are set, checked, or modified as follows:
tutil0
This field is cleared.
state
This field is set to EMPTY.
Attempts to associate an existing subdisk or plex with a new plex or volume
will be refused, unless the putil0 field for the existing record is empty.
The putil0 fields are not set, and their contents are preserved.
EXAMPLES
The following is an example of a volmake description file:
#rectyp #name #options
sd disk3-01 disk=disk3 offset=0 len=20480
sd disk4-01 disk=disk4 offset=0 len=20480
plex db-01 layout=STRIPE stwidth=16k sd=disk3-01,disk4-01
sd ramd1-01 disk=ramd1 len=640
comment="Hot spot for dbvol"
plex db-02 sd=ramd1-01:40320
vol db usetype=gen plex=db-01,db-02
readpol=prefer prefname=db-02
comment="Uses mem1 for hot spot in last 5m"
This description specifies a gen type volume that contains two plexes: a
volatile memory disk plex, which is preferred, and a physical disk plex.
The memory disk plex is sparse and covers only the last 640 sectors of the
40960-sector length of the volume. The physical disk plex is striped
across two 20480-sector subdisks.
This is a simple sequence of commands to create a hierarchy with one
subdisk, one plex, and one volume:
/sbin/volmake sd rz3-01 /rz3,32000 comment="rz3 subdisk 1"
/sbin/volmake plex demo-1 sd=rz3-01 comment="Demo volume, plex 1"
/sbin/volmake -U gen vol demo plex=demo-1 comment="Demo gen volume"
EXIT CODES
The 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.
FILES
/etc/vol/type/usetype/volmake
Usage-type-specific utility for filtering volume hierarchy descriptions
SEE ALSO
Commands: volassist(8), voldisk(8), voldg(8), volintro(8).
Files: volmake(4)