Bündeln zweier HP 2810 Switches per LACP

Das heimische Netzwerk wächst unweigerlich, nachdem ein 24-Port-Switch für alle Netzwerksteckdosen, Server und deren Ports nicht mehr ausreichte, musste ein weiterer bzw. neuer her. Wobei “neu” relativ ist, denn auf dem Gebrauchtmarkt finden sich Geräte, die sich durchaus als Schnäppchen bezeichnen lassen. Zwar haben diese u.U. bereits ein paar Jahre Betrieb hinter sich, aber das vornehmlich in relativ staubarmen Rechenzentren unter guter Klimatisierung. Davon abgesehen sind die einzigen beweglichen Teile die Lüfter, die sich ggf. leicht austauschen lassen.

Meine Wahl fiel auf Switches der Serie HP (bzw. jetzt HPE) 2810, so dass sich nun ein HP ProCurve 2810-48G sowie ein HP ProCurve 2810-24G im Serverschrank befinden. Diese Reihe wird von HP nach wie vor gewartet, die letzte Firmware-Aktualisierung stammt vom Februar 2017. Darüber hinaus gibt HP eine “lebenslange” Garantie, bei der ich mich ausnahmsweise freuen würde, das Garantie-Ende zu erleben, denn laut HPE Warranty Check läuft die Garantie erst im Jahr 2109 (!) aus…

HPE 2810 in Kurzform

Die Switches besitzen gleich mehrere Management-Interfaces. Einerseits lassen sie sich per Web-UI steuern, andererseits bieten sie Zugang per Telnet, woraufhin man die Wahl zwischen einer Kommandozeile (CLI) und einer Steuerung per Menü-Oberfläche hat. Leider hat die Web-UI einige Nachteile, einerseits basiert sie auf Java-Applets, andererseits bildet sie nicht alle Möglichkeiten der CLI ab. Da Java-Applets inzwischen von modernen Browsern nicht mehr oder nur unter Umgehung etlicher Sicherheitsmerkmale und selbst dann nur sehr holprig unterstützt werden, bietet sich die Verwendung einer virtuellen Maschine (VM) an, in der z.B. ein älterer Internet Explorer zum Einsatz kommt. Diese VM sollte insofern auch ausschließlich für den Zugriff auf die Switches eingesetzt werden. Falls man diesen Aufwand scheut oder nicht unbedingt eine grafische Übersicht benötigt, bietet sich der Zugang per Telnet an. Auch das sollte nur im geschützten, internen Netz passieren, da die Datenübertragung bekanntlich unverschlüsselt erfolgt. Zu guter Letzt bieten die Switches noch einen direkten Zugang per serieller Verbindung. SSH lässt sich ebenfalls nutzen, ist per Default jedoch nicht aktiviert. Die sehr umfangreichen Manuals – allein der “Management and Configuration Guide” umfasst über 400 Seiten – geben weitere Hinweise zur Konfiguration. Die Manuals liegen auf dem FTP-Server von HPE, und wie immer helfen Suchmaschinen.

Die Switches lassen sich einfach verbinden, d.h. mit einem normalen Netzwerkkabel, es muss kein Crossover-Kabel sein, dank Auto-MDI-X wird die Verbindung erkannt. Nebenbei erwähnt können die Switches per Stacking gemeinsam bzw. mit einem Zugang verwaltet werden. Sobald zwei oder mehr kompatible Switches im Netzwerk vorhanden sind, werden sie erkannt und lassen sich als Stack einrichten. Anschließend genügt der Zugang auf den Management-Switch, genannt “Commander”, von dort lassen sich die anderen Switches (“Member”) erreichen.

Link Aggregation – Theorie

Die Verbindung mittels eines Netzwerkkabels funktioniert, warum nun eine erweiterte Konfiguration per Link Aggregation? Genaugenommen war dies ein Nebenschauplatz. Einer der Server besitzt vier Netzwerk-Ports, die anderen jeweils zwei. Da lag die Idee des Zusammenschlusses nahe, um dem Traffic zwischen den Servern etwas mehr Bandbreite zur Verfügung zu stellen als die maximalen 1 Gbit/s. Bevor ich mich jedoch an die Konfiguration des Netzwerk-Bonding (auch Bündelung oder Trunking) unter Linux heran gewagt habe, wollte ich dies mit den Switches ausprobieren.

