做Linux时间长了会发现,服务器上折腾人的故障,十有八九都和硬盘分区管理有关。磁盘空间说没就没、新加的盘插上怎么都挂不上、fstab写错一行直接开机进不了系统,这些坑我基本都踩过一遍。这篇文章把我这些年Linux硬盘分区管理的经验一条条捋出来,从最基础的分区概念、MBR和GPT怎么选,到新盘上线全流程,再到几个高频故障的排查实录和规划建议,给刚入行或者正被磁盘问题折磨的运维朋友做个参考。内容不追求面面俱到,但每一步都能落到实际操作上。
1. 分区这件事,为什么值得认真对待
1.1 分区解决的不只是存储问题
很多人第一次接触Linux分区,是在装系统的时候顺手点了一下“创建分区”,装完就再也不管了。但分区方案的影响是长期且隐蔽的。我见过不少线上事故,本质都是当初分区没设计好:日志文件把根分区写满导致数据库直接报错;系统分区和数据分区混在一起,重装系统时把业务数据全部冲掉;分区表用了MBR,后面要扩容到3TB才发现根本认不出,只能推倒重来。
分区解决三个层面的问题。第一是隔离,系统、数据、日志、临时文件各占各的地盘,某一块写满不会拖垮整个系统。第二是管理维度,独立分区可以单独做备份策略、单独设置配额、单独监控容量趋势,出问题时定位和处置都更快。第三是文件系统自由度,不同分区能用不同文件系统,按业务特性选型,比如小文件密集用ext4,大文件顺序写入用XFS。这三个价值决定了分区规划必须放在项目早期考虑,而不是等服务器上了线再后悔。
1.2 MBR还是GPT,动手前就要定
分区表是记录磁盘分区元数据的地方,现在实际能碰到的就两种:MBR和GPT。MBR是老标准,主分区最多4个,单分区最大约2TB,超出就没法处理。GPT是后来的新标准,支持128个分区,单分区容量上限基本等于没有上限,而且GPT在磁盘尾部还有一份备份分区表头,某个扇区坏了也能靠备份恢复,可靠性比MBR高不少。
怎么选?我的原则很简单:新机器、新数据盘一律用GPT,哪怕容量只有几百GB。理由也很朴素,你永远不知道这块盘未来会不会因为业务增长要扩容到2TB以上,到时候再迁移分区表非常痛苦。现在主流Linux发行版安装时已经默认GPT了,兼容性完全不用担心,MBR基本只在模拟老环境或者某些极度受限的引导场景下才会用。
另外提一句,别把分区表和文件系统搞混。分区表管的是磁盘怎么切块,文件系统管的是切完的每个块里面怎么存数据。这两层是独立的,很多人卡住是因为一直在一个层面里找问题。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 操作前先摸清服务器硬盘现状
2.1 三条查询命令,各管什么事
动手分区之前,最重要的一件事是把家底摸清楚。我常用的三条命令是lsblk、blkid和df,各有各的用处。
lsblk看的是全局拓扑。它会列出系统能识别到的所有块设备、每块盘的容量、各个分区,以及它们之间的父子关系。我拿到一台陌生服务器,第一件事就是敲lsblk,因为它把信息组织得很清楚,比如sda下面挂着sda1、sda2,一眼就知道整块盘分了几刀。加一个-f参数还能顺便看到文件系统类型和UUID,信息非常全:
bash复制lsblk -f
blkid看的是分区唯一的标识。它会输出每个分区的UUID、分区类型、文件系统类型。为什么要用这个?因为设备名比如sdb1在系统重启后可能变化,而UUID是格式化时生成的固定标识,不会变。后面配置fstab的时候,靠的就是它。
df看的是挂载和使用率。它显示当前挂载的文件系统、总容量、已用、可用、挂载
