1 #!/usr/bin/bash 2 3 # 可以带参数 4 method=$1 5 size=$2 6 mydir=$3 7 [ $#==0 ]&&{ 8 echo -e "Missing parameter! Usage: $0 method size dirname" 9 echo -e "\t\t\tmethed- ----- add , extend, remove" 10 echo -e "\t\t\tsize ----- xxG\n" 11 } 12 13 myfdisk() 14 { 15 # fdisk 分区第二硬盘,vdb ,分区格式lvm 16 echo "n 17 p 18 1 19 20 21 t 22 8e 23 w 24 " | fdisk /dev/vdb 25 vgextend centos /dev/vdb1 26 } 27 28 [ -b /dev/vdb1 ]||myfdisk 29 30 myextend() 31 { 32 lvextend -L $size /dev/mapper/centos-root 33 xfs_growfs /dev/mapper/centos-root 34 } 35 36 case $method in 37 "extend") 38 # 扩容root根目录 39 myextend 40 ;; 41 42 "add") 43 lvcreate -L $size -n $mydir centos 44 [ -d /$mydir ] || mkdir /$mydir 45 mkfs -t xfs /dev/mapper/centos-$mydir 46 mount /dev/centos/$mydir /$mydir 47 uuiddata=$(blkid |grep "centos-$mydir"|awk \'{print $2}\'|awk -F \" \'{print $2}\') 48 cp /etc/fstab /etc/fstab.bak 49 [ -n $uuiddata ]&&echo "UUID=$uuiddata /$mydir xfs defaults 0 0" >>/etc/fstab 50 ;; 51 52 "remove") 53 mydir=$2 54 cp /etc/fstab /etc/fstab.bak2 55 sed -i "/\/$mydir/d" /etc/fstab 56 umount /$mydir 57 lvremove -y /dev/mapper/centos-$mydir 58 ;; 59 60 "*") 61 ;; 62 63 esac