Dazu sollten beim 24-Port-Switch die Ports 23 und 24 genutzt werden, auf dem 48-Port-Switch die Ports 47 und 48. Somit habe ich mich zunächst auf die Suche nach weiteren Informationen begeben, denn für den Begriff Link-Aggregation oder Bündelung von Ethernet-Schnittstellen gibt es bemerkenswert viele Bezeichnungen. Grundlagen dazu finden sich etwa in der Wikipedia, aber auch im Thomas-Krenn-Wiki. Ein Blick in die Feature-Übersicht der HPE 2810-Serie verrät, dass die Switches  das jetzt IEEE 802.1AX (früher IEEE 802.3ad) genannte Link Aggregation Control Protocol (LACP) sowie ein HP-ProCurve-eigenes “Trunking” Protokoll unterstützen.

Um die Begriffsvielfalt noch einmal zu erhöhen, unterscheidet HPE noch einmal zwischen “Dynamic LACP” und “Static LACP”. Kurzum – bei “Dynamic LACP” erfolgt die Aushandlung der Verbindungsparameter durch die beteiligten Partner, im Beispiel durch die beiden Switches. Für den genannten Fall war die Konfiguration von “Dynamic LACP” genau das, was ich gesucht hatte, nicht zuletzt gibt es dazu auch Fragen und Antworten in HPE-Foren (z.B. “Procurve 2810-24g trunking/lacp setup for newbie” oder “How to enable LACP on two ports on a 2810-48G“).

Link Aggregation – Praxis

Glücklicherweise ist die eigentliche Konfiguration einfacher als die Grundlagen es erscheinen lassen. Da die Link Aggregation sich nur per CLI oder Menu einstellen lässt, muss man sich zunächst per Telnet auf einem der Switches einloggen:

$ telnet <switch-IP>

Danach erscheint die Einstiegsmeldung, z.B.:

ProCurve J9021A Switch 2810-24G
Software revision N.11.76

Copyright (C) 1991-2017 Hewlett-Packard Co.  All Rights Reserved.

                           RESTRICTED RIGHTS LEGEND

 Use, duplication, or disclosure by the Government is subject to restrictions
 as set forth in subdivision (b) (3) (ii) of the Rights in Technical Data and
 Computer Software clause at 52.227-7013.

         HEWLETT-PACKARD COMPANY, 3000 Hanover St., Palo Alto, CA 94303

We'd like to keep you up to date about:
  * Software feature updates
  * New product announcements
  * Special events

Please register your products now at:  www.ProCurve.com

Press any key to continue

Anschließend wird im Falle, dass die Switches “gestackt” sind, die Auswahl gegeben, auf welchen der Switches die Verbindung erfolgen soll:

Enter switch number to connect to or <CR>:

  SN MAC Address   System Name      Device Type           Status
  -- ------------- ---------------- --------------------- -------------------------
  0  082e5f-bf17a0 HP Switch 24 ...  ProCurve 2810-24G    Commander Up
  1  f06281-114c00 HP Switch 48 ...  ProCurve 2810-48G    Member Up

Einmal “0” gedrückt und schon befindet man sich auf der Kommandozeile:

HP Switch 24 Port#

Falls die Menüsteuerung aktiv ist, kann aus dem Hauptmenü auf die Kommandozeile “Command Line (CLI)” gewechselt werden. Zwar lässt sich die Konfiguration auch per Menüsteuerung ändern, aber für die folgende Beschreibung verwende ich die Kommandozeile, nicht zuletzt weil etwa “hoch, hoch, hoch bis zum Menüpunkt XYZ, dann Return drücken” dann doch umständlicher ist als die kurze und prägnante Eingabe von Kommandos.

Danach per Eingabe von “config” in den Konfigurationsbereich wechseln. Der entsprechende Bereich wird daraufhin im Prompt angezeigt.

Hinweis: Mit “exit” kommt man zurück in den vorherigen Bereich, alternativ kann “Ctrl-Z” gedrückt werden. Mit “help” steht jeweils eine kontextbezogene Hilfe zur Verfügung.

HP Switch 24 Port# config
HP Switch 24 Port(config)#

Es schadet nicht, sich ein wenig umzusehen, und zwar per “show”-Kommando.

HP Switch 24 Port(config)# show interfaces

 Status and Counters - Port Counters

                                                              Flow  Bcast
  Port    Total Bytes  Total Frames Errors Rx    Drops Rx     Ctrl  Limit
  ------- ------------ ------------ ------------ ------------ ----- ------
  1       0            0            0            0            off   0
