parted 分区方法

使用说明

parted 支持2TB以上的磁盘分区,并且允许调整分区的大小。

分区表

MBR分区表:(MBR含义:主引导记录)

  • 所支持的最大卷:2T (T; terabytes,1TB=1024GB)
  • 对分区的设限:最多4个主分区或3个主分区加一个扩展分区。

GPT分区表:(GPT含义:GUID分区表)

  • 支持最大卷:18EB,(E:exabytes,1EB=1024TB)
  • 每个磁盘最多支持128个分区

使用案例

大于2T的整个磁盘分一个分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
parted /dev/sdb
可以输入p打印磁盘信息,查看分区的情况,找到起始和结束位置。

mklabel gpt
  设置分区类型为gpt

mkpart primary 0% 100%
  primary指分区类型为主分区,0是分区开始位置,100%是分区结束位置。相同的命令为:mkpart primary 0 -1 或者是:mkpart primary 0 XXX 结束的空间

print
  打印当前分区,查看分区设置是否正确
  
quit
  退出
  
mkfs.xfs /dev/sdb1
格式化

设置lvm分区

1
2
3
4
5
6
7
8
9
10
11
12
13
parted /dev/sdb
mklabel gpt
mkpart primary xfs 0G 300G # 300G的磁盘
mkpart primary xfs 300G 500G # 200G的磁盘
mkpart primary xfs 500G -0G # 500G到剩余所有空间的分区
print
set 1 lvm on # 设置 第一个分区为 lvm 文件系统
print
rm 2 # 删除 2 分区
quit

mkfs.xfs /dev/sdb2
mkfs.xfs /dev/sdb3

批量分区

自己用的一个批量分区脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
source /etc/profile
yum install -y expect parted

#for letter in b c d e f g h i j k l m
for letter in `fdisk -l | grep 4000 | awk '{print $2}' | cut -c 8 | sort`
do
expect -c 'set timeout -1;
spawn parted /dev/sd'$letter';
expect "(parted)";
send "mklabel gpt\n";
expect "(parted)";
send "unit GB\n";
expect "(parted)";
send "mkpart primary 0 -1\n";
expect "(parted)";
send "quit\n";
interact'

nohup mkfs.xfs /dev/sd${letter}1 > sd$letter.out 2>&1 &

done

非交互式模式

1
2
3
4
5
# parted /dev/sdb mklabel gpt 
# parted /dev/sdb mkpart primary 0 300G
# parted /dev/sdb mkpart primary 300G 1000G
# parted /dev/sdb mkpart logical 1000G -0G
# parted /dev/sdb p
感谢您的支持!