bond on local lan, transfer speed only 1gbps

openaspace

Active Member
Sep 16, 2019
486
13
38
Italy
Hello i have created a bridged bond, a container provide samba access to file but
the trhoughtput remain within 1gbps..

Where i'm wrong?

Code:
auto lo
iface lo inet loopback

auto eno2
iface eno2 inet manual

auto eno1
iface eno1 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves eno1 eno2
        bond-miimon 100
        bond-mode balance-xor
        bond-xmit-hash-policy layer2

auto vmbr0
iface vmbr0 inet static
        address 192.168.20.20/24
        gateway 192.168.20.1
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0
 
Hello,

any type of link aggregation still has the requirement that a single transfer session will always go through the same link interface. So while the total transfer speed (over all sessions) will be 2 GBits, any single session will max out at the link speed of one interface.

A session is defined by the hash-policy bond-xmit-hash-policy layer2.

In your case (Layer2) that means that the total bandwidth of several VMs is 2Gbit, but any single VM can only transfer a maximum of 1Gbit.

See also:
https://forum.proxmox.com/threads/use-a-bond-as-bridge-port.114256/#post-494083

Kind regards,
Benedikt
 
  • Like
Reactions: openaspace
Hello,

any type of link aggregation still has the requirement that a single transfer session will always go through the same link interface. So while the total transfer speed (over all sessions) will be 2 GBits, any single session will max out at the link speed of one interface.

A session is defined by the hash-policy bond-xmit-hash-policy layer2.

In your case (Layer2) that means that the total bandwidth of several VMs is 2Gbit, but any single VM can only transfer a maximum of 1Gbit.

See also:
https://forum.proxmox.com/threads/use-a-bond-as-bridge-port.114256/#post-494083

Kind regards,
Benedikt
Thank you.
In my specific case therefore,I can works with samba share directly on proxmox and I will obtain the full 2gbps bandwidth?
 
Thank you.
In my specific case therefore,I can works with samba share directly on proxmox and I will obtain the full 2gbps bandwidth?
No, since you are using Layer2 hashing it means that you can only get more than 1Gbit if the traffic involves different source and/or destination MAC addresses.

The only way it might work is by using the Layer3+4 hashing policy, this divides sessions by IP and TCP/UDP ports. But whether this works depends on the program. (for example, it works for CEPH because every OSD comes with a different process and therefore each OSD establishes connection via a different source port).