分区对齐是什么
现代盘与阵列都需要分区起点落在合适的边界上:盘的物理扇区通常是 4KB,阵列还有条带结构。分区起点不对齐时,一次逻辑写会跨到两个物理块或两个条带元素,盘或控制器必须做额外的读改写,表现为写放大与延迟上升;在 RAID 5/6 与 SSD 上影响尤其明显。
用 parted 以扇区方式对齐创建分区
用 parted 以扇区方式对齐创建分区
parted -s /dev/sdb mklabel gpt
parted -s /dev/sdb mkpart primary 1MiB 100%
parted -s /dev/sdb align-check optimal 1 # 检查分区 1 是否最优对齐核对已建分区是否对齐
核对已建分区是否对齐
blockdev --getpbsz /dev/sdb # 查看物理扇区大小
blockdev --getss /dev/sdb # 查看逻辑扇区大小
fdisk -l /dev/sdb # 查看起始扇区是否为 2048 的倍数
lsblk -t /dev/sdb # 查看对齐与最小 IO 等拓扑参数基本信息
| 对齐目标 | 分区起点落在物理扇区与条带边界的整数倍上 |
|---|---|
| 常见做法 | 从 1MiB 起分区即可覆盖 4KB 扇区与多数常见条带 |
| 检查命令 | parted align-check 与 fdisk 的起始扇区取值 |
| 文件系统配合 | 特殊条带下还需核对文件系统的条带相关参数 |
检查项
| 检查项 | 命令 | 合格标准 |
|---|---|---|
| 分区起点 | fdisk -l 查看 Start | 为 2048 扇区(1MiB)的整数倍 |
| 对齐状态 | parted align-check optimal | 提示分区已最优对齐 |
| 物理扇区 | blockdev --getpbsz | 确认盘的实际物理扇区大小 |
| 文件系统参数 | 按文件系统工具查看条带相关设置 | 与阵列条带宽度匹配 |
典型使用场景
- 新建磁盘:装系统或建数据盘前先确认分区起点
- 性能排查:SSD 或 RAID 5/6 写入偏慢时检查是否对齐
- 旧盘改造:从旧工具迁移过来的分区表可能未对齐
- 批量部署:把对齐参数固化到装机脚本里统一执行
- 交付验收:把对齐检查列入交付前的核对项
较新的分区工具默认按 1MiB 对齐即可覆盖 4KB 扇区与常见条带;特殊条带下再按文件系统的条带参数微调。
常见疑问
- 已上线的分区不对齐怎么办:迁移数据后重建分区,或评估影响后择机处理
- 对齐与条带宽度是否都要匹配:先保证扇区对齐,再按条带宽度优化
- 机械盘是否需要对齐:需要,跨物理扇区的读改写同样会带来性能损失