我正在尝试在 Linux 中创建一个大型文件系统,但是遇到了许多常见文件系统的问题。
- JFS 有一个错误,不允许扩展超过 32TB。
- XFS 在 fsck 中有一个错误,当在包含大量数据(~20TB)的磁盘上运行 fsck 时,会导致机器使用所有可用内存并崩溃。
- 由于 e2fsprogs 的问题,EXT4 限制为 16TB。
- BTRFS 不错,但是他们目前没有我需要的 fsck。
还有其他想法吗?
答案1
它可能不如其他的那么快,因为它只是一个基于 Linux 的用户空间融合系统,但是虚拟文件系统可能符合要求……
该名称最初代表“Zettabyte File System”。最初的名称选择者恰好喜欢这个名字,而 ZFS 文件系统能够存储 2 58 ZB,其中每个 ZB 为 2 70字节。
ZFS 是一个 128 位文件系统,因此它可以处理的数据量是 NTFS 等 64 位系统的 1.84 × 10 19倍。ZFS 的限制被设计得非常大,以至于永远不会遇到。ZFS 中的一些理论限制是:
- 2 48 — 任何单个目录中的条目数
- 16 EB(16×10 18字节)——单个文件的最大大小
- 16 EB — 任何属性的最大大小
- 2 56 ZB(2 78字节)— 任何 zpool 的最大大小
- 2 56 — 文件属性的数量(实际上,ZFS 文件系统中的文件数量限制为 2 48 )
- 2 64 — 任何 zpool 中的设备数量
- 2 64 — 系统中的 zpools 数量
- 2 64 — zpool 中的文件系统数量
有人说,地壳中的原子数量不足以构成足够大的文件存储阵列,从而超出 ZFS 的限制。
答案2
ZFS 是一个可能的解决方案,但现在你也可以使用一开始排除的文件系统
- ext4:在最近的 e2fsprog 和内核版本中,PB 级文件系统应该不会成为问题。
- btrfs: 已开始工作验证并且还可以扩展到大尺寸。