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

生产环境的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 + / 三区足够;日志、临时文件、部署目录统一放在 / 下;系统重装即整盘格式化,靠集群自动容错
- 有状态核心服务(如 MySQL、PostgreSQL、Elasticsearch、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 加密,确保物理盘被盗后数据不可读










