PVE auf HP / Link Bond/LACP <-> ProCurve

MichaWB

New Member
Jan 10, 2025
3
0
1
Hallo liebe Gemeinde,

ich bin in der Thematik recht neu was ProxMox angeht und arbeite mich die letzten Wochen immer mehr in das Thema ein.

Aktuell sieht unsere Konfiguration so aus:
3x HP Server mit je zwei NICs a 2x SFP-Ports
1x HP ProCurve 4208vl Switch
1x Arista Switch

Die 3 Server haben wir als Ceph-Cluster aufgebaut und der läuft soweit ganz gut und reagiert auf Failover so wie erwartet.

Jetzt wollte ich jedoch eine der NIC's so einstellen, dass beide SFP-Ports gemeinsam den Durchsatz bringen und nicht nur ein Port.
Einfach mal an den Switch gesteckt geht wie ich dann erfahren durfte natürlich nicht ;) also weiter in die Thematik reingearbeitet
und mein Wissen darum erweitert, dass man jeweils am Switch und an der NIC die Ports mittels Bond / Trunk Verbinden muss.

Gesagt getan, wieder weiter geschaut - und alles wie folgt eingerichtet:
Code:
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

iface eno49np0 inet manual

iface eno50np1 inet manual

auto ens3f0np0
iface ens3f0np0 inet manual

auto ens3f1np1
iface ens3f1np1 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves ens3f0np0 ens3f1np1
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.251/24
        gateway 192.168.1.3
        bridge-ports bond0 eno1
        bridge-stp off
        bridge-fd 0
#Procurve

auto vmbr1
iface vmbr1 inet static
        address 192.168.10.101/24
        bridge-ports eno49np0 eno50np1
        bridge-stp off
        bridge-fd 0
#Arista

Am ProCurve die beiden Ports mittels Trunk und LACP verbunden:

trunk B21,B23 Trk1 LACP

Wenn ich jetzt nur ein Kabel anstecke bekomm ich folgende Ausgabe:

Code:
ProCurve Switch 4208vl# show lacp

                           LACP

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   B21    Active    Trk1      Up        No        Success
   B23    Active    Trk1      Down      No        Success

Stecke ich jetzt das zweite Kabel an, geht der Port B23 auf UP,
Jedoch bekommt Port B21 dann den Status Blocked und LACP geht auf Failure.

Code:
                           LACP

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   B21    Active    Trk1      Blocked   No        Failure
   B23    Active    Trk1      Up        Yes       Success

Jetzt bin ich leider mit dem Latein am Ende und komm an der Stelle nicht weiter und hoffe, dass
eventuell schon einmal jemand mit dem selben Problem zu kämpfen hatte und einen goldenen Tipp parat hat.
 
Last edited:
Hallo liebe Gemeinde,

ich bin in der Thematik recht neu was ProxMox angeht und arbeite mich die letzten Wochen immer mehr in das Thema ein.

Aktuell sieht unsere Konfiguration so aus:
3x HP Server mit je zwei NICs a 2x SFP-Ports
1x HP ProCurve 4208vl Switch
1x Arista Switch

Die 3 Server haben wir als Ceph-Cluster aufgebaut und der läuft soweit ganz gut und reagiert auf Failover so wie erwartet.

Jetzt wollte ich jedoch eine der NIC's so einstellen, dass beide SFP-Ports gemeinsam den Durchsatz bringen und nicht nur ein Port.
Einfach mal an den Switch gesteckt geht wie ich dann erfahren durfte natürlich nicht ;) also weiter in die Thematik reingearbeitet
und mein Wissen darum erweitert, dass man jeweils am Switch und an der NIC die Ports mittels Bond / Trunk Verbinden muss.
Am besten erst lesen und dann einrichten. ;)
Gesagt getan, wieder weiter geschaut - und alles wie folgt eingerichtet:
Code:
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

iface eno49np0 inet manual

iface eno50np1 inet manual

auto ens3f0np0
iface ens3f0np0 inet manual

auto ens3f1np1
iface ens3f1np1 inet manual

auto bond0
iface bond0 inet manual
        bond-slaves ens3f0np0 ens3f1np1
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.251/24
        gateway 192.168.1.3
        bridge-ports bond0 eno1
[/QUOTE]
Niemals mehrere Uplinks in eine Bridge einbauen, außer du nutzt den Server als Verbindung zwischen 2 Switches (würde ich nie machen), sonst hast du automatisch einen Loop.
[QUOTE="MichaWB, post: 743306, member: 283748"]
        bridge-stp off
        bridge-fd 0
#Procurve

auto vmbr1
iface vmbr1 inet static
        address 192.168.10.101/24
        bridge-ports eno49np0 eno50np1
[/QUOTE]
Auch hier hast du einen Loop gebaut und wenn die Verbindung über Arista für Ceph sein soll, würde ich auch keine Bridge benutzen
[QUOTE="MichaWB, post: 743306, member: 283748"]
        bridge-stp off
        bridge-fd 0
#Arista

Am ProCurve die beiden Ports mittels Trunk und LACP verbunden:

trunk B21,B23 Trk1 LACP

Wenn ich jetzt nur ein Kabel anstecke bekomm ich folgende Ausgabe:

