拥有一台带有ZFS系统的主机,如何使其可供本地网络上的其他主机使用?

拥有一台带有ZFS系统的主机,如何使其可供本地网络上的其他主机使用?

拥有带有 ZFS 系统的 Linux (RHEL 6) 主机,如何使其可供本地网络上的其他主机使用(如果可能,通过 LAN 或 InfiniBand)?

  • 应该对 ZFS 池做什么才能使其可共享?
  • 如何在客户端上挂载远程 ZFS 驱动器?

答案1

  • 应该对 ZFS 池做什么才能使其可共享?

您需要为您的发行版安装 NFS 服务器软件包,并使用已经提到的命令共享池:

sudo zfs set sharenfs=on tank/home

http://zfsonlinux.org/faq.html#HowDoISetupShares

请注意,您也可以使用操作系统本机方法来共享文件系统,即/etc/exports在此处进行编辑。

ZFS 方式的优点之一是共享配置是文件系统属性的一部分,而不是操作系统属性。这意味着当您导入池时,其共享文件系统将自动可用。当您将池从一台主机转移到另一台主机时也是如此。

  • 如何在客户端上挂载远程 ZFS 驱动器?

这最终取决于您的客户端运行的操作系统。在 Solaris 和其他使用自动安装器,这将在访问共享时自动完成,例如:

cd /network/server/share/directory

或者,您可以使用命令手动挂载共享mount,并通过编辑/etc/(v)fstab文件来持久挂载。

答案2

网络文件系统可以导出任何您喜欢的文件系统,包括 ZFS。客户端不需要知道或关心服务器正在内部使用 ZFS。 OTOH,ZFS 特定的操作(例如制作写时复制快照)无法通过 NFS 实现。

NFS 是 Unix 的标准文件共享协议。对于特殊用例,还有其他选择。设置 NFS 的指南超出了本答案的范围。

谷歌搜索 zfs infiniband 有一些有趣的结果,但我并没有真正花时间阅读,因为我自己也不使用 ZFS。希望它们会有用。 第一击在浪费了一大堆文字告诉你这个解决方案将如何降低你的成本之后,确实提到了最终在 infiniband 上运行 NFS,但没有说明解决方案实际上是什么。

因此,重要的结论是您可以而且应该在 infiniband 上运行 NFS。 Oracle 在高性能环境中使用它,存储服务器加载了 DRAM 和 SSD 缓存来提供数据。

答案3

如果您有完整的 ZFS 实现,则 NFS 导出是通过 zfs(1) 命令控制的。检查手册页并使用zfs set sharenfs=<options> filesystem. sharenfs=on 为每个人导出文件系统。

相关内容