[...]
  23      0            0            0            0            off   0
  24      2,225,787... 411,001,633  2            0            off   0

Relevant hierbei ist, dass die Interfaces, d.h. Ports einfach durchnummeriert sind. Zwar lassen sich auch Namen vergeben (siehe “show name”), aber dies wäre hier nicht unbedingt notwendig.

Um nun die Interfaces, d.h. Ports 23 und 24 zu konfigurieren, können sie gemeinsam ausgewählt werden, anschließend erfolgt das Setzen des Parameters für LACP, und zum Schluss muss diese Konfigurationsänderung noch gespeichert werden:

HP Switch 24 Port(config)# interface 23-24
HP Switch 24 Port(eth-23-24)# lacp active
HP Switch 24 Port(eth-23-24)# exit
HP Switch 24 Port(config)# write memory

Das war es bereits! Anstatt einer gemeinsamen Auswahl können die Ports auch einzeln eingerichtet werden, dazu wird zunächst das Interface ausgewählt (“interface 23“), anschließend erfolgt das Kommando zur Parameteränderung, z.B. “lacp active“. Zu beachten ist, dass sich die gemeinsame Auswahl auf einen Interface-Bereich bezieht, d.h. “interface 1-4” würde sich auf die Ports 1,2,3 und 4 auswirken. Auch dabei gilt – Schreiben in das Flash-Memory nicht vergessen!

Dasselbe muss nun auf der Gegenstelle, d.h. dem zweiten Switch wiederholt werden, natürlich mit den entsprechenden Ports, die verbunden werden sollen.

Erst danach sollte das zweite Kabel platziert werden (der nicht ganz ernst gemeinte Versuch, die Switches mittels zweier Kabel ohne jegliche Konfigurationsänderung zu verbinden, endete in Paketkollisionen, entsprechenden Log-Einträgen und dauerhaft leuchtenden anstatt blinkenden LEDs).

Der Status lässt sich natürlich auch prüfen:

HP Switch 24 Port(config)# show lacp

                           LACP

   PORT   LACP      TRUNK     PORT      LACP      LACP
   NUMB   ENABLED   GROUP     STATUS    PARTNER   STATUS
   ----   -------   -------   -------   -------   -------
   23     Active    Dyn1      Up        Yes       Success
   24     Active    Dyn1      Up        Yes       Success

HP Switch 24 Port(config)# show trunks

 Load Balancing

  Port | Name                             Type      | Group Type
  ---- + -------------------------------- --------- + ----- -----
  23   |                                  100/1000T | Dyn1  LACP
  24   |                                  100/1000T | Dyn1  LACP

Fazit

Bleibt die Frage, ob die Verbindung nun wirklich etwa doppelt so viel Datendurchsatz erreicht – das sollte mittels Benchmarks ermittelt werden. Als ich ein wenig später LACP für die Server konfiguriert hatte, ließ sich die Verbesserung des Durchsatzes bestätigen, insofern hatte sich die Änderung durchaus gelohnt. Dazu jedoch später mehr…

Zum Schluss: Die Anfänge haben wie folgt ausgesehen – noch etwas chaotisch und nur mit einem HP 2810-24G:

Bündeln zweier HP 2810 Switches per LACP 1

 

 

 

2 Gedanken zu „Bündeln zweier HP 2810 Switches per LACP“

  1. Hallo, danke f. diese Anleitung.
    Allerdings glaube ich dass hier etwas fehlt, denn wie komme ich dazu dass die als „lacp active“ gesetzten Ports als gemeinsame Gruppe (in diesem Fall ‚Dyn1‘) agieren? Bei Ausführung der hier beschriebenen Vorgehensweise sind die Ports erstmal weiterhin für sich und nicht automatisch in einer Dyn-Gruppe, was dann zu Paketkollissionen usw. führt). Leider findet sich für mich aktuell nirgends eine adäquate Beschreibung wie sich diese Gruppe setzen lässt.

    Funktional nutzbar ist hier aktuell das Setzen einer TrunkGruppe mit fixem LACP oder dem HP-eigenen Trunking-Protokoll. Beides lässt sich aber nicht in Kombination mit dem Befehl „lacp active“ nutzen, das gibt immer Gemeckere dass das so nicht möglich sei. 🤷‍♂️

  2. Hey Jens,
    sobald der Port auf der “Gegenseite” auch einen entsprechenden Link mit LACP active gefunden hat, wechselt die Gruppe automatisch von GrpX auf DynX.

Schreibe einen Kommentar

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

Tags: