Monday, September 3, 2012

IBM AIX - Logical Volume Manager (LVM) - Procedures

IBM AIX - Logical Volume Manager (LVM) - Procedures



Procedure to create a filesystem using JFS:

  • See below the procedure for creating a logical volume and a filesystem using JFS:

Procedure to extend the size of filesystem using JFS:


  1. "df" to see the filesystem, it's current size, % utilization and the name of it's logical volume
  2. "lslv <logical_volume>" to show information about the logical volume including it's volume group name.
  3. "lsvg <volume_group>" to show information about the volume group, including number of free pp's and the pp size
  4. If there are not enough free pp's then see below for procedure to add a disk to a volume group.
  5. "chfs -a size= +4194304 <MOUNT_POINT>" to grow the filesystem by 2 GB (4194304=2*1024*1024*1024/512)
    • NOTE:  Growing the file system will automatically grow the logical volume
  6. df" shows the file system's current size is 2 GB more than before.
Troubleshooting extending the size of a filesystem using JFS:
  • Error Message:  0516-787 extendlv: Maximum allocation for logical volume <LV_Name> is 512.
    • Maximum number of LPs for the logical volume has been exceeded - must increase the allocation
    • Calculate the number of LPs needed = LV Size in MB / LP size in MB
    • chlv -x <new_max_lps> <logical_volume>
Procedure to remove a file system
  1. Unmount the filesystem
  2. Remove the logical volume "rmlv <lv_name>"
  3. Remove the filesystem information from /etc/filesystems
Procedure to reduce the size of a file system - shareold is 8mb and needs to be reduced to 4mb
  1. Create the file system
    1. crfs -v jfs -m /usr/sharenew -g rootvg -a size=8192
    2. this makes a logical volume in the root volume group of 4MB that uses jfs
  2. Mount the volume
    1. mount /usr/sharenew
  3. Move the files from the old file system (/usr/shareold)
    1. cd /usr/shareold
    2. tar cf - | (cd /usr/sharenew; tar xvf -)
    3. cd
  4. Unmount the file systems
    1. umount /usr/sharenew
    2. umount /usr/shareold
  5. Remove the old file system and it's logical volume
    1. rmfs /usr/shareold
  6.   
    1. chfs -m /usr/shareold /usr/sharenew
  7. Mount the new filesystem
    1. mount /usr/shareold
  8. Delete the temporary mount point
    1. rmdir /usr/share


Logical Volume Procedures

Procedure to create a logical volume and filesystem in a volume group using JFS:
  1. lsvg to determine the size of the PP
  2. lslv in similar logical volumes to determine if mirroring is in effect
  3. Calculate the number of PPs needed for the logical volume
    1. bc
    2. scale=2
    3. <size of lv in MB>/<size of PP in MB>
    4. quit
  4. mklv -y  "<LV_NAME>" <VG_NAME> <# of LPS>  --> creates the logical volume
  5. crfs -v jfs -d <LV_NAME> -m /<MOUNTPOINT> -A yes   --> makes the filesystem, creates the mountpoint and puts it in /etc/filesystems
  6. mount /<MOUNTPOINT>  --> mounts the new fileystem
  7. df /<MOUNTPOINT>  --> verifies the mount and the size of the new filesystem
  8. Check the ownership and permissions of the new mount point
    • ls -ld <mountpoint>
    • chown owner:group <mountpoint>
    • chmod XXX <mountpoint>
  9. If mirroring is in effect, then mirror this logical volume to another disk (original and 1 mirror):
    • mklvcopy -s y <LV_NAME> 2

Check to see if  all of the logical volumes in a volume group are mirrored


  • lsvg -l

Mirror a logical volume after the fact


  •  mklvcopy -s y <LV_NAME> 2


Volume Group Procedures

Procedure to create a volume group:
  1. lsdev -C -c disk  -> lists available disks (and the hdisk#) on the server
  2. mkvg -y "<VG_NAME>" hdisk#  --> creates the volume group on the named hard disk
  3. varyonvg <VG_NAME>  --> activates the volume group
Procedure to add a disk to a volume group (extend the volume group)
  • extendvg <vg> <disk#>
    • Verify the disk has been successfully added to the vg
  • lsvg -p <vg>

Procedure to mirror the rootvg:


  1. lspv  --> determine the hdisk#
  2. extendvg rootvg hdisk<number>  --> add the hdisk to the volume group
  3. lspv  -->  verify that the hdisk has been successfully added to the volume group
  4. chvg -Q 'n' rootvg  -->  change the quorum so that the vg will stay active if one of the mirrors fail
  5. mirrorvg -S -c 2 rootvg  --> mirror all of the logical volumes in the volume group
  6. lsvg -l rootvg  --> verify successful mirroring (pps will appear "stale" until synchronization is complete).
  7. bosboot -a  -->  update the boot image information
  8. bootlist -m normal -o hdisk0 hdisk1  --> create a new bootlist
  9. bootlist -m normal -o  --> verify the bootlist is correct
Procedure to increase the number of LP's available
Assume we receive an error that the maximum number of LP's had been exceeded, and the maximum number of LP's defined was 1100:

  1. "lsvg <volume_group>" to show the total PP's available in the volume group =1250
  2. "lsvg -l <volume_group>" to show the total PP's used in all logical volumes in that volume group (showed sys1log, the jfs log was using 2 PP's)
  3. "chlv -x 1248 <logical_volume>" to change the maximum number of LP's from 1100 to 1248 (1250 PP's in the volume group - 2 PP's used by the jfs log  = 1248 available)


Physical Disk Procedures

Procedure to find disks/vpaths that are unallocated
  • lsvpcfg
    • This will show disks/vpaths and the volume group they are allocated to
  • lspv|grep None
    • This will show pvs and whether they are asssociated with a volume group
    • Note:  For vpaths, the hdisks will show as none, but they may be allocated to a vpath - you must grep each hdisk with the lsvpcfg

Procedure to make a new lun available to AIX


  • Allocate the new lun on the SAN
  • Run "cfgmgr"
  • Verify the new vpatch/hdisk by running "lsvpcfg"
    • There should be a new vpath and it should be available with no volume group - if not, rerun cfgmgr

Procedure to list the PVs in a volume group:


  • lsvg -p <volume group>

0 comments:

Post a Comment

Pages