Sie befinden sich hier: eisfair / Pack-Eis
News News News

Navigation

Content

Dateianzeige für bonding (3.2.1)

usr/share/doc/bonding/bonding.txt
BONDING - Ethernet Bonding Bonding - mehrere Netzwerkkarten zu einem Link zusammenfassen 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 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. Start service 6. Stop service 7. Device info Änderung der Konfiguration Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable 'EDITOR' festgelegt wurde. Wurden Änderungen an der Konfiguration vorgenommen, sollte der Server neu gebootet werden, damit diese aktiviert werden. Die Konfigurationsdatei 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 Die Parameter START_BONDING Mit 'yes' wird das Bonding aktiviert. Die Einstellung 'no' deaktiviert das Bonding komplett. Gültige Werte: yes, no Standardeinstellung: START_BONDING='no' BONDING_N Die Anzahl der zu konfigurierenden Bonding-Geräte. Es werden automatisch die passenden Geräte-Namen bond0 ... bondX erzeugt. Gültige Werte: 1 - 16 Standardeinstellung: BONDING_N='0' BONDING_x_MODE Gibt eines der Bonding-Methoden an. Der Standardwert ist Round-Robin „balance-rr“. Gültige Werte: + balance-rr ⇒ Mode 0 Round-Robin-Methode: Übermittle der Reihe nach über alle Slaves von ersten bis zum letzten. Diese Methode bietet sowohl Load-Balancing als auch Fehlertoleranz. + active-backup ⇒ Mode 1 Aktives Backup: Nur ein Slave im Bond ist aktiv. Die anderen Slaves werden nur dann aktiviert, wenn der aktive Slave ausfällt. Die MAC-Adresse des Bonds ist nur auf einem Port (Netzwerkadapter) sichtbar, um den Switch nicht zu verwirren. Dieser Modus bietet Fehlertoleranz. + balance-xor ⇒ Mode 2 XOR-Methode: Übertragung basierend auf der Formel (Quell-MAC-Adresse XOR Ziel-MAC-Adresse) modulo Anzahl der Slaves. Dadurch wird immer der selbe Slave für die selben Ziel-MAC-Adresse benutzt. Diese Methode bietet sowohl Load-Balancing als auch Fehlertoleranz. + broadcast ⇒ Mode 3 Broadcast-Methode: Übermittelt alles auf allen Slave-Devices. Dieser Modus bietet Fehlertoleranz. + 802.3ad ⇒ Mode 4 Dynamische IEEE 802.3ad Verbindungsaggregation. Erstellt Aggregationsgruppen, die die selben Geschwindigkeits und Duplex-Einstellungen teilen. Übermittelt auf allen Slaves im aktiven Aggregator. Voraussetzungen: o Unterstützung für ethtool im Basistreiber, um Geschwindigkeit und Duplex-Status für jedes Device abzufragen. o Ein Switch, der dynamische IEEE 802.3ad Verbindungsaggregation unterstützt. + balance-tlb ⇒ Mode 5 Adaptives Load-Balancing für ausgehende Daten: Kanal-Bonding, dass keine speziellen Features im Switch benötigt. Der ausgehende Netzwerktraffic wird entsprechend der momentanen Last (relativ zur Geschwindigkeit berechnet) auf jeden Slave verteilt. Eingehender Netzwerktraffic wird vom aktuellen Slave empfangen. Wenn der empfangende Slave ausfällt, übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen Empfangsslaves. Voraussetzungen: o Unterstützung für ethtool im Basistreiber, um Geschwindigkeit und Duplex-Status für jedes Device abzufragen. + balance-alb ⇒ Mode 6 Adaptives Load-Balancing: schließt sowohl balance-tlb, als auch Eingehendes Load-Balancing (rlb) für IPV4 Traffic ein und benötigt keine speziellen Voraussetzungen beim Switch. Load-Balancing für eingehenden Traffic wird über ARP-Absprache erreicht. Der Bonding-Treiber fängt ARP-Antworten vom Server auf ihrem Weg nach aussen hin ab und ëberschreibt die Quell- Hardware-Adresse mit der eindeutigen HW-Adresse eines Slaves im Bond, sodass unterschiedliche Clients unterschiedliche HW-Adressen für den Server verwenden. 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: o Unterstützung für ethtool im Basistreiber, um Geschwindigkeit und Duplex-Status für jedes Device abzufragen. o Unterstützung im Basistreiber, die HW-Adresse auch dann setzen zu können, wenn das Device offen ist. Das ist notwendig, damit immer ein Slave im Team die HW-Adresse des Bonds tragen kann, (der curr_active_slave) obwohl jeder Slave im Bond eine eigene, eindeutige HW-Adresse hat. Wenn der curr_active_slave ausfällt, wird seine HW-Adresse mit dem neuen curr_active_slave ausgetauscht. Standardeinstellung: BONDING_x_MODE='0' BONDING_x_IPADDR IP-Adresse für das Bonding-Gerät. Diese Einstellung ist optional und kann auch komplett weggelassen werden. Das Bonding-Gerät übernimmt dann die Daten der ersten Netzwerkschnittstelle. Gültige Werte: IP addr Standardeinstellung: BONDING_x_IPADDR=” BONDING_x_NETMASK Netzmaske für das Bonding-Gerät. Diese Einstellung ist optional und kann auch komplett weggelassen werden. Das Bonding-Gerät übernimmt dann die Daten der ersten Netzwerkschnittstelle. Gültige Werte: netmask Standardeinstellung: BONDING_x_NETMASK=” BONDING_x_GATEWAY Gateway für das Bonding-Gerät. Diese Einstellung ist optional und kann auch komplett weggelassen werden. Das Bonding-Gerät übernimmt dann die Daten der ersten Netzwerkschnittstelle. Gültige Werte: gateway Standardeinstellung: BONDING_x_GATEWAY=” BONDING_x_MAC Diese Einstellung ist optional und kann auch komplett weggelassen werden. Ein Bonding-Gerät benutzt standardmäßig die MAC Adresse des ersten Netzwerk-Gerätes, welches für das Bonding benutzt 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=” BONDING_x_DEV_N Gibt an, aus wievielen Netzwerk-Geräten dieses Bonding-Gerät besteht. Wenn z.B. ein Bonding-Gerät aus 'eth0' und 'eth1' gebildet werden soll, muss hier eine '2' (für die beiden eth–Geräte) eingetragen werden. Gültige Werte: Zahl Standardeinstellung: BONDING_x_DEV_N='2' BONDING_x_DEV_x Der Name eines Netzwerk-Gerätes, welches zu diesem Bonding-Gerät gehören soll. Es wird die Verwendung von Udev Namen wie 'enx123456789782' oder 'enp3s0' empfohlen, damit wird die größte Sicherheit in der Verwendung der Netzwerknamen erreicht. Wenn das aus irgendeinem Grund nicht möglich erscheint, ist z.B. 'net0' oder 'net1' eine gute Wahl. Die Verwendung von 'eth0' oder 'eth1' wird nicht empfohlen. Bitte beachten Sie, daß ein Netzwerk-Gerät, welches Sie für ein Bonding-Gerät benutzen, exklusiv nur dafür benutzt werden kann. Insbesondere ist es nicht möglich das Gerät für ein DSL-Modem, eine Bridge, ein VLAN oder in der base.txt zu verwenden. Der Name kann, wenn der Editor „ece “ eingestellt ist, auch aus dem Dialog eingefügt werden. Somit sind keine Kryptischen Zeichen einzugeben. Gültige Werte: enx*, enp*, net0, net1 etc.. Standardeinstellung: BONDING_x_DEV_x='net0' BONDING_x_DEV_x_BUSID Bei der Verwendung von 'net' oder 'eth' als Netzwerknamen ist die Angabe von der Kernel-BUS-ID des Netzwerk-Gerätes zwingend erforderlich. Bei der Verwendung von Udev Namen wie 'enx' oder 'enp' ist die Kernel-BUS-ID nicht erforderlich und kann dann leer bleiben. Gültige Werte: Kernel bus id, '0000:00:00.0' Standardeinstellung: BONDING_x_DEV_x_BUSID=” BONDING_x_MIIMON Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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' BONDING_x_USE_CARRIER Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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' BONDING_x_UPDELAY Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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' BONDING_x_DOWNDELAY Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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' BONDING_x_LACP_RATE Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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' BONDING_x_PRIMARY Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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=” BONDING_x_ARP_INTERVAL Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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' BONDING_x_ARP_IP_TARGETS_N Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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=” BONDING_x_ARP_IP_TARGET_x Diese Einstellung ist optional und kann auch komplett weggelassen werden. 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=” [1]Zurück zum Menü: Network administration __________________________________________________________________