通过 ZFS 或 Samba 改为使用本机 SMB/CIFS

通过 ZFS 或 Samba 改为使用本机 SMB/CIFS

我完全不知道原生 SMB/CIFS在 ZFS 上。此 wiki 文档未提及性能差异。两者之间存在什么样的性能差异?

答案1

根据我的经验,内核模式服务器在我的客户端上的表现优于 Samba。如果性能是您最关心的问题,请跳过 Samba。话虽如此,Solaris 内核模式 SMB/CIFS 服务器仍存在许多限制,最明显的是:

  • 仅在全局区域中运行。Samba 可以同时在多个隔离区域和/或全局区域中运行。
  • 共享发生在文件系统级别,而不是目录级别。因此,对于新共享,zfs create pool/fs即新的 zfs 文件系统,请复制数据并共享(而不是共享现有目录)
  • 共享中没有以下符号链接,除非它们位于同一个文件系统上。
  • 无子挂载。如果您共享文件系统,则不会共享子文件系统。(例如两个文件系统,pool/fs 和 pool/fs/subfs。如果您共享 pool/fs,则如果不单独共享,您将无法访问 pool/fs/subfs 的内容。它将通过 SMB 显示为目录,但无法访问。
  • 没有域控制器/AD 主控、WINS 服务器和 Samba 的其他功能

当然不进行跨协议锁定(当nbmand=on使用内核服务器设置时,通过 SMB 锁定的文件也会通过 NFS 锁定)并且不进行 VSS 集成,因此快照会显示在属性窗口的 Windows“以前的版本”选项卡中。

如果您可以忍受内核模式服务器的限制,并且不需要区域级隔离,我认为这是可行的方法。如果您现在是 Linux/Samba 的重度用户,并且喜欢它的一些独特功能,请继续使用它。另外值得注意的是,如果您正在运行 SmartOS,那么选择已经为您做出,他们几乎不可能在全局区域中运行东西(有充分的理由),因此如果您讨厌 Samba,您将不得不使用 OmniOS、OpenIndiana 或 Oracle Solaris。

答案2

本机 SMB 服务器的另一个问题是:它不会共享通过 NFS 安装的远程文件系统。现在,这听起来可能在最好的情况下是个坏主意,但对我们来说,这是一种简单的方法,例如,使某些 Web 开发区域可供人们访问。我们不必担心文件锁定问题,因为 Web 开发人员 (a) 大多使用 Dreamweaver,它使用自己的基于文件的签入/签出方法;(b) 是一个相当小的紧密联系的团队;(c) 通常负责没有太多重叠的领域。我想不出开发人员覆盖彼此文件的次数(通常文件锁定不会有帮助)。

因此,发现崭新的服务器不愿意共享这些文件有点令人惊讶,尤其是因为在讨论新 SMB 服务器的各个站点中似乎并没有真正强调这一点。啊,好吧,如果说我对 Solaris 有什么了解的话,那就是:“事情在变化”。:)

我同意,除非这些需求对于您的商店至关重要,否则本机 SMB 服务器是最佳选择。它缺乏 Samba 的灵活性,但一旦设置好它似乎“就可以正常工作”,并且它似乎具有相当不错的性能。

答案3

我没有确切的数字,但我可以说本机 smb 在内核空间中运行。Samba 在用户空间中运行。虽然在内核空间中运行并不能保证它会更快,但在其他所有条件相同的情况下内核空间代码会更快。

我确实知道内核 smb 的配置和管理比 samba 容易得多。您的用户群规模是多少?

相关内容