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