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

我只是用ZFSbuild立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不是解决scheme,因为员工正在服务器上工作,而不是在本地机器上复制数据。

如果你有一个异构的networking,Windows,Mac,* nix等,那么SMB可能是你唯一的select,因为它几乎兼容一切。

关于Active Directory,你的文件协议select对它没有什么影响, 除非你使用共享权限之类的东西,来自yourdomain \ userAccount

您当然可以在域环境中获得本地权限 – Microsoft AD安装不会阻止您这样做。 我猜你想要利用这个,或者你不会提到它。 所以我认为你有一个主要的微软基础设施。

基于此,我会这样瞄准它:

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

我可能听起来在这里偏向微软,但我不为他们或任何事情工作,这听起来对于我来说,你是一个微软公司,与非微软客户端 。 所以使用最好的工具来完成这项工作。

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

SMB / CIFS / Samba

似乎是真正的混合环境中唯一的真正select:

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

也许是自以为是,但从我的经验:

  • 然而,与AFP / NFS / ZFS复制相比,性能较差(较慢)。
  • CPU性能很重要。 SMB是单线程的,意味着每个连接一个线程。 因此一个核心的速度决定了一个连接的最大数据传输性能。 但是,具有多个连接的多个客户端导致整体更高的传输速率,因为多个线程可以分布在多个CPU核心上。
  • RAM饿了
  • 可伸缩性受限。 通过更好,更昂贵的硬件进行扩展。
  • 其他function和日志减慢桑巴很多。
  • 在基于Linux的服务器上进行大量尝试和错误的粗略configuration。 基于Linux的服务器上的Buggy权限。 正如Snellgrove所描述的,你可能更适合在Windows上托pipe文件服务器。

NFS(networking文件系统)

最初来自Unix / Linux的世界,它真的很差整合到Windows和Mac 。 他们都不支持它,并需要手动调整。 虽然性能似乎比SMB更快。

它更适合服务器到服务器的文件传输。 但是,根据情况往往文件系统复制如zfs复制或rsync是更好的替代scheme。

法新社(苹果文件协议) – 最大的赢家

只能通过Mac访问,因此不能在混合环境中使用,但是如果您有共享女巫只能从Mac访问,那么您现在最好与AFP联系。 然而,这可能会改变未来版本的Samba / CIFS和MAC的支持

  • 在单个连接上传输速度比SMB快得多
  • 服务器端search
  • 更稳定地保存到mac应用程序的netdrives
  • 实时更新更新(不刷新文件夹,更改和新文件出现魔术)
  • Time Machine备份支持