前置信息
在Linux中对磁盘分区有两个方案:
特点:
-
MBR分区方案特点:
-
GPT分区方案特点
-
是UEFI标准的一部分,主板必须要支持UEFI标准
-
GPT分区列表支持最大128PB(1PB=1024TB)
-
可以定义128个分区
-
没有主分区,扩展分区和逻辑分区的概念,所有分区都能格式化
-
gdisk管理工具可以创建GPT分区
由于常见的fdisk不支持GPT(在硬盘容量大于2Tb的时候无法使用fdisk进行分区的管理),故在IA64平台上管理磁盘时parted还是相当实用的,GNU Parted 具有丰富的功能,它除了能够进行分区的添加、删除等常见操作外,还可以进行移动分区、创建文件系统、调整文件系统大小、复制文件系统等操作。
parted 分配大于2T分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$ fdisk -l # 查看要分的区
$ parted /dev/vdb #进入/dev/vdb进行分区, 交互模式
mktable #进行分区(整块)
New disk label type? gpt #选择分区格式为gpt
Warning: The existing disk label on /dev/vdb will be destroyed and all data on
this disk will be lost. Do you want to continue? #这是一个警告,说是如果对这个这边进行分区,数据将会被覆盖而且数据会丢失,问你是否继续?
Yes/No? y #输入“y”,表示确定,进行下一步
(parted) mkpart #在命令行输出分区指令
Partition name? []? primary #分区类型为主分区,这是给分区起个名字,你可以自定义的,可以不用写我这里的参数,这里没有扩展分区一说,都是主分区。
File system type? [ext4]? xfs #设置文件系统为ext4/xfs
Start? 0 #设置起始分配位置
End? 100% #设置结束分配位置 ,这里也可以写固定大小,例如想分50G的,可以在问号后面你写50G即可
(parted) p #打印分区结果
(parted) quit #退出分区模式,不需要输入保存的按钮,退出来它会自动保存分区表信息。
# 进行格式化
# 创建的分区也可以创建pv进一步使用
|
扩展
在使用parted
分区工具时,告警显示新的分区没有正确对齐以达到最佳性能,如下:
1
2
3
4
5
6
7
|
(parted) mkpart primary 128 1048575
Warning: You requested a partition from 128s to 1048575s.
The closest location we can manage is 128s to 1048542s.
Is this still acceptable to you?
Yes/No? Yes
Warning: The resulting partition is not properly aligned for best performance. <-----
Ignore/Cancel? C
|
忽略这个告警分区可以正常创建,只不过会影响磁盘性能。那么该如何创建一个正确对齐的分区呢?
解决方案
可以通过查询设备相应的sysfs条目来计算所需的对齐,获取如下值:
1
2
3
|
# cat /sys/block/sdb/queue/optimal_io_size
# cat /sys/block/sdb/alignment_offset
# cat /sys/block/sdb/queue/physical_block_size
|
获取正确的偏移扇区数是将 optimal_io_size
和 alignment_offset
相加然后除以 physical_block_size
.
For example:
1
2
3
4
5
|
optimal_io_size = 1310720
alignment_offset = 0
physical_block_size = 512
i.e 1310720+0/512 = 2560
|
现在创建分区的命令可以是:
1
2
3
|
(parted) mkpart primary 2560 100% OR
(parted) mkpart primary 2560 3000G
|