对于运维工程师来说,磁盘分区规划是一项需要重点掌握的基础技能。今天我将结合多年的一线运维经验,为大家分享几个实用的磁盘分区原则。
在实际生产环境中,合理的分区方案能够显著提升系统稳定性和运维效率,下面我们来看看具体操作要点。

1. 越简单越好
生产环境中的分区方案其实只需关注几个核心要点:
必须包含的分区:启动分区/boot、根分区/、数据分区/data(不一定非要命名为/data,可根据实际情况调整) 可选分区:swap交换分区(内存不足时应急使用)、/boot/efi(物理服务器必需)至于其他如/var、/opt、/home等目录,大多数情况下无需单独分区。如果数据量不大,直接放在根分区即可满足需求。
2. 物理服务器怎么分?
现代物理服务器普遍采用UEFI启动模式,因此必须创建/boot/efi分区。
这里给出一个常见的分区方案:
/boot/efi:200~600MB,存放EFI引导文件,缺少它可能导致系统无法启动 /boot:1GB,存放内核和启动文件 /:50~100GB,安装操作系统 /data:剩余全部空间,用于存放应用程序、数据库和日志文件 swap:16~32GB(可选),为内存提供应急交换空间,像K8S这类容器化环境可以考虑不配置总结来说:物理机必须配置/boot/efi分区,否则将导致系统无法正常启动。
3. 虚拟机怎么分?
虚拟机(包括KVM、VMware和云主机)大多仍采用BIOS启动方式,这种情况下就不需要/boot/efi分区了。
推荐的分区方案如下:
/boot:1GB,启动分区 /:50~100GB,系统分区 /data:剩余全部空间,业务数据集中存放于此 swap:8~16GB(可选),作为应急交换空间实际上,很多云主机厂商为了简化配置,默认只分配根分区。我们只需要记得单独挂载一个/data分区用于数据存储即可。
4. swap 要不要?
swap本质上是一种"虚拟内存"机制。当物理内存不足时,系统会将部分内存数据写入swap空间。
(1)建议配置swap的场景
内存容量较小(<16GB),swap可作为应急缓冲,建议大小等于物理内存,避免OOM killer误杀进程 某些数据库(Oracle、PostgreSQL)安装时强制要求存在swap分区(2)可以不分配swap的场景
内存充足(32G/64G以上)且系统运行稳定 需要高性能的内存业务场景(数据库、Redis),不希望swap拖慢IO性能 已使用cgroup/Kubernetes等技术进行资源限制的环境需要特别注意的是:swap只是应急方案,不能当作常规内存使用。如果业务长期运行在swap上,性能会严重下降。
5. 最后总结
生产环境的分区规划切忌复杂化,记住几个关键点就能应对大多数场景:
物理机:/boot/efi + /boot + / + /data + (swap可选) 虚拟机:/boot + / + /data + (swap可选)另一个需要考虑的因素是磁盘数量。如果是多块磁盘,建议将/boot和根分区放在同一块盘,其他磁盘专门用作数据存储。还可以使用LVM将多块磁盘整合成逻辑卷,统一分配给数据盘使用。
复杂的分区方案往往是新手追求的技巧,而简洁高效才是资深工程师的智慧所在。
