Notes on Volume Manager (Veritas)

Below is a quick reference on Veritas Volume manager and can be used for revision purposes.
When viewing this document the following is assumed:

                        <device>           =          Disk device i.e c1t3d0s2
                        <disk>              =          Volume manager name i.e disk01

VM daemons

vxconfigd

Maintains system configuration in the kernel & disk (private region). If the daemon is stopped it does not disable any configuration state loaded into thekernel. It only affects the ability to make configuration changes until vxconfigd is restarted.

vxrelocd Monitors for failure events and relocates failed subdisks

VM utilities

vxiod

The vxiod utility starts, stops, or reports on VER ITAS Volume Manager (VxVM) I/O daemons. An I/O daemon provides a process context for performing I/O in VxVM.Manage extended disk i/o & handles dirty regions, logging

vxiod set <number> Set the number of volume i/o daemons.
vxdctl enable

Rebuilds volume and plex device node directories, also this operation will cause vxconfigd to scan for any disks that were newly added since vxconfigd was last started.

vxdctl license init

If a license has expired use this command to reread the new licenses entered

vxinstall

Install volume manger (use /etc/vx/disk to exclude any disks or controllers)

vxiod Displays # of vxiod daemons that are running.

Disks

Add a disk slice to volboot vxdctl add disk <device> type=simple
Add a disk slice vxdisk –f <device> type=simple
Add a disk vxdiskadd c1t0d0 or c1 (all disk on controller)
Remove a disk totally from VM vxdisk rm <device>
Remove a disk from a volume vxdg rmdisk <diskname>
Remove a disk slice from VM vxdctl rm disk <device>
Renaming a disk vxedit rename <old disk name> <new disk name>
Off lining disk vxdisk offline <dev name> i.e. c0t3d0s2
Hot spare vxedit –g <group> set spare=on <disk>
NoHotUse vxedit –g <group> set nohotuse=on <disk>
Encapsulate a disk vxdisk define c0t0d0s0 type=nopriv

Disk Group

Create a disk group vxdg init group <disk>=<device>
Remove a group vxdg destroy <group>
Add a disk to a group vxdg –g <group> adddisk <disk>=<device>
Remove a disk from a group vxdg –g <group> rmdisk <disk>
Import a group vxdg import <group>
Depot a group vxdg deport <group>
List no hot use on disk vxdg –g <group> nohotuse <disk>
List spare space on disk vxdg –g <group> spare <disk>
Display free space vxdg –g <group> free

Volume

Adding mirror to root /etc/vx/bin/vxrootmir <alternate> create rootvol, swap vol,
Create a simple volume vxassist make <volume><size><disk>
Mirror a simple volume vxassist mirror <volume> >disk>
Create a stripped volume vxassist make <volume> <size> layout= stripe
Create mirrored volume with log vxassist make <volume> <size> layout=mirror, log nmirror=# nlog=#
Create a raid volume vxassist make <volume> <size> layout=raid5
Remove a volume vxvol stop <volume>
vxedit –rf rm <volume>
Initializing a volume vxvol init state <volume> [plex]state=clean,enable,active
Starting a volume vxstart <volume>
Start a disabled volume vxrecover –s <volume>
Disable a volume vxvol stop ot stopall
Maintennce mode vxvol maint <volume>
Not clean vxmend mirror clean <plex>
No kernel state vxplex att <vol_name> <plex>
Remove a volume

unmount <volume>
vxvol stop <volume>
vxedit –rf rm <volume>

Extending a volume size vxresize <volume> <new length>
Shrinking a volume size vxresize <volume> <new length>
Extending log size vxvol set loglen = 2m <volume/log>
Detering volume size vxassit maxsize layout =mirror
Recover a volume

Vxmend fix clean <plex>

Plexs

Creating a plex vxmake plex <plex> sd =<sub disk name>
Remove a plex vxplex –o rm dis <plex>
Moving a plex vxplex mv <original plex> <new plex>
Copying a plex vxplex cp <volume> <new plex>
Attaching a plex vxplex att <volume> <plex>
Detaching a plex vxplex det <plex>
Offlining a plex vxmend off vol01-02

Sub-disks

Creating sub-disk vxmake sd <sub-disk> <disk>, offset, len
Removing sub-disk vxedit rm <sub-disk>
Moving sub-disk vxsd mv <old sub-disk> <new sub-disk>
Associating with a plex vxmake plex <plex> sd=<sub-disk>, …
i.e vxmake plex home-1 sd= disk02-01, disk02-00, disk02-02
Dissociating vxsd dis <sub-disk>
Splitting vxsd –s<size> split sd<new sub><newsub2>
Joining vxsd join <sub-disk1><subdisk2><new subdisk>

Vx info

Display volume info vxprint –Aht <vol9>
Display volume properties vxprint –vl
Display plex properties vxprint –vp
Display sub-disk properties vxprint –st
Display group properties vxdg list
Display detailed group info vxdg list <volume group>
Display all the physical disks vxdisk list
Display detailed disk info vxdisk list <disk>
Check for disk failures vxstat –g <group>–ff –d
Check for plex failures vxstat –g <group>–ff -p
Check for volume failures vxstat –g <group>–ff -v
Iostats vxstat [–d (disks)]
Tracing vxtrace
Display tasks vxtask list

Replace a disk in A5000

  1. run “vxdiskadm” select option 4 to “remove a disk for replacement”
  2. run option 11 to take disk offline
  3. run luxadm remove_device [-f] <array>,<slot> (remember to do this both sides in a cluster)
  4. replace disk
  5. run luxadm insert_device <array>,<slot>          (remember to do this both sides in a cluster)
  6. run vxdctl enable
  7. run “vxdiskadm” select option 5 to “replace a failed or removed disk”
  8. run "vxtask list" to make sure volumes have been sync'd if mirrors are involved