前言:
我负责的项目有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
脚本效果如下
转载于:https://blog.51cto.com/zhangdl/1834593