Network Bondig: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== Allgemein ==
Um die Ausfallsichertheit und die Bandbreite des Netzwerks zu erhöhen, können mehrere eth-Interfaces zu einem Verbund (Bonding) zusammengefasst werden. Dabei stehen mehrer Bondingmethoden zu Verfügung. In dieser Anleitung wird das zusammenfassen zweier Netzwerkkarten beschrieben.
Um die Ausfallsichertheit und die Bandbreite des Netzwerks zu erhöhen, können mehrere eth-Interfaces zu einem Verbund (Bonding) zusammengefasst werden. Dabei stehen mehrer Bondingmethoden zu Verfügung. In dieser Anleitung wird das zusammenfassen zweier Netzwerkkarten beschrieben.


== Bondingarten ==  
== Bondingarten ==  


* Mode 0: balance-rr
* Mode 0: balance-rr
  Round-Robin: Die Pakete werden der Reihe nach über die Slave-Interfaces übertragen. Alle Interfaces müssen auf dem selben Switch
{{Rechteck3|
  angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden. Bei Cisco® heisst das Etherchannel, bei anderen Herstellern  
Round-Robin: Die Pakete werden der Reihe nach über die Slave-Interfaces übertragen. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden. Bei Cisco® heisst das Etherchannel, bei anderen Herstellern Trunk Group oder einfach Trunk. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.}}
  Trunk Group oder einfach Trunk. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
 
 
* Mode 1: active-backup
* Mode 1: active-backup
  Aktiv-Backup: Es ist immer nur ein Interface des Bündels aktiv. Beim Ausfall des aktiven Slaves übernimmt der nächste Slave. Nur auf dem  
{{Rechteck3|
  aktiven   Anschluss ist die MAC-Adresse des Bündels sichtbar. Die Bandbreiten der Interfaces können unterschiedlich sein.
Aktiv-Backup: Es ist immer nur ein Interface des Bündels aktiv. Beim Ausfall des aktiven Slaves übernimmt der nächste Slave. Nur auf dem aktiven Anschluss ist die MAC-Adresse des Bündels sichtbar. Die Bandbreiten der Interfaces können unterschiedlich sein. Dieser Modus beinhaltet keine Lastverteilung, sondern nur Fehlertoleranz.}}
  Dieser Modus beinhaltet keine Lastverteilung, sondern nur Fehlertoleranz.
 
 
* Mode 2: balance-xor
* Mode 2: balance-xor
  XOR: Das Interface für die Übertragung wird über eine Exklusiv-Oder-Verknüpfung der MAC-Adresse des Ziels mit der MAC-Adresse der Quelle ermittelt.  
{{Rechteck3|
  Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden.
XOR: Das Interface für die Übertragung wird über eine Exklusiv-Oder-Verknüpfung der MAC-Adresse des Ziels mit der MAC-Adresse der Quelle ermittelt. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.}}
  Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
 
 
* Mode 3: broadcast
* Mode 3: broadcast
  Broadcast: Alle Pakete werden auf allen Interfaces übertragen. Alle Interfaces müssen auf dem selben Switch angeschlossen sein.  
{{Rechteck3|
  Die Switchports müssen zu eine Trunk zusammengefasst werden.Dieser Modus beinhaltet keine Lastverteilung, sondern nur Fehlertoleranz.
Broadcast: Alle Pakete werden auf allen Interfaces übertragen. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden.Dieser Modus beinhaltet keine Lastverteilung, sondern nur Fehlertoleranz.}}
 
 
* Mode 4: 802.3ad
* Mode 4: 802.3ad
  IEEE 802.3ad oder LACP: Das Bündel wird über das Link Aggregation Control Protocol dynamisch erzeugt. Alle Interfaces müssen die gleichen
{{Rechteck3|
  Einstellungen für Geschwindigkeit und Duplex-Modus haben. Alle Interfaces werden gemäß der Spezifikationen des 802.3ad-Standards genutzt. Alle
IEEE 802.3ad oder LACP: Das Bündel wird über das Link Aggregation Control Protocol dynamisch erzeugt. Alle Interfaces müssen die gleichen Einstellungen für Geschwindigkeit und Duplex-Modus haben. Alle Interfaces werden gemäß der Spezifikationen des 802.3ad-Standards genutzt. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Der Switch muss 802.3ad (LACP) unterstützen und die Ports entsprechend konfiguriert sein. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.}}
  Interfaces müssen auf dem selben Switch angeschlossen sein. Der Switch muss 802.3ad (LACP) unterstützen und die Ports entsprechend konfiguriert sein.
 
  Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
 
