*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> xlv_mgr (1)              
Title
Content
Arch
Section
 

Contents


xlv_mgr(1M)							   xlv_mgr(1M)


NAME    [Toc]    [Back]

     xlv_mgr - administers XLV logical volume objects and their	disk labels

SYNOPSIS    [Toc]    [Back]

     xlv_mgr [ -r root ] [ -c cmdstring	] [ -v ] [ -x ]	[ -R ]

DESCRIPTION    [Toc]    [Back]

     xlv_mgr displays and modifies existing XLV	objects	(volumes, plexes,
     volume elements, and XLV disk labels).  xlv_mgr can operate on XLV
     volumes even while	they are mounted and in	use.

     xlv_mgr supports the following command line options:

     -r	root   Use root	as the root directory.	This is	used in	the miniroot
	       when / is mounted as /root.

     -c	cmdstring
	       Command line option.  Causes xlv_mgr to go into command line
	       mode and	use cmdstring as the command input.  Multiple
	       instances of -c are accumulated.

     -v	       Verbose option.	Causes xlv_mgr to generate more	detailed
	       output.

     -x	       Expert mode.  Provides additional functions.

     -R	       Do not read the XLV configuration information from the disks at
	       the time	xlv_mgr	is invoked.  This allows xlv_mgr to quickly
	       startup.	 The XLV configuration information can be read from
	       the disks at a later time with the reset	command.

     Commands that pertain to plexes are displayed only	when the system	has
     been licensed for the plexing portion of XLV.

     xlv_mgr provides several types of operations:  attach, detach, delete,
     change, script, and show:

     attach    Add an XLV object to another XLV	object.	 You can add a volume
	       element to a plex or plex to a volume.  The volume element or
	       plex to be added	must first be created using xlv_make(1M).

     detach    Separate	a part of an XLV object	and make it an independent
	       (standalone) XLV	object.	 For example, if you detach a plex
	       from a plexed volume, that plex is separated from the volume
	       and made	into a standalone plex.	 The original volume then has
	       one less	plex.

     delete    Delete an entire	XLV object.

     script    Generate	the xlv_make commands required to create some or all
	       XLV objects.




									Page 1






xlv_mgr(1M)							   xlv_mgr(1M)



     show      Display the list	of XLV objects on the system and their
	       structure.

     change    Change an attribute associated with can XLV object.

     The commands are:

     show [-long][-verbose] all
	  Displays all known XLV objects by name and type.  The	-long option
	  causes more information about	each XLV object	to be displayed.  The
	  -verbose displays more detailed information, such as the uuid.  The
	  following is an example of the output	of this	command:

	  xlv_mgr> show	all

	  Volume:	      root_vol (complete)
	  Volume:	      db1 (complete)
	  Volume Element:     ve12
	  Plex:		      plex2

     show [-short][-verbose] kernel [volume_name]
	  Displays all XLV objects or the specified volume_name	configured
	  into the running kernel.  The	only XLV objects in the	kernel are
	  volumes.  Standalone plexes and volume elements are not viable
	  objects in the kernel	because	they cannot be used.  The -short
	  option displays terse	information on each volume.  The -verbose
	  displays more	detailed information on	each volume.

     show [-long][-verbose] labels [device_volume_header]
	  Displays XLV disk labels on all disks	or the specified
	  device_volume_header.	 The -long option displays the secondary
	  label.

     show config
	  Displays XLV software	configuration information about	the running
	  kernel.  Included are	statistics on the XLV memory pools for all
	  plexed volumes (if support is	present) and all volume	elements. For
	  example:

	  xlv_mgr> show	config


	  Allocated subvol locks: 30	  locks	in use:	8
	  Plexing license: present
	  Plexing support: present
	  Statistic Collection:	off
	  Plex buffer pool statistics:
		  maximum concurrent I/O's 13;	I/O buffer size	1016 bytes
	       buffer pool size	13.21KB;  maximum size 4.00GB
		  pool hits 1121; misses 141; waits 0; resized 4 times
		  memory growth	rate 50%; maximum miss rate 10%
	  Volume Element buffer	pool statistics:



									Page 2






