LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

[点晴永久免费OA]硬盘三种格式(ext4、XFS、Btrfs )怎么选?

admin
2026年11月5日 11:18 本文热度 68

硬盘文件系统表面是"格式化时选一个格式",背后是一套硬盘上的管理制度——它决定数据怎么上架、怎么登记、怎么找回、出事时能不能救回来。你选的不只是一个后缀,是选"这块盘将来怎么配合你要干的活"。

看完这篇,你会明白 ext4、XFS、Btrfs 不是三个"谁更新谁更好"的选项,而是三套适配不同活计的"硬盘管理制度"。


一、先抓住一件事:文件系统 = 仓库的管理制度

硬盘是块毛坯地,文件系统是盖在上面的仓库制度。

拿"仓库"来对,几层关系就清楚了:

  • 硬盘是一整块地,空着的时候什么都放不了、也分不清哪是哪;

  • 分区是把这块地砌墙划成几间房(/dev/sda1、/dev/sdb1);

  • 文件系统(格式化)是在每间房里铺一套制度:给货位编号、登记台账——哪个文件占哪几个货位、每个货位还剩多少空间、目录怎么一层层套;

  • 挂载(mount)是给这间房挂个门牌,让你能走进去用。

没有文件系统的硬盘,就是一堆没编号的货,系统根本不知道哪个字节是哪张照片的开头。文件系统干的,就是把这堆货管起来。

这套"台账 + 货架 + 寻址"的整套规则,就叫文件系统。先看三套制度里最老、也最通用的那一套。


二、ext4:老牌货架,稳,通用

ext4 是目前 Linux 上最常见、最成熟的那套制度,从老服务器到树莓派到处都在用。

它的核心是稳。ext4 的前身 ext3 引入了一个叫"日志"的机制——每次写入,先在台账上记一笔"我要改了",改完再销账。这就像仓库出货先开一张出货单:万一搬到一半停电,回来照着单子一看,就知道哪些货搬了、哪些没搬,不会留下一本糊涂账。

它的大小够用:单个文件最大 16TB,单卷最大 1EB,对绝大多数机器来说大得用不完。

想把一块盘铺成这套制度,一条命令:




mkfs.ext4 /dev/sdb1

mkfs 是 make filesystem 的意思,mkfs.ext4 就是"把这块分区铺成 ext4 制度"。

但"稳"和"老"也留下一个限制:ext4 是就地改写——改一个文件,直接覆盖原来的货位。好处是快、省空间;坏处是,一旦写入过程中崩了,没有别的存档可回退。而且它没有"快照",事后想回到某个旧状态,做不到。

一句话:ext4 是你最不用操心的默认选项。但当你开始存那种"又大、又多、还要高频写"的东西时,它的就地改写就有点吃力了——这时候,另一套制度上场。


三、XFS:大仓库,吞吐猛,专治"海量"

如果你要跑数据库、存视频网站的海量文件、写每份几百 GB 的日志和备份,ext4 的就地改写会越来越拖。XFS 就是为"大规模、高吞吐"设计的,红帽系发行版默认拿它做根分区。

它最突出的本事是吞吐大、并发强,适合那种一写起来就是海量的场景。

它的体量近乎"无限":单个文件最大 8EB(1EB 约等于十亿 GB),单卷同样 8EB。

铺这套制度,同样是 mkfs:




mkfs.xfs /dev/sdb1

但它有个出名的脾气——只许长大,不许缩小。XFS 的分区一旦扩了,基本不认"缩容":你不可能把一块 XFS 分区缩小,"空间不够了我挪一挪"这种操作在它身上行不通。所以想用它,一开始就把空间规划够。

更关键的是,XFS 虽然吞吐猛,但它和 ext4 一样是就地改写,同样没有快照——数据写坏了、误删了,也一样回不去。

一句话:XFS 是"大流量重体力活"的专用制度。可问题来了:吞吐和稳定都排在前面的这两套,都没法让数据"回到过去"。要是你的数据比速度金贵,怎么办?第三套制度就是冲着这个来的。


四、Btrfs:带"时光机"的智能货架

Btrfs 是三套里最年轻、也最不一样的一个。它的核心能力,来自一个叫写时复制(COW,Copy-On-Write)的机制。

回看 ext4 和 XFS 的"就地改写":改文件直接覆盖旧货位。Btrfs 反过来——改一个文件,不覆盖原来的货位,而是把新数据写到另一个空货位,写完了再把目录"指向"新货位,旧数据原地不动。