* Mode 5: balance-tlb
* Mode 5: balance-tlb
  Adaptive transmit load balancing: Für diesen Modus ist keine Konfiguration des/der Switches notwendig. Anschluss an mehrere Switches ist möglich.  
{{Rechteck3|Adaptive transmit load balancing: Für diesen Modus ist keine Konfiguration des/der Switches notwendig. Anschluss an mehrere Switches ist möglich. Die Verteilung der Pakete erfolgt anhand der aktuellen Interface-Auslastung (in Abhängigkeit von der Bandbreite des Interfaces). Ankommende Pakete werden über das aktuell aktive Interface angenommen. Im Fehlerfall übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen Interfaces. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.}}
  Die Verteilung der Pakete erfolgt anhand der aktuellen Interface-Auslastung (in Abhängigkeit von der Bandbreite des Interfaces). Ankommende Pakete
 
  werden über das aktuell aktive Interface angenommen. Im Fehlerfall übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen Interfaces.
  Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
 
* Mode 6: balance-alb
* Mode 6: balance-alb
  Adaptive load balancing: Für diesen Modus ist keine Konfiguration des/der Switches notwendig. Anschluss an mehrere Switches ist möglich. Zusätzlich  
{{Rechteck3|
  zur Sende-Lastverteilung (tlb) erfolgt Empfangs-Lastverteilung für Pakete gemäß IPV4. Die Sende-Verteilung der Pakete erfolgt anhand der aktuellen  
Adaptive load balancing: Für diesen Modus ist keine Konfiguration des/der Switches notwendig. Anschluss an mehrere Switches ist möglich. Zusätzlich zur Sende-Lastverteilung (tlb) erfolgt Empfangs-Lastverteilung für Pakete gemäß IPV4. Die Sende-Verteilung der Pakete erfolgt anhand der aktuellen Interface-Auslastung (in Abhängigkeit von der Bandbreite des Interfaces). Die Empfangs-Verteilung der Pakete erfolgt der Reihe nach über alle Interfaces des Bündels unter Berücksichtugung der Bandbreite. Die Zuordnung der Interfaces wird über ARP-Negotiation geregelt. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.}}
  Interface-Auslastung (in Abhängigkeit von der Bandbreite des Interfaces). Die Empfangs-Verteilung der Pakete erfolgt der Reihe nach über alle  
  Interfaces des Bündels unter Berücksichtugung der Bandbreite. Die Zuordnung der Interfaces wird über ARP-Negotiation geregelt.
  Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
 


== Installieren der Pakete ==
== Installieren der Pakete ==
Zeile 46: Zeile 38:
* Zuerst muss noch das Paket "ifenslave" installiert werden.
* Zuerst muss noch das Paket "ifenslave" installiert werden.


  apt-get install ifenslave-2.6
  apt-get install ifenslave




== Konfiguration der Interfaces ==


== Einstellungen ==
=== Konfiguration der Interfaces ===


  vi /etc/network/interfaces
  vi /etc/network/interfaces


Folgenden Zeilen hinzufügen:
Interfaces Datei anpassen. Z.B. für Mode 6:


# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
  auto bond0
  auto bond0
  iface bond0 inet static
  iface bond0 inet static
  address 192.168.1.100
      up ifconfig bond0 0.0.0.0 up
  netmask 255.255.255.0
      bond_mode 6
  network 192.168.1.0
      bond_miimon 100
  gateway 192.168.1.1
      bond_updelay 200
  up /sbin/ifenslave bond0 eth0 eth1
      bond_downdelay 200
  down /sbin/ifenslave -d bond0 eth0 eth1
      slaves eth0 eth1
      address 192.168.1.19
      netmask 255.255.255.0
      gateway 192.168.1.1
      broadcast 192.168.0.255
      network 192.168.1.0


