|
注1:此脚本适用于新机器的lvm逻辑卷创建,仅支持系统中只有一个未格式化的新的数据盘,适用于centos6,centos7未测试
注2:当系统中需要同时对2个及以上的新磁盘做lvm时,此脚本将不再适用;一般来说,此脚本在新机器做lvm时最为实用
lvm_create.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| #!/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逻辑卷已经创建完成,请检查确认~"
|
|
|
|