基于Linux的系统上的ZFS

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

我会说这只是testing或非Io密集型任务。 问题在于它在用户空间中。 Linux上的本地ZFS远不稳定。 也有兴趣,但唯一真正的select是从solaris到linux共享zfs通过nfs到linux导出iscsi zvol。

zfs-fuse在Linux上工作得非常好,对于许多工作负载来说,瓶颈将是磁盘而不是保险丝。 如果你给它足够大的内存(ARC> 1GB),它可以很好地作为主文件系统(用于home目录/ etc)。

另外,zfs发送pipe道到zfs接收在同一个框中工作正常:

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:~/ # 

不幸的是,ZFS实际上只是Solaris及其衍生产品(Illumos(Shillix,OpenIndiana等))和FreeBSD的一个选项。 虽然ZFS可以通过FUSE在Linux系统上使用,但速度很慢,而且由于这是一个阻塞过程,所以有一些问题。 例如,如果你习惯于做一个zfs send | zfs在同一个盒子上接收,在ZFS-FUSE上不起作用。

虽然function比较丰富,但BTRFS似乎提供了ZFS中的一些function,我怀疑它会更好,更稳定。

而有了zfsonlinux的东西,这只不过是一个“看,我得到它的工作”的努力。 对我来说,这意味着它仍然是文件系统开发人员感兴趣的领域,远不及我个人的游戏盒所要求的质量和稳定性,更不用说我真正关心的数据。

我在Ubuntu下运行ZFS-Fuse近两年,然后切换到OpenSolaris和后来的Nexenta。 我发现它非常稳定 ,当我将磁盘迁移到新的硬件/操作系统时,我的工作池没有问题。 也就是说,我故意从不使用重复数据删除(大内存使用)和压缩(高CPU使用率)等资源密集型ZFSfunction,因为我的硬件很less。 我也不会把它作为工作中生产设置的一部分(当然不是没有在另一台机器上进行好的备份),对于家庭设置或学习ZFS,我发现性能足够高且稳定,甚至能够在没有数据丢失的情况下幸存多个电源故障。 。

根据你想要做什么,你可能会考虑在内核中使用ZFS的第二个系统(Nexenta,FreeBSD,Solaris 10,Solaris 11 Express等),它们使用NFS将文件系统导出到你的Linux主机。 这样,您就可以获得ZFS的好处(快照,写入时复制等),而无需依赖用户空间(ZFS-Fuse)或有限的logging项目( Linux或KQStor 上的ZFS )。 当然,它需要第二台机器和一些熟悉的NFS。

KQ Infotech自1月份开始提供其端口的testing版, url为http://kqstor.com/ 。 他们也提供付费支持合同。

我不能评论其稳定性或性能。 根据我在FreeBSD上testingZFS的经验,我怀疑与Solaris相比,会有一些内核调优问题和NFS挂载问题。 如果你想通过NFS共享许多子系统,ZFS需要一个特殊的mountd。