磁盘分区4k对齐优化性能

当使用fdiskparted对磁盘分区,如果没有做好4k分区对齐,则会提示:

Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?

该如何正确设置分区,简单步骤就是查看块设备队列的参数:

# 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

然后将optimal_io_size加上alignment_offset然后除以physical_block_size

(1048576 + 0) / 512 = 2048

所以分区的起始扇区就是:

mkpart primary 2048s 100%

然后可以检查是否对齐:

(parted) align-check optimal 1                                            
1 aligned

parted通过--align参数来支持对齐:

  • none - 通过磁盘类型最小对齐

  • cylinder - 对齐分区到柱面

  • minimal - 通过磁盘拓扑信息来最小化对齐

  • optimal - 通过磁盘拓扑信息优化对齐

parted -a optimal /dev/sda mkpart primary 0% 4096MB

参考

Last updated