[networking-guide] master: Bonding: Major update to chapter (722ea9a)

stephenw at fedoraproject.org stephenw at fedoraproject.org
Sat Jul 26 10:39:00 UTC 2014


Repository : http://git.fedorahosted.org/cgit/docs/networking-guide.git

On branch  : master

>---------------------------------------------------------------

commit 722ea9a3a20763ae6268febced982647c3c36364
Author: Stephen Wadeley <swadeley at redhat.com>
Date:   Sat Jul 26 12:36:58 2014 +0200

    Bonding: Major update to chapter


>---------------------------------------------------------------

 en-US/Configure_Network_Bonding.xml |   83 ++++++++++++++++++-----------------
 1 files changed, 42 insertions(+), 41 deletions(-)

diff --git a/en-US/Configure_Network_Bonding.xml b/en-US/Configure_Network_Bonding.xml
index 525381d..bf00546 100644
--- a/en-US/Configure_Network_Bonding.xml
+++ b/en-US/Configure_Network_Bonding.xml
@@ -7,16 +7,13 @@
   <title>Configure Network Bonding</title>
 
 <para>
-  <application>Fedora</application> allows administrators to bind multiple network interfaces together into a single, bonded, channel. Channel bonding enables two or more network interfaces to act as one, simultaneously increasing the bandwidth and providing redundancy.
+  Fedora allows administrators to bind multiple network interfaces together into a single, bonded, channel. Channel bonding enables two or more network interfaces to act as one, simultaneously increasing the bandwidth and providing redundancy.
 </para>
 
-<section id="sec-Configure_Network_Bonding_Using_NetworkManager">
-  <title>Configure Network Bonding Using NetworkManager</title>
-
   <section id="sec-Bond-Understanding_the_Default_Behavior_of_Master_and_Slave_Interfaces">
 <title>Understanding the Default Behavior of Master and Slave Interfaces</title>
 <para>
-When controlling bonded slave interfaces using <systemitem class="daemon">NetworkManager</systemitem>, and especially when fault finding, keep the following in mind:
+When controlling bonded slave interfaces using the <systemitem class="daemon">NetworkManager</systemitem> daemon, and especially when fault finding, keep the following in mind:
 <orderedlist>
   <listitem>
     <para>
@@ -57,11 +54,11 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
 </para>
 </section>
 
- <section
-      id="sec-Establishing_a_Bond_Connection">
-      <title>Establishing a Bond Connection</title>
+ <section id="sec-Creating_a_Bond_Connection_Using_a_GUI">
+   <title>Creating a Bond Connection Using a GUI</title>
       <para>You can use the GNOME <application>control-center</application> utility to direct <application>NetworkManager</application> to create a Bond from two or more Wired or InfiniBand connections. It is not necessary to create the connections to be bonded first. They can be configured as part of the process to configure the bond. You must have the MAC addresses of the interfaces available in order to complete the configuration process.</para>
-
+ <section id="sec-Establishing_a_Bond_Connection">
+      <title>Establishing a Bond Connection</title>
           <procedure
         id="procedure-Adding_a_New_Bond_Connection">
         <title>Adding a New Bond Connection</title>
@@ -72,13 +69,13 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
           </step>
 
         <step>
-          <para>Click the plus symbol to open the selection list. Select <guilabel>Bond</guilabel>. The <guilabel>Editing Bond Connection <replaceable>1</replaceable></guilabel> window appears.</para>
+          <para>Click the plus symbol to open the selection list. Select <guilabel>Bond</guilabel>. The <guilabel>Editing Bond connection <replaceable>1</replaceable></guilabel> window appears.</para>
         </step>
         <step>
           <para>On the <guilabel>Bond</guilabel> tab, click <guibutton>Add</guibutton> and select the type of interface you want to use with the bond connection. Click the <guibutton>Create</guibutton> button. Note that the dialog to select the slave type only comes up when you create the first slave; after that, it will automatically use that same type for all further slaves.</para>
         </step>
         <step>
-          <para>The <guilabel>Editing bond0 slave 1</guilabel> window appears. Fill in the MAC address of the first interface to be bonded. Click the <guibutton>Save</guibutton> button.</para>
+          <para>The <guilabel>Editing bond0 slave 1</guilabel> window appears. Use the <guilabel>Device MAC address</guilabel> drop-down menu to select the MAC address of the interface to be bonded. The first slave's MAC address will be used as the MAC address for the bond interface. If required, enter a clone MAC address to be used as the bond's MAC address. Click the <guibutton>Save</guibutton> button.</para>
         </step>
         <step>
         <para>The name of the bonded slave appears in the <guilabel>Bonded connections</guilabel> window. Click the <guibutton>Add</guibutton> button to add further slave connections.</para>