Interfaces Datei anpassen. Z.B. für Mode 4 (managed Switch erforderlich, bei dem mehrere ports gebündelt werden und LACP aktiviert ist):


== Editieren der i386 bzw x86_64 Datei==
# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
auto bond0
iface bond0 inet static
      up ifconfig bond0 0.0.0.0 up
      bond_mode 4
      bond-lacp-rate 1
      bond-xmit-hash-policy layer2+3
      bond_miimon 100
      bond_updelay 200
      bond_downdelay 200
      slaves eth0 eth1
      address 192.168.1.19
      netmask 255.255.255.0
      gateway 192.168.1.1
      broadcast 192.168.0.255
      network 192.168.1.0


Abhängig von der installierten Debianversion (32bit oder 64bit) muss noch folgende Datei editiert werden:
Ein Bonding Interface kann auch an eine Linux Bridge "angeschlossen" werden.
z.B. Original Konfiguration (siehe oben):
# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
auto bond0
iface bond0 inet static
      up ifconfig bond0 0.0.0.0 up
      bond_mode 6
      bond_miimon 100
      bond_updelay 200
      bond_downdelay 200
      slaves eth0 eth1
      address 192.168.1.19
      netmask 255.255.255.0
      gateway 192.168.1.1
      broadcast 192.168.0.255
      network 192.168.1.0
Abändern:
# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
auto bond0
iface bond0 inet manual
      up ifconfig bond0 0.0.0.0 up
      bond_mode 6
      bond_miimon 100
      bond_updelay 200
      bond_downdelay 200
      slaves eth0 eth1
   
   
  vi /etc/modprobe.d/arch/i386
  auto br0
 
iface br0 inet static
bzw
      address 192.168.1.19
 
      netmask 255.255.255.0
vi /etc/modprobe.d/arch/x86_64
      gateway 192.168.1.1
 
      broadcast 192.168.0.255
folgenden Zeilen hinzufügen. Den gewünschten Modus eintragen. Hier Modus 6 (mode=6):
      network 192.168.1.0
 
      bridge_ports bond0
alias bond0 bonding
      bridge_fd 0
options bonding mode=6 miimon=100 downdelay=200 updelay=200
      bridge_maxwait 0
      bridge_stp off





Aktuelle Version vom 28. Dezember 2018, 16:24 Uhr

Allgemein

Um die Ausfallsichertheit und die Bandbreite des Netzwerks zu erhöhen, können mehrere eth-Interfaces zu einem Verbund (Bonding) zusammengefasst werden. Dabei stehen mehrer Bondingmethoden zu Verfügung. In dieser Anleitung wird das zusammenfassen zweier Netzwerkkarten beschrieben.


Bondingarten

  • Mode 0: balance-rr
Round-Robin: Die Pakete werden der Reihe nach über die Slave-Interfaces übertragen. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden. Bei Cisco® heisst das Etherchannel, bei anderen Herstellern Trunk Group oder einfach Trunk. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
  • Mode 1: active-backup
Aktiv-Backup: Es ist immer nur ein Interface des Bündels aktiv. Beim Ausfall des aktiven Slaves übernimmt der nächste Slave. Nur auf dem aktiven Anschluss ist die MAC-Adresse des Bündels sichtbar. Die Bandbreiten der Interfaces können unterschiedlich sein. Dieser Modus beinhaltet keine Lastverteilung, sondern nur Fehlertoleranz.
  • Mode 2: balance-xor
XOR: Das Interface für die Übertragung wird über eine Exklusiv-Oder-Verknüpfung der MAC-Adresse des Ziels mit der MAC-Adresse der Quelle ermittelt. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
  • Mode 3: broadcast
Broadcast: Alle Pakete werden auf allen Interfaces übertragen. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Die Switchports müssen zu eine Trunk zusammengefasst werden.Dieser Modus beinhaltet keine Lastverteilung, sondern nur Fehlertoleranz.
  • Mode 4: 802.3ad
