• Home
  • Raw
  • Download

Lines Matching +full:slave +full:- +full:kernel

1 .. SPDX-License-Identifier: GPL-2.0
11 Corrections, HA extensions: 2000/10/03-15:
13 - Willy Tarreau <willy at meta-x.org>
14 - Constantine Gavrilov <const-g at xpert.com>
15 - Chad N. Tindel <ctindel at ieee dot org>
16 - Janice Girouard <girouard at us dot ibm dot com>
17 - Jay Vosburgh <fubar at us dot ibm dot com>
22 - Mitch Williams <mitch.a.williams at intel.com>
34 beowulf patches for kernel 2.0. It has changed quite a bit since, and
35 the original tools from extreme-linux and beowulf sites will not work
115 installing a mainline kernel from kernel.org), you'll need to perform
118 1.1 Configure and build the kernel with bonding
119 -----------------------------------------------
122 drivers/net/bonding subdirectory of the most recent kernel source
123 (which is available on http://kernel.org). Most users "rolling their
124 own" will want to use the most recent kernel from kernel.org.
126 Configure kernel with "make menuconfig" (or "make xconfig" or
132 Build and install the new kernel and modules.
135 ---------------------------
148 ``/etc/modprobe.d/*.conf`` configuration files, or in a distro-specific
156 configuring a bond, it is recommended "tail -f /var/log/messages" be
172 Specifies the new active slave for modes that support it
173 (active-backup, balance-alb and balance-tlb). Possible values
175 string. If a name is given, the slave and its link must be up in order
176 to be selected as the new active slave. If an empty string is
177 specified, the current active slave is cleared, and a new active
178 slave is selected automatically.
184 active slave, or the empty string if there is no active slave or
185 the current mode does not use an active slave.
190 is 1 - 65535. If the value is not specified, it takes 65535 as the
198 In an AD system, this specifies the mac-address for the actor in
200 address. If the all-zeroes MAC is specified, bonding will internally
202 local-admin bit set for this mac but driver does not enforce it. If
230 - A slave is added to or removed from the bond
232 - Any slave's link state changes
234 - Any slave's 802.3ad association state changes
236 - The bond's administrative state changes to up
253 In an AD system, the port-key has three parts as shown below -
259 01-05 Speed
260 06-15 User-defined
264 from 0 - 1023. If not given, the system defaults to 0.
285 The ARP monitor works by periodically checking the slave
288 bonding mode, and the state of the slave). Regular traffic is
331 non-ARP traffic should be filtered (disregarded) for link
342 Validation is performed only for the active slave.
360 only for the active slave.
370 ARP requests and replies, and only consider a slave to be up if it
373 For an active slave, the validation checks ARP replies to confirm
377 active slave. It is possible that some switch or network
384 the active slave failure, it doesn't really guarantee that the
385 backup slave will work if it's selected as the next active slave.
402 if a slave is available.
406 determining if a slave has received traffic for link availability
420 in order for the ARP monitor to consider a slave as being up.
421 This option affects only active-backup mode for slaves with
428 consider the slave up only when any of the arp_ip_targets
433 consider the slave up only when all of the arp_ip_targets
445 The default value is 2, and the allowable range is 1 - 255.
450 a slave after a link failure has been detected. This option
458 Specifies whether active-backup mode should set all slaves to
468 bonding to set all slaves of an active-backup bond to
476 address of the currently active slave. The MAC
504 the MAC address of the first slave added to the bond).
507 slave is programmed with the bond's MAC address at
508 failover time (and the formerly active slave receives
509 the newly active slave's MAC address).
517 The default policy is none, unless the first slave cannot
564 This determines how often the link state of each slave is
575 asserting carrier. It is similar to the Cisco EtherChannel min-links
577 must be up (link-up state) before marking the bond device as up
592 balance-rr (round robin). Possible values are:
594 balance-rr or 0
596 Round-robin policy: Transmit packets in sequential
597 order from the first available slave through the
601 active-backup or 1
603 Active-backup policy: Only one slave in the bond is
604 active. A different slave becomes active if, and only
605 if, the active slave fails. The bond's MAC address is
610 occurs in active-backup mode, bonding will issue one
611 or more gratuitous ARPs on the newly active slave.
622 balance-xor or 2
627 packet type ID) modulo slave count]. Alternate transmit
635 Broadcast policy: transmits everything on all slave
645 Slave selection for outgoing traffic is done according
650 regards to the packet mis-ordering requirements of
658 the speed and duplex of each slave.
666 balance-tlb or 5
673 relative to the speed) on each slave.
679 Incoming traffic is received by the current slave.
680 If the receiving slave fails, another slave takes over
681 the MAC address of the failed receiving slave.
686 speed of each slave.
688 balance-alb or 6
690 Adaptive load balancing: includes balance-tlb plus
713 collapses to the current slave. This is handled by
717 redistributed when a new slave is added to the bond
718 and when an inactive slave is re-activated. The
722 When a link is reconnected or a new slave joins the
734 the speed of each slave.
738 required so that there will always be one slave in the
741 address for each slave in the bond. If the
751 failover event. As soon as the link is up on the new slave
753 bonding device and each VLAN sub-device. This is repeated at
757 The valid range is 0 - 255; the default value is 1. These options
758 affect only the active-backup mode. These options were added for
767 Specify the number of packets to transmit through a slave before
768 moving to the next one. When set to 0 then a slave is chosen at
771 The valid range is 0 - 65535; the default value is 1. This option
772 has effect only in balance-rr mode.
782 The valid range is 0 - 300000. The default value is 0, which means
786 Slave priority. A higher number means higher priority.
787 The primary slave has the highest priority. This option also
791 for active-backup(1), balance-tlb (5) and balance-alb (6) mode.
798 A string (eth0, eth2, etc) specifying which slave is the
800 active slave while it is available. Only when the primary is
801 off-line will alternate devices be used. This is useful when
802 one slave is preferred over another, e.g., when one slave has
805 The primary option is only valid for active-backup(1),
806 balance-tlb (5) and balance-alb (6) mode.
810 Specifies the reselection policy for the primary slave. This
811 affects how the primary slave is chosen to become the active slave
812 when failure of the active slave or recovery of the primary slave
813 occurs. This option is designed to prevent flip-flopping between
814 the primary slave and other slaves. Possible values are:
818 The primary slave becomes the active slave whenever it
823 The primary slave becomes the active slave when it comes
824 back up, if the speed and duplex of the primary slave is
826 slave.
830 The primary slave becomes the active slave only if the
831 current active slave fails and the primary slave is up.
835 If no slaves are active, the first slave to recover is
836 made the active slave.
838 When initially enslaved, the primary slave is always made
839 the active slave.
842 immediate selection of the best active slave according to the new
844 slave, depending upon the circumstances.
855 characteristics but can cause packet reordering. If re-ordering is
858 xmit-hash-policy can be used to select the appropriate hashing for
873 slave after a link recovery has been detected. This option is
883 utilize a deprecated calling sequence within the kernel. The
902 Selects the transmit hash policy to use for slave selection in
903 balance-xor, 802.3ad, and tlb modes. Possible values are:
911 slave number = hash modulo slave count
914 network peer on the same slave.
930 And then hash is reduced modulo slave count.
936 network peer on the same slave. For non-IP traffic,
962 And then hash is reduced modulo slave count.
969 information is omitted. For non-IP traffic, the
1006 hash to load-balance traffic per-vlan, with failover
1009 use their own vlan, to give lacp-like functionality
1010 without requiring lacp-capable switching hardware.
1027 The valid range is 0 - 255; the default value is 1. A value of 0
1031 This option is useful for bonding modes balance-rr (0), active-backup
1032 (1), balance-tlb (5) and balance-alb (6), in which a failover can
1033 switch the IGMP traffic from one slave to another. Therefore a fresh
1035 IGMP traffic over the newly selected slave.
1044 The valid range is 1 - 0x7fffffff; the default value is 1. This Option
1045 has effect only in balance-tlb and balance-alb modes.
1073 $ rpm -qf /sbin/ifup
1088 ----------------------------------------
1099 slave devices. On SLES 9, this is most easily done by running the
1101 ifcfg-id file for each slave device. The simplest way to accomplish
1103 file ifcfg-id file created; see below for some issues with DHCP). The
1106 ifcfg-id-xx:xx:xx:xx:xx:xx
1111 Once the set of ifcfg-id-xx:xx:xx:xx:xx:xx files has been
1112 created, it is necessary to edit the configuration files for the slave
1113 devices (the MAC addresses correspond to those of the slave devices).
1121 _nm_name='bus-pci-0001:61:01.0'
1131 Once the ifcfg-id-xx:xx:xx:xx:xx:xx files have been modified,
1133 itself. This file is named ifcfg-bondX, where X is the number of the
1135 ifcfg-bond0, the second is ifcfg-bond1, and so on. The sysconfig
1139 The contents of the ifcfg-bondX file is as follows::
1149 BONDING_MODULE_OPTS="mode=active-backup miimon=100"
1151 BONDING_SLAVE1="bus-pci-0000:06:08.1"
1184 Finally, supply one BONDING_SLAVEn="slave device" for each
1185 slave. where "n" is an increasing value, one for each slave. The
1186 "slave device" is either an interface name, e.g., "eth0", or a device
1190 (bus-pci-0000:06:08.1 in the example above) specify the physical
1194 configurations will choose one or the other for all slave devices.
1221 -------------------------------
1227 the slave devices. Without active slaves, the DHCP requests are not
1231 -----------------------------------------------
1235 bonding instance to have an appropriately configured ifcfg-bondX file
1239 ifcfg-bondX files.
1242 options in the ifcfg-bondX file, it is not necessary to add them to
1246 ------------------------------------------
1259 network-script file for all physical adapters that will be members of
1262 /etc/sysconfig/network-scripts
1264 The file name must be prefixed with "ifcfg-eth" and suffixed
1266 for eth0 would be named /etc/sysconfig/network-scripts/ifcfg-eth0.
1273 SLAVE=yes
1277 must correspond with the name of the file, i.e., ifcfg-eth1 must have
1285 script will be /etc/sysconfig/network-scripts/ifcfg-bondX where X is
1286 the number of the bond. For bond0 the file is named "ifcfg-bond0",
1287 for bond1 it is named "ifcfg-bond1", and so on. Within that file,
1304 and, indeed, preferable, to specify the bonding options in the ifcfg-bond0
1307 BONDING_OPTS="mode=active-backup arp_interval=60 arp_ip_target=192.168.1.254"
1330 options bond0 mode=balance-alb miimon=100
1340 ---------------------------------
1353 -------------------------------------------------
1357 specifying the appropriate BONDING_OPTS= in ifcfg-bondX where X is the
1358 number of the bond. This support requires sysfs support in the kernel,
1365 -----------------------------------------------
1384 modprobe bonding mode=balance-alb miimon=100
1407 enabled without re-running the entire global init script.
1423 -----------------------------------------
1452 options bond0 -o bond0 mode=balance-rr miimon=100
1455 options bond1 -o bond1 mode=balance-alb miimon=50
1458 named "bond0" and creates the bond0 device in balance-rr mode with an
1460 bond1 device in balance-alb mode with an miimon of 50.
1467 install bond1 /sbin/modprobe --ignore-install bonding -o bond1 \
1468 mode=balance-alb miimon=50
1474 to rename modules at load time (the "-o bond1" part). Attempts to pass
1482 ------------------------------------------
1493 bonding is compiled into the kernel.
1502 -----------------------------
1509 # echo -bar > /sys/class/net/bonding_masters
1522 --------------------------
1532 To free slave eth0 from bond bond0::
1534 # echo -eth0 > /sys/class/net/bond0/bonding/slaves
1543 # echo -eth0 > /sys/class/net/eth0/master/bonding/slaves
1548 -------------------------------
1552 The names of these files correspond directly with the command-
1561 To configure bond0 for balance-alb mode::
1565 - or -
1566 # echo balance-alb > /sys/class/net/bond0/bonding/mode
1579 monitoring is enabled, and vice-versa.
1592 # echo -192.168.0.100 > /sys/class/net/bond0/bonding/arp_ip_target
1605 ---------------------
1616 echo balance-alb > /sys/class/net/bond0/bonding/mode
1623 active-backup mode, using ARP monitoring, add the following lines to
1628 echo active-backup > /sys/class/net/bond1/bonding/mode
1636 -----------------------------------------
1643 the box. The ifenslave-2.6 package should be installed to provide bonding
1644 support. Once installed, this package will provide ``bond-*`` options
1647 Note that ifenslave-2.6 package will load the bonding module and use
1651 ----------------------
1654 active-backup mode, with eth0 and eth1 as slaves::
1658 bond-slaves eth0 eth1
1659 bond-mode active-backup
1660 bond-miimon 100
1661 bond-primary eth0 eth1
1670 bond-slaves none
1671 bond-mode active-backup
1672 bond-miimon 100
1676 bond-master bond0
1677 bond-primary eth0 eth1
1681 bond-master bond0
1682 bond-primary eth0 eth1
1684 For a full list of ``bond-*`` supported options in /etc/network/interfaces and
1686 /usr/share/doc/ifenslave-2.6.
1689 ----------------------------------------------
1710 ID is now printed for each slave::
1712 Bonding Mode: fault-tolerance (active-backup)
1713 Primary Slave: None
1714 Currently Active Slave: eth0
1720 Slave Interface: eth0
1724 Slave queue ID: 0
1726 Slave Interface: eth1
1730 Slave queue ID: 2
1732 The queue_id for a slave can be set using the command::
1739 arguments can be added to BONDING_OPTS to set all needed slave queues.
1743 slave devices. For instance, say we wanted, in the above configuration to
1752 These commands tell the kernel to attach a multiqueue queue discipline to the
1760 leaving the qid for a slave to 0 is the multiqueue awareness in the bonding
1762 slave devices as well as bond devices and the bonding driver will simply act as
1763 a pass-through for selecting output queues on the slave device rather than
1767 output slave selection was limited to round-robin and active-backup modes.
1770 ----------------------------------------------------------
1786 (a) ad_actor_system : You can set a random mac-address that can be used for
1788 Also it's preferable to set the local-admin bit. Following shell code
1789 generates a random mac-address as described above::
1801 is 65535, but system can take the value from 1 - 65535. Following shell
1807 (c) ad_user_port_key : Use the user portion of the port-key. The default
1808 keeps this empty. These are the upper 10 bits of the port-key and value
1809 ranges from 0 - 1023. Following shell code generates these 10 bits and
1820 -------------------------
1822 Each bonding device has a read-only file residing in the
1824 about the bonding configuration, options and state of each slave.
1831 Bonding Mode: load balancing (round-robin)
1832 Currently Active Slave: eth0
1838 Slave Interface: eth1
1842 Slave Interface: eth0
1850 -------------------------
1853 command. Bonding devices will have the MASTER flag set; Bonding slave
1854 devices will have the SLAVE flag set. The ifconfig output does not
1858 (MASTER) while eth0 and eth1 are slaves (SLAVE). Notice all slaves of
1860 TLB and ALB that require a unique MAC address for each slave::
1871 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
1878 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
1893 The active-backup, balance-tlb and balance-alb modes do not
1904 The balance-rr, balance-xor and broadcast modes generally
1936 "un-accelerated" by the bonding driver so the VLAN tag sits in the
1940 only after enslaving at least one slave. The bonding interface has a
1941 hardware address of 00:00:00:00:00:00 until the first slave is added.
1943 would pick up the all-zeroes hardware address. Once the first slave
1945 slave's hardware address, which is then available for the VLAN device.
1949 top of it. When a new slave is added, the bonding interface will
1950 obtain its hardware address from the first slave, which might not
1952 ultimately copied from an earlier slave).
1964 underlying device -- i.e. the bonding interface -- to promiscuous
1972 monitoring a slave device's link state: the ARP monitor and the MII
1980 -------------------------
1989 ------------------------------------
2012 -------------------------
2041 -------------------------
2043 When bonding is configured, it is important that the slave
2049 Kernel IP routing table
2076 ----------------------------
2087 options bond0 mode=some-mode miimon=50
2095 happens because bonding is loaded first, then its slave device's
2120 ---------------------------------------------------------
2202 master device (e.g., bond0), and propagates the setting to the slave
2205 For the balance-rr, balance-xor, broadcast, and 802.3ad modes,
2208 For the active-backup, balance-tlb and balance-alb modes, the
2209 promiscuous mode setting is propagated only to the active slave.
2211 For balance-tlb mode, the active slave is the slave currently
2214 For balance-alb mode, the active slave is the slave used as a
2215 "primary." This slave is used for mode-specific control traffic, for
2218 For the active-backup, balance-tlb and balance-alb modes, when
2219 the active slave changes (e.g., due to a link failure), the
2220 promiscuous setting will be propagated to the new active slave.
2233 --------------------------------------------------
2247 ----------------------------------------------------
2258 +-----+----+ +-----+----+
2260 | switch A +--------------------------+ switch B |
2262 +-----+----+ +-----++---+
2264 | +-------+ |
2265 +-------------+ host1 +---------------+
2266 eth0 +-------+ eth1
2274 -------------------------------------------------------------
2276 In a topology such as the example above, the active-backup and
2281 active-backup:
2294 necessary for some specific one-way traffic to reach both
2298 ----------------------------------------------------------------
2331 ------------------------------------------------------
2347 +----------+ +----------+
2349 | Host A +---------------------+ router +------------------->
2350 | +---------------------+ | Hosts B and C are out
2352 +----------+ +----------+
2374 +----------+ +----------+ +--------+
2375 | |eth0 port1| +-------+ Host B |
2376 | Host A +------------+ switch |port3 +--------+
2377 | +------------+ | +--------+
2378 | |eth1 port2| +------------------+ Host C |
2379 +----------+ +----------+port4 +--------+
2402 -----------------------------------------------------------
2408 balance-rr:
2435 through the switch to a balance-rr bond will not utilize greater
2447 active-backup:
2449 the active-backup mode, as the inactive backup devices are all
2453 available bandwidth. On the plus side, active-backup mode
2458 balance-xor:
2468 As with balance-rr, the switch ports need to be configured for
2472 Like active-backup, there is not much advantage to this
2488 balance modes other than balance-rr, no single connection will
2504 balance-tlb:
2505 The balance-tlb mode balances outgoing traffic by peer.
2511 manner (not a simple XOR as in balance-xor or 802.3ad mode),
2520 network device driver of the slave interfaces, and the ARP
2523 balance-alb:
2524 This mode is everything that balance-tlb is, and more.
2525 It has all of the features (and restrictions) of balance-tlb,
2535 ----------------------------------------------------
2544 -----------------------------------------------------
2550 +-----------+
2552 +-+---+---+-+
2554 +--------+ | +---------+
2556 +------+---+ +-----+----+ +-----+----+
2558 +------+---+ +-----+----+ +-----+----+
2560 +--------+ | +---------+
2562 +-+---+---+-+
2564 +-----------+
2579 -------------------------------------------------------------
2582 configurations of this type is balance-rr. Historically, in this
2587 packets has arrived). When employed in this fashion, the balance-rr
2592 ------------------------------------------------------
2605 -------------------------------------------
2627 case). If there are slave interfaces waiting for the updelay timeout
2640 --------------------------------
2650 output from ping flags duplicates (typically one per slave).
2652 For example, on a bond in active-backup mode with five slaves
2655 # ping -n 10.0.4.2
2674 (one per slave device).
2679 most Cisco switches, the privileged command "clear mac address-table
2690 --------------------
2695 balance-rr, active-backup, balance-tlb and balance-alb modes. This is
2700 --------------------------------
2703 integrated on the planar (that's "motherboard" in IBM-speak). In the
2706 An add-on Broadcom daughter card can be installed on a JS20 to provide
2715 Additional BladeCenter-specific networking information can be
2718 - "IBM eServer BladeCenter Networking Options"
2719 - "IBM eServer BladeCenter Layer 2-7 Network Switching"
2722 ------------------------------------
2747 -------------------------------
2749 The balance-rr mode requires the use of passthrough modules
2752 appropriate ports, as is usual for balance-rr.
2754 The balance-alb and balance-tlb modes will function with
2761 The active-backup mode has no additional requirements.
2764 ----------------------
2779 --------------
2789 avoid fail-over delay issues when using bonding.
2796 -------------------
2802 -----------------------------------------
2804 Any Ethernet type cards (you can even mix cards - a Intel
2809 slaves in active-backup mode.
2812 ----------------------------------------
2817 ----------------------------------------------
2823 5. What happens when a slave link dies?
2824 ----------------------------------------
2827 disabled. The active-backup mode will fail over to a backup link, and
2847 ----------------------------------------------
2852 ---------------------------------------------
2856 In the basic balance modes (balance-rr and balance-xor), it
2861 The advanced balance modes (balance-tlb and balance-alb) do
2870 The active-backup mode should work with any Layer-II switch.
2873 ---------------------------------------------------------
2875 When using slave devices that have fixed MAC addresses, or when
2877 the MAC address of the active slave.
2881 its first slave device. This MAC address is then passed to all following
2882 slaves and remains persistent (even if the first slave is removed) until
2895 # ifconfig bond0 down ; modprobe -r bonding
2900 slave that is added.
2903 from the bond (``ifenslave -d bond0 eth0``). The bonding driver will
2911 version of the linux kernel, found on http://kernel.org
2913 The latest version of this document can be found in the latest kernel
2917 on the main Linux network mailing list, hosted at vger.kernel.org. The list
2920 netdev@vger.kernel.org
2925 http://vger.kernel.org/vger-lists.html#netdev