xlv_mgr(1M)							   xlv_mgr(1M)



		  maximum concurrent I/O's 53;	I/O buffer size	1.48KB
	       buffer pool size	80.32KB;  maximum size 4.00GB
		  pool hits 1636; misses 225; waits 0; resized 5 times
		  memory growth	rate 50%; maximum miss rate 10%
	  Maximum subvol block number: 0x7fffffff

	  The Statistic	Collection tag indicates if statistics gathering is
	  enabled (on) or disabled (off).

	  In the pool statistics, hits imply an	efficient I/O path and misses
	  suggest a somewhat slower path.  When	the maximum miss rate is
	  exceeded, the	buffer pool is grown by	the growth rate. The buffer
	  pool size is limited to maximum size.	 The maximum concurrent	I/O's
	  gives	an upper bound on the number of	efficient I/Os possible, and
	  the I/O buffer size is the amount of memory dedicated	for each I/O
	  request.

     show [-verbose] object object_name
	  Displays detailed information	on an XLV object object_name.  The
	  information includes all the XLV parameters and the disk partitions
	  that make up the object.

	  In the example below,	the volume named db1 has one subvolume of type
	  data that contains two plexes.  The first plex has two volume
	  elements, while the second plex only has one volume element.	The
	  first	volume element in each plex covers the same range of disk
	  blocks.  For each volume element, xlv_mgr displays the partitions
	  that make up the volume element, the size of the partition, and the
	  range	of this	volume's disk blocks that map to the volume element.
	  For example:

	  xlv_mgr> show	object db1
	  VOL db1 (complete)
	  VE db1.data.0.0 [active]
		  start=0, end=1100799,	(cat)grp_size=1
		  /dev/dsk/dks1d4s0 (1100800 blks)
	  VE db1.data.0.1 [active]
		  start=1100800, end=2201599, (cat)grp_size=1
		  /dev/dsk/dks1d4s1 (1100800 blks)
	  VE db1.data.1.0 [active]
		  start=0, end=1100799,	(cat)grp_size=1
		  /dev/dsk/dks1d4s2 (1100800 blks)


     show stat [subvolume]
	  Displays statistics gathered for either all subvolumes or the
	  specified subvolume.	For example:

	  xlv_mgr> show	stat root.data
	  Subvolume 0 (root.data):
	    read ops: 668,  read blocks: 286015
	    write ops: 2025,  write blocks: 305508



									Page 3






xlv_mgr(1M)							   xlv_mgr(1M)



	  The above example shows the number of	read/write operations and
	  read/write blocks going to the data subvolume	of the volume root.

	  The following	example	shows the statistics for subvolume 6 which has
	  a striped volume element.

	  xlv_mgr> show	stat 6
	  Subvolume 6 (rickey.data):
	    read ops: 300,  read blocks: 2457600
	    write ops: 300,  write blocks: 2457600
	      stripe ops: 600,	total units: 19200
	       largest single i/o: 32 stripe units,  frequency:	600
	       aligned	   <	stripe width; ends on stripe unit: 0
	       aligned	   >	stripe width; ends on stripe unit: 600
	       aligned	   =	stripe width; ends on stripe unit: 0
	       aligned	 > or <	stripe width; doesn't end on stripe unit: 0

	       unaligned   <	stripe width; ends on stripe unit: 0
	       unaligned   >	stripe width; ends on stripe unit: 0
	       unaligned   =	stripe width; doesn't end on stripe unit: 0
	       unaligned > or <	stripe width; doesn't end on stripe unit: 0

	  A stripe width is composed of	the product of the stripe unit and the
	  number of disks comprising the stripe.  The stripe unit determines
	  the number of	blocks to write	to one disk before writing to the
	  next.	 The stripe statistics are:

	  stripe ops		The number of operations issued	to the
				subvolume's striped volume elements.
				Depending on the volume	geometry, and whether
				or not the subvolume is	plexed,	this may not
				match the number of read and write operations.

	  total	units		The cumulative count of	all stripe units
				involved in stripe operations to the
				subvolume.

	  largest single i/o	Keeps track of the largest I/O size issued to
				the subvolume measured in stripe units.

	  frequency		The number of times the	largest	I/O was
				issued.

	  There	are three parameters for evaluating how	an I/O spans a striped
	  volume:

	  aligned/unaligned	Indicates whether or not the start address of
				the I/O	begins on a stripe unit	boundary.  If
				an I/O doesn't start on	a boundary, the	stripe
				unit is	used inefficiently.





									Page 4






