Linux之批量挂载硬盘

时间:2022-12-30 13:59:51

############parted工具分区###############

#!/bin/bash #shell脚本开头格式
PATH=/bin:/sbin:/usr/bin:/usr/sbin #保证脚本中的命令能在此路径中搜索得到
export PATH #设置以上环境变量,使之生效
i=1
while [ $i -lt 13 ] #判断变量i是否小于13,(硬盘数量,除系统盘之外是12块),此处13取决于要挂载几块硬盘
do
j=`echo $i|awk '{printf "%c",97+$i}'` # %c代表ASCII字符.显示相对应参数的第一个字符;97代表a;系统盘是sda,如果是其它的需要修改脚本
parted /dev/sd$j <<FORMAT # <<代表输入重定向(FORMAT作为标识符,当再遇到FORMAT这个标识符表示结束);FORMAT之间的内容作为命令输入到parted /dev/sd$j之后
mklabel gpt # mklabel创建新的磁盘为gpt分区
mkpart primary 0 -1 #创建一个分区为主分区,并将整块磁盘分为一个分区
ignore
quit
FORMAT
mkfs.ext4 -T largefile /dev/sd${j}1 #格式化磁盘
mkdir /disk${i} #十以上用大括号包含,如${10}
mount="/dev/sd${j}1 /disk${i} ext4 defaults 0 0"
rm -rf /disk${i}/*
echo $mount >>/etc/fstab #写入分区表
i=$(($i+1)) #在shell中,$(())用于算术运算
done
echo "/n/n*****Formating and Mounting have finished****/n/n" #格式化和安装完成
mount -a #挂载(挂载在/etc/fstab文件中的所有文件系统)

############fdisk工具分区###############

#!/bin/bash #shell脚本开头格式
PATH=/bin:/sbin:/usr/bin:/usr/sbin #保证脚本中的命令能在此路径中搜索得到
export PATH #设置以上环境变量,使之生效
i=1
while [ $i -lt 13 ] #判断变量i是否小于13,(硬盘数量,除系统盘之外是12块)
do
j=`echo $i|awk '{printf "%c",97+$i}'` # %c代表ASCII字符.显示相对应参数的第一个字符;97代表a;系统盘是sda,如果是其它的需要修改脚本
fdisk /dev/sd$j <<FORMAT # <<代表输入重定向(FORMAT作为标识符,当再遇到FORMAT这个标识符表示结束);FORMAT之间的内容作为命令输入到parted /dev/sd$j之后
n # mklabel创建新的磁盘为gpt分区
p #创建一个分区为主分区,并将整块磁盘分为一个分区
1
#按回车默认输入有效值
#按回车默认输入有效值
w
FORMAT
mkfs.ext4 /dev/sd${j}1 #格式化磁盘
mkdir /disk${i}
mount="/dev/sd${j}1 /disk${i} ext4 defaults 0 0"
rm -rf /disk${i}/*
echo $mount >>/etc/fstab #写入分区表
i=$(($i+1)) #在shell中,(())用于算术运算
done
echo "/n/n*****Formating and Mounting have finished****/n/n" #格式化和安装完成(输出的内容之间有空格,则需要加双引号)
mount -a #挂载(挂载在/etc/fstab文件中的所有文件系统)

############手工2TB磁盘格式化###############
对于2TB的大磁盘,分区方法如下:
# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA Hitachi HUA72302 (scsi)
Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags

(parted) mklable gpt
(parted) mkpart primary 0 2000000
(parted) printModel: ATA Hitachi HUA72302 (scsi)

Disk /dev/sdb: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 1049kB 2000GB 2000GB primary ext4

(parted) quit
快速格式化该分区的方法:
#mkfs.ext4 -T largefile /dev/sdb1
注:

如果使用mkfs.ext4不带参数格式化分区,会使得磁盘格式化非常缓慢,因此需要增加-T largefile参数。