IEEE 802.3ad oder LACP: Das Bündel wird über das Link Aggregation Control Protocol dynamisch erzeugt. Alle Interfaces müssen die gleichen Einstellungen für Geschwindigkeit und Duplex-Modus haben. Alle Interfaces werden gemäß der Spezifikationen des 802.3ad-Standards genutzt. Alle Interfaces müssen auf dem selben Switch angeschlossen sein. Der Switch muss 802.3ad (LACP) unterstützen und die Ports entsprechend konfiguriert sein. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
  • Mode 5: balance-tlb
Adaptive transmit load balancing: Für diesen Modus ist keine Konfiguration des/der Switches notwendig. Anschluss an mehrere Switches ist möglich. Die Verteilung der Pakete erfolgt anhand der aktuellen Interface-Auslastung (in Abhängigkeit von der Bandbreite des Interfaces). Ankommende Pakete werden über das aktuell aktive Interface angenommen. Im Fehlerfall übernimmt ein anderer Slave die MAC-Adresse des ausgefallenen Interfaces. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.
  • Mode 6: balance-alb
Adaptive load balancing: Für diesen Modus ist keine Konfiguration des/der Switches notwendig. Anschluss an mehrere Switches ist möglich. Zusätzlich zur Sende-Lastverteilung (tlb) erfolgt Empfangs-Lastverteilung für Pakete gemäß IPV4. Die Sende-Verteilung der Pakete erfolgt anhand der aktuellen Interface-Auslastung (in Abhängigkeit von der Bandbreite des Interfaces). Die Empfangs-Verteilung der Pakete erfolgt der Reihe nach über alle Interfaces des Bündels unter Berücksichtugung der Bandbreite. Die Zuordnung der Interfaces wird über ARP-Negotiation geregelt. Dieser Modus beinhaltet Lastverteilung und Fehlertoleranz.

Installieren der Pakete

  • Zuerst muss noch das Paket "ifenslave" installiert werden.
apt-get install ifenslave


Einstellungen

Konfiguration der Interfaces

vi /etc/network/interfaces

Interfaces Datei anpassen. Z.B. für Mode 6:

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
auto bond0
iface bond0 inet static
      up ifconfig bond0 0.0.0.0 up
      bond_mode 6
      bond_miimon 100
      bond_updelay 200
      bond_downdelay 200
      slaves eth0 eth1
      address 192.168.1.19
      netmask 255.255.255.0
      gateway 192.168.1.1
      broadcast 192.168.0.255
      network 192.168.1.0

Interfaces Datei anpassen. Z.B. für Mode 4 (managed Switch erforderlich, bei dem mehrere ports gebündelt werden und LACP aktiviert ist):

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
auto bond0
iface bond0 inet static
      up ifconfig bond0 0.0.0.0 up
      bond_mode 4
      bond-lacp-rate 1
      bond-xmit-hash-policy layer2+3
      bond_miimon 100
      bond_updelay 200
      bond_downdelay 200
      slaves eth0 eth1
      address 192.168.1.19
      netmask 255.255.255.0
      gateway 192.168.1.1
      broadcast 192.168.0.255
      network 192.168.1.0

Ein Bonding Interface kann auch an eine Linux Bridge "angeschlossen" werden. z.B. Original Konfiguration (siehe oben):

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
auto bond0
iface bond0 inet static
      up ifconfig bond0 0.0.0.0 up
      bond_mode 6
      bond_miimon 100
      bond_updelay 200
      bond_downdelay 200
      slaves eth0 eth1
      address 192.168.1.19
      netmask 255.255.255.0
      gateway 192.168.1.1
      broadcast 192.168.0.255
      network 192.168.1.0

Abändern:

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual
#
# The primary network interface
auto eth1
allow-hotplug eth1
iface eth1 inet manual
#
auto bond0
iface bond0 inet manual
      up ifconfig bond0 0.0.0.0 up
      bond_mode 6
      bond_miimon 100
      bond_updelay 200
      bond_downdelay 200
      slaves eth0 eth1

auto br0
iface br0 inet static
      address 192.168.1.19
      netmask 255.255.255.0
      gateway 192.168.1.1
      broadcast 192.168.0.255
      network 192.168.1.0
      bridge_ports bond0
      bridge_fd 0
      bridge_maxwait 0
      bridge_stp off


Netzwerk neu starten

/etc/init.d/networking restart


Infos zum Bonding

http://www.linuxfoundation.org/en/Net:Bonding