xlv_mgr(1M)							   xlv_mgr(1M)



	  < stripe width
	  > stripe width
	  = stripe width	Specifies if the transfer is less than a
				stripe width's worth of	data, more than	a
				stripe width, or an even multiple of the
				stripe width size.  Transfers of full stripe
				widths are optimal since all disks are
				accessed evenly.  Transfers of more or less
				than a stripe width are	less optimal due to
				uneven drive access patterns.

	  doesn't end on a stripe unit
	  ends on a stripe unit	When an	I/O ends on a stripe unit, the next
				sequential I/O will start aligned on a stripe
				unit boundary.	If it doesn't end on a stripe
				unit, then the stripe is used inefficiently
				since a	sequential access will require that
				particular unit	to be accessed multiple	times.

     attach ve source dest-plex
     attach ve source volume.{data|log|rt}.N
	  The command appends standalone volume	element	object source to the
	  end of destination plex.  This enables you to	grow a plex or volume
	  by adding a volume element to	the end	of a plex.  You	can use	this
	  in conjunction with xfs_growfs(1M) to	grow an	XFS filesystem without
	  unmounting it.

	  Suppose that you have	a volume element, spareve, that	contains a
	  single disk partition	/dev/dsk/dks1d4s2.  The	following command
	  appends it to	plex 0 of the data subvolume of	volume db1:

	  xlv_mgr> attach ve spareve db1.data.0
	  xlv_mgr> show	object db1
	  VOL db1 (complete)
	  VE db1.data.0.0 [active]
		  start=0, end=1100799,	(cat)grp_size=1
		  /dev/dsk/dks1d4s0 (1100800 blks)
	  VE db1.data.0.1 [active]
		  start=1100800, end=2201599, (cat)grp_size=1
		  /dev/dsk/dks1d4s1 (1100800 blks)
	  VE db1.data.0.2 [active]
		  start=2201600, end=3302399, (cat)grp_size=1
		  /dev/dsk/dks1d4s2 (1100800 blks)

     attach plex source	volume.{data|log|rt}
	  Appends standalone plex object source	to existing volume volume.
	  This command creates duplicate copies	of the data on the volume for
	  greater reliability.	This operation is sometimes called mirroring.
	  After	the plex has been added, xlv_mgr automatically initiates a
	  plex revive operation; this copies the data from the original	XLV
	  plexes to the	newly added plex so that the plex holds	the same data
	  as the original plexes in the	volume.	 The following appends a plex



									Page 5






xlv_mgr(1M)							   xlv_mgr(1M)



	  named	plex2 to the data subvolume of volume db1:

	  xlv_mgr> attach plex plex2 db1.data

	  Use the show object command to display volume	db1 and	see that the
	  disk partitions that were part of plex2 are now a component of db2.
	  plex2	no longer exists as a standalone plex since it was merged into
	  volume db1.

     insert ve source vol.{data|log|rt}.N
     insert ve source plex.N
	  Inserts standalone volume element object source into the destination
	  plex object.	This enables you to add	a volume element into a	gap in
	  a plex.

	  xlv_mgr requires that	the destination	be a fully qualified XLV
	  pathname (for	example, movies.data.0).  The pathname must specify
	  the relative position	within the plex	to insert the volume element.
	  (The first volume element in a plex is at position 0.)  The plex to
	  be operated on can be	a standalone plex or a part of a volume.  If
	  the plex is part of a	volume,	the volume, subvolume, and plex	must
	  be specified.	 In the	example	below it is volume test.  The
	  following example inserts a volume element ve5 into a	gap in the
	  volume test.	There is a gap because the first volume	element	starts
	  at block number 76200.  First	display	the configuration of test and
	  ve5 before inserting ve5 into	test.

	  xlv_mgr> show	object test

	  VOL test (has	holes)
	  VE test.data.0.0 [active]
		  start=76200, end=152399, (cat)grp_size=1
		  /dev/dsk/dks0d2s1 (76200 blks)
	  VE test.data.0.1 [active]
		  start=152400,	end=228599, (cat)grp_size=1
		  /dev/dsk/dks0d2s2 (76200 blks)

	  xlv_mgr> show	object ve5

	  VE ve5 [empty]
		  start=0, end=76199, (cat)grp_size=1
		  /dev/dsk/dks0d2s5 (76200 blks)

	  xlv_mgr> insert ve ve5 test.data.0

	  xlv_mgr> show	object test

	  VOL test (complete)
	  VE test.data.0.0 [stale]
		  start=0, end=76199, (cat)grp_size=1
		  /dev/dsk/dks0d2s5 (76200 blks)
	  VE test.data.0.1 [active]



									Page 6






