0%

parted分区对齐

一、分区提示未对齐

[root@lab8106 ceph]# parted /dev/sdd 
GNU Parted 3.1
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: SEAGATE ST3300657SS (scsi)
Disk /dev/sdd: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

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

分区的时候提示不是最好的模式,这个是因为没有对齐的原因,在默认情况下我都是
mkpart primary 1 100%
这个一般都是对齐的,但是最近遇到一个做了raid5的怎么都提示不行,然后搜索了下资料,这个地方是要计算下比较好的
二、通过计算分区
获取磁盘的几个参数(这里是软raid)

# cat /sys/block/md127/queue/optimal_io_size
3670016
# cat /sys/block/md127/queue/minimum_io_size
524288
# cat /sys/block/md127/alignment_offset
0
# cat /sys/block/md127/queue/physical_block_size
512

optimal_io_size 加上 alignment_offset 的和 然后除以 physical_block_size
在这个环境下是:
(3670016 + 0) / 512 = 7168
那么分区的时候命令就应该是

mkpart primary 7168s 100%

如果上面的顺利的完成检查一下 (‘1’是分区的编号):

(parted) align-check optimal 1
1 aligned

这个是正常的结果,如果没对齐就会是

(parted) align-check optimal 1
1 not aligned

三、其他情况
默认情况下直接用下列的分区参数就可以,出现提示再用上面的计算,总之最后align-check 验证下

mkpart primary 1 100%

四、相关文章
How to align partitions for best performance using parted