unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



volmake(8)							   volmake(8)



NAME

  volmake - Create Logical Storage Manager objects

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
      Specifies	the disk group for the operation. The disk group can be
      specified	either by name or by disk group	ID. If no disk group is
      specified, the rootdg disk group is implied. See voldg(8)	for more
      information on disk groups.

  -U usetype
      Specifies	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	vari-
      able usetype.

  -o useopt
      Gives usage-type-specific	options	to the usage type utility.

  -d descfile
      Specifies	the name of a description file to use for building subdisks,
      plexes, and volumes. If the -d option is used with no descfile argu-
      ment, then the description file is read from the standard	input. If no
      operands are specified, and no descfile is specified, then a descrip-
      tion file	is read	from the standard input. This option is	ignored	for
      records that are specified directly on the command line.

  -V  Displays 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  Prints to	the standard output a list of all changes that would be	made,
      but does not make	those changes.	The output is in the volmake descrip-
      tion 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	Logi-
  cal Storage Manager. Records can be created entirely from parameters speci-
  fied 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 key-
  word 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.  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 speci-
  fied directly	from the command line. This special attribute form is:

  /devicepath,offset[,len]

  or

  medianame,offset[,len]

  The first form specifies a subdisk location by a device path,	an offset
  within that device, and a length. The	second form specifies the subdisk
  location by a	disk media record name,	an offset within the disk's public
  region, and a	length.	Optionally, the	length can be specified	with a
  len=length attribute.	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 descrip-
  tions.

  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.	 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 asso-
  ciated 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 set-
  ting the usetype field in the	volume record description, or through the -U
  option to volmake.






ATTRIBUTE SPECIFICATION	RULES

  The only attributes that you must specify are	the path and len attributes
  for subdisk records, and a usage type	for volume records. In addition, if
  you set the layout attribute for a plex record to STRIPE, then you must
  specify a positive value for the stwidth attribute. Also, if you do not
  specify the subdisks to create a plex	of the STRIPE layout, then you must
  specify the ncolumn attribute.

  Attempts to specify certain attributes are ignored by	volmake. Some attri-
  butes	are ignored by the switchout (usage-type independent) volmake itself.
  The usage-type dependent volmake may cause additional	attributes to be
  ignored.

  The sections that follow provide information on the attributes that you can
  specify when creating	subdisk, plex, and volume objects.

  Subdisks


  You can specify the following	fields for subdisks: dmrid, daname, dmname
  (or disk), path, devoffset, dmoffset,	len, putil0, putil1, putil2, tutil0,
  tutil1, tutil2, and comment.

  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
  nonzero. One of the other fields is used if defined to a nonempty 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 dis-
  tinction 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.  Specifi-
  cation 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: layout, ncolumn,	stwidth, sd,
  logsd, putil0, putil1, putil2, tutil0, tutil1, tutil2, and comment.

  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 you must specify the
  stwidth attribute. If	the layout field is set	to concat, you cannot specify
  the ncolumn attribute.

  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. If the sd attribute is specified	for a striped plex
  but 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 specified.

  The logsd specification names	a subdisk to associate as a special log	sub-
  disk for recording volume activity as	part of	the dirty region logging
  feature.



  Volumes


  Fields that can be specified for volumes are:	usetype, len, logtype, plex,
  startopts, readpol, prefname,	minor, user, group, mode, writeback, wri-
  tecopy, putil0, putil1, putil2, tutil0, tutil1, tutil2, and comment.

  Specification	of a usage type	is required, either using the -U option	on
  the command line, or using the usetype attribute in a	description file.
  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; 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 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 positive, 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 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 positive, 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 volmake 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 volmake 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	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 contains	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 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 rewritten	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:

       volmake sd dsk-01 /dev/dsk/dsk1,32000 comment="dsk1 subdisk 1"
       volmake plex demo-1 sd=dsk1-01 comment="Demo volume, plex 1"
       volmake -U gen vol demo plex=demo-1 comment="Demo gen volume"

EXIT CODES

  The volmake 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

  /sbin/lsm.d/usetype/volmake
      Usage-type-specific utility for filtering	volume hierarchy descrip-
      tions.

SEE ALSO

  volmake(4) volintro(8), volassist(8),	voldisk(8), voldg(8)