数据库服务器分区方案核心是隔离、稳定和可扩展,需独立划分 /var(50–100GB)、/data(大容量XFS)、/boot(1GB ext4)、/boot/efi(512MB FAT32)及精简根分区(30–50GB),并配置合理挂载参数与swap策略。

数据库服务器的分区方案核心是隔离、稳定和可扩展。关键不是堆砌分区数量,而是把日志、数据、系统文件彼此分开,避免一个目录暴增拖垮整个系统。
/var 和 /data 必须独立分区
MySQL、PostgreSQL 等数据库默认将数据目录(如 /var/lib/mysql)、事务日志、错误日志、慢查询日志全放在 /var 下。如果 /var 与根分区共用,一旦日志滚动或 binlog 堆积,可能瞬间占满空间,导致数据库写入失败甚至系统无法登录。
- /var 单独划出 50–100GB(视日志保留策略而定),专用于系统日志 + 数据库运行时日志
- /data 或 /db 单独挂载大容量分区(比如剩余全部空间),格式化为 XFS(高并发写入更稳),存放实际数据库文件(datadir)
- 若使用 LVM,建议 /data 放在逻辑卷上——后续扩容只需
lvextend+xfs_growfs,无需停库
/boot 和 /boot/efi 要小而稳
启动分区不能被加密或卷管理包裹,否则系统无法加载内核。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- /boot:1GB,ext4,只放内核镜像和 initramfs;不参与 LVM 或 LUKS
- UEFI 服务器必须有 /boot/efi:512MB,FAT32,仅用于 GRUB EFI 模块和启动配置
- 避免把内核更新频繁的服务器设过小(如 256MB),否则升级失败后需手动清理旧内核
根分区精简,swap 合理裁剪
根分区只承载操作系统和基础服务,不掺杂业务数据,便于重装或快照备份。
- /:30–50GB 足够(CentOS/RHEL 8+ 或 Ubuntu Server 22.04+ 默认安装约占用 4–6GB)
-
swap:内存 ≥16GB 时设为 2–4GB 即可;现代数据库大多禁用 swap(
vm.swappiness=1),但保留少量 swap 防止 OOM killer 误杀关键进程 - SSD 上推荐 swap 文件而非分区:灵活调整大小,且避免固定分区对 SSD 寿命的隐性影响
安全与性能加固细节
分区只是起点,挂载参数决定实际表现。
-
/data 挂载加
noatime,inode64,allocsize=64k(XFS)或noatime,commit=60(ext4),减少元数据写入 -
/tmp 和 /var/tmp 使用
nodev,nosuid,noexec,防止临时目录被利用执行攻击代码 - 数据库所在分区启用
discard(SSD)或关闭(HDD),并在/etc/fstab中显式声明 - 敏感生产环境可对 /data 启用 LUKS 加密,但需权衡性能损耗与密钥管理复杂度

















