3.2.3 分区规划原则与容量预估
分区规划应围绕可靠性、可维护性与性能展开,优先保证系统盘稳定、数据盘隔离、日志与临时数据可控。常见原则包括:将系统与业务数据分离;对高增长目录独立分区(如 /var、/data、/opt、/home);为日志、缓存、临时目录设置容量上限;避免单分区过大导致备份与故障恢复困难;结合 RAID/LVM 预留扩容空间;对数据库等关键业务采用独立磁盘或卷组并开启对齐;考虑文件系统与块设备 4K 对齐。
容量预估以业务指标与增长模型为基础,需明确数据类型、增长率、保留周期与副本策略。基本方法为:当前数据量 ×(1 + 月增长率 × 保留月数)× 冗余系数(RAID/副本)× 预留系数(建议 20%~30%)。日志与监控数据可按“每日日志量 × 保留天数”估算;数据库可按“峰值数据量 + 索引/事务日志/临时空间”估算;容器与镜像存储需考虑镜像体积、拉取频率与层复用比例。
典型参考:根分区建议 20~50GB;/boot 1GB 左右;/var 20~100GB(日志多可更大);/tmp 5~20GB;业务数据 /data 按实际容量规划。生产环境应保持分区使用率长期低于 80%,并制定扩容预案(LVM/云盘弹性扩容)。对于高 IO 场景,除容量外还需评估 IOPS、吞吐与延迟,避免容量满足但性能不足。
分区规划原理草图(系统、数据、日志隔离与扩容预留):
示例:基于业务数据与增长率估算容量(以 2TB 当前数据、月增 8%、保留 12 个月、RAID1 冗余、预留 25%)
# 计算:2TB * (1 + 0.08*12) * 2 * 1.25
python3 - <<'PY'
current_tb = 2
growth = 0.08
months = 12
redundancy = 2
reserve = 1.25
size = current_tb * (1 + growth*months) * redundancy * reserve
print(f"建议容量: {size:.2f} TB")
PY
# 预期输出:建议容量: 7.20 TB
示例:分区与挂载规划清单(含对齐与容量上限约束)
/boot 1G ext4 独立分区,便于引导管理
/ 40G xfs 系统盘,保留足够升级空间
/var 80G xfs 日志与缓存,限制增长
/tmp 10G xfs 临时文件,避免挤占系统盘
/data 6T xfs 业务数据,独立磁盘或卷组
示例:检查当前分区使用率与对齐情况(命令解释在注释中)
# 查看块设备与挂载点容量
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
# 查看文件系统使用率(关注是否超过80%)
df -hT
# 检查分区对齐(Start 扇区是否为 2048 的倍数)
fdisk -l /dev/sdb | grep -E "Device|/dev/sdb"
排错要点:
- 分区使用率异常增长:优先检查 /var/log、/tmp、/var/lib 下的热点目录。
- 容量预估偏小:确认是否遗漏副本、索引、临时文件与快照空间。
- 分区对齐不足导致性能下降:确认起始扇区是否 2048 对齐,必要时重建分区并迁移数据。
练习:
1. 假设业务当前数据 500GB,月增 12%,保留 18 个月,RAID5 冗余系数按 1.5,预留 30%。计算建议容量并写出计算公式。
2. 使用 lsblk 与 df -hT 记录你系统当前分区规划,并判断是否需要将 /var 或 /data 独立分区。
3. 查阅 fdisk -l 输出,判断任意一个数据盘是否 4K 对齐,说明判断依据。