创建逻辑卷脚本

执行:

sh lvm_create

按照提示分别输入逻辑卷名称,逻辑卷大小,挂载目录,文件系统格式

逻辑卷名称以lv开头

脚本内容:

确定逻辑卷建立信息

建立物理卷(首次进行逻辑划分)

建立卷组

建立逻辑卷

挂载逻辑卷

#!/bin/bash

echo "现在开始划分逻辑卷"
sleep 2

read -p "请输入逻辑卷名称: " LVS
if [ "$LVS" = "" ];then
   echo "值为空,请检查"
   exit 99
fi

read -p "请输入逻辑卷大小,如果输入回车则默认将vg全部划入lv: " LVSIZE

read -p "请输入挂载目录,格式/\$dir/\$dir: " DIR
if [ "$DIR" = "" ];then
   echo "值为空,请检查"
   exit 99
fi

read -p "请输入文件系统(ext4、xfs): " filesys
if [ "$filesys" = "" ];then
   echo "值为空,请检查"
   exit 99
fi

if [ "$filesys" != "ext4" ] && [ "$filesys" != "xfs" ];then
  echo "逻辑卷格式不正确,请检查"
  exit 99
fi

value_name=`lsblk | grep disk | awk '{print substr($1,1,1)}' | head -1`
value_disk=`lsblk | grep disk | awk '{print $1}' | grep -v "${value_name}da"`

Disk_check(){
if [ ! -n "$value_disk" ];then 
  echo "数据盘不存在,请检查"
  exit 10
fi
}
Disk_check

Disk_create(){
if [ ! -b "/dev/${value_disk}1" ];then
fdisk /dev/$value_disk &>/dev/null <<EOF
n
p
  
  
  
wq
EOF
fi
}
Disk_create

pv_create(){
pvs | grep "$value_disk" &>/dev/null
if [ $? -ne 0 ];then
  pvcreate /dev/${value_disk}1
  if [ $? -ne 0 ];then
    echo '物理卷创建失败,请检查'
    sleep 2
    exit 10
  fi
else
  echo "物理卷已存在"
fi
}
pv_create

vg_create(){
vgs | grep 'vg_data' &>/dev/null
if [ $? -ne 0 ];then
  vgcreate vg_data /dev/${value_disk}1
  if [ $? -ne  0 ];then
    echo '卷组创建失败,请检查'
    sleep 2
    exit 10
  fi
else
  echo '卷组已存在'
fi
}
vg_create

lv_judge(){
lvs | awk 'NR>2{print line}{line=$0} END{print line}' | awk '{print $1}' | grep -w "$LVS" >/dev/null &> /dev/null
if [ $? != 0 ];then
  echo "逻辑卷名称没有问题"
else
  echo "逻辑卷名称已存在,请更换"
  exit 99
fi
}
lv_judge

dir(){
if [ ! -d $DIR ];then
  echo "现在开始建立目录"
  mkdir $DIR
else
  dir_num=`ls $DIR | wc -l`
  if [ "$dir_num" != 0 ];then
    echo "挂载目录存在文件,请检查"
    exit 99
  fi
fi

check_dir=`mount | awk -F" " '{print $3}' | grep -w "$DIR" | wc -l`
if [ "$check_dir" != 0 ];then
  echo "目录已被挂载,请检查"
  exit 99
fi
}
dir

lv_cre(){
if [ "$LVSIZE" == "" ];then
  lvcreate -l +100%FREE -n lv_$LVS vg_data -y
    if [ $? = 0 ];then
    echo "逻辑卷建立成功"
  else 
    echo "逻辑卷建立失败,请检查" 
    exit 99
  fi 
else
  lvcreate -L +$LVSIZE -n lv_$LVS vg_data -y
  if [ $? = 0 ];then
    echo "逻辑卷建立成功"
  else 
    echo "逻辑卷建立失败,请检查" 
    exit 99
  fi 
fi
}
lv_cre

lv_mou(){
fst="/dev/vg_data/lv_$LVS $DIR $filesys defaults 0 0"
mkfs.$filesys /dev/vg_data/lv_$LVS
if [ $? = 0 ];then
  echo "格式化成功"
else  
  echo "格式化失败,请检查" 
  exit 99 
fi   

echo "$fst" >> /etc/fstab
mount -a
if [ $? = 0 ];then
  echo "逻辑卷挂载成功"
else
  echo "逻辑卷挂载失败,请检查"
  sed "/$fst/d" /etc/fstab
  exit 99
fi
}
lv_mou
echo "逻辑卷创建成功"

脚本下载:lvm_create.sh

欢迎访问个人技术博客,有各种关于linux技术,中间件,数据库,应用等文章的分享,还有其他的人文文章,放松心情,可以点击右侧分类来查找相关的内容,也可以在留言本里给我留言交流技术:

OPSZHN个人技术分享博客 - 享受每一天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值