Linux磁盘分区规划_生产环境分区设计思路

2次阅读

生产环境linux磁盘分区应“分得准”而非“分得多”:必设/boot(100–500mb)、swap(依内存动态配置)、/(50–200gb);有状态服务需独立/data分区;避免/home、/var/log等过度分区;优先用gpt+lvm,挂载参数需优化。

Linux磁盘分区规划_生产环境分区设计思路

生产环境的Linux磁盘分区,核心不是“分得多”,而是“分得准”——只隔离真正需要独立管理的部分,其余尽量收敛,降低运维复杂度和故障面。

/boot、swap、/ 是三个刚性基础分区

无论服务器角色如何,这三个必须存在:

  • /boot:100–500 MB,存放内核、initramfs 和 GRUB 文件;必须独立,避免根分区满载或损坏导致无法启动;UEFI 系统额外需 /boot/efi(FAT32,100 MB 即可)
  • swap:不硬套“1.5×内存”公式。物理内存 ≤8 GB 可设为 1.5 倍;8–64 GB 建议固定 8–16 GB;≥64 GB 可不设,或仅配 2–4 GB swapfile 作兜底(更灵活、支持在线扩容)
  • /(根分区):最小 20 GB,常规建议 50–200 GB;只放操作系统及运行时依赖(/usr、/bin、/etc 等),不存任何业务数据

按业务状态决定是否拆分数据目录

是否额外分区,关键看两点:数据能不能丢?要不要单独备份/迁移?

  • 无状态服务(如 Web 集群、API 网关、计算节点):/boot + swap + / 三区足够;日志、临时文件、部署目录统一放在 / 下;系统重装即整盘格式化,靠集群自动容错
  • 有状态核心服务(如 mysqlpostgresqlelasticsearch、NFS 存储节点):必须单列 /data/var/lib/mysql 类专用分区,占剩余空间 90% 以上;好处是系统重装不影响数据,IO 负载可控,备份可精准到卷级
  • 多租户或平台型主机:预留未分配空间,或建大容量 /srv 分区,后续用 LVM 或目录配额按需划分,避免初期过度设计

避开高频反模式设计

很多线上故障源于看似合理、实则低效甚至危险的分区习惯:

  • 不要单独分 /home:除非真有多个长期登录用户且需跨系统保留配置;普通服务机上 /home 几乎只存 root 和部署账户,合并在 / 更简洁安全
  • 慎分 /var/log 和 /tmp:日志撑爆根分区是高频事故,但单独分区并非万能解。优先用 logrotate + journald 限流 + tmpfs 挂载 /tmp;仅在审计合规等特殊场景才考虑独立 /var/log 分区
  • 别卡死在主分区数量:MBR 最多 4 个主分区,新机器一律用 GPT 分区表(支持 128 个分区、超大容量、带备份);需要弹性扩展就上 LVM——先划一个大物理分区,再在其上建 VG/LV,支持在线扩容、快照、迁移

文件系统与挂载优化不能少

分区只是起点,挂载参数直接影响稳定性与性能:

  • SSD 硬盘挂载加 discard(启用 TRIM),HDD 加 noatime(禁用访问时间更新,减少 IO)
  • /tmp 挂载务必加 nodev,nosuid,noexec,防提权与恶意执行
  • 敏感数据分区可结合 LUKS 加密,确保物理盘被盗后数据不可读
text=ZqhQzanResources