linux
2019-08-04

来源:CentOS微信公众号 见底部二维码

一、问题现象

linux中用parted对大于2T硬盘进行分区操作时,经常会遇见如下提示信息:

(parted) mklabel gpt
(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?

意思就是创建的分区没有对齐,以实现最佳性能。

如果忽略并创建了分区,用align-check检查是否对齐,会提示未对齐。
捕获.PNG

二、解决办法

如下方法对大多数阵列行之有效

1.Get the alignment parameters for your array

# cat /sys/block/sdb/queue/optimal_io_size
1048576
# cat /sys/block/sdb/queue/minimum_io_size
262144
# cat /sys/block/sdb/alignment_offset
0
# cat /sys/block/sdb/queue/physical_block_size
512

2.把optimal_io_size的值与alignment_offset的值相加,之后除以physical_block_size的值。在我的例子中是:(1048576 + 0) / 512 = 2048。

3.这个数值是分区起始的扇区。新的parted命令应该写成类似下面这样

mkpart primary 2048s 100%

2048s中的字母s是很有意义的:它告诉parted,你的输入是2048扇区,而不是2048字节,也不是2048兆字节。

4.如果一切顺利,分区将会被成功创建并没有任何警告信息。

5.检查分区是否对齐

(parted) align-check optimal 1                                            
1 aligned

2.PNG

6.退出,格式化并挂载

(parted) quit
[root@localhost ~]#mkfs.xfs /dev/sdb1 -f
[root@localhost ~]#mount /dev/sdb1 /data-test

请输入图片描述

文章链接:http://www.viper.im/archives/parted-align.html
本文由viper.im 原创编译,转载请保留链接:parted分区对齐