I want to share files on a Linux server with Windows 7 clients. I have a choice between multiple file sharing protocols: SMB/CIFS, FTP, WebDAV, NFS… question is: which one is the best for my needs?
Here are my criteria:
- High performance on fast links (LANs), usable on slow links (WANs). Raw throughput is the most important, though high random performance would be nice (random read/writes, opening a lot of files…). On Gigabit LANs I want to be able to saturate my network link and I want it to feel like I'm using a local drive. On WANs I expect low overhead so it can accomodate high latency and make good use of the available network bandwidth.
- Transparency for applications, i.e. mountable as a drive letter or close.
- Security and firewall-friendly are bonus (as long as I can tunnel it over a VPN).
SMB/CIFS is slow over WANs, FTP doesn't seem very transparent, and it seems all Windows NFS clients are ugly and lack important functionality such as correct support for Unicode in file names. I didn't try WebDAV yet.
So, what's your stance on the subject? I'm not opposed to using two different protocols for LAN and WAN but I'd prefer to avoid it for usability reasons.