Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # For AWS EC2 CentOS boxes that use LVM and have storage volumes presented as /dev/xvd_ (where _ is a letter).
- main() {
- local devPrefix=xvd ;
- local dev=$1 ;
- local gb=$2 ;
- local fs_dir=$3 ;
- local vg=$4 ;
- local lv_name=$5 ;
- [[ $dev ]] || { echo "ERROR: Must have first argument, the device letter (like 'b' for /dev/xvdb)'." ; exit 1 ; } ;
- [[ $gb ]] || { echo "ERROR: Must have second argument, the size in GB." ; exit 1 ; } ;
- [[ $fs_dir ]] || { echo "ERROR: Must have third argument, the filesystem directory (like /var or /var/log)." ; exit 1 ; } ;
- [[ $vg ]] || { echo "ERROR: Must have fourth argument, the volume group." ; exit 1 ; } ;
- [[ $lv_name ]] || { echo "ERROR: Must have fifth argument, the logical volume name." ; exit 1 ; } ;
- df -h | grep $fs_dir
- pvs | grep $devPrefix$dev || pvcreate /dev/$devPrefix$dev
- vgextend $vg /dev/$devPrefix$dev
- lvextend -L+${gb}G /dev/mapper/${vg}-$lv_name && xfs_growfs $fs_dir
- df -h | grep $fs_dir
- }
- cd $(dirname $0) || { echo "ERROR: $? from 'cd dirname($0)'." ; exit 1 ; } ;
- main "$@" || { echo "ERROR: $? from 'main($@)'." ; exit 1 ; } ;
- #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement