# man vxmake Reformatting page. Wait... done Maintenance Commands vxmake(1M) NAME vxmake - create Volume Manager configuration records SYNOPSIS vxmake [-pV ] [-g diskgroup] [-o useopt] [-U usetype] [-T a|o] [-d descfile] vxmake [-pV ] [-g diskgroup] [-o useopt] plex name [attr=value...] vxmake [-pV ] [-g diskgroup] [-o useopt ] sd name [attr=value...] vxmake [-pV ] [-g diskgroup] [-o useopt] [-U usetype] vol name [attr=value...] DESCRIPTION The vxmake utility creates subdisk, plex, and volume records for the Volume Manager. Records can be created entirely from parameters specified on the command line, or they can be created using a description file. NOTE: The vxprint or vxprivutil utilities can be used with vxmake to perform the functions of a rudimentary configura- tion backup and restore. This should be the primary use of vxmake. Use of vxmake other than through a description file containing content mostly gathered from either the vxprint or the vxprivutil utilities is discouraged in Volume Manager releases starting with 3.0. The vxassist utility is the recommended means of creating new or modified volume hierar- chies. 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 attri- butes 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: devicepath,offset[,len] VxVM 3.0 Last change: 11 Dec 1998 1 Maintenance Commands vxmake(1M) or 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. Option- ally, the length can be specified with a len=length attri- bute 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. vxmake attempts to create all records within a single tran- saction, so that either all records are created or no records are created. This is the default behavior. A new option, -T allows users to select transaction control that differs from the default behavior when restoring records within a volume hierarchy from a description file. This may be particularly helpful with volume hierarchies that include layered volumes. See vxmake(4) for a specification of vxmake descriptions. Descriptions of records within a volume hierarchy are fil- tered 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. The 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 vxmake. OPTIONS -d descfile Specify the name of a description file to use for building subdisks, plexes, and volumes. If the descfile option argument is -d, then the descrip- tion file is read from the standard input. If no operands are specified, and no descfile is speci- fied, then a description file is read from the standard input. This option is ignored for VxVM 3.0 Last change: 11 Dec 1998 2 Maintenance Commands vxmake(1M) records that are specified directly on the command line. -g diskgroup Specify the disk group for the operation. The disk group can be specified either by name or by disk group ID. See vxdg(1M) for more information on disk groups. -o useopt Give usage-type-specific options to the usage type utility. -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 vxmake description file format. All computable and potentially use- ful attributes are printed for new records. For records that would be modified, only those attri- butes 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. -T This option controls the unit of work that vxmake uses to make records within a single transaction when restoring records from a description file. If the option argument is a or the -T option is absent altogether, then vxmake attempts to create all records within a single transaction, so that either all records are created or no records are created. This behavior is considered the default behavior and it is backward- compatible with pre- vious releases of the Volume Manager. If the option argument is o, then one complete top-level object (Volume hierarchy, dissociated plex hierarchy, or dissociated subdisk hierarchy) is created at a time, and if multiple top-level objects are to be created from the same descrip- tion file, then vxmake attempts to create each one a top-level object at a time in its own transac- tion. Note that should some objects be creatable and some not, the configuration results in those objects that vxmake was actually able to create. This option can be used for any record hierarchy. Because record hierarchies with layered volumes may contain many subordinate records, the -T o VxVM 3.0 Last change: 11 Dec 1998 3 Maintenance Commands vxmake(1M) option is particularly useful for safely creating these kinds of objects. -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. -V Display a list of utilities that would be called from vxmake, 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 con- figuration database. 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. Also, if no subdisks are specified for a plex of the STRIPE layout, the ncolumn attribute must be specified. Attempts to specify certain attributes are ignored by vxmake. Some attributes are ignored by the switchout (usage-type independent) vxmake itself. The usage-type dependent vxmake may cause additional attributes to be ignored. The sections that follow provide information on the attri- butes that can be specified for subdisk, plex, and volume creation. 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 private region. This distinction is important if the public VxVM 3.0 Last change: 11 Dec 1998 4 Maintenance Commands vxmake(1M) 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, ncolumn, 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 or raid5, then the stwidth attribute must be specified. If the layout field is set to concat, the ncolumn field cannot be specified. 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 indi- cated. If the sd attribute is specified for a striped plex and ncolumn is not specified, ncolumn will default to the column of the subdisk with the highest column specification. As a special case, if ncolumn is not specified and the sd does not specify columns or offsets for the subdisks, then each subdisk will be placed in its own column at an offset of zero in the order they are specified and the plex's ncolumn attribute is set to the number of subdisks speci- fied. A logsd specification names a subdisk to associate as a spe- cial log subdisk for recording volume activity as part of the dirty region 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, exclusive, logtype, and plex. Specification of a usage type is required, either using the -U option on the command line, or using the usetype attri- bute. 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; exclusive defaults to VxVM 3.0 Last change: 11 Dec 1998 5 Maintenance Commands vxmake(1M) off; len 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 Usage Types The fsgen and gen usage-type-specific utilities that support vxmake are used by the switchout vxmake 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. RAID-5 Description The raid5 usage-type-specific utilities that support vxmake are used by the switchout vxmake 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 VxVM 3.0 Last change: 11 Dec 1998 6 Maintenance Commands vxmake(1M) 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. The raid5 specific vxmake utility will only allow one plex with a layout of raid5 to be associated with a volume. Plexes not of the raid5 layout are associated as RAID-5 log plexes. EXAMPLES The following is an example of a vxmake description file: #rectyp #name #options sd disk3-01 disk=disk3 offset=0 len=10000 sd disk3-02 disk=disk3 offset=25000 len=10480 sd disk4-01 disk=disk4 offset=0 len=8000 sd disk4-02 disk=disk4 offset=15000 len=8000 sd disk4-03 disk=disk4 offset=30000 len=4480 plex db-01 layout=STRIPE ncolumn=2 stwidth=16k sd=disk3-01:0/0,disk3-02:0/10000,disk4-01:1/0, disk4-02:1/8000,disk4-03:1/16000 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 (db-02), which is preferred, and a physical disk plex (db-01). The memory disk VxVM 3.0 Last change: 11 Dec 1998 7 Maintenance Commands vxmake(1M) 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 columns. Column zero con- tains two subdisks and column one contains three subdisks. The plex offset specified for each subdisk concatenates the subdisks contiguously in their respective columns. For striped or RAID-5 plex subdisk associations, if one number is specified for the the column and column offset field, the number is interpreted as a column number and the subdisk is associated at the end of the column in the order it appears in the subdisk list. The same subdisk association list for plex db-01 could be re-written as follows: sd=disk3-01:0,disk3-02:0,disk4-01:1,disk4-02:1,disk4-03:1 The following is a simple sequence of commands to create a hierarchy with one subdisk, one plex, and one volume: vxmake sd 5s1-01 /dev/dsk/5s1,32000 comment="5s1 subdisk 1" vxmake plex demo-1 sd=5s1-01 comment="Demo volume, plex 1" vxmake -U gen vol demo plex=demo-1 comment="Demo gen volume" EXIT CODES The vxmake 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(1M) for a list of standard exit codes. FILES /etc/vx/type/usetype/vxmake Usage-type-specific utility for filtering volume hierarchy descriptions. SEE ALSO vxassist(1M), vxdisk(1M), vxdg(1M), vxintro(1M), vxmake(4) VxVM 3.0 Last change: 11 Dec 1998 8