CIFS/SMB vs NFS

Latest response

I'm looking for thoughts on the age-old CIFS vs NFS debate. From my [somewhat limited] experience NFS is much easier to set up and just tends to work. Some of my more optimistic Windows friends think that sharing home directories between Linux and Windows would be useful. Therefore, they think I should implement CIFS home directories. From what I've found this is a fairly complicated process and the difference in security features often causes unpredictable results. I guess a lot of this is mitigated when the SMB server is on Linux. However, that won't be the case here. The share will either come from a Windows server or a 3rd party storage manager. FYI, I would want to automount home directories.

I don't want to be an uninformed zealot so I'm looking for any arguments for adopting CIFS.

Lesley Kimmel's picture

Responses

Linux and Windows use different File attributes, permissions, etc. Accessing the same folder/files via CIFS and almost anything else (NFS, Gluster FUSE, etc) can cause File locking issues, File Attribute errors, and other problems. I don't really see a short term solution for this. That being said both CIFS and NFS are moving forward, and each is adding features. If most of your clients are Windows based, go with CIFS. Otherwise, NFS may be your best bet.

If your file servers are Windows-based and your clients are mixed, CIFS will tend to provide better performance for your Windows clients than NFS will (Microsoft does some behind-the-scenes tasks that Samba doesn't - IIRC, Intel published a performance study on the performance difference between Windows clients with Windows share-server and Windows clients with Samba share-server).

If your clients are primarily Linux, your more-portable and performant bet is likely to be NFSv4 - either on Linux or Windows 2012+. Note that, to get the more-seamless, cross-platform attribute-propagation, your RHEL clients will need to be running EL7 as the EL6 NFSv4 and IDMAP services are a touch "broken". If using a Windows 2012 NFSv4 server, you'll want everything to be speaking NFS 4.1 (there's various Google-able resources explaining the particulars of "why")..

You can actually use 3rd party products on Windows to mount NFS shares. On a quick check I see OpenText (who also make the Exceed X Windows emulator formerly known as Hummingbird Exceed) have several NFS products for Windows. There are probably others and may also be FOSS if you search.

http://connectivity.opentext.com/products/network-file-system.aspx

However, my experience has been there are far more Windows workstations than Linux so making them install a product on every workstation would likely meet with resistance.

If you're using Windows Enterprise or DataCenter editions of Windows 7/2008 or newer, you don't generally have to go with third-party solutions for NFS (either server or client services).

Was this helpful?

We appreciate your feedback. Leave a comment if you would like to provide more detail.
It looks like we have some work to do. Leave a comment to let us know how we could improve.
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.