生产服务器磁盘批量自动分区,格式化,挂载脚本
Posted 涤生手记大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生产服务器磁盘批量自动分区,格式化,挂载脚本相关的知识,希望对你有一定的参考价值。
企业生产服务器经常遇到磁盘自动分区,格式化,挂载的事情,如何批量化处理。下面有详细的脚本以及命令解释:
#! /bin/bash
#1.判断目录是否存在,一般生产磁盘都是/hadoop*格式
df -h|grep '/hadoop' && exit 1
#2.安装parted,xfs格式命令
yum install parted kmod-xfs xfsprogs -y
#3.去除掉第一个系统盘,获取磁盘名称,数组[/dev/sdb,/dev/sbc...]
disk_num=`fdisk -l | awk '$1=="Disk"&&$2~"^/dev"&&$2!~"^/dev/sda" split($2,s,":"); print s[1]'`
NUM=0
for i in $disk_num
do
#4.对磁盘/dev/sd*进行分区
parted -s $i mklabel gpt
#5.对磁盘/dev/sd* 指定分区类型和容量占比
parted -s $i mkpart primary 1 100%
#6.格式化磁盘/dev/sd*
mkfs.xfs -f $i1
if [ $NUM -eq 0 ];then
TMP=""
else
TMP=$NUM
fi
#7.创建对应磁盘个数的目录,/hadoop*,创建挂载点
mkdir /hadoop$TMP
#8.挂载磁盘 /dev/sd* on /hadoop/*上
mount -o noatime,nodiratime $i1 /hadoop$TMP
#9.通过blkid命令查看磁盘的uuid,获取uuid值
uuid=`blkid $i1 |awk 'print $2' |sed s#\\"##g`
#10.设置开机自动挂载磁盘,追加uuid信息到 /etc/fstab中。
echo "$uuid /hadoop$TMP xfs noatime,nodiratime 0 0">>/etc/fstab
((NUM++))
done
-------------------------------------------------------------------
parted参数常见解释
------------------------------------------------------------------
参数选项:
-h, 显示此求助信息
-l, 列出系统系统中所有的磁盘设备,和fdisk -l命令的作用差不多。
-m, 进入交互模式,如果后面不加设备则对第一个磁盘进行操作
-s, 脚本模式
-v, 显示版本
设备:磁盘设备名称,如/dev/sda
指令:如果没有给出“指令”,则parted将进入交互模式运行。
align-check 检查分区N的类型(min|opt)是否对齐
help 打印通用求助信息,或关于[指令]的帮助信息
mklabel 创建新的磁盘标签 (分区表)
mkpart 创建一个分区
name 给指定的分区命名
print 打印分区表,或者分区
quit 退出程序
rescue 修复丢失的分区
resizepart 调整分区大小
rm 删除分区
select 选择要编辑的设备,默认只对指定的设备操作,这里可以改变指定的设备
disk_set 更改选定设备上的标志
disk_toggle 切换选定设备上的标志状态
set 更改分区的标记
toggle 设置或取消分区的标记
unit 设置默认的单位
version 显示版本信息
以上是关于生产服务器磁盘批量自动分区,格式化,挂载脚本的主要内容,如果未能解决你的问题,请参考以下文章