Managing NFS and NIS, 2nd Edition - Mike Eisler [130]
The emergence of Samba has led to a massive shift from deploying PC/NFS to deploying Samba instead. This is for at least three reasons:
Samba is free of charge under Free Software Foundation's GNU Public License.
It is easier for system administrators to install and maintain Samba on a few server hosts than to install and maintain PC/NFS on many client hosts.
It is perceived that SMB has better security than NFS. This is false. Nor is it quite true to say that NFS has better security. You can have Kerberos V5 (see Section 12.5.5.1) security for your collection of PC/SMB clients if all your SMB servers run Windows 2000.[1] You can have Kerberos V5 security for certain PC/NFS clients if all your servers support NFS secured with Kerberos V5.[2]
However, when comparing a situation where you cannot run Windows on all your SMB servers with a situation where you cannot run NFS servers that support Kerberos V5 or NFS/dh, (see Section 12.5.4), then the SMB environment is more secure.
Why PC/NFS?
With the ubiquity of CIFS servers on Unix platforms, it begs the question, why run NFS on a Windows or NT client? This question was asked of the comp.protocols.smb and comp.protocols.nfs Usenet newsgroups in the summer of 2000. The responses can be summarized as follows:
Speed
Some respondents claimed that NFS was faster. An article by Jeff Ballard for Network Computing magazine's web site ("Increasing File Access Through SMB," March 6, 2000, www.nwc.com) compared three Unix-based SMB servers. An interesting quotation from the article is:
If it's speed you want, NFS is probably a better solution [than SMB] for you.
Some direct research was done to investigate such claims. A 256 MB file was created in the /tmp directory of a Solaris 8 file server. The server was an Ultra 10, with a 440 Mhz Ultra Sparc II processor and 512 MB of primary memory. A Windows 98 client (a Sony Vaio Z505HS, with a 500 Mhz Pentium III processor and 128 MB of primary memory) was used to copy (via Windows Explorer) the file between the file server and client. Using Samba as the SMB server, and native SMB client in the client, copying the file from the server to the client's My Documents folder took about one minute. However copying the file from the My Documents folder to the SMB server took about ten minutes. When using a free evaluation copy of an NFS client on the client, and the native NFS server on the Solaris 8 system, the respective file transfer times were about 45 seconds each. The quoted times are qualified with "about," because Windows Explorer did not display file transfer times, leaving the tester timing the results with the second hand of a timepiece.
The informal results were obtained without any tuning of the Solaris NFS server or the Samba server. It is quite possible that tuning the Samba server would have improved performance. Also, single stream file transfer speed is only one part of performance. About the only conclusion you should make is that you need to consider performance when making the decision to use NFS or SMB on Windows or NT clients.
Administrative complexity
Administering an SMB server is much different than administering an NFS server. Even if you are primarily a Unix shop with some Windows or NT clients, running an SMB server is still going to require at least as much expertise as running an NFS