RHEL7磁盘分区挂载和格式化

安装大数据平台,每台机器需要挂载10个磁盘,用JBOD模式,操作系统为RHEL7.2。

写了两个脚本,format_disk.sh和mount_disk.sh实现磁盘自动分区格式化以及挂载,修改fstab。

format_disk.sh

#!/bin/bash
disks=(sdb sdc sdd sde sdf sdg sdh sdi sdj sdk)
for ((i=0;i<${#disks[*]};i++))
do
  mounted=`mount|grep "/mnt/${disks[i]}"`
  if [ "$mounted" ] ; then
    echo "umount /mnt/${disks[i]}"
    umount /mnt/${disks[i]}
  fi
  echo "make partition /dev/${disks[i]}"
  parted -s /dev/${disks[i]} mklabel gpt
  parted -s /dev/${disks[i]} mkpart primary xfs 0% 100%
  echo "format disk /dev/${disks[i]}"
  mkfs.xfs -f -L ${disks[i]} /dev/${disks[i]}
done
echo -n "reboot?"
read ANS
case $ANS in
y|Y|yes|Yes)
  echo "run mount_disk.sh after rebooting"
  reboot
  ;;
n|N|no|No)
  exit 0
  ;;
esac

mount_disk.sh

#!/bin/bash
rm -f fstab
cp /etc/fstab . -f
cat fstab
>fstab.new
sed -e '/\/mnt\/sd/d' fstab > fstab.new
cat fstab.new
disks=(sdb sdc sdd sde sdf sdg sdh sdi sdj sdk)
for ((i=0;i<${#disks[*]};i++))
do
  mounted=`mount|grep "/mnt/${disks[i]}"`
  if [ "$mounted" ] ; then
    echo "umount /mnt/${disks[i]}"
    umount /mnt/${disks[i]}
  fi
  if [ ! -d "/mnt/${disks[i]}" ]; then
    mkdir /mnt/${disks[i]}
  fi
  UUID=`lsblk -f /dev/${disks[i]}|grep "^${disks[i]} " |awk '{print $4}'`
  if [ "$UUID" ]; then
    echo "write partition to fstab.new"
    echo "UUID=${UUID} /mnt/${disks[i]}    xfs         defaults 0 0" >> fstab.new
  fi
done
cat fstab.new
echo -n "use this for /etc/fstab?"
read ANS
case $ANS in
y|Y|yes|Yes)
  cp fstab.new /etc/fstab -f
  mount -a
  mount
  ;;
n|N|no|No)
  exit 0
  ;;
esac

 

转载于:https://www.cnblogs.com/Donal/p/5226430.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值