2

We have a small LAN with a couple dozen desktop client PC's and one fileserver. Our goal is to enable the client PC's to have all storage on the fileserver and for file I/O operations to feel as if the storage is still local.

Most file operations involve opening / saving files of less than 6 MB. Typical files are spreadsheets (1.6 MB on average), images (png jpeg 5.5 MB on avg), audio (mp3, 5 MB avg) and small plain text files.

However, one of our workers is doing audio and video editing where the audio files are 200 MB on average and the video files can be a few GB.

Our goal is to have all files stored on the fileserver where they can be properly backed up, etc.

Here is our equipment:

  • Switch: HP Procurve 1820-48G J9981A
  • Fileserver: Dual GbE LAN ports via Intel® i210 (Motherboard: SUPERMICRO MBD-X10DAL-I-O ATX Server Motherboard / Intel C612)
  • LAN: CAT 5E cabling for shorter runs; CAT 6 shielded for longer runs
  • Clients: Linux desktops with Gigabit NICs. All systems run either Arch Linux or Kubuntu LTS (14.04 and 16.04 currently).
  • Protocol: NFS v4

We can load the fileserver up with as much RAM or processing power or other components as required (within reason) to achieve our goal. We don't know where the performance bottleneck will be however. (We do not know how to approach this problem correctly as we have little to no networking experience.)

One idea that came up was to do NIC teaming on the fileserver similar to this:

NIC teaming

Another idea was to use both fileserver NICs separately and connect the client PC that works with large media files to one address and everyone else to the other address.

separate NICs

Bottom line: We need advice regarding server requirements as well as network design. Please point us in the right direction! Thanks

MountainX
  • 701
  • 3
  • 12
  • 25

1 Answers1

4

My personal recommendation would be to use NIC teaming, for a number of reasons. NIC teaming/boding will allow for link redundancy and/or load balancing, depending on which options you select and your hardware/OS choices.

If you opt for a load-balanced configuration, traffic will be split across both links, effectively giving you a single, logical 2Gbps "pipe" - I say "effectively" because there are several options to choose from - for example, source/destination stickiness, round-robin, active/passive, etc.

Your clients will also have a single endpoint to communicate to, which will greatly simplify your deployment.

As far as server requirements, this is beyond ServerFault's remit as we only accept questions that have a quantifiable answer, but your bottleneck will almost certainly be network bandwidth, with a secondary bottleneck of disk I/O.

Craig Watson
  • 9,575
  • 3
  • 32
  • 47
  • I've been doing a little reading. The HP Procurve 1820-48G supports 802.3ad LACP. I believe Linux has the support required. I'll need more specific guidance to implement this. Is ServerFault the right place to ask "how to do this"? – MountainX Jul 04 '16 at 21:17
  • 2
    @MountainX I would strongly suggest researching before asking a question here, for example - the first result for "LACP Linux": http://backdrift.org/lacp-configure-network-bonding-linux – Craig Watson Jul 04 '16 at 21:31
  • http://meta.stackoverflow.com/questions/280426/should-comments-saying-google-it-be-flagged – MountainX Jul 07 '16 at 02:57
  • Bear in mind that the _reason_ why I was suggesting researching before asking again was so that the question fell into ServerFault's guidelines. Configuring LACP is beyond the scope of this question, and ServerFault implies a certain amount of assumed knowledge. – Craig Watson Jul 07 '16 at 06:16