哪种文件共享协议(SMB/AFS/NFS/SMB2/SMB3)最适合广告内的混合客户端环境?

哪种文件共享协议(SMB/AFS/NFS/SMB2/SMB3)最适合广告内的混合客户端环境?

我刚刚使用 ZFS 设置 NAS(FreeNAS),想知道哪种文件共享协议/数据传输协议最好用?有人有经验吗?

我想我有一个非常典型的业务设置。我确实有一个在 Microsoft Server 2003 上运行的 Microsoft Active Directory 域 (AD/LDAP)。我将从 Mac、Windows (xp、7、8)、Windows Server (2003、10、12) 和 Linux 访问数据。

我正在考虑 SMB/AFS/NFS。FTP 不是一个解决方案,因为员工在服务器上工作,而不是在本地机器上复制数据。

答案1

SMB/CIFS/Samba

在真正的混合环境中似乎是唯一真正的选择:

  • 可通过所有主流平台访问 (Mac, Windows, Unix)
  • Mac 大大增加了对 SMB3 的支持。

也许只是我的观点,但根据我的经验:

  • 但是与 AFP / NFS / ZFS 复制相比,性能较差(缓慢)。
  • CPU 性能很重要。SMB 是单线程的,即每个连接一个线程。因此,一个核心的速度决定了一个连接的最大数据传输性能。但是,多个客户端和多个连接会导致整体传输速率更高,因为多个线程可以分布在多个 CPU 核心上。
  • 内存不足
  • 可扩展性有限。通过更优质、更昂贵的硬件进行扩展。
  • 附加功能和日志记录大大减慢了 Samba 的速度。
  • 在基于 Linux 的服务器上进行粗略配置,经过多次尝试和错误。基于 Linux 的服务器上存在错误权限。正如 Snellgrove 所述,在 Windows 上托管文件服务器可能更好。

NFS(网络文件系统)

它最初来自 unix/linux 世界,与 Windows 和 Mac 的集成确实很差。两者都不支持直接使用,需要手动调整。不过性能似乎比 SMB 更快。

它更适合服务器到服务器的文件传输。但是,根据具体情况,文件系统复制(如 zfs 复制)或 rsync 通常是更好的选择。

AFP (Apple File Protocol) - Max 获胜

仅可由 Mac 访问,因此无法在混合环境中使用,但是如果您有仅可从 Mac 访问的共享,目前最好使用 AFP。但是,随着 samba/cifs 的未来版本和 Mac 对它的支持,这种情况可能会改变

  • 在单个连接上传输速度比 SMB 快得多
  • 服务器端搜索
  • 从 mac 应用程序保存到网络驱动器更加稳定
  • 实时更改更新(无需刷新文件夹,更改的文件和新文件就会神奇地出现)
  • Time Machine 备份支持

答案2

如果您有一个异构网络,包括 Windows、Mac、*nix 等,那么 SMB 可能是您唯一真正的选择,因为它几乎与所有东西兼容。

对于 Active Directory,文件协议的选择与其关系不大除非您正在使用共享权限等,以及来自您的域名\用户帐户

当然,您可以在域环境中逃避本地权限 - Microsoft AD 安装不会阻止您这样做。我猜您想利用这一点,否则您不会提到它。所以我认为您有一个主要的 Microsoft 基础架构。

基于此,我的目标如下:

如果可以的话,使用 NTFS 作为底层文件系统(我知道你说过你正在使用 FreeNAS,所以这可能是不可能的,但我只是说它可能是这种事情的最佳做法。就我个人而言,我会把它扔掉,放在一个基于 Microsoft Windows Server 的文件服务器中)- 它非常好,你可以设置 ACL 来使用域\用户帐户,使用 SMB 作为实际共享协议,并确保你的客户与该基础设施兼容,而不是相反。

我可能听起来对微软有偏见,但我不为他们工作,只是听起来你们是一家微软公司,非微软客户端。因此,请使用最适合该工作的工具。

总结:使用 SMB!如果 CPU 成为问题,请获取更好的硬件。

相关内容