Linux服务器分区没有必须统一的模板,但行业共识认为:根分区(/)、swap分区和/boot分区是基础三件套,其余按业务需求拆分,最稳妥的方案是采用LVM逻辑卷管理,为后续扩容留足余地。
很多人在初次接触Linux服务器时,面对分区界面一脸茫然,直接一路回车用整块磁盘确实能装好系统,但等业务跑起来,日志写满根分区、网站数据无处安放、swap空间不足时,再回头折腾分区可就麻烦了,分区规划本质上是为未来可能发生的扩容、备份、迁移提前铺路,宁可现在多想一步,也不要等到生产环境宕机再后悔。
Linux服务器分区方案对比:新手和老手的思路差距在哪
新手通常只会纠结“根分区给多大”,而一个有经验的运维会先问三个问题:服务器跑什么业务?数据量和日志增长速度如何?是否需要频繁备份或迁移? 这三个问题的答案,直接决定了分区策略。
- 单机运行Web服务:建议独立分出/data分区存放网站代码和数据库备份
- 日志量大的应用:单独挂载/var/log分区,防止日志写满根分区
- 数据库服务器:数据目录单独分区,建议使用独立磁盘或云数据盘
- 家用测试机:保持简单,根分区+swap基本够用
核心区别在于,新手把分区当作安装系统的一道工序,老手则把分区看作数据隔离的第一道防线。分区独立带来的最大好处是故障隔离:某个分区写满了,其他分区不受影响,系统还能正常运行,你有充足时间去处理问题。
常见的分区类型各有分工,下面逐一拆解。
必须有的三个基础分区:根分区、swap、/boot
这三个分区是Linux正常启动和运行的底线,缺一不可,但具体大小和位置有讲究。
根分区(/)决定系统运行稳定性
根分区是所有文件系统的起点,几乎所有的系统文件、软件、临时文件都在它下面,根分区空间耗尽是最常见的服务器故障,一旦写满,服务可能直接中断,甚至系统都无法正常写入新的日志。
- 仅跑轻量级服务(如Nginx静态站点):建议50GB起步
- 安装宝塔面板等运维工具:建议80GB-100GB
- 业务复杂、依赖包多:建议100GB以上
根分区是整个系统的地基,比预估需求多给30%容量是常见做法。
swap分区:内存的应急缓冲区
swap是硬盘上的虚拟内存空间,物理内存不足时,系统会把不活跃的数据临时挪到swap,对于内存充足的服务器,swap不是必需品,但建议保留一定量作为兜底方案。
- 内存小于4GB:swap分配物理内存的1-2倍
- 内存8GB-16GB:swap分配4GB-8GB
- 内存32GB以上:swap分配8GB即可,再多意义不大
服务器内存越大,swap的实际使用场景就越少,但这不代表可以直接砍掉。
/boot分区:引导文件的安全屋
引导加载器需要的内核和initramfs文件存放在/boot目录。
只要/boot分区完好,即使其他分区损坏,系统也大概率能启动进入救援模式,对于使用传统BIOS引导的机器,/boot给1GB-2GB足够,UEFI引导的还需要一个FAT格式的/boot/efi分区,通常512MB即可。
当前主流发行版默认XFS或ext4文件系统,/boot分区不需要太大,关键是确保它独立存在,别和根分区混在一起。
业务数据分区:数据盘与系统盘分开是关键决策
这是Linux服务器分区里最值得认真考虑的一步,行业共识指出,系统盘和数据盘分离是生产环境的基本原则之一,云服务器厂商都支持额外购买数据盘,用fdisk或parted把数据盘分区格式化,然后挂载到指定目录。
数据盘分区实操:分两步走
首先查看磁盘信息,使用lsblk确认新数据盘的设备名称,dev/vdb,然后执行分区命令:
fdisk /dev/vdb # 依次输入n(新建分区)、p(主分区)、w(保存退出)
分区创建后格式化并挂载:
mkfs.ext4 /dev/vdb1 mkdir -p /data mount /dev/vdb1 /data echo "/dev/vdb1 /data ext4 defaults 0 0" >> /etc/fstab
最好的方案是直接挂载整个数据盘
如果不做LVM,把整块数据盘做成一个单独分区直接挂载,比分成多个文件夹目录更合理,比如直接挂载到/data,再在/data下面建mysql、www、backup等子目录,这样每个业务目录共享数据盘空间,不会出现某个分区满了另一个还大量空闲的尴尬局面。
数据盘承载的是业务核心数据,所以务必启用磁盘配额或者监控工具,防止某个应用异常写入把数据盘塞满,影响整个业务链。
重装系统会清空哪些分区?卸载数据盘就是最好的保护
很多用户担心重装系统会弄丢数据,这里明确一个概念:重装系统只会格式化系统盘,独立的数据盘在重装后重新挂载即可,这也是为什么强烈建议把数据库、网站代码、备份文件都放在单独的数据盘或/data分区,而不是默认路径/var/lib/mysql。
个人数据、业务数据与系统数据完全隔离,遇到严重系统故障时,直接重装系统,数据盘挂回去就能快速恢复业务。
/home、/var、/tmp:这些额外分区该如何取舍
除了基础三件套和数据分区,还有几个常见分区选项。非生产环境建议精简分区,保持根分区和swap两个就够,分区越多空间浪费越大。
/home分区:多用户系统的独立目录
如果服务器有多个用户使用(比如开发测试环境、给学生用的教学服务器),将/home独立分区可以实现用户数据与系统隔离,重装系统时,/home分区中的数据保留,不需要备份和恢复,单用户或常驻业务服务器可以忽略这个分区。
/var分区:应对日志与缓存膨胀的保险丝
/var目录存放日志、邮件、缓存、临时文件。日志文件是无限制增长的头号威胁,系统日志、Nginx访问日志、应用日志可能让/var目录迅速膨胀。
- 日志量大的应用场景(如高访问量Web服务):建议/var独立分区,空间分配30GB-50GB
- 日志量小的常规服务器:根分区足够,无需单独划分
/var独立还有个额外好处:其他分区因为某种原因被写满时,/var仍能接受日志写入,保留排查问题的现场。
/tmp分区:避免临时文件占用系统盘
/tmp目录对空间大小不敏感,但权限敏感,有些程序会往/tmp写临时大文件,如果根分区紧张,可以考虑把/tmp独立分区,挂载时加上nosuid,nodev选项提升安全,多数场景下,/tmp挂载为tmpfs(内存文件系统)也不错,重启自动清空,减少磁盘占用。
分区分多大?核心数据容量参考
不同分区的大小建议整理成下表,方便直接对照选择:
| 分区 | 性能要求 | 推荐大小 | 关键点 |
|---|---|---|---|
| IOPS敏感 | 80GB-120GB(建议LVM) | 留有30%余量 | |
| /boot | 顺序写入 | 1GB-2GB | 升级内核时需要 |
| swap | 补充内存 | 4GB-8GB | 与内存大小联动 |
| /var | 按日志量估算 | 30GB起步 | 可独立可合并 |
| /data | 磁盘性能相关 | 尽量大 | 数据盘全量挂载 |
分区大小不是一成不变的,磁盘类型也影响规划,SSD需要留足未分配空间保证性能,机械硬盘则注意IO性能集中在磁盘前段区域,传统机械硬盘的场景中,分区越靠前,IO性能越好,不过这在实际中影响有限,不必过分追求。
LVM逻辑卷:解决分区空间不够用的懒人福音
分区规划最怕的就是提前把空间写死。LVM(逻辑卷管理)可以在不重启、不卸载的情况下动态扩展文件系统,这是生产环境的重要加分项。
安装系统时,建议把根分区、/var、/home都放在LVM卷组里,具体操作流程可以概括为:
- 创建物理卷:
pvcreate /dev/sdb1 - 加入卷组:
vgcreate vg_data /dev/sdb1 - 创建逻辑卷:
lvcreate -L 100G -n lv_data vg_data - 格式化逻辑卷并挂载使用
等到空间不足时,只需补充新磁盘,执行vgextend扩展卷组,然后lvextend扩展逻辑卷,即可实时增大分区容量。
采用LVM方案,你不需要在安装系统时精打细算每个分区大小。统一建一个大的卷组,按需分配给各个逻辑卷,后续调整灵活性极高。
按使用场景规划分区:挂载数据盘和部署业务应用
不同业务场景的分区侧重点差异明显,结合场景来规划更合理。
云服务器分区指南:数据盘独立挂载最省心
云服务器买回来通常是快照生成的,系统盘默认直接整个作为根分区,如果你没有额外数据盘,建议最小化分区数量
,根分区加上swap即可,如果有数据盘,直接整盘挂载到/data目录下,用于存放数据库和站点文件。
生产环境一定不要轻易在系统盘上做主目录存储,系统盘建议保留key用于挂载和卸载,不要在系统盘内深挖目录存放核心数据。
部署数据库或Web服务:将数据风险降到最低
跑MySQL、PostgreSQL、Nginx这类业务时,要把数据目录调整到独立挂载点,MySQL数据目录默认在/var/lib/mysql,通过修改配置文件的datadir参数,把数据路径改到挂载的专用数据盘或大分区上,Web项目代码同理,通过虚拟主机配置把站点目录指向/data/www等位置。
这样布局的优势非常明显:单点故障不会波及所有数据,即使系统盘突然损坏,数据盘上的业务数据仍然完好,可以快速挂载到新服务器恢复业务。
系统崩溃时自救:分区独立带来的快速恢复能力
分区独立不仅是数据安全的保障,也是故障恢复的关键,boot分区损坏,用系统盘启动救援模式修复引导;如果根分区文件系统损坏,数据盘的数据还能直接访问;如果某个业务分区写满,其他分区继续正常读写。
分区规划决定了你在紧急情况下的救援效率和止损能力。把鸡蛋放在不同篮子里,备份和恢复都轻松不少,分区完成后要及时检查fstab挂载配置(使用mount -a验证),避免开机时因挂载错误卡在紧急模式。
分区后续维护建议
- 定期执行
df -h检查容量使用率,超过80%就要关注 - 关键数据分区加入监控告警
- 保留系统盘快照和备份策略
- 新服务器搭建完成后,记录分区方案便于复盘
Linux服务器分区最佳实践常见问题解答
服务器分区在哪个阶段规划最合适?
系统安装过程中有手动分区选项,这是规划的最佳时机,如果你已经装好系统,也可以在线调整,但风险更高,需要有备份,最安全的做法是安装时一次性规划到位,尤其是LVM卷组初始化要在这一步完成。
如何解决根分区空间不足的问题?
如果当初没有LVM,根分区空间不足会很难办,选用云服务器时,可以通过控制台直接扩容系统盘,然后执行growpart和resize2fs在线扩展,如果是不支持扩容的物理机,只能备份后重新分区,这也是为什么强烈建议所有分区都用LVM来管理。
列出分区类型对应挂载点的参考原则?
原则很简单:系统本身需要的放根分区,业务数据放数据盘,日志必须独立或限制大小,对有高IO需求的目录,比如数据库目录,可考虑使用单独的、高性能的存储空间,其余场景保持精简即可。
Linux服务器的分区方案没有绝对正确的答案,只有最适配业务的选择。把基础的三件套配齐,数据盘独立挂载,优先使用LVM,这套组合能覆盖绝大多数业务场景,分区规划花费的时间,在服务器出问题时都会成倍回收收益。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/697122.html





