Zum Inhalt springen

Bonding mit Ubuntu 10.04 LTS

Gestern Nacht bin ich etwas länger gehockt um den einen oder anderen Fehler der sich mit der Umstellung auf Ubuntu 10.04 LTS eingeschlichen hat zu beheben.
Einer hat mich dann heute noch beschäftigt – bonding funktioniert nach eine Neustart nicht mehr, erst nach einem erneuten „service networking restart“ lief das bonding wieder.

Die Konfiguration hatte ich exakt so vorgenommen wie es in den Releasenotes von Ubuntu Lucid drinnen steht (bzw. unter /usr/share/doc/ifenslave-2.6/examples/two_hotplug_ethernet):

auto bond0
iface bond0 inet static
address 192.168.10.10
network 255.255.255.0
gateway 192.168.10.1
dns-nameservers 192.168.10.1
bond-slaves none
bond-mode 1
bond-miimon 100

auto eth0
iface eth0 inet manual
bond-master bond0
bond-primary eth0 eth1

auto eth1
iface eth1 inet manual
bond-master bond0
bond-primary eth0 eth1

Nach einem Neustart hat mich dann tatsächlich ein Bonding Interface inkl. zweier Slaves (eth0/eth1) erwartet, allerdings konnte man das System nicht pingen bzw. das System konnte auf das Netzwerk auch nicht zugreifen!

Interessant finde ich die Tatsache dass die Zähler bei RX/TX trotz fehlender Funktionalität sich munter bewegt haben, also irgend ein Traffic muss angekommen nur nicht korrekt verarbeitet worden sein.

Nachdem ich so gut wie jede Möglichkeit durchgetestet habe, bin ich zu der Erkenntnis gekommen dass das definitiv nicht so wie angegeben funktioniert!

Eine funktionierende Lösung sieht wie folgt aus:

Datei: /etc/modprobe.d/bonding

install bond0 /sbin/modprobe bonding -o bond0 mode=balance-xor miimon=100

Datei: /etc/network/interfaces

auto bond0
iface bond0 inet static
address 192.168.10.10
netmask 255.255.255.0
gateway 192.168.10.1
dns-nameservers 192.168.10.1
post-up ifenslave bond0 eth0 eth1
pre-down ifenslave -d bond0 eth0 eth1

Mit diesen Einstellungen funktioniert bei mir das Bonding auch unmittelbar nach einem Reboot und das ohne dass „service networking restart“ ausgeführt werden muss.

Der in den Release-Notes angepriesene hotplug-stlye funktioniert im Moment ganz einfach nicht – zumindest nicht so wie es dort geschrieben steht dass es funktionieren sollte 🙂

Falls jemand den tatsächlichen Fehler kennt der das Problem beim „hotplug-style“ verursacht, ich freue mich über jeden Tip – erstmal werde ich das ganze aber bei Launchpad einpflegen.

2010-05-04 Nachtrag: Ein Server hat sich bei mir jetzt ganz hartnäckig geweigert mit der Lösung zu laufen, da musste ich in der Datei /etc/rc.local folgende Zeilen einpflegen:

ifenslave -d bond0 eth0 eth1 eth2
ifenslave bond0 eth0 eth1 eth2

Schlagwörter:

8 Gedanken zu „Bonding mit Ubuntu 10.04 LTS“

  1. Hallo,
    hab grad Deine Lösung versucht anzuwenden, es kommt eine „Failed to bring up bond0“ Meldung.

    wie hast Du folgendes gelöst:
    root@server:/etc/modprobe.d# modprobe -a -v *
    WARNING: Module blacklist_ath_pci.conf not found.
    WARNING: Module blacklist.conf not found.
    WARNING: Module blacklist_firewire.conf not found.
    WARNING: Module blacklist_framebuffer.conf not found.
    WARNING: Module blacklist_watchdog.conf not found.
    WARNING: Module bonding.conf not found.

    ?
    Was muss ich da machen?
    Gruss
    edubidu

  2. was genau willst du mit dem „modprobe -a -v *“ machen?

    der versucht in deinem fall die config-dateien im aktuellen verzeichnis als modul zu landen! das klappt natürlich nicht.

    ich glaub was du ausführen willst ist das hier:

    /sbin/modprobe bonding -o bond0 mode=balance-xor miimon=100

    rechner neustarten wäre natürlich auch eine variante, da wird das was in der bonding.conf drinnen steht dann automatisch ausgeführt.

    hoffe das hilft dir weiter! 🙂

  3. Also ein Neuboot hat mir den Rechner mit einem fsck hängen gelassen. Ich muss ihn nun nochmals neu aufsetzen (ist nich so schlimm, das Bonding war eh die erste Konfig nach dem Aufsetzen). Aber eigenartig is das ja schon.

  4. na der fsck kann mal nicht mit dem bonding zusammenhängen, aber eigenartig ist’s auf jeden fall!

    fsck nach installation hatte ich nur wenn vorher das datum komplett falsch war und er beim ersten kontakt mit dem internet die zeit synchronisiert hat und nachher festgestellt hat dass er schon seit jahren keinen fsck mehr gemacht hat 🙂

    viel erfolg dann beim 2. versuch!

  5. Hallo, jetzt funkt’s. Allerdings war das fsck doch wegen der Bonding Konfig, denn es ist ein 2. und 3. mal – jedesmal nach der Bonding Konfig – so gekommen.

    Habe ich auch noch nie erlebt.

    Anyway. Es funkt bei mir mit der ersten Konfig, die bei Dir nicht ging. Und es funkt auch nach einem Reboot.

    Hier die /etc/network/interfaces

    auto lo
    iface lo inet loopback

    # The primary network interface
    #auto eth0
    #iface eth0 inet dhcp

    #auto eth1
    #iface eth1 inet dhcp

    auto bond0
    iface bond0 inet static
    address 192.168.57.52
    netmask 255.255.255.0
    network 192.168.0.0
    gateway 192.168.57.1
    dns-nameservers 192.168.202.100
    #post-up ifenslave bond0 eth0 eth1
    #pre-down ifenslave -d bond0 eth0 eth1
    bond-slaves none
    bond-mode 1
    bond-miimon 100

    auto eth0
    iface eth0 inet manual
    bond-master bond0
    bond-primary eth0 eth1

    auto eth1
    iface eth1 inet manual
    bond-master bond0
    bond-primary eth0 eth1

    in /etc/modprobe.d musste ich nun nix eintragen und auch in /etc/rc.local musste ich nix eintragen.

    ifconfig zeigt das bond auch korrekt an.

    Da soll man noch die Welt verstehn!
    Gruss
    edubidu

  6. das mit dem fsck ist wirklich schräg weil das eine definitiv nichts mit dem anderen zu tun hat! 🙂

    aber auch dass bei dir das bonding mit der variante funktioniert die bei mir überhaupt nicht geklappt hat finde ich lustig.

    dein network eintrag ist übrigens nicht ganz korrekt, der müsste lauten:
    network 192.168.57.0

    ansonsten – super dass du es zum laufen gebracht hast!

  7. Der bond_updelay Parameter ist mir neu, kann mir gut vorstellen dass der mit Abhilfe bringt!

    Bei mir konnte ich ja meist mit einem nachträglichen /etc/init.d/networking restart das System zum laufen bringen, nur beim Neustart lief das Bonding unter Garantie nie.

    Die Version hätte bei mir schon gepasst, daran liegts wohl eher nicht.

    Werds bei nächster Gelegenheit dann mal mit dem bond_updelay austesten!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert