下面我将从通用原则、推荐方案、特殊场景以及操作步骤四个方面,为您提供一份详尽的 CentOS 服务器分区指南。

核心原则
在动手分区前,请务必理解以下几个核心原则:
-
/boot分区必须单独分:- 原因:这是系统启动时加载内核和初始内存盘所必需的。 (根分区) 是 LVM 或其他复杂结构,或者未来需要调整根分区大小,单独的
/boot可以避免启动问题。 - 大小:建议
1 GiB,对于新安装的系统,512MB 通常足够,但 1GB 可以更从容地应对未来内核更新和固件需求。
- 原因:这是系统启动时加载内核和初始内存盘所必需的。 (根分区) 是 LVM 或其他复杂结构,或者未来需要调整根分区大小,单独的
-
(根分区) 建议使用 LVM:
- 原因:LVM (Logical Volume Manager) 提供了无与伦比的灵活性,您可以在线扩展、缩减、快照文件系统,这对于需要长期运行且数据量不断增长的服务器至关重要,如果未来磁盘空间不足,无需重装系统,只需添加新磁盘并扩展 LVM 即可。
- 注意:根分区缩减操作风险较高,不推荐在生产环境中随意进行。
-
swap交换分区的考量:
(图片来源网络,侵删)- 作用:当物理内存耗尽时,用作虚拟内存,对于物理机,
swap是必要的;对于绝大多数云服务器,内存已经足够大,且云厂商通常不推荐或限制使用本地盘作为swap,可以不创建或创建得非常小。 - 大小:
- 传统物理机:内存 <= 8GB,
swap设为内存的 1-2 倍;内存 > 8GB,swap设为与内存相等或略小(8GB-16GB),对于内存巨大的服务器(如 64GB+),swap设为 32GB 通常足够。 - 云服务器:通常建议
1 GiB或2 GiB,甚至不创建,如果不确定,可以创建2 GiB,如果云平台提供“内存交换”功能,优先使用平台功能而非本地swap分区。
- 传统物理机:内存 <= 8GB,
- 作用:当物理内存耗尽时,用作虚拟内存,对于物理机,
-
数据与系统分离:
- 原因:将网站数据、数据库文件、日志等用户数据放在独立的分区(如
/data或/var),可以带来以下好处:- 安全:即使系统分区()因日志文件写满而崩溃,用户数据(如数据库)通常是安全的。
- 性能:可以为不同数据类型分配不同的 I/O 调度策略或挂载选项(如
noatime)。 - 管理:独立备份、扩容和维护,可以只备份
/data分区,而忽略系统文件。
- 原因:将网站数据、数据库文件、日志等用户数据放在独立的分区(如
-
/var分区的重要性:- 原因:
/var目录存放着日志、邮件、缓存、Web 服务器文件等,这些内容会持续增长,并且写入频繁。/var和 在同一个分区,很容易因为日志或缓存文件激增而填满整个根分区,导致系统服务异常甚至无法登录。 - 建议:对于任何可能产生大量日志或文件的服务(如 Web 服务器、数据库服务器),强烈建议为
/var单独划分空间。
- 原因:
推荐分区方案
根据服务器的用途,推荐以下几种经典方案。
通用生产服务器(推荐首选)
这是最均衡、最通用的方案,适用于大多数 Web 服务器、应用服务器、数据库服务器等。

| 挂载点 | 文件系统 | 大小建议 | 说明 |
|---|---|---|---|
/boot |
xfs |
1 GiB |
存放内核和启动文件,独立分区以保证启动安全。 |
swap |
swap |
2 GiB 或按需 |
交换分区,云服务器可设为 2GB 或不创建,物理机根据内存大小调整。 |
| (根分区) | xfs |
50-100 GiB |
系统核心目录,LVM 逻辑卷,50GB 对大多数应用足够,留出余量。 |
/var |
xfs |
50-100 GiB |
存放日志、包缓存、应用数据,独立分区,防止其增长影响系统稳定性。 |
/home |
xfs |
剩余空间 或 20-50 GiB |
存放用户数据,如果服务器不面向多用户,可以合并到 /data 或不创建。 |
/data (可选) |
xfs |
剩余空间 |
专门用于存放应用数据,如数据库文件、网站源码、备份文件等,强烈推荐。 |
为什么选择 XFS?
- 高性能:特别是在处理大文件和高并发 I/O 时表现优异。
- 在线扩容:支持在线扩展文件系统,非常适合 LVM 环境。
- 健壮性:日志文件系统,崩溃后恢复速度快,数据一致性有保障。
- 云原生:是 CentOS 7/8/9 的默认文件系统,与云环境兼容性好。
轻量级或资源受限服务器
适用于小型 VPS、测试环境或对磁盘空间要求不高的场景。
| 挂载点 | 文件系统 | 大小建议 | 说明 |
|---|---|---|---|
/boot |
xfs |
1 GiB |
保证启动安全。 |
swap |
swap |
1 GiB |
基础交换空间。 |
| (根分区) | xfs |
30-50 GiB |
系统和应用全部放在根分区,LVM 逻辑卷。 |
/data (可选) |
xfs |
剩余空间 |
如果有少量数据需要独立存放,可以创建此分区。 |
专用数据库服务器
数据库服务器对 I/O 性能和数据可靠性要求极高。
| 挂载点 | 文件系统 | 大小建议 | 说明 |
|---|---|---|---|
/boot |
xfs |
1 GiB |
保证启动安全。 |
swap |
swap |
8-16 GiB |
根据数据库服务器内存大小设置。 |
| (根分区) | xfs |
50-100 GiB |
系统文件和二进制程序,LVM 逻辑卷。 |
/var/log |
xfs |
20-50 GiB |
数据库会产生大量慢查询日志等,独立存放。 |
/var/lib/mysql |
xfs |
剩余空间 |
数据库数据文件专用分区,这是最重要的分区,应使用高性能磁盘(如 SSD)。 |
/backup |
xfs |
剩余空间 或单独磁盘 |
存放数据库备份,如果可能,使用独立的物理磁盘以提高备份和恢复速度。 |
特殊场景考量
-
云服务器 (AWS, 阿里云, 腾讯云等):
- 通常会提供一个系统盘(40GB)和一个或多个数据盘。
- 最佳实践:在系统盘上只创建
/boot,swap, 分区。 - 在数据盘上创建
/data,/var/lib/mysql等数据分区。 - 这样做的好处是,即使系统盘出现问题,数据盘上的数据通常是安全的,并且可以轻松地将系统盘挂载到另一台相同配置的机器上恢复。
-
使用 ZFS 文件系统:
- ZFS 是一个功能极其强大的文件系统,集卷管理、快照、校验、压缩等功能于一身。
- 适合对数据完整性要求极高的场景,如虚拟化平台、存储服务器。
- 配置比 LVM 复杂,需要单独编译或安装 ZFS on Linux,如果追求极致的简单和稳定,LVM+XFS 仍是首选。
实践操作(使用 fdisk 和 mkfs)
以下是在安装 CentOS 时,或通过 Live CD/USB 对未分区磁盘进行操作的示例。
假设新硬盘为 /dev/sdb,我们按照方案一进行分区。
使用 fdisk 进行分区
# 进入 fdisk 交互模式 fdisk /dev/sdb
在 fdisk 提示符下,执行以下命令:
# 查看当前分区表(可选) p # 创建新分区 n # 选择分区类型(主分区或扩展分区) # 创建 /boot,选择 p (Primary) p # 分区号,默认 1 1 # 起始扇区,直接回车使用默认值 # 大小,+1G +1G # 创建 swap 分区 n p 2 # 直接回车 # +2G +2G # 创建根分区 /,使用剩余所有空间 n p 3 # 直接回车 # 直接回车,使用剩余所有空间 # 创建 /var 分区 n p 4 # 直接回车 # +50G (根据实际情况调整) +50G # 创建 /home 分区,使用剩余空间 n p 5 # 直接回车 # 直接回车,使用剩余所有空间 # 设置分区类型 # /boot (sdb1) 设置为 bootable a 1 # swap (sdb2) 设置为 swap 类型 t 2 # 输入 swap 的类型码,通常是 82 82 # 确认分区表 p # 写入并退出 w
格式化分区
# 格式化 /boot 为 XFS mkfs.xfs /dev/sdb1 # 格式化 / 为 XFS mkfs.xfs /dev/sdb3 # 格式化 /var 为 XFS mkfs.xfs /dev/sdb4 # 格式化 /home 为 XFS mkfs.xfs /dev/sdb5 # 格式化 swap 分区 mkswap /dev/sdb2
创建挂载点并挂载
# 创建挂载点
mkdir -p /mnt/{boot,var,home}
# 挂载分区
mount /dev/sdb3 /mnt # 挂载根分区
mount /dev/sdb1 /mnt/boot # 挂载 boot
mount /dev/sdb4 /mnt/var # 挂载 var
mount /dev/sdb5 /mnt/home # 挂载 home
# 启用 swap 分区
swapon /dev/sdb2
# (在系统安装过程中,安装程序会自动完成挂载,如果是手动操作,需要配置 /etc/fstab 实现开机自动挂载)
一个优秀的分区方案是稳定服务器的基础,对于绝大多数 CentOS 服务器用户,方案一(通用生产服务器) 是最安全、最灵活的选择,请根据您的服务器具体用途、硬件配置和未来预期,灵活调整分区大小和挂载点。
最后提醒:在进行任何磁盘分区操作前,务必备份所有重要数据! 操作失误可能导致数据永久丢失。
