xvm(1M)xvm(1M)NAMExvm - xvm command line interface
SYNOPSISxvm [-domain local|cluster] [command ...]
DESCRIPTIONxvm is a command line interface to the XVM volume manager subsystem.
Throughout this document xvm (lower case) refers to the xvm cli whereas
XVM (upper case) refers to the XVM subsystem.
When no command is supplied on the command line, xvm reads and executes
commands interactively. When a command is supplied, only that command
will be executed, and the xvm exit status will indicate whether or not
the command succeeded.
If cluster services have been enabled when you enter this command, XVM
will run in the cluster domain by default. If cluster services have not
been enabled, XVM will run in the local domain by default. You can
specify the XVM domain when you bring up the XVM volume manager by using
the -domain option. You may find this option useful for changing the
domain of XVM command execution if you are writing a script in which you
want to execute a single command in the local domain.
Basic XVM terminology is not discussed here - see xvm(7M) for coverage of
XVM concepts and terminology.
Use the help command with no arguments to get a list of supported
commands. Help with no options will print a brief synopsis for the
indicated commands. Help with the -verbose option will print full man-
like help for the indicated commands. Verbose help output also includes
examples of command usage.
Commands
Commands are case-insensitive keywords that may be abbreviated to any
unique substring. Command options are multi-character keywords that are
case-insensitive, and may be abbreviated to be unique among the options
supported by the command.
The following commands are supported by xvm, grouped by function.
Consult the xvm help -verbose output for specifics.
Failover Commands
foconfig Read the failover2.conf configuration file.
foswitch Switch a physvol to a new path.
Physvol and Unlabeled disk Commands
Page 1
xvm(1M)xvm(1M)
change Change attributes of a physvol.
label Label a disk for xvm usage.
probe Read (or re-read) the labels off of a labeled XVM disk.
unlabel Remove a disk from the XVM arena.
VE Creation Commands
concat Concatenate ve's into a single address space
mirror Mirror multiple ve's
slice Create a slice ve to represent a range of blocks on a
physvol
stripe Create a stripe group from multiple ve's
subvolume Create a subvolume ve
volume Group subvolumes under a single volume name
VE Manipulation Commands
attach Attach a set of ve's to another ve.
change Change attributes of a ve. Attributes that can be changed
are ve-type specific.
collapse Remove a ve from a tree without taking the subvolume off
line.
delete Delete a ve.
detach Detach a ve from its parent.
insert Insert a concat or mirror ve into a tree without taking
the subvolume off line.
remake Remake a ve, collapsing holes and optionally reordering
the pieces.
Display Commands
dump Dump out the command or commands to reconstruct a ve.
show Show various information about a ve or physvol.
General Commands
Page 2
xvm(1M)xvm(1M)
? Alias for help
bye Alias for exit
exit Exit xvm
help Display synopsis or full help for commands
quit Alias for exit
set Set or clear an xvm global variable.
Command Output
In general, commands which create or manipulate objects will print out
the name of the created or target object upon successful completion.
This is convenient for using shell substitution to feed the output of one
command into another. For example, under ksh:
$ xvm concat -volname fred $(xvm slice -all phys1) $(xvm slice -all phys2)
would create a concatenated ve whose volume name is fred, and whose
components are the physvols phys1 and phys2.
Commands which fail, or for which the manipulated object does not make
sense eg. delete, do not print out the target object name.
Tokens which appear inside of <> are treated as comments by the cli.
Commands which create or modify ve's also display the subvolume block-
special name that the target ve belongs to inside of <>. For example the
command: slice -all phys1 produces the following output (if successful):
</dev/xvm/phys1s0> slice/phys1s0
Where slice/phys1s0n is the name of the slice ve created, and
/dev/xvm/phys1s0 is a path to the subvolume block-special that can be
opened to gain access to the slice.
Object Specification
xvm objects are specified using a path-like syntax using one of the
following forms:
[type/]objname
[type/]vepath
Where objname is the name of the object, and vepath is a path leading
from one ve to another. An optional type may preface the object name or
ve path to make the object name unique, and to make name resolution
faster by providing a hint as to the type of object. See the help names
for more details on object naming and specification.
Page 3
xvm(1M)xvm(1M)fnmatch(3G) wildcarding is supported for objname. Wildcard characters
may only be present in the last component of vepath. See the xvm help
regexp for more details on regular expression usage.
If an object name is ambiguous, and wildcarding is not used, an error
will be returned.
Safe vs. Unsafe commands
Ve manipulation commands can be considered safe, or unsafe. An unsafe
command is one that will in some way affect the address space of the
subvolume that the ve is under eg. detaching or deleting a child of a
concat ve. Safe commands do not affect the address space of the
subvolume eg. detaching or deleting all but the last child of a mirror ve
(detaching or deleting the last child is unsafe).
Safe commands can always be issued regardless of the open state of the
affected subvolume, whereas unsafe commands can be issued only if the
subvolume is not open. Mounted subvolumes are always open, however a
subvolume may also be open without being mounted, eg. if an application
is accessing the raw subvolume.
Unsafe commands to open subvolumes will result in an error by default,
but certain commands take a -force option to override that behavior.
Conversely, certain commands take a -safe option which will enforce the
safe checks even if the the subvolume is not open.
SEE ALSOxvm(7M).
Page 4