xlv_mgr(1M)							   xlv_mgr(1M)



		  start=76200, end=152399, (cat)grp_size=1
		  /dev/dsk/dks0d2s1 (76200 blks)
	  VE test.data.0.2 [active]
		  start=152400,	end=228599, (cat)grp_size=1
		  /dev/dsk/dks0d2s2 (76200 blks)

     detach [-force] ve	plex.N ve-object
     detach [-force] ve	volume.{data|log|rt}.N ve-object
	  Removes specified volume element from	its parent object and save it
	  as ve-object.	 This command separates	a volume element from its
	  parent plex.	This volume element can	later be added to some other
	  XLV object.  The plex	from which the volume element is removed can
	  be a standalone plex or part of a volume.  The detached volume
	  element becomes a standalone XLV volume element object.  You must
	  specify the fully qualified pathname of the volume element to	be
	  detached and the name	to be given to the detached volume element.
	  The -force option forces the detach when the the parent object is
	  missing any pieces.  The detach operation leaves the volume element
	  intact.

     detach [-force] plex volname.{data|log|rt}.plexno plexobject
	  This command removes the specified plex from its parent object and
	  saves	it as plexobject.  The -force option forces the	detach when
	  the the parent object	is missing any pieces.	This new standalone
	  plex can later be added back to a volume via the attach plex
	  command.

	  The following	example	shows how to detach the	first plex from	a
	  volume:

	  xlv_mgr> detach plex db1.data.0 savedplex

     delete object name
	  Deletes the object name.  This command enables you to	delete a
	  volume, a standalone plex, or	a standalone volume element.  The XLV
	  configuration	is removed from	the disks that make up the XLV object.
	  Because the XLV configuration	information is stored in the volume
	  header (see vh(7M)), this command does not affect any	user data that
	  may have been	written	to the user disk partitions.

     delete all[_labels]
	  An expert command, this command deletes the XLV labels from all
	  disks	on the local system.  You might	want to	do this	to initialize
	  all the disks	on a new system	and ensure that	there is no leftover
	  XLV configuration information	on the disks.  Note that this is a
	  very dangerous operation.  Deleting the disk labels destroys all of
	  the XLV objects on the system.

     delete label device_volume_header
	  An expert command, this command deletes the XLV disk label from the
	  named	device_volume_header.




									Page 7






xlv_mgr(1M)							   xlv_mgr(1M)



     change name object_name newname
	  This command renames the given XLV object object_name	to newname.

	  The following	example	shows how to rename an object small to big.

	  xlv_mgr> change name small big

     change nodename name object ...
	  This command changes the nodename associated with the	named objects.

	  The following	example	shows how to set the node name for the volume
	  db1 to homestead.

	  xlv_mgr> change nodename homestead db1

     change online vol.{data|log|rt}.N.N
     change offline vol.{data|log|rt}.N.N
	  This command transitions the specified volume	element	online or
	  offline.

     change stat on
     change stat off
	  Expert commands to enable or disable statistics gathering.  The
	  default setting for statistics gathering is specified	in the
	  configuration	file /var/sysgen/master.d/xlv.

     change type ve|plex|vol object
	  This command changes the type	of the given object.

	  The following	example	shows how to change a standalone plex object
	  sa_plex to a volume and then rename the volume to backup_vol.

	  xlv_mgr> change type vol sa_plex
	  xlv_mgr> change name sa_plex backup_vol

     change ve_start start_block sa_ve
	  This command changes the start address of a standalone volume
	  element.  This is useful to aid in detaching a volume	element	from
	  one object and arbitrarily inserting it in another.

     change plexmem  max-pool-i/os  growth%  maximum-miss%  [maximum-size]
     change vemem  max-pool-i/os  growth%  maximum-miss% [maximum-size]
	  An expert command, these two commands	allow you to modify the
	  parameters for the two XLV memory/buffer pools.

	  When servicing an I/O	request, there are two types of	memory
	  allocated.  The first	is for plexed volumes, if plexing support is
	  present, and the second is for the underlying	volume elements.  If
	  no memory available in the respective	memory pool, XLV gets memory
	  from the system general purpose memory allocator.  By	changing the
	  maximum number of concurrent I/O max-pool-i/os, you can increase the
	  efficiency of	an I/O request because memory taken from the pool is



									Page 8






xlv_mgr(1M)							   xlv_mgr(1M)



	  more efficient than using the	general	purpose	allocator.  Changing
	  the growth percentage	growth%	alters how fast	the pool grows when
	  the number of	misses exceeds the miss	percentage maximum-miss%.  The
	  maximum-size parameter is expressed in kilobyte units	and is used to
	  limit	the size of the	memory pool.

	  Note that any	changes	to the pool parameters are only	for life of
	  the running system.  The changes are not kept	across system
	  restarts.

     reset
	  Reinitializes	xlv_mgr	data structures	by rereading all the XLV
	  configuration	information from all the disks.

     reset stat	[subvolume]
	  An expert command to clear the statistics of either all subvolumes
	  or the named subvolume.

     script [-write filename] object name
     script [-write filename] all
	  Generates the	required xlv_make commands to create the named object
	  or all objects.  When	the -write option is specified,	the xlv_make
	  commands are saved into filename.

     help Displays a summary of	xlv_mgr	commands.

     ?	  Same as help.

     sh	  Fork a shell.

     quit Terminate this session.

