I've inherited a network setup, where the NFS/Samba linux RAID server ("Ubuntu 14.04.5 LTS") is serving everything over one NIC. As a result, the 1Gb network bandwidth is saturated.
Unfortunately, the entire subnet attaches to this server via it's direct IP.
I'm trying to find a load balancing solution where I can re-assign the current server IP address to a virtual server IP, and have traffic to that virtual IP load balanced across two or more NICs that reside within the same (actual NFS) server.
Currently, there's a traditional switch connecting all incoming ethernet cables, and only one cable going out to the server's NIC.
The only solution I have found so far is the Kemp LoadMaster LM-X3 hardware solution.
I've also looked into LACP, but I'm not clear that this would support a virtual IP. It seems to only aggregate the outgoing packets (or still require multiple NICs to have individual IPs). Although, perhaps for this use – it's fine if only outgoing packets are load balanced.
Are there better solutions available?
Best Answer
What flavor of Linux is the server running? Do you think network teaming could work? It's the updated version of interface bonding. With teaming you can join multiple interfaces into a team in an active/active, active/backup, or roundrobin architecture. The team will all be seen as the same L2 interface and the vIP belongs to the team (parent) virtual interface. Teaming allows for multiple different 'runners' (aka methods):
From your requirements, I think a loadbalance runner could work. This is a good guide for teaming: https://www.rootusers.com/how-to-configure-network-teaming-in-linux/
Hope it helps