OVM NIC Bonding Questions/Troubles

    • OMV 4.x
    • OVM NIC Bonding Questions/Troubles

      Howdy all

      I have been using OMV now for a couple of years and have made one previous post where i had sufficient help in the matter.

      I have been slowly working on my network, upgrading components here and there and is currently fiddling with a new setup i am trying to get working.

      I have OMV installed on a ESXi 6.5 machine, its early in the works so the only thing i have installed as a VM is OMV. My ESXi machine has an onboard 1Gbps NIC and this will be used as a management/server related NIC. I have a second dual port HP 1Gbps NIC set up as two different virtual NICs in ESXi and OMV picks them up as individual NICs.

      My problem is that i want to do some load balancing of sorts, my theory is to have a 2Gbps bond so that i should be able to send a total of 2Gbps if two machines were to transfer at once. I have OMVs two dedicated ports plugged into two ports on a HP procurve 2824 switch, and these two ports are set up as a trunk config. I have a bond set up in OMV using a static IP and am using the 802.3ad setting, this works and i can access the GUI and send stuff to the NAS.

      However, i have two separate 7200 HDDs in the machine and I've tried sending from 1st PC to the 1st HDD and 2nd PC to the 2nd HDD and my traffic will not exceed 1Gbps. If i start sending off one PC the bandwidth is as expected but soon as the second PC sends to another drive it halves the bandwidth between the two machines.

      Has anyone here configured a similar setup, and in what way did you config your bonding of the two NICs to get greater bandwidth across the network?

      Any help is appreciated.

      Cheerz Stephen :) :) :)
    • Muffkins90 wrote:

      my theory is to have a 2Gbps bond so that i should be able to send a total of 2Gbps if two machines were to transfer at once
      Wrong theory. That's how almost every OMV user believes it would be but it isn't that way. 802.3ad determines which connection lands on which link and usually the algos dealing with this take stuff like IP addresses and destination ports as criteria. So chances are great that all machines end up on the same link as in your case when you access same destination with same protocol (same destination port).

      Best chances to avoid collissions would be 'xmit_hash_policy layer3+4' but even then with just 2 clients (and random source ports) you will often end up with both on the same link.

      TL;DR: Forget about bonds/trunks/LACP when you want to add NICs for higher throughput. Look at the application layer (SMB Multichannel for example) or with just 2 clients configure separate subnets and assign each to a client.
    • tkaiser, thanks for the speedy reply :)

      So none of the settings in the OMV bonding settings will achieve thus? preferably i need all clients to be on the same subnet for simplicity but from what your saying if i split the OMV ports up on their own subnets it will effectively do what i am after. Is that command put into the GUI or the physical interface?? have not had to do any CLI with OMV as of yet, would like to try it for shits and giggles.

      I guess i have been looking at the whole multiple ports situation wrong as i have also created a LAGG on my PFsense router with three 1Gbps NICs also in a trunk, into the procurve 2824 but strange thing is i can send something at full speed to my NAS which saturates the clients 1Gbps NIC to its fullest but yet another client can still do a full speed ping test at the same time for the external isp connection with out any effect. I am going to have to go rethink some things.

      Thanks for your help tis appreciated :)
    • Muffkins90 wrote:

      strange thing is i can send something at full speed to my NAS which saturates the clients 1Gbps NIC to its fullest but yet another client can still do a full speed ping test at the same time for the external isp connection with out any effect
      This will work the same without any LAGG defined since client A is talking to machine B (NAS) while client C is talking to machine D (router) and your switch's backplane is capable for a bit more traffic at the same time.

      My only advice for people who look for more bandwidth with bonds/trunks/LAGG is to become a network expert or better forget about it. Upgrading link speed where appropriate is the better idea (but 10 GbE is both expensive and wastes a lot of energy while 2.5GbE and 5GbE are still not available at a reasonable price point).

      If your link speed remains at 1Gbps I would look into some Samba tunables: reddit.com/r/homelab/comments/…ba_and_smb_multi_channel/
    • Ok thanks for the info.

      I have been studding networking and had been doing a cert 4 in information technology & networking previously until i moved (cant finish here where i am at now) so this stuff really intrigues me to see how it works. I know it would be better to upgrade my switch/router/NICs but i am on a poor mans budget here at home so trying to make the best out of my networking gears situation and aiming to learn some things along the way. Ill keep stuffing around with it and see what can be achieved with what i have available, not holding my breath lol, if any success at all will post back in this thread.

      Once again, Cheerz for your input
      Stephen
    • Muffkins90 wrote:

      i am on a poor mans budget here at home so trying to make the best out of my networking gears situation
      Understandable. But still you won't have luck other than doing some static configuration which might require setting static host routes to clients if you want to increase bandwidth with your setup. With static LAG and between two Linux hosts with balance-rr mode you could increase bandwidth easily but as far as I know this does not work with any other OS.

      So if you access the OMV shares with Windows and run at least Windows 8 then SMB Multichannel might be the simplest option.
    • Hi again

      Been looking over that redit post and indeed is interesting, the main clients using SMB are both WIN 10 machines and from what i read in that post by adding 2x1GbE NICs to the clients it would then be possible to obtain a 2Gbps link speed from the one machine, where as what i was trying to achieve was both machines to be able to do 1Gbps at the same time.

      This IMO is a much better way of going about it and i see it does require some config to get SMB functional but this method would not require ports on the switch to be in a trunk config, correct?

      I have light at the end of the tunnel thanks to you kind sir, i think i will go round up 2 more of the dual port HP server NICs i found on EBAY for $15 AUD a pop hahaha.

      I can tell you have a lot of input on this website as you in fact helped me out with my last problem and a lot of other peoples problems, good to see people out there with good knowledge and understanding that don't mind taking the time for those learning.

      Much appreciated.
    • @tkaiser

      Howdy
      Sorry to bother you again.

      I have been having a fiddle since my last post and have picked my self up another dual port server NIC. The results with SMB multi channel have been a tad disappointing as i can not get two ports either send or receive working between my win 10 client and OMV server.

      I followed that link you sent me and this is what my "~# ip route" looks like


      default via 192.168.1.126 dev enp3s5
      192.168.1.64/26 dev enp3s5 proto kernel scope link src 192.168.1.120
      192.168.1.64/26 dev enp2s4 proto kernel scope link src 192.168.1.106
      192.168.1.82 dev enp2s4 scope link
      192.168.1.83 dev enp3s5 scope link

      One port sends fine at a solid 1Gbps but it wont use the other. OMV is set up via DHCP hence the 192.168.1.120 and 192.168.1.106. I tried getting OMV to use a static IP but every time i did it wouldn't connect to my LAN so i just made static DHCP leases in PFSense.

      EDIT: also when i type the get-smbmultichannelconnection into PowerShell it comes up with nothing at all.

      Not quite sure where im going wrong here but from what ive said would there be anything that stands out to you personaly??

      Cheerz mate

      Stephen

      The post was edited 1 time, last by Muffkins90 ().

    • Muffkins90 wrote:

      when i type the get-smbmultichannelconnection into PowerShell it comes up with nothing at all

      Well, then most probably there's the culprit. Sorry, no Windows expert here, I just used this feature once when the feature was pretty new (oops -- that's 6 years ago) and am since then waiting for it to appear in operating systems I like a bit more than Windows (talking about client versions here).
    • @tkaiser wrote:

      Well, then most probably there's the culprit. Sorry, no Windows expert here, I just used this feature once when the feature was pretty new (oops -- that's 6 years ago) and am since then waiting for it to appear in operating systems I like a bit more than Windows (talking about client versions here).
      Fair enough, will continue to fiddle some more to see if i can get it going, The NICs say they are RSS compatible, i even read that it can be a DNS issue as i had my win 10 NICs set to a static LAN IP and public DNS so i tried letting the NICs use DHCP and DHCPs DNS but still no good.

      Anyways appreciate your help so far, at least has given me something to do for the good part of a day :)
    • Well the only thing i could put it down as to why it wasn't working was something to do with OMV cause i switched over to a 2K12 machine and its SMBMC worked straight out of the box. I thought OMVs SMB version would be good enough but doesnt seem that way, i tried pretty much every thing i could and still no dice. I'm no linux expert but to me it seems that the current version of OMVs SMB could be out of date, not sure, probably is a way to manually update it but after 3 days of stuffing around with it i decided to throw in the towel and just use 2K12s SMB share folders, works mint. :D :D :D