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安装,源码包安装

 

posted @ 2023-03-16 09:29  崛起的麋鹿  阅读(86)  评论(0)    收藏  举报