基于 Linux 的系统上的 ZFS

基于 Linux 的系统上的 ZFS

有没有人对 Linux 系统下的 ZFS 更有经验?我看到了 ZFS fuse 库,但我不知道它是否值得一试。稳定、可用?也许可以用作存储?还是只是实验项目?

答案1

我想说它只适用于测试或非 io 密集型任务。问题是它处于用户空间。Linux 上的原生 ZFS 远不稳定。我也对它感兴趣,但唯一真正的选择是将 iscsi zvol 从 solaris 导出到 linux 或通过 nfs 将 zfs 共享到 linux。

答案2

zfs-fuse 在 Linux 上运行良好,对于许多工作负载来说,瓶颈在于磁盘而不是 fuse。如果为其提供足够的内存(ARC > 1GB),它作为主文件系统(用于主目录等)运行得非常好。

此外,在同一个框中,通过管道将 zfs send 传输到 zfs received 可以正常工作:

root:~/ # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
igorhvr-main            257G   211G  6.56M  /igorhvr-main
igorhvr-main/home       183G   211G   181G  /igorhvr-main/home
igorhvr-main/teste     23.5K   211G  23.5K  /igorhvr-main/teste
root:~/ # zfs send igorhvr-main/teste@2012-03-05_08h15m | zfs receive igorhvr-main/teste3
root:~/ # zfs list
NAME                    USED  AVAIL  REFER  MOUNTPOINT
igorhvr-main            257G   211G  6.56M  /igorhvr-main
igorhvr-main/home       183G   211G   181G  /igorhvr-main/home
igorhvr-main/teste     23.5K   211G  23.5K  /igorhvr-main/teste
igorhvr-main/teste3    23.5K   211G  23.5K  /igorhvr-main/teste3
root:~/ # ps -ef | grep zfs
    root      1213     1  0 Mar09 ?        00:32:50 /sbin/zfs-fuse --pidfile /var/run/zfs-fuse.pid
    root     22383 22273  0 01:17 pts/12   00:00:00 grep zfs
root:~/ #   

答案3

不幸的是,ZFS 实际上只是 Solaris、其衍生产品(Illumos(Shillix、OpenIndiana 等))和 FreeBSD 上的一个选项。虽然 ZFS 可以通过 FUSE 在 Linux 系统上使用,但它非常慢,而且由于它是一个阻塞过程,因此存在一些问题。例如,如果您习惯在同一个盒子上执行 zfs send | zfs accept,那么在 ZFS-FUSE 上就行不通了。

尽管功能远没有那么丰富,BTRFS 似乎提供了 ZFS 中的一些功能,而且我认为它的性能会更好,而且更加稳定。

虽然有 zfsonlinux 的东西,但这几乎不过是“看,我让它工作了”的努力。对我来说,这意味着它仍然完全属于文件系统开发人员感兴趣的领域,而且远远达不到我个人游戏盒所需的质量或稳定性,更不用说任何我真正关心的数据了。

答案4

KQ Infotech 的端口测试版自 1 月起开始提供http://kqstor.com/。他们还提供付费支持合同。

不过我无法评论它的稳定性或性能。根据我在 FreeBSD 上测试 ZFS 的经验,我怀疑与 Solaris 相比,它会存在一些内核调整问题和 NFS mountd 问题。如果您希望通过 NFS 共享许多子系统,ZFS 需要一个特殊的 mountd。

相关内容