@@ -86,7 +83,7 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
         <step><para>Review and confirm the settings and then click the <guilabel>Save</guilabel> button.</para>
         </step>
         <step>
-          <para>Edit the bond-specific settings by referring to <xref linkend="bh-Configuring_the_Bond_Tab"/> below.</para>
+          <para>Edit the bond-specific settings by referring to <xref linkend="sec-Configuring_the_Bond_Tab"/> below.</para>
         </step>
       </procedure>
 
@@ -121,24 +118,24 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
         </listitem>
         <listitem>
           <para>
-            <guilabel>All users may connect to this network</guilabel> — Select this box to create a connection available to all users on the system. Changing this setting may require root privileges. See <xref linkend="sec-System-wide_and_Private_Connection_Profiles"/> for details. To prevent unexpected behavior during installation, ensure that this check box remains selected for any network interface that you configure.
+            <guilabel>All users may connect to this network</guilabel> — Select this box to create a connection available to all users on the system. Changing this setting may require root privileges. See <xref linkend="sec-System-wide_and_Private_Connection_Profiles"/> for details.
             </para>
         </listitem>
         <listitem>
           <para>
-            <guilabel>Automatically connect to VPN when using this connection</guilabel> — Select this box if you want <application>NetworkManager</application> to auto-connect to a VPN connection when it is available. Select the VPN from the dropdown menu.
+            <guilabel>Automatically connect to VPN when using this connection</guilabel> — Select this box if you want <application>NetworkManager</application> to auto-connect to a VPN connection when it is available. Select the VPN from the drop-down menu.
           </para>
         </listitem>
          <listitem>
           <para>
-            <guilabel>Firewall Zone</guilabel> — Select the firewall zone from the dropdown menu.
+            <guilabel>Firewall Zone</guilabel> — Select the firewall zone from the drop-down menu.
           </para>
         </listitem>
       </itemizedlist>
         </step>
 
         <step>
-          <para>Edit the bond-specific settings by referring to <xref linkend="bh-Configuring_the_Bond_Tab"/> below.</para>
+          <para>Edit the bond-specific settings by referring to <xref linkend="sec-Configuring_the_Bond_Tab"/> below.</para>
         </step>
         </procedure>
         <bridgehead
@@ -156,14 +153,14 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
           </para>
             </listitem>
             <listitem>
-              <para>IPv6 settings for the connection, click the <guilabel>IPv6 Settings</guilabel> tab and proceed to <xref
+              <para><systemitem class="protocol">IPv6</systemitem> settings for the connection, click the <guilabel>IPv6 Settings</guilabel> tab and proceed to <xref
                   linkend="sec-Configuring_IPv6_Settings"/>.
           </para>
             </listitem>
           </itemizedlist>
 
-      <bridgehead
-        id="bh-Configuring_the_Bond_Tab">Configuring the Bond Tab</bridgehead>
+  <section id="sec-Configuring_the_Bond_Tab">
+  <title>Configuring the Bond Tab</title>
       <para>If you have already added a new bond connection (refer to <xref
           linkend="procedure-Adding_a_New_Bond_Connection"/> for instructions), you can edit the <guilabel>Bond</guilabel> tab to set the load sharing mode and the type of link monitoring to use to detect failures of a slave connection.</para>
       <variablelist>
@@ -194,7 +191,7 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
             <guilabel>Round-robin</guilabel>
           </term>
           <listitem>
-          <para>Sets a round-robin policy for fault tolerance and load balancing. Transmissions are received and sent out sequentially on each bonded slave interface beginning with the first one available.</para>
+          <para>Sets a round-robin policy for fault tolerance and load balancing. Transmissions are received and sent out sequentially on each bonded slave interface beginning with the first one available. This mode might not work behind a bridge with virtual machines without additional switch configuration.</para>
           </listitem>
           </varlistentry>
 
@@ -212,7 +209,7 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
             <guilabel>XOR</guilabel>
           </term>
           <listitem>
-          <para>Sets an XOR (exclusive-or) policy for fault tolerance and load balancing. Using this method, the interface matches up the incoming request's MAC address with the MAC address for one of the slave NICs. Once this link is established, transmissions are sent out sequentially beginning with the first available interface.</para>
+          <para>Sets an XOR (exclusive-or) policy. Transmissions are based on the selected hash policy. The default is to derive a hash by XOR of the source and destination MAC addresses multiplied by the modulo of the number of slave interfaces. In this mode traffic destined for specific peers will always be sent over the same interface. As the destination is determined by the MAC addresses this method works best for traffic to peers on the same link or local network. If traffic has to pass through a single router then this mode of traffic balancing will be suboptimal.</para>
           </listitem>
         </varlistentry>
 