EXAMPLES    [Toc]    [Back]

     These examples show the making of some XLV	objects	and the	growing	and
     plexing of	a volume.  The resulting volume	configuration is saved to a
     xlv_make(1M) input	file.

     Use xlv_make(1M) to create	a volume named bigvolume.

	  xlv_make> vol	bigvolume
	  bigvolume
	  xlv_make> data
	  bigvolume.data
	  xlv_make> plex
	  bigvolume.data.0
	  xlv_make> ve dks131d3s7
	  bigvolume.data.0.0
	  xlv_make> end
	  Object specification completed
	  xlv_make> exit
	  Newly	created	objects	will be	written	to disk.
	  Is this what you want?(yes)  yes



									Page 9






xlv_mgr(1M)							   xlv_mgr(1M)



	  Invoking xlv_assemble

     Create a standalone volume	element	spare_ve.

	  # xlv_make
	  xlv_make> ve spare_ve	dks131d4s7
	  spare_ve
	  xlv_make> end
	  Object specification completed
	  xlv_make> exit
	  Newly	created	objects	will be	written	to disk.
	  Is this what you want?(yes)  yes
	  Invoking xlv_assemble

     Use the xlv_mgr <b>attach ve command to grow the volume bigvolume by
     appending spare_ve	to plex	0 of the data subvolume.

	  # xlv_mgr
	  xlv_mgr> attach ve spare_ve bigvolume.data.0
	  xlv_mgr> exit

     Create a standalone plex spare_plex which can be used to completely
     mirror the	volume bigvolume.

	  xlv_make> plex spare_plex
	  spare_plex
	  xlv_make> ve dks133d3s7
	  spare_plex.0
	  xlv_make> ve dks133d4s7
	  spare_plex.1
	  xlv_make> end
	  Object specification completed
	  xlv_make> exit
	  Newly	created	objects	will be	written	to disk.
	  Is this what you want?(yes)  yes
	  Invoking xlv_assemble

     Use the xlv_mgr <b>attach plex command to mirror the volume bigvolume	by
     adding plex spare_plex to the data	subvolume.

	  # xlv_mgr
	  xlv_mgr> attach plex spare_plex bigvolume.data
	  xlv_mgr> exit

     Save the volume configuration to a	file.

	  # xlv_mgr
	  xlv_mgr> script -write /etc/xlv_make.bigvolume.input object bigvolume
	  xlv_mgr> exit






								       Page 10






xlv_mgr(1M)							   xlv_mgr(1M)


SEE ALSO    [Toc]    [Back]

      
      
     xlv_assemble(1M), xlv_make(1M), xlv_plexd(1M), xlv_shutdown(1M), xlv(7M).

     Tcl and the Tk Toolkit by John K. Ousterhout, Addison-Wesley, 1994.

NOTES    [Toc]    [Back]

     xlv_mgr operations	modify both the	XLV disk labels	and the	kernel data
     structures	as appropriate.	 This means that you do	not need to run
     xlv_assemble(1M) for your changes to take effect.	The only exceptions
     are the XLV label deleting	commands delete	all_labels and delete label,
     which effect only the disk	labels.

     xlv_mgr automatically initiates plex revive operations (see
     xlv_plexd(1M)) as required	after adding a new plex	to a volume or a
     volume element to a plexed	volume.

     You should	be root	when running xlv_mgr.  Otherwise you have limited
     functionality.


								       PPPPaaaaggggeeee 11111111
[ Back ]
 Similar pages
Name OS Title
xlv_admin IRIX modifies XLV logical volume objects and their disk labels
xlv_assemble IRIX initialize logical volume objects from disk labels
xlv_make IRIX create logical volume objects
xlv IRIX logical volume disk driver
lvlnboot HP-UX prepare LVM logical volume to be root, boot, primary swap, or dump volume
lvrmboot HP-UX remove LVM logical volume link to root, primary swap, or dump volume
vgsync HP-UX synchronize stale logical volume mirrors in LVM volume groups
lvsplit HP-UX split mirrored LVM logical volume into two logical volumes
lvmerge HP-UX merge two LVM logical volumes into one logical volume
lvcreate HP-UX create logical volume in LVM volume group
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service