File Sharing Protocol – Best Choice for Mixed Client Environment in AD

active-directoryafpnfsserver-message-blocktruenas

I'm just setting up NAS (FreeNAS) with ZFS and was wondering which file sharing protocol / data transfer protocol is the best to use? Has anyone experiences?

I guess i have a very typical business setup. I do have an Microsoft Active Directory Domain (AD/LDAP) running on an Microsoft Server 2003. I'm going to access data from Mac, Windows (xp,7,8), windows server (2003,10,12) and linux.

I'm thinking of SMB/AFS/NFS. FTP is not a solution, since employees are working on the server and not duplicating data on their local machines.

Best Answer

SMB / CIFS / Samba

Seems to be the only real option in an real mixed environment:

  • Accessible by all major platforms (Mac, Windows, Unix)
  • Mac increases support for SMB3 a lot.

Maybe opinionated but from my experience:

  • However poor performance (slow) compared to AFP / NFS / ZFS Replication.
  • CPU performance matters. SMB is single threaded, meaning one thread per connection. Thus the speed of one core decides of the maximum data transfer performance of one connection. However, multiple clients with multiple connections result in an overall higher transfer rate, since multiple threads can be spread about multiple CPU cores.
  • RAM hungry
  • Scalability limited. Scaling through better, expensive hardware.
  • Additional features and logging slows down samba alot.
  • Rough configuration with a lot of try and error on a linux based server. Buggy rights on Linux based server. As Snellgrove described you're probably are better of hosting a file server on windows.

NFS (Network File System)

Originally comming from the unix/linux world, it has really poor integration into windows and mac. Neither of them supports it straig away and needs manual adjustments. Performance seems to be faster than SMB though.

It is better suitable for server to server file transfer. However, depending on the situation often file system replication like zfs replication, or rsync are better alternatives for this.

AFP (Apple File Protocol) - Winner for Max

Only accessible by Mac, thus not usable in a mixed environment, however if you have shares witch are only accessible from mac, you're better of with AFP for now. However this may change with future version of samba/cifs and mac's support for it

  • Much faster transfer than SMB on single connections
  • Server side search
  • More stable saving to netdrives from mac applications
  • Live change updates (no refresh of folders, changed and new files appear by magic)
  • Time Machine Backup Support
Related Topic