@@ -221,7 +218,7 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
             <guilabel>Broadcast</guilabel>
           </term>
           <listitem>
-          <para>Sets a broadcast policy for fault tolerance. All transmissions are sent on all slave interfaces.</para>
+          <para>Sets a broadcast policy for fault tolerance. All transmissions are sent on all slave interfaces. This mode might not work behind a bridge with virtual machines without additional switch configuration.</para>
           </listitem>
         </varlistentry>
 
@@ -239,16 +236,16 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
             <guilabel>Adaptive transmit load balancing</guilabel>
           </term>
           <listitem>
-          <para>Sets an adaptive Transmit Load Balancing (TLB) policy for fault tolerance and load balancing. The outgoing traffic is distributed according to the current load on each slave interface. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed slave.</para>
+          <para>Sets an adaptive Transmit Load Balancing (TLB) policy for fault tolerance and load balancing. The outgoing traffic is distributed according to the current load on each slave interface. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed slave. This mode is only suitable for local addresses known to the kernel bonding module and therefore cannot be used behind a bridge with virtual machines.</para>
           </listitem>
         </varlistentry>
 
         <varlistentry>
           <term>
-            <guilabel>Active Load Balancing</guilabel>
+            <guilabel>Adaptive load balancing</guilabel>
           </term>
           <listitem>
-          <para>Sets an Active Load Balancing (ALB) policy for fault tolerance and load balancing. Includes transmit and receive load balancing for <systemitem class="protocol">IPv4</systemitem> traffic. Receive load balancing is achieved through <systemitem class="protocol">ARP</systemitem> negotiation.</para>
+          <para>Sets an Adaptive Load Balancing (ALB) policy for fault tolerance and load balancing. Includes transmit and receive load balancing for <systemitem class="protocol">IPv4</systemitem> traffic. Receive load balancing is achieved through <systemitem class="protocol">ARP</systemitem> negotiation. This mode is only suitable for local addresses known to the kernel bonding module and therefore cannot be used behind a bridge with virtual machines.</para>
           </listitem>
         </varlistentry>
 
@@ -299,7 +296,8 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
             <guilabel>ARP</guilabel>
           </term>
           <listitem>
-          <para>The address resolution protocol (<systemitem class="protocol">ARP</systemitem>) is used to probe one or more peers to determine how well the link layer connections are working. It is dependent on the device driver providing the transmit start time and the last receive time. Two options are available:</para>
+          <para>The address resolution protocol (<systemitem class="protocol">ARP</systemitem>) is used to probe one or more peers to determine how well the link-layer connections are working. It is dependent on the device driver providing the transmit start time and the last receive time.</para>
+          <para>Two options are available:</para>
 
           <variablelist>
           <varlistentry>
@@ -323,10 +321,12 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
           </varlistentry>
 
         </variablelist>
+        </section>
 
     </section>
 
 </section>
+
 <section id="sec-Network_Bonding_Using_the_Command_Line_Interface">
   <title>Using the Command Line Interface (CLI)</title>
  <para>
@@ -335,9 +335,10 @@ When controlling bonded slave interfaces using <systemitem class="daemon">Networ
  <section id="sec-Check_if_Bonding_Kernel_Module_is_Installed">
    <title>Check if Bonding Kernel Module is Installed</title>
    <para>
-    In <application>Fedora</application>, the bonding module is loaded by default. If necessary, you can make sure that the module is loaded by issuing the following command as <systemitem class="username">root</systemitem>:
-    <screen>~]# <command>modprobe --first-time bonding</command>
-modprobe: ERROR: could not insert 'bonding': Module already in kernel</screen>
+    In Fedora, the bonding module is not loaded by default. You can load the module by issuing the following command as <systemitem class="username">root</systemitem>:
+    <screen>~]# <command>modprobe --first-time bonding</command></screen>
+    This activation will not persist across system restarts. See the <citetitle pubwork="book">&MAJOROSVER; System Administrator's Guide</citetitle> for an explanation of persistent module loading.</para>
+    <para>
 To display information about the module, issue the following command:
 <screen>~]$ <command>modinfo bonding</command></screen>
 See the <filename>modprobe(8)</filename> man page for more command options.
@@ -356,8 +357,8 @@ See the <filename>modprobe(8)</filename> man page for more command options.
       <para>
         The following is a sample channel bonding configuration file:
       </para>
-      <example id="ex-Sample_ifcfg-bond0_Interface_Configuration_File">
-        <title>Sample ifcfg-bond0 Interface Configuration File</title>
+      <example id="ex-Example_ifcfg-bond0_Interface_Configuration_File">
+        <title>Example ifcfg-bond0 Interface Configuration File</title>
         <programlisting>DEVICE=bond0
 IPADDR=192.168.1.1
 NETMASK=255.255.255.0
@@ -400,27 +401,27 @@ NM_CONTROLLED=no</programlisting>
 
  </section>
 
-   <section id="sec-Network_Bonding_sec-Using_the_NetworkManager_Command_Line_Tool_nmcli">
+   <section id="sec-Network_Bonding_Using_the_NetworkManager_Command_Line_Tool_nmcli">
      <title>Using the NetworkManager Command Line Tool, nmcli</title>
   <para>
-    To create a bond, with name <interface>mybond0</interface>, issue a command as follows:
-    <screen>~]$ <command>nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup</command>
+    To create a bond, named <replaceable>mybond0</replaceable>, issue a command as follows:
+    <screen>~]$ <command>nmcli con add type bond con-name <replaceable>mybond0</replaceable> ifname <replaceable>mybond0</replaceable> mode active-backup</command>
 Connection 'mybond0' (9301ff97-abbc-4432-aad1-246d7faea7fb) successfully added.</screen>
     To add a slave interface, issue a command in the following form:
-    <screen>~]$ <command>nmcli con add type bond-slave ifname ens7 master mybond0</command></screen>
+    <screen>~]$ <command>nmcli con add type bond-slave ifname <replaceable>ens7</replaceable> master <replaceable>mybond0</replaceable></command></screen>
     To add additional slaves, repeat the previous command with a new interface, for example:
-    <screen>~]$ <command>nmcli con add type bond-slave ifname ens3 master mybond0</command>
+    <screen>~]$ <command>nmcli con add type bond-slave ifname <replaceable>ens3</replaceable> master <replaceable>mybond0</replaceable></command>
 Connection 'bond-slave-ens3-1' (50c59350-1531-45f4-ba04-33431c16e386) successfully added.</screen>
 Note that as no <command>con-name</command> was given for the slaves, the name was derived from the interface name by prepending the type. At time of writing, <application>nmcli</application> only supports Ethernet slaves.
   </para>
   <para>
     In order to bring up a bond, the slaves must be brought up first as follows:
-    <screen>~]$ <command>nmcli con up bond-slave-ens7</command>
+    <screen>~]$ <command>nmcli con up bond-slave-<replaceable>ens7</replaceable></command>
 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/14)</screen>
-<screen>~]$ <command>nmcli con up bond-slave-ens3</command>
+<screen>~]$ <command>nmcli con up bond-slave-<replaceable>ens3</replaceable></command>
 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15)</screen>
 Now bring up the bond as follows:
-<screen>~]$ <command>nmcli con up bond-mybond0</command>
+<screen>~]$ <command>nmcli con up bond-<replaceable>mybond0</replaceable></command>
 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16)</screen>
   </para>
   <para>
@@ -463,7 +464,7 @@ Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMa
       <listitem>
         <para>
           <filename
-            class="directory">/usr/share/doc/kernel-doc-<replaceable>&lt;kernel_version&gt;</replaceable>/Documentation/</filename> — This directory, which is provided by the <package>kernel-doc</package> package, contains information on bonding. Before accessing the kernel documentation, you must run the following command as <systemitem class="username">root</systemitem>:</para>
+            class="directory">/usr/share/doc/kernel-doc/Documentation/</filename> — This directory, which is provided by the <package>kernel-doc</package> package, contains information on bonding. Before accessing the kernel documentation, you must run the following command as <systemitem class="username">root</systemitem>:</para>
         <screen>~]#&nbsp;<command>yum install kernel-doc</command></screen>
       <para>
         <filename>/usr/share/doc/kernel-doc-<replaceable>version</replaceable>/Documentation/networking/bonding.txt</filename> — Describes the Linux bonding driver.
@@ -488,7 +489,7 @@ Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMa
 <term><citetitle pubwork="book">&MAJOROSVER; System Administrator's Guide</citetitle></term>
 <listitem>
 <para>
- Explains the use of bonding module directives.
+ Explains the use of kernel module capabilities.
 </para>
 </listitem>
 </varlistentry>



More information about the docs-commits mailing list