# 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