这个"旧数据还在"的能力,是 Btrfs 的杀手锏:快照。快照相当于给整个文件系统拍一张"当时的照片"。之后哪怕文件被误删、被改坏、被勒索病毒加密,都能从快照瞬间回滚。

我用它救过自己一回。一条写错的批量命令,把一个目录下的几百个文件全改了名,而我根本没备份。幸亏那台机器开着 Btrfs 快照,一条命令回滚回去,前后两分钟。

铺这套制度,以及它的保命命令,长这样:




mkfs.btrfs /dev/sdb1

# 每次做大改动前,先给根拍一张快照
btrfs subvolume snapshot / /snapshot/before_change

另外它还带数据校验,读取时能发现硬盘静默损坏的那几位数据并尝试修复。

代价也摆在明面上:写时复制带来额外开销,跑数据库这种高频随机写的场景,性能不如 ext4/XFS 直接;功能多,上手和理解成本也更高。

三套制度讲完了。你大概已经看出来了——它们就是"稳""快""能回滚"三个方向的取舍,没有谁全面碾压谁。


五、怎么选:一张表对号入座

你的场景
选谁
为什么
服务器根分区、通用业务、想省心
ext4
稳、成熟、到处兼容
数据库、大数据、海量大文件、日志备份盘
XFS
吞吐猛、单文件近乎无限
个人桌面、怕误删、要快照回滚
Btrfs
COW 快照 + 校验,数据金贵
树莓派、启动盘、老设备
ext4
兼容性最好
追求极致 + RAID/去重等高级存储
再看 ZFS
更重度,超出本文范围

这里最容易掉进一个误区:"Btrfs 最新,一定最好。" 反过来说 ext4 老、XFS 不能缩容就是差——其实没有高下,只有适配。最新不等于最适合你的场景:一台跑数据库的生产机,你给它上 Btrfs 反而拖慢写入;一台怕误删的工作机,你偏选 ext4,出事就是真的没了。

选文件系统不是选新不选旧,是选"这台机器要干的活"。


六、磁盘又满了?一条流水线,下一步接上一步

前面那套命令(mkfs、mount、快照)是"铺制度"用的,平时用不上。真正高频的场景,是文章开头那种——磁盘满了。排查它不是把几条命令当清单背,而是一条流水线,每一步的产出正好喂给下一步。

第一步、df -h,看哪里满了。

先扫一眼各挂载点,锁定"哪块盘快满了"。这一步的产出,是那个快满的挂载点,比如 /var。

第二步、df -T,认这套制度。

看清楚那块盘用的是 ext4 还是 XFS 还是 Btrfs——因为制度决定了后面怎么处置:ext4/XFS 没有快照,只能删文件释放;Btrfs 有快照,还能考虑回滚。制度认清了,才知道下一步该往哪走。




df -h
df -T

第三步、du -sh,找谁在占空间。

钻进那个快满的目录,一层层找出到底是谁吃掉了空间:




du-sh /var/* |sort-h|tail

这一步的产出,是那个真正占地方的元凶,比如一个 30G 的日志文件。

第四步、处置。

如果元凶是个能删的日志,rm 掉就完事;但如果删了之后 df -h 还是满的,多半是那个日志还被某个进程占着——重启占它的进程,空间才会真的回来(具体见下一节的坑三)。到这里,一条流水线走完,磁盘也从"满"回到"有余"。


七、三个别踩的坑

第一、XFS 不能缩容,别指望"先给大、再收回"。

你把它扩到 2TB,发现用不了,想缩成 1TB——行不通。所以用 XFS,要么一开始规划准,要么做好"以后只能加盘"的心理准备。

第二、格式化 = 清空,选盘前再三确认。

mkfs 一下去,盘上数据全没,不可逆。很多人赶时间,/dev/sdb 手滑写成 /dev/sda,把系统盘格式化了。

第三、"rm 删了文件空间却没回来",不一定是文件系统坏了。

​你 rm 掉一个几十 G 的日志,df -h 一看还是满的——多半是那个文件还被某个进程占着(比如还在写日志的服务没关)。只要进程没松手,货位就不释放。用 lsof +L1 找到占着它的进程,重启那个进程,空间就回来了。


该文章在 2026/11/5 11:19:13 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号