对于 Linux 中的大量磁盘空间(>32TB),我应该使用什么文件系统?

对于 Linux 中的大量磁盘空间(>32TB),我应该使用什么文件系统?

我正在尝试在 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: 已开始工作验证并且还可以扩展到大尺寸。

相关内容