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

Alexandre DERUMIER aderumier at odiso.com
Mon Oct 3 09:41:40 CEST 2016


Hi,

>>+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. 

Are you sur that balance-rr is a good default choice ?
you can have out of order packets, and I don't known how corosync handle this.

A safer default mode could be active-backup.


----- Mail original -----
De: "Wolfgang Link" <w.link at proxmox.com>
À: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Lundi 3 Octobre 2016 09:28:57
Objet: [pve-devel] [PATCH pve-doc 3/5] Explain Linux Bond and examples

--- 
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 


_______________________________________________ 
pve-devel mailing list 
pve-devel at pve.proxmox.com 
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 




More information about the pve-devel mailing list