1. ext4(Extended File System 4)
Linux 默认通用文件系统,绝大多数发行版默认根文件系统。
优点
成熟稳定、文档丰富,兼容性极强,几乎所有 Linux 工具支持
支持最大单文件 16TiB,文件系统总容量 1EiB
日志机制(journal),意外断电降低文件损坏风险
支持延迟分配、块预分配、TRIM(SSD)、extent 块映射,性能均衡
恢复工具齐全(
e2fsck),运维排障简单
缺点
不支持快照、原生精简配置、在线碎片整理
元数据性能一般,海量小文件场景弱于 btrfs/xfs
不支持透明压缩、透明加密(只能借助第三方工具)
文件系统扩容简单,缩小分区极其麻烦,很多场景不支持在线缩容
适用:服务器根分区、普通数据盘、兼容老环境,通用首选。
2. XFS
SGI 开发,RHEL/CentOS 7+ 默认文件系统,高性能日志文件系统。
优点
大文件、高并发 IO 性能极强,企业存储首选
支持最大文件系统 8EiB,单文件 8EiB,超大存储友好
支持在线扩容;元数据并发性能优秀,多进程读写优势明显
延迟日志、并行 IO、精细 IO 调度,数据库场景表现优异
支持 TRIM、配额管理
缺点
不支持在线缩小,离线缩容难度极高,几乎很少人操作
不支持快照、原生压缩
老旧内核下修复工具
xfs_repair不能在挂载状态执行;损坏严重恢复难度高于 ext4海量极小文件场景性能略逊
适用:数据库服务器、大容量存储、流媒体、企业生产数据盘。
3. Btrfs(B-tree File System,黄油 FS)
Oracle 开源,下一代联合文件系统,主打存储池、快照、多设备管理。
优点
支持内置快照、子卷、透明压缩(zstd/lzo)、透明 raid0/1/5/6、重复数据删除
支持在线扩容、缩小;支持 CoW(写时复制),数据不易损坏
内置校验和,自动检测静默数据损坏(bit rot)
单文件最大 16EiB,支持多块硬盘合并成一个存储池
Fedora 默认文件系统,容器 / 虚拟机场景非常友好
缺点
CoW 在随机大量覆盖写入(数据库、虚拟机磁盘)会产生性能损耗,需要手动关闭 CoW
RAID5/6 稳定性长期有争议,生产不建议使用
碎片化更容易出现;老内核存在部分 bug
文件系统修复复杂度高,一旦损坏恢复门槛高
元数据密集场景内存占用偏高
适用:工作站、NAS、虚拟机主机、需要频繁快照备份、家用服务器;不建议直接裸跑数据库不做优化。
4. ZFS(Zettabyte File System)
Sun 开发,开源但许可证原因Linux 内核主线不集成,只能使用 zfs-on-linux 模块。
注意:和 btrfs 定位相似,企业 NAS 标杆(FreeBSD、TrueNAS 默认)
优点
极致的数据完整性:端到端校验和,自动修复静默损坏
内置 RAID-Z(优于软 RAID)、快照、克隆、透明压缩、重复删除、缓存机制(ARC/L2ARC)
强大缓存体系,读写缓存优化优秀
快照克隆秒级完成,备份方案成熟
缺点
Linux 非主线内核模块,升级内核需要重新编译,运维复杂度上升
内存需求高,建议至少 4G 以上内存,内存不足严重影响性能
扩容方式不够灵活;不支持精简回收部分场景有坑
许可证问题,很多商业发行版不官方支持
无法在线缩小存储池
适用:NAS、存储服务器、数据备份服务器;不适合作为 Linux 根分区(部署麻烦)。
5. F2FS(Flash-Friendly File System)
三星开发,专为 NAND Flash(SSD、EMMC、UFS)设计
优点
针对闪存介质优化,减少擦写放大,SSD / 嵌入式设备性能优秀
垃圾回收机制专为闪存优化,随机读写优于 ext4
支持透明压缩、TRIM,低功耗设备友好
缺点
不适合机械硬盘 HDD
企业级生态不如 ext4/xfs,缺少成熟灾难恢复方案
缺少快照、RAID 等高级特性
部分老旧内核稳定性一般
适用:安卓手机、嵌入式 Linux、固态硬盘工作站、边缘设备。
6. tmpfs(内存文件系统)
基于内存的临时文件系统,不在磁盘持久化
优点
读写速度接近内存带宽,极致高速
自动释放空间,重启全部清空
默认大多数发行版
/tmp、/dev/shm使用
缺点
数据断电丢失;占用物理内存 /swap
容量受限于内存,不能存放持久数据
适用:临时文件、进程共享内存、缓存、编译临时目录。
7. Swap(交换分区)
严格来说不是文件系统,Linux 虚拟内存,补充内存
优点:内存不足时防止 OOM
缺点:速度极慢,尽量避免频繁 swap
8. NFS / SMB(网络文件系统)
网络共享协议,不属于本地文件系统,简单带过
NFS:Linux 间共享,性能好;缺点权限映射复杂
SMB/CIFS:Linux 与 Windows 互通
9. XFS /ext4 /btrfs/ ZFS 核心横向对比简表
快速选型建议
通用服务器、最小兼容、根分区 → ext4
数据库、大容量 HDD 数据盘、RHEL 系生产机 → XFS
家用 NAS、虚拟机、需要快照 / 压缩、多硬盘管理 → btrfs
专业存储、重要数据防静默损坏、大量预算内存 → ZFS(zfs-on-linux)
嵌入式、SSD 边缘设备、安卓类设备 → F2FS
临时高速缓存 → tmpfs