前言:

     我负责的项目有150台服务器,刚开始的时候一是为了节省成本,二是也没料想到业务会发展这么快,所以之前的磁盘空间远远不够,每隔几天就会有一台服务器需要增加磁盘,烦的要死。所以决定写一个脚本来替代我完成这个工作

需求:

      一般来说前边都是3块600G的磁盘做的raid5,各种分区下来真正存放数据的只有1T,重新格盘做raid的话太麻烦,只能将新加磁盘做成raid0,然后把数据移动到新磁盘上,做个软链接,访问依然可以指向旧磁盘上,不需要做其它改动。这个脚本就是把新磁盘的所有空间都划分出来,并且做成物理卷,然后把这个物理卷的所有空间都划分为逻辑卷,然后再开机自动挂载。脚本只实现一键做逻辑卷,细节就不描述了,直接看脚本,希望可以共同学习进步

脚本:

#!/bin/bash

which expect > /dev/null
if [ $? == 1 ];then
    yum -y install expect
fi

disk=$1
expect <<!
spawn parted /dev/$disk mklabel msdos
expect "是/Yes/否/No?" { send "yes\r" }
spawn parted /dev/sdb mkpart primary ext4 0
expect "结束点?" { send "100%\r" }
expect "忽略/Ignore/放弃/Cancel?" { send "Ignore\r" }
expect eof
!

dmsetup remove_all
pvcreate /dev/"$disk"1 && vgcreate ttsvg /dev/"$disk"1
num=`vgdisplay ttsvg|grep Total|awk '{print $3}'`
lvcreate -l $num -n ttslv ttsvg

mkfs.ext4 /dev/ttsvg/ttslv

mkdir /streams/
echo ""/dev/ttsvg/ttslv  /streams    ext4    defaults     1 2""  >>
 /etc/fstab
mount -a

脚本效果如下

wKioL1ej30HzqJ-DAAEb3_mY2Go088.png