Unter Bonding versteht man das Zusammenfassen von mindestens zwei Netzwerkkarten, die auch unterschiedlichen Typs (also z.B.: 3Com und Intel) und Geschwindigkeit (10 MBit/s oder 100 MBit/s) sein können, zu einer gemeinsamen Verbindung. Dabei können entweder entsprechende Linux Rechner direkt verbunden, oder eine Verbindung zu einem Switch aufgebaut werden. Das ermöglicht, ohne großen Aufwand z.B. eine 200 MBit/s Full-Duplex Verbindung von einem eisfair Server zu einem Switch zu schalten.
Das Menü im Setup-Programm ist wie folgt aufgebaut:
1. | System administration |
2. | Network administration |
x. | Bonding administration |
1. | View documentation | |
2. | Edit configuration | |
3. | Advanced configuration file handling | |
4. | Show status | |
5. | Stop service | |
6. | Start service | |
7. | Show bond | |
8. | Device info |
Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden.
In der Konfigurationsdatei, die über das Menü zugänglich ist, sind
folgende Parameter vorhanden; wer sie von Hand editieren will findet
sie unter
/etc/config.d/bonding
Gültige Werte: yes, no
Standardeinstellung: START_BONDING='no'
Gültige Werte: 1 - 16
Standardeinstellung: BONDING_N='0'
Gültige Werte:
Voraussetzungen:
Voraussetzungen:
Eingehender Traffic von Verbindungen, die vom Server erstellt wurden wird auch verteilt. Wenn der Server ARP-Anfragen sendet, kopiert und speichert der Bonding-Treiber die Client-IP aus dem ARP. Wenn die ARP-Antwort des Client ankommt, wird seine HW-Adresse ermittelt und der Bonding-Treiber erstellt eine ARP-Antwort an diesen Client und ordnet ihn so zu einem Client im Bond zu. Ein Problematischer Effekt von ARP-Absprachen für die Lastverteilung ist, dass jedes Mal wenn eine ARP-Anfrage übermittelt wird, sie die HW-Adresse des Bonds benutzt. Also lernen die Clients die HW-Adresse des Bonds und der eingehende Traffic auf dem aktuellen Slave bricht zusammen. Diesem Umstand wird begegnet, indem Updates (ARP-Antworten) zu allen Clients mit ihrer jeweiligen HW-Adresse gesandt wird, sodass der Traffic wieder aufgeteilt ist. Eingehender Traffic wird auch dann neu aufgeteilt, wenn ein neuer Slave zum Bond hinzugefügt wird oder ein inaktiver Slave reaktiviert wird. Die Empfangslast wird der Reihe nach (Round-Robin) in der Gruppe der Slave mit der größten Geschwindigkeit im Bond verteilt.
Wenn eine Verbindung wiederhergestellt wird oder ein neuer Slave zum Bond hinzukommt wird der eingehende Traffic neu auf alle aktiven Slaves im Bond verteilt, indem ARP-Antworten mit den ausgewählten MAC-Adressen zu jedem Client gesandt werden. Der Parameter updelay muss auf einen Wert größer oder gleich der Weiterleitungsverzögerung (forwarding delay) des Switchs eingestellt sein, sodass ARP-Antworten an die Clients nicht vom Switch geblockt werden.
Voraussetzungen:
Standardeinstellung: BONDING_x_MODE='0'
Ein Bonding-Gerät benutzt standardmäßig eine eigene MAC Adresse, die selbständig erzeugt wird.
Wenn Sie dies nicht wollen, können Sie auch eine MAC Adresse angegeben, die das Bonding-Gerät benutzen soll.
Gültige Werte: MAC addr '00:00:00:00:00:00'
Standardeinstellung: BONDING_x_MAC=''
Gültige Werte: Zahl
Standardeinstellung: BONDING_x_BIND_N='2'
Hier wird kein echter Netzwerk-Geräte Namen angegeben sondern der Index der Angabe IP_ETH_x_NAME aus der Base Konfiguration in /etc/config.d/base.
Bitte beachten: Ein Netzwerk-Gerät, welches für ein Bonding-Gerät benutzt wird, kann exklusiv nur dafür benutzt werden. Insbesondere ist es nicht möglich das Gerät für ein DSL-Modem, eine Bridge, ein VLAN, etc.. zu verwenden.
Der Index kann, wenn der Editor „ece “ eingestellt ist, auch aus dem Dialog eingefügt werden.
Gültige Werte: 1, 2, 3, 4 etc..
Standardeinstellung: BONDING_x_BIND_x_ETH='1'
Gibt an in welchen Zeitabständen (in Millisekunden) die einzelnen Verbindungen eines Bonding-Gerätes auf Ihren Linkstatus geprüft werden. Es wird also der Linkstatus jedes einzelnen Netzwerk-Gerätes dieses Bonding-Gerätes alle x Millisekunden geprüft. Mit '0' wird die MIIMON Überwachung deaktiviert.
Gültige Werte: 0, Millisekunden
Standardeinstellung: BONDING_x_MIIMON='100'
Wenn eine Überwachung des Linkstatus per MIIMON aktiviert wird kann man hier auswählen, ob die Überwachung des Linkstatus durch die netif_carrier_ok() Funktion (bei der Einstellung 'yes') erfolgen soll, oder durch direkte Aufrufe von MII oder ETHTOOL ioctl()-Systemaufrufen (mit der Einstellung 'no'). Die netif_carrier_ok() Methode ist effizienter, aber nicht alle Treiber unterstützen diese Methode.
Gültige Werte: yes, no
Standardeinstellung: BONDING_x_USE_CARRIER='yes'
Der Wert dieser Einstellung multipliziert mit der Einstellung von BONDING_x_MIIMON gibt an nach welcher Zeit eine Verbindung des Bonding-Gerätes aktiviert wird wenn der entsprechende Link (z.B. ein eth-Gerät) aufgebaut wurde. Damit wird eine Verbindung des Bonding-Gerätes solange aktiviert, bis der Linkstatus auf 'nicht verbunden' schaltet.
Gültige Werte: 0, Zeit
Standardeinstellung: BONDING_x_UPDELAY='0'
Der Wert dieser Einstellung multipliziert mit der Einstellung von BONDING_x_MIIMON gibt an nach welcher Zeit eine Verbindung des Bonding-Gerätes deaktiviert wird wenn der entsprechende Link (z.B. ein eth-Gerët) ausfällt. Damit wird also eine Verbindung des Bonding-Gerätes zeitweise deaktiviert, solange bis der Linkstatus wieder auf 'aktiv' schaltet.
Gültige Werte: 0, Zeit
Standardeinstellung: BONDING_x_DOWNDELAY='0'
Wenn bei BONDING_x_MODE=” der Wert '802.3ad' eingestellt wird, kann man hier angeben wie oft die Linkinformationen mit dem Verbindungspartner (also einem Switch oder einem anderen Linuxrechner) ausgetauscht werden. 'slow' tauscht alle 30 Sekunden die Linkinformationen aus, bei 'fast' werden die Linkinformationen jede Sekunde ausgetauscht.
Gültige Werte: slow, fast
Standardeinstellung: BONDING_x_LACP_RATE='slow'
Wenn als Mode 'active-backup' eingestellt wurde, bestimmt man hiermit, welches Netzwerk-Gerät primär als Ausgabegerät benutzt werden soll. Das ist vor allem sinnvoll, wenn die unterschiedlichen Netzwerk-Geräte eine unterschiedliche Geschwindigkeit haben. Wenn ein Wert eingegeben wird, und das Netzwerk-Gerät ist online, wird es als erstes Ausgabegerät benutzt. Nur wenn das Netzwerk-Gerät offline ist, wird ein anderes Netzwerk-Gerät benutzt. Andernfalls, sobald ein Ausfall erkannt wird, wird ein neues Standardausgabemedium bestimmt. Dies ist dann praktisch, wenn ein Slave Vorrang gegenüber einem anderen haben soll - wenn bspw. ein Slave 1000Mbps schnell ist und ein anderer 100Mbps. Wenn der 1000Mbps-Slave ausfällt und später wieder hergestellt wurde, kann es von Vorteil sein, dass der schnellere Slave wieder aktiv gesetzt werden kann, ohne beim 100Mbps-Slave künstlich einen Ausfall herbeizuführen.
Gültige Werte: ethX
Standardeinstellung: BONDING_x_PRIMARY=''
Gibt die Frequenz in Millisekunden an nach dem die unter BONDING_DEV_x_ARP_IP_TARGET_x angegebenen IP-Adressen (bzw. deren ARP Antwort) geprüft werden. Wenn ARP-Überwachung im Load-Balancing-Mode (mode 0 or 2) genutzt werden soll, sollte der Switch so eingestellt werden, dass er alle Pakete gleich auf alle Verbindungen verteilt - wie etwa Round-Robin. Wenn der Switch so eingestellt ist, dass er die Pakete nach der XOR-Methode verteilt, werden alle Antworten der ARP-Ziele auf der selben Verbindung ankommen und das könnte bei den anderen Team-Mitgliedern zum Ausfall führen. ARP-Überwachung sollte nicht zusammen mit miimon verwandt werden. Wird als Wert 0 übergeben, ist ARP-ëberwachung deaktiviert.
Gültige Werte: 0, Millisekunden
Standardeinstellung: BONDING_x_ARP_INTERVAL='0'
Die Anzahl der IP-Adressen die für die ARP Prüfung benutzt werden sollen. Es können maximal 16 IP-Adressen überprüft werden.
Gültige Werte: 1 - 16
Standardeinstellung: BONDING_x_IP_TARGETS_N=''
Hier wird jeweils eine IP-Adressen angegeben, wenn BONDING_x_ARP_INTERVAL > 0 ist. Diese werden als Ziele der ARP-Anfragen verwendet, die verschickt werden, um die Qualität der Verbindung zu den Zielen festzustellen. Geben sie diese Werte im Format ddd.ddd.ddd.ddd an. Damit ARP- Überwachung funktioniert, muss zumindest eine IP-Adresse angegeben werden.
Gültige Werte: IP Adresse
Standardeinstellung: BONDING_x_ARP_IP_TARGET_x=''
Zurück zum Menü: Network administration