HPUX Logical Volume Manager Notes


    Volume groups
    =============

      official name: /dev/vgname
       usual format: /dev/vgXX
       abbreviation: vgXX             

      vgdisplay [-v] /dev/vgname

    Logical volumes
    ===============

      official name: /dev/vgname/lvolname
       usual format: /dev/vgXX/lvolY

      lvdisplay [-v] /dev/vgname/lvolname

      #
      #  add space to a filesystem
      #
      lvextend -L $SIZE_IN_MB /dev/vgname/lvolname
      umount /mount/point
      extendfs /dev/vgname/lvolname    #with downtime
      mount /dev/vgname/lvolname /mount/point

      ...or...

      fsadm -F vxfs -b $SIZE_IN_SECTORS /mount/point    #no downtime :-)
      #for some reason/on some systems, sector size seems to be 1024
      #thus, size in sectors = number of desired 1024-blocks
      #aka,  size in sectors = LV size * 1024

      #
      # split and merge mirror sets
      # split volume name is "$LVNAME$SUFFIX"
      # merge command mnemonic:  "merge secondary INTO primary"
      #
      lvsplit -s b /dev/vgname/lvolname
      #
      # ...do stuff...
      #
      lvmerge /dev/vgname/lvolnameb /dev/vgname/lvolname

    Physical volumes
    ================

    Block device names:      /dev/dsk/cXtYdZ     (disks accessed normally)
    Character device names:  /dev/rdsk/cXtYdZ    (disks accessed in raw mode)

    cXtYdZ (diskname) decodes to:
       cX = SCSI controller #X
       tY = SCSI unit #Y
       dZ = SCSI disk #Z (disk # within this unit, usually 0)

      pvdisplay [-v] /dev/dsk/diskname

      #
      #  initialize a new disk
      #
      pvcreate /dev/rdsk/diskname
      pvcreate -f /dev/rdsk/diskname  # if it's just "new" :-)

      #
      #  create a new volume group
      #
      mkdir /dev/vgXX
      mknod /dev/vgXX/group c 64 0xXX0000
      vgcreate /dev/vgXX /dev/dsk/diskname ...
      vgextend /dev/vgXX /dev/dsk/anotherdisk ...

      #
      #  create a new logical volume
      #  -L is size in megabytes
      #  -m is mirror copies (0=default, 1 or 2) eg normal mirroring => -m 1
      #  -n is logical volume name, skip to let system assign next lvolY
      #
      lvcreate -L lvsize -m mirrorcopies -n lvolY /dev/vgXX
      lvextend ...
      # add a mirrorset
      lvextend -m 1 /dev/vgXX/lvolY /dev/dsk/diskname

      #  
      #  create the new filesystem, mount it
      #
      newfs /dev/vgXX/rlvolY                # note char device ...rlvol...
      # -F fstype                           # eg hfs vs vxfs, etc...
      mkdir /mount/point                    # remember to do this :-)
      mount /dev/vgXX/lvolY /mount/point
      #and edit the /etc/fstab


date: 09/09/2008