I'm adding new centralized storage on a linux server on a private GBE LAN. There are about a dozen client machines which in the past have done NFS v3 mounts over TCP. At times the LAN gets congested and dropped packets result in long timeouts on NFS. Is there something else I should be looking at? Would I be happier with NFS v4, SMB or iSCSI, for example?
I'm not looking at AFS or its derivatives as I don't want to locally cache files. For my applications I need to run the server in sync mode to ensure that everything written gets saved to disk. The LAN is behind a firewall and all of the clients are under my control so I am not worried about security aspects. The only thing not on the table is fibre channel as I can't afford adding a SAN. I currently have timeo=30 and retrans=default (3). The system works ok most of the time, it's just that throughput decreases due to the errors when the LAN gets busy.