I am planning to install a networked filesystem in my corporation to provide a global file storage to employees, but there are many choices today (NFS, AFS, Coda, Samba, ...) and I'm looking for something easy to install and upgrade without costing too much. What do you recommend, why and which are your remarks about this?
I would recommend OpenSolaris with RAIDZ or RAIDZ2 depending on how much redundancy you want. Using RAIDZ means that not only can you lose a drive, if a drive starts to return bad data it can tell you about it and fix it. I use it in combination with netatalk and NFS, but it supports Samba sharing as well.
Another nice feature of ZFS from an administration standpoint is the ability to create and destroy filesystems quickly and easily. It makes it really easy to do things like give each user their own filesystem or have an archive filesystem with gzip-9 compression while the more commonly accessed filesystems have no compression or something fast like lzjb.
OpenSolaris has pretty good hardware support, so you can customize the hardware to your needs. ZFS has a pretty aggressive cache, so more RAM will help quite a bit.
NFS and Samba aren't file systems.
If I'm setting up file servers that aren't going to be hosting more than a few TB of data I stick to the basics:
1) Linux for the OS (I prefer OpenSUSE)
2) ext3 for the filesystem
3) Samba for Windows clients
4) netatalk for Macs (netatalk allows AFP access to your machine)
Based on your question, I'm going to assuming you mean What filesharing protocol should I use? Filesystems are not the same thing.
If you're just starting out, I would recommend staying away from AFS and Coda. They're quite complex and it doesn't sound like your requirements warrant them.
Your choices are then:
- NFS if you have predominantly Linux clients, and you have a directory service managing users and groups throughout your network. Security is poor unless you can use Kerberized NFS, but currently you need the NFS server in Mac OS X Server to do this with NFS3, or else you need to use NFS4.
- AFP is the best for Mac clients, especially if you use the real AFP server (that comes with OS X Server) and use HFS+ as the underlying filesystem. This will give mac users the cleanest and most native experience which will fully support Spotlight search, ACLs, and multiple forks.
- Samba/CIFS is the only real option for Windows clients, AFAIK. I don't have a lot of experience with it though—sorry.
In practice, you can share the same filesystem over multiple protocols. We share the same filesystems over Kerberized NFS to linux clients, and AFP to mac clients. We used to also share it to windows clients with Samba. We're using OS X 10.5 Servers, HFS+ filesystem, and globalSAN iSCSI initiators to connect to Lefthand iSCSI targets.
I'm surprised SAN devices haven't been mentioned. You did say you wanted storage for your corporation, which suggests a large number of employees and is not something that should be taken lightly. You also want something that's scalable, because you WILL need to expand that storage down the road.
I would recommend:
Then, you're gonna need a backup system. That's another topic altogether.