跳转到内容

选择文件系统:EXT4、XFS、Btrfs 还是 ZFS ​

读完这一篇,你能为每块数据盘选定一种文件系统,并且知道选错了会付出什么代价。不确定就选 EXT4。

为什么要在创建之前选 ​

文件系统创建后不能就地换成另一种。换类型意味着:新建一个文件系统,把数据复制过去,把共享文件夹指到新的文件系统,再卸载旧的。数据多的时候,这是个按天算的工程。

OMV 8 界面能建哪几种 ​

在 存储器 → 文件系统(Storage → File Systems)点工具栏的加号(提示是「创建并挂载文件系统」),菜单里是按字母排序的五项:

BTRFS、EXT4、F2FS、JFS、XFS

  • 官方在 7.4.6 起去掉了从界面创建 Ext3 的选项。
  • ZFS 不在这个菜单里,需要 omv-extras 的 ZFS 插件,在插件自己的菜单里管理。
  • NTFS、exFAT、FAT、HFS+ 等只能挂载已有的,不能在 OMV 里创建,见挂载已有数据的硬盘。

对比 ​

特性EXT4XFSBtrfsZFS(插件)
界面创建支持支持支持,可选单盘或多盘配置在插件菜单里
数据校验只校验元数据只校验元数据数据和元数据都有校验和有
快照无无有,OMV 为共享文件夹提供快照有,在插件里
内置多盘与冗余无,配合软件 RAID无,配合软件 RAID有:Single、DUP、RAID0、RAID1、RAID10有:镜像、RAIDZ
在线扩容支持支持支持支持
用户和用户组配额(OMV 界面)支持支持没有按数据集设置,见插件
内存与资源低低低到中读缓存(ARC)默认可占用大量内存,但会随系统需要释放;插件指南称 4 至 8 GB 内存的家用 NAS 足够
出问题时e2fsckxfs_repair有冗余副本时 scrub 自动修复;单副本只能发现错误scrub 与 resilver
用救援系统读取任何 Linux Live 系统都行同左需要较新的内核救援系统要带 ZFS 支持
OMV 的额外集成配额、ACL配额、ACL子卷共享文件夹、快照、每月自动 scrub、每日错误计数检查插件自带界面

OMV 界面只能扩容,没有缩小文件系统的功能。XFS 本身对缩小的支持非常有限,规划容量时当作「只能扩不能缩」。

怎么选 ​

你的情况建议
第一次用,不确定EXT4。最成熟,配额、ACL、扩容在 OMV 里都完整,出事故时最容易救
存的主要是大文件,或者已经熟悉 XFSXFS 也可以。但没有特别理由,不用从 EXT4 换
想要误删回滚(快照)、想发现静默损坏Btrfs。多盘场景下用它自己的 RAID1,有冗余时能自动修复
想用 ZFS 的池、数据集和复制ZFS 插件。需要 Proxmox 内核或 DKMS,内存也要留够
想用配额限制每个用户的空间EXT4 或 XFS

F2FS 为闪存设计,JFS 是较老的日志文件系统。OMV 能创建它们,但社区资料少,新手没有理由选。

同一台 NAS 上可以混用

每块数据盘独立选文件系统。例如一块 EXT4 放普通文件,一块 Btrfs 放需要快照的照片。共享文件夹只关心自己落在哪个文件系统上。

Btrfs 放在软件 RAID 上有什么问题 ​

不要把 Btrfs 建在 md 阵列上来指望「校验加自愈」。Btrfs 只能看到阵列这一个设备,也就是只有一份数据:发现校验错误时,它没有第二份副本可以拿来修复,md 也不知道该信哪一份。想要自愈,用 Btrfs 自己的 RAID1;想用 md,就在上面放 EXT4 或 XFS。选择多块盘的方案,见多块硬盘怎么组。

检查结果 ​

创建之后,在 文件系统 页看类型(Type)列,应该是你选的类型。在 OMV 的 shell(SSH 或本机控制台,以 root 身份)也可以确认:

sh
lsblk -f
findmnt -no FSTYPE /srv/dev-disk-by-uuid-<UUID>

<UUID> 换成你的文件系统 UUID,可以在 文件系统 页的挂载点列里复制。

常见问题 ​

已经建了 EXT4,想换成 Btrfs,能直接转换吗? OMV 不支持就地转换。稳妥的办法是迁移:新盘建 Btrfs,用 rsync 复制,再切换共享文件夹,见挂载已有数据的硬盘里的迁移一节。

Btrfs 的压缩、自动碎片整理在哪里开? OMV 界面没有这些开关。需要的话,用挂载选项设置,见文件系统挂载选项与 fstab。

Btrfs 的 RAID5/6 为什么界面里没有? Btrfs 官方文档把 RAID5/6 标为不稳定,只建议用于测试,见 Btrfs:多盘、快照与数据校验。

选 Btrfs 就不用备份了吗? 不是。快照和校验都在同一套盘上,整机故障、误删后快照也被清理、勒索软件加密了共享,都需要独立备份。

参考资料 ​

OpenMediaVault 非官方中文使用指南,与 openmediavault 项目及其开发者无隶属关系。