I am setting up a box to be a file server at the house. It will mainly be used to share music, pictures, movies with other linux boxes on the network, and one OS X machine. From what I have read NFS and samba would work in my situation, and as such I am not sure which to choose. What is important to me is the speed transfers between boxes and how difficult it is to setup.
Which would you recommend and why?
In a closed network (where you know every device), NFS is a fine choice. With a good network, throughput it disgustingly fast and at the same time less CPU intensive on the server. It's very simple to set up and you can toggle
readonly
on shares you don't need to be writeable.I disagree with Anders. v4 can be just as simple as v3. It only gets complicated if you want to start layering on security through LDAP/gssd. It's capable of very complex and complete security mechanisms... But you don't need them. They're actually turned off by default.
Then edit
/etc/exports
to configure your shares. Here's a line from my live version that shares my music:This shares that path with anybody on 192.168.0.* in a
readonly
(notice thero
) way.When you've finished editing, restart NFS:
To connect a client, you need the NFS gubbins (not installed by default):
And then add a line to
/etc/fstab
This is actually the NVSv3 client still because I'm lazy but it's compatible in this scenario.
192.168.0.4
is the NFS server (my desktop in this case). And you'll need to make sure the mount path (/media/music
here) exists.For a Mac, follow this: http://www.techrepublic.com/blog/apple-in-the-enterprise/mounting-nfs-volumes-in-os-x/
It's much more simple than some older tutorials would have you believe.
It might look more complicated than it really is but it's solid, predictable and fast. Something you can't level against Samba... At least, in my experience.
I recently tested the connection via SMB and NFS to my Synology NAS station. For me the NFS connection works two times faster than the SMB connection. Especially if you have to deal with 100 GByte of photos and music files in 1000 directories you will love the speed of NFS.
NFS (version 3) will give higher performance and is quite easy to set up. The main problem is the complete lack of decent security.
NFS (version 4) gives security but is almost impossible to set up.
Samba will probably be a bit slower but is easy to use, and will work with windows clients as well..
I recently setup a local NFS server on Ubuntu 10.04 server, but my MacBook Pro (OS X 10.6.X) couldnt connect. For the Mac to be able to connect i had to add insecure to the
/etc/exports
.My /etc/exports:
Run real-world tests before you dedicate the next X years and Y TB to a particular protocol never realizing that there was a better option.
You'll find opinions all over of which one is faster with the Samba people claiming that they are on par with NFS. Depending on your needs, the best thing to do would be to set up a Samba share and NFS share and run various real-world read/write/CPU tests across the network. If you have similar needs as I do (Windows machines) you might be surprised to find out that Samba is 20% faster than NFS.
Go with the one that gives the best results in your setup and ignore what people say is the fastest.