注2:当系统中需要同时对2个及以上的新磁盘做lvm时,此脚本将不再适用;一般来说,此脚本在新机器做lvm时最为实用
lvm_create.sh
#!/bin/bash ############################################## #Author: Liuzhengwei - 1135960569@qq.com #QQ:1135960569 #Last modified: 2018-04-08 15:24 #Filename: test.sh #Description: 适用于新机器的lvm逻辑卷创建,仅支持新添加了一个数据盘且系统中之前无lvm,适用于centos6,不适用于centos7 ############################################## #识别新添加的磁盘 echo "- - -" > /sys/class/scsi_host/host0/scan echo "- - -" > /sys/class/scsi_host/host1/scan echo "- - -" > /sys/class/scsi_host/host2/scan #检测新加磁盘的盘符及容量 DIVISOR=1073741824 DISK_NAME=`fdisk -l | grep "Disk /dev/sd" | awk -F '[ :]+' '{print $2}'` for disk in ${DISK_NAME[*]};do df_disk=`df -h | grep $disk | wc -l` if [[ $df_disk -eq 0 ]];then pvs_disk=`pvs | grep $disk | wc -l` if [[ $pvs_disk -eq 0 ]];then new_disk_size=`fdisk -l | grep "$disk" | awk -F '[ ,:]+' '{print $5}'` new_disk_size_G=$(($new_disk_size/$DIVISOR)) echo "检测到新磁盘:$disk 容量为:${new_disk_size_G}G" echo "开始创建lvm逻辑卷" #创建lvm pvcreate $disk vgcreate `hostname` $disk lvcreate -L $(($new_disk_size_G-1))G -n data `hostname` mkdir /data /bin/chown -R staplesapp.admin /data mkfs.ext4 /dev/`hostname`/data echo "/dev/`hostname`/data /data ext4 defaults 0 0" >> /etc/fstab mount -a fi fi done echo "lvm逻辑卷已经创建完成,请检查确认~"
原文地址:http://blog.51cto.com/liuzhengwei521/2095693