[pve-devel] [PATCH pve-doc 3/5] Explain Linux Bond and examples

Wolfgang Link w.link at proxmox.com
Mon Oct 3 09:28:57 CEST 2016


---
 pve-network.adoc | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/pve-network.adoc b/pve-network.adoc
index bbaf0bc..4d18add 100644
--- a/pve-network.adoc
+++ b/pve-network.adoc
@@ -150,6 +150,92 @@ iface vmbr0 inet static
         post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eth0 -j MASQUERADE
 ----
 
+Linux Bond
+~~~~~~~~~~
+
+Bonding is a technique for binding multiple NIC's to a single network device.
+It is possible to achieve different goals,
+like make the network fault-tolerant, increase the performance
+or both together.
+
+There are 7 modes for bonding: ::
+
+- *Round-robin (balance-rr):*
+ Transmit network packets in sequential order from the first available network interface (NIC) slave through the last. This mode provides load balancing and fault tolerance.
+- *Active-backup (active-backup):*
+Only one NIC slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The single logical bonded interface's MAC address is externally visible on only one NIC (port) to avoid distortion in the network switch. This mode provides fault tolerance.
+- *XOR (balance-xor):*
+Transmit network packets based on [(source MAC address XOR'd with destination MAC address) modulo NIC slave count]. This selects the same NIC slave for each destination MAC address. This mode provides load balancing and fault tolerance.
+- *Broadcast (broadcast):*
+Transmit network packets on all slave network interfaces. This mode provides fault tolerance.
+- *IEEE 802.3ad Dynamic link aggregation (802.3ad)(LACP):*
+Creates aggregation groups that share the same speed and duplex settings. Utilizes all slave network interfaces in the active aggregator group according to the 802.3ad specification.
+- *Adaptive transmit load balancing (balance-tlb):*
+Linux bonding driver mode that does not require any special network-switch support. The outgoing network packet traffic is distributed according to the current load (computed relative to the speed) on each network interface slave. Incoming traffic is received by one currently designated slave network interface. If this receiving slave fails, another slave takes over the MAC address of the failed receiving slave.
+- *Adaptive load balancing (balance-alb):*
+Includes balance-tlb plus receive load balancing (rlb) for IPV4 traffic, and does not require any special network switch support. The receive load balancing is achieved by ARP negotiation. The bonding driver intercepts the ARP Replies sent by the local system on their way out and overwrites the source hardware address with the unique hardware address of one of the NIC slaves in the single logical bonded interface such that different network-peers use different MAC addresses for their network packet traffic.
+
+For the most setups the balance-rr are the best choice or if your Switch support LACP "IEEE 802.3ad" this mode should be perferd.
+
+----
+auto lo
+iface lo inet loopback
+
+iface eth1 inet manual
+
+iface eth2 inet manual
+
+auto bond0
+iface bond0 inet static
+      slaves eth1 eth2
+      address  192.168.1.2
+      netmask  255.255.255.0
+      bond_miimon 100
+      bond_mode 802.3ad
+      bond_xmit_hash_policy layer2+3
+
+auto vmbr0
+iface vmbr0 inet static
+        address  10.10.10.2
+        netmask  255.255.255.0
+	gateway  10.10.10.1
+        bridge_ports eth0
+        bridge_stp off
+        bridge_fd 0
+
+----
+
+Linux bridge on a Linux Bond
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+It is also possible to use a bridge on a bond.
+
+----
+auto lo
+iface lo inet loopback
+
+iface eth1 inet manual
+
+iface eth2 inet manual
+
+auto bond0
+iface bond0 inet maunal
+      slaves eth1 eth2
+      bond_miimon 100
+      bond_mode 802.3ad
+      bond_xmit_hash_policy layer2+3
+
+auto vmbr0
+iface vmbr0 inet static
+        address  10.10.10.2
+        netmask  255.255.255.0
+	gateway  10.10.10.1
+        bridge_ports bond0
+        bridge_stp off
+        bridge_fd 0
+
+----
+
 ////
 TODO: explain IPv6 support?
 TODO: explan OVS
-- 
2.1.4





More information about the pve-devel mailing list