Code:
ProCurve Switch 4208vl# show lacp

                           LACP

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   B21    Active    Trk1      Up        No        Success
   B23    Active    Trk1      Down      No        Success

Stecke ich jetzt das zweite Kabel an, geht der Port B23 auf UP,
Jedoch bekommt Port B21 dann den Status Blocked und LACP geht auf Failure.

Code:
                           LACP

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   B21    Active    Trk1      Blocked   No        Failure
   B23    Active    Trk1      Up        Yes       Success
Das könnte eventuell an dem Loop liegen.
Jetzt bin ich leider mit dem Latein am Ende und komm an der Stelle nicht weiter und hoffe, dass
eventuell schon einmal jemand mit dem selben Problem zu kämpfen hatte und einen goldenen Tipp parat hat.

Ich würde erst einmal die Bridge bereinigen und dann noch einmal testen ob LACP dann sauber läuft.

Für Ceph würde ich auch LACP nutzen, dann aber L3+L4 und hoffentlich habt ihr 2 Switches als Stack oder mit MLAG.
 
  • Like
Reactions: Johannes S
Am besten erst lesen und dann einrichten. ;)
Da gebe ich dir vollkommen recht ;)

Ich habe jetzt die Config wie folgt geändert:
Code:
auto bond0
iface bond0 inet static
        bond-slaves ens3f0np0 ens3f1np1
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2

#ProCurve Bond
auto vmbr0
iface vmbr0 inet static
        address 192.168.1.251/24
        gateway 192.168.1.3
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

Resultat am ProCurve ist leider nach wie vor das gleiche:

Code:
ProCurve Switch 4208vl(config)# show lacp

                           LACP

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   B21    Active    Trk1      Blocked   No        Failure
   B23    Active    Trk1      Up        Yes       Success

Auch das Entfernen der Bridge und setzen der IP direkt auf das Bond hat keinen Erfolg gebracht...


Bezüglich des Ceph:
Dieser läuft auf einem Dedizierten 2. Switch wo nur die drei Server hängen.
Deine Empfehlung ist hier also, noch einen 2. Switch einbinden und die Server zusätzlich
an den 2. Switch als Backup mit verkabeln?
 
Last edited:
Da gebe ich dir vollkommen recht ;)

Ich habe jetzt die Config wie folgt geändert:
Code:
auto bond0
iface bond0 inet static
        bond-slaves ens3f0np0 ens3f1np1
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2
[/QUOTE]
Hast du gecheckt welche LACP Policy am Procurve gesetzt ist? L2 / L2+3 / L3+4
[QUOTE="MichaWB, post: 743527, member: 283748"]
#ProCurve Bond
auto vmbr0
iface vmbr0 inet static
        address 192.168.1.251/24
        gateway 192.168.1.3
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0

Resultat am ProCurve ist leider nach wie vor das gleiche:

Code:
ProCurve Switch 4208vl(config)# show lacp

                           LACP

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   B21    Active    Trk1      Blocked   No        Failure
   B23    Active    Trk1      Up        Yes       Success
Das klingt nach Falscher Verkabelung oder falschem Speed.
Beide NICs müssen die gleiche Geschwindigkeit haben.
B21 geht auf ens3f0np0 und B23 auf ens3f1np1?
Ich installiere gern auf dem PVE lldpd und dann kann man das auch gut kontrollieren.
Auch das Entfernen der Bridge und setzen der IP direkt auf das Bond hat keinen Erfolg gebracht...


Bezüglich des Ceph:
Dieser läuft auf einem Dedizierten 2. Switch wo nur die drei Server hängen.
Deine Empfehlung ist hier also, noch einen 2. Switch einbinden und die Server zusätzlich
an den 2. Switch als Backup mit verkabeln?
Für Ceph nutze ich am liebsten 2 Switches mit MLAG und dann kann man für Ceph ein Bond mit L3+4 bauen.
 
Hallo Falk,

- Speed ist bei beiden gleich
- Aktuell laufen die zum ProCurve auf 1 GB - sind jedoch dabei noch neue SFP Module zu organisieren
- Beide Ports am Server sind auf einer Physischen NIC

Zur Verdeutlichung so ist die aktuelle Verkabelung:

Download (1).png

Das mit dem Paket werde ich bei Gelegenheit versuchen mir morgen mal anzuschauen.

Bzgl. deiner Anmerkung für den Ceph selbst 2 Switche zu nutzen wie sollte da die Verkabelung aussehen?
Bei unserem Beispiel würde ich sagen:
Arista 1 P1 <-> eno49np0
Arista 2 P1 <-> eno50np1

und dann Arista 1 P2 <-> Arista 2 P2 ?

Der Arista läuft im übrigen aktuell bereits mit 10 GB Modulen.
 
Also für Ceph ist 10 GBit das absolute Minimum. Ich installiere nicht mehr unter 25G/100G.
Auf den Arista müsstest du die MLAG Grundkonfiguration machen und am besten über einen LACP Bond die MLAG Peer Verbindung einrichten.
Dann z.B. Port1 auf beiden Switches in MLAG1 setzen und einen LACP Konfigurieren. Bevor du das Produktiv machst, solltest du das mal testen. Wenn es läuft ist es super Robust, aber man kann bei der Konfiguration auch einiges falsch machen.