shell 脚本小记,检测磁盘-进行分区挂载
配置文件
cat deploy ## OS 选择操作系统版本: centos 或者 kylin 或者 openeuler # 只支持 centos-x86 kylin-arm kylin-amd openeuler-arm OS="centos" ## harbor 选择harbor仓库,设置账号以及密码 harbor="" harbor_user="" harbor_passwd="" ## 跳板机IP http="" ## svc网段 pod网段 域名后缀 svc_sub="" pod_sub="" clu_na="" ## node ip nodeip=( ) #master 当node进行调度开关 switch=yes ## 密码 passwd="" ##给 /export 挂载使用 disk="vdb"
脚本主机 main
#!/bin/bash
source ./deploy
sss="$PWD/sshpass-centos-amd64 -p "$passwd" ssh -o StrictHostKeyChecking=no"
nu=0
failedip=""
for i in ${masterip[@]}
do
$sss $i "ls /dev/$disk &>/dev/null "
if [ $? -ne 0 ];then
sta=fail
failedip="$failedip $i"
nu=1
else
sta=success
fi
done
if [ $nu -eq 1 ];then
echo -e "
检测机器磁盘 $disk 不存在,退出
机器信息$failedip
"
exit
else
echo -e "
检测机器磁盘 $disk 存在,进行分区操作"
fi
tmpdir=$(mktemp -d /tmp/check_disk.XXXXXX)
trap 'rm -rf "${tmpdir}"' EXIT
for p in ${nodeip[@]}
do
status=$($sss $p "blkid /dev/$disk &>/dev/null " && echo $? )
if [ ! -z $status ];then
echo "请检查 $p 磁盘已有分区,退出"
failedip="$failedip $p"
continue
else
$sss $p "parted -s /dev/$disk mklabel gpt mkpart 1 xfs 1 100%"
echo "$p 磁盘分区完成"
$sss $p "mkdir /export/ &>/dev/null"
blk=$($sss $p "lsblk /dev/$disk ")
for x in ${blk[@]}
do
echo $x >> $tmpdir/test
done
part=$(cat $tmpdir/test | grep $disk | awk -F \└─ '/└─/{print $2}')
$sss $p "mkfs.xfs /dev/$part &>/dev/null"
uuid=$($sss $p "blkid /dev/$part")
UUID=$(echo $uuid | awk '{print $2}')
$sss $p "echo $UUID /export/ xfs defaults 0 0 >> /etc/fstab"
$sss $p "mount -a"
fi
done
备注: sshpaas 使用centos x86 版本,需要自行下载安装,可以使用二进制程序,也可以通过yum安装,源码包安装

浙公网安备 33010602011771号