Sie sind hier

HP IRF in der Praxis

Der Bedarf nach ausfallsichereren und hochverfügbaren Rechenzentren wächst von Jahr zu Jahr. Ebenso sehen wir eine zunehmende Verbreitung von HP Komponenten im Rechenzentrum. Aus diesem Grund haben wir uns entschieden, die aktuelle Virtualisierungstechnologie IRF (Intelligent Resilient Forwarding) von HP einmal genauer unter die Lupe zu nehmen. Die Kernidee dieser Technologie beruht auf dem Prinzip, mehrere physikalische Switches zu einem logischen, virtuellen Gerät zusammenzufassen. Der virtuelle Switch wird nach Zusammenschluss nur noch über eine einzige IP Adresse angesprochen und hat daher auch nur noch eine einzige Konfiguration, so dass der Konfigurationsaufwand sich stark vereinfacht.

Die Verbindung der Switches untereinander erfolgt meist über 10GB oder 40GB Ethernet Interfaces. In Ausnahmefällen können auch 1GB Ports verwendet werden. Mittels einer speziellen IRF-Konfiguration können die so verbundenen Geräte dann als ein einziges, virtuelles Gerät verwendet werden.

Die Vorteile der IRF Technologie zusammengefasst:

  • Vereinfachung der Netzwerkinfrastruktur

    • Verbessertes Konfigurationsmanagement

  • Zusammenschluss von bis zu neun Switches mittels IRF-Verbindungen

  • Hohe Performance

    • Keine Switching-Schleifen

    • Keine geblockten Ports durch Spanning Tree

  • Schnelle Konvergenzzeit im Falle eines Failovers (lt. Hersteller unter 50ms)

Wir haben diese Technologie im Labor aufgebaut. Im folgenden wollen wir zeigen, wie sie implementiert ist und mit welchen Konvergenzzeiten in der Praxis zu rechnen ist.

Konfiguration IRF

Für die Installation eines IRF-Systems werden HP Switches mit dem „Comware“ Betriebssystem (vormals Switches der sog. „A-Serie“) benötigt. Diese Reihe wurde ursprünglich von H3C entwickelt und wird nun unter dem Dach von HP Networking vertrieben. Darunter fallen die folgenden Systeme: 5500, 5700, 5800, 5900 und auch alle modularen Systeme der 7500, 10500 und 12000er Serien. In unserem Beispiel verwenden wir zwei HP A5820er (JG219A) mit der Softwareversion 5.20.105, Release 1808P22.

Wer bisher keine Erfahrungen mit dem Comware 5 CLI gemacht hat, dem sei der HP Networking and Cisco CLI Reference Guide als Nachschlagewerk empfohlen.

Am Anfang befinden sich beide Switches im Auslieferungszustand (Abbildung 1). Einzig die Systemnamen wurden zwecks besserer Unterscheidungsmöglichkeit angepasst.

Abbildung 1: Der Ausgangszustand

Da das IRF Protokoll auf einem Master-Slave Modell beruht, besteht der erste Schritt darin, die Rollen zu verteilen. Der Master-Switch verwaltet primär den Switch-Verbund, während ein oder mehrere Slave-Switches gleichfalls dem Verbund angehören und nach Bedarf (bei einem Ausfall des Masters) Funktionen des Masters übernehmen. Über die Rolle entscheidet die konfigurierbare IRF Priorität. Die Priorität kann einen Dezimalwert im Bereich von 1 bis 32 annehmen – der Switch mit der höchsten Priorität wird dann als Master selektiert.

Da wir in unserem Beispiel nur zwei Switches in einem IRF unterbringen müssen, wählen wir für den Master (HP1) die Priorität 10 und belassen die Priorität für den Slave (HP2) bei der Standardeinstellung, der Priorität 1.

[HP1]irf member 1 priority 10

Darauf folgt die Konfiguration des eigentlichen IRF-Verbunds. Zuerst fährt man die zukünftigen IRF-Schnittstellen herunter, um diese als logische IRF-Schnittstellen festzulegen.

Für unser Beispiel sollen die ersten beiden 10 Gigabit Schnittstellen als IRF Port verwendet werden (Abbildung 2).

Abbildung 2: IRF Verbund

Da die Geräte direkt übereinander stehen, verwenden wir für die IRF Ports sog. „Direct Attached Cable“. Diese Variante ist auch im Rechenzentrum eine kostengünstige Alternative für Kabellängen von weniger als 15 Metern:

Abbildung 3: Testaufbau mit „Direct Attached Cables“

[HP1]interface Ten-GigabitEthernet 1/0/1
[HP1-Ten-GigabitEthernet1/0/1]shutdown
[HP1-Ten-GigabitEthernet1/0/1]quit
[HP1]interface Ten-GigabitEthernet 1/0/2
[HP1-Ten-GigabitEthernet1/0/2]shutdown

Erstellen der logischen IRF-Ports:

[HP1]irf-port 1/2
[HP1-irf-port1/2]port group interface Ten-GigabitEthernet 1/0/1
[HP1-irf-port1/2]port group interface Ten-GigabitEthernet 1/0/2

Danach wechselt man auf die Slaves und führt dort ein sogenanntes Renumbering durch. Dies ist notwendig, um die Schnittstellen der Geräte, später im Verbund, dediziert ansprechen zu können. Standardmäßig werden die Schnittstellen wie folgt angesprochen:

interface Ten-GigabitEthernet 1/0/X

wobei das „X“ ein Platzhalter für die eigentliche Schnittstelle darstellt. Deshalb werden beim Renumbering die Schnittstellenbezeichnungen an die zukünfigte IRF-Struktur angepasst:

interface Ten-GigabitEthernet Y/0/X

wobei „Y“ die neue Member-ID des Switches im Verbund darstellt. Der Master sollte standardmäßig die „1“ bekommen.

Achtung: Member-ID und IRF-Priorität stehen nicht im Zusammenhang!

[HP2]irf member 1 renumber 2

Die Member ID lässt sich übrigens auch am Gerät ablesen (Abbildung 4).

Abbildung 4: IRF Verbund

Nachdem das Renumbering bei den zukünftigen Slaves abgeschlossen ist, werden auch hier die logischen IRF-Schnittstellen definiert. An dieser Stelle sei noch einmal gesagt, dass diese eine 10Gbps-SFP+ Verbindung voraussetzt und redundant ausgelegt werden sollte. Abschließend werden bei allen Geräten die logischen IRF-Schnittstellen hochgefahren und verkabelt. Dies geht einher mit einem Neustart aller Geräte, wodurch schließlich der IRF-Verbund hergestellt wird.

Bei der Auswahl der IRF Port Nummer ist es wichtig, dass diese noch nicht auf Switch 1 verwendet wurde:

[HP2]irf-port 2/1
[HP2-irf-port2/1]port group interface Ten-GigabitEthernet 2/0/1
[HP2-irf-port2/1]port group interface Ten-GigabitEthernet 2/0/2

Hochfahren der IRF-Schnittstellen:

[HP2]interface Ten-GigabitEthernet 2/0/1
[HP2-Ten-GigabitEthernet2/0/1]undo shutdown
[HP2-Ten-GigabitEthernet2/0/1]quit
[HP2]interface Ten-GigabitEthernet 2/0/2
[HP2-Ten-GigabitEthernet2/0/2]undo shutdown

Aktivieren des IRF-Verbunds auf IRF-Switch 2:

[HP2]irf-port-configuration active

Konfiguration speichern:

[HP2]save force

Wechseln auf den ersten IRF-Switch und mit der Konfiguration fortfahren:

Hochfahren der IRF-Schnittstellen:

[HP1]interface Ten-GigabitEthernet 1/0/1
[HP-Ten-GigabitEthernet1/0/1]undo shutdown
[HP-Ten-GigabitEthernet1/0/1]quit
[HP1]interface Ten-GigabitEthernet 1/0/2
[HP-Ten-GigabitEthernet1/0/2]undo shutdown

Aktivieren des IRF-Verbunds auf IRF-Switch 1:

[HP1]irf-port-configuration active
%Apr 26 12:32:10:524 2000 HP STM/6/STM_LINK_STATUS_UP:
IRF port 2 is up.
%Apr 26 12:32:10:834 2000 HP STM/4/STM_LINK_RECOVERY:

An dieser Stelle wird ein Reboot des HP 2 Switches durchgeführt.

Nach dem Neustart sollte sich der Verbund wie ein logisches Gerät verhalten. Sie können diesen Umstand verifizieren, in dem Sie Ihr Konsolenkabel abwechselnd an beide Konsolenports anschließen.

Der Systemname ist identisch, egal, welchen Konsolenport Sie wählen. Auch die Konfiguration stimmt bei beiden überein.

[HP1]display irf
MemberID  Role  Priority  CPU-Mac          Description
  *1     Master  10       4431-9275-f84b  -----
  +2     Slave   1        4431-9275-ffec  -----
--------------------------------------------------

* indicates the device is the master.
+ indicates the device through which the user logs in.

The Bridge MAC of the IRF is: 4431-9275-f84a
Auto upgrade                : yes
Mac persistent              : 6 min
Domain ID                   : 0

[HP1]display irf topology
Topology Info
--------------------------------------------------------------------
               IRF-Port1                IRF-Port2
MemberID    Link       neighbor       Link       neighbor     Belong To
 1          DIS        --             UP         2            4431-9275-f84b
 2          UP         1              DIS        --           4431-9275-f84b
[HP1]dis irf configuration
MemberID  NewID     IRF-Port1                    IRF-Port2
  1       1         disable                      Ten-GigabitEthernet1/0/1
                                                 Ten-GigabitEthernet1/0/2
  2       2         Ten-GigabitEthernet2/0/1     disable
                    Ten-GigabitEthernet2/0/2

MAD (Multiple Active Master Detection)

Bei der Konfiguration eines IRF-Systems ist MAD (Multiple Active Master Detection) notwendig, um im Fehlerfall zu verhindern, dass es mehrere Master-Switches gibt (sog. „Split-Stack-Situation“). MAD lässt sich über verschiedene Protokolle realisieren. Typisch sind LACP, BFD, ND sowie ARP.

Die Funktionsweise von MAD ist einfach zu verstehen und sehr wichtig für den Betrieb eines IRF-Verbunds. Verständlicher wird es bei der kurzen Erläuterung zweier Beispiele:

  1. Angenommen die Kabel oder Schnittstellen, die für die IRF-Verbindung zuständig sind, fallen aus, dann kann der Slave mittels MAD erkennen, dass der Master noch online ist und es sich „nur“ um einen Ausfall der IRF-Verbindung handeln kann. Der Slave schaltet in den passiven Modus und fährt alle Schnittstellen herunter.

  2. Nehmen wir nun an, dass der Master einen Ausfall hat. Somit fällt wie im vorherigen Beispiel natürlich auch die IRF-Verbindung zwischen den Partnern aus. Allerdings fallen auch die Schnittstellen aus, die für MAD verantwortlich sind. Somit erkennt der Slave, dass der Master ausgefallen ist. Es übernimmt seinen Platz und die Netzwerkkonnektivität kann aufrechterhalten werden.

Nach der eigentlichen IRF-Konfiguration muss immer noch eine geeignete MAD-Variante implementiert werden.

Abbildung 5: IRF Verbund mit MAD Implementierung

In diesem konkreten Fall befassen wir uns mit der BFD MAD Methode, die auf dem BFD-Protokoll (Bidirectional Forwarding Detection) basiert und einen dedizierten Link zwischen den beiden Geräten erfordert (Abbildung 5). Dieser Link darf nicht durch STP blockiert werden und sollte ausschließlich für BFD verwendet werden!

Zunächst wird für MAD ein dediziertes Kommunikations-VLAN auf dem Verbund erstellt:

[HP1]vlan 100 [HP1-vlan100]quit

Anschließend werden dann MAD IP-Adressen vergeben:

[HP1]interface Vlan-interface 100
[HP1-Vlan-interface100]mad bfd enable
[HP1-Vlan-interface100]mad ip address 100.100.100.1 255.255.255.0 member 1
[HP1-Vlan-interface100]mad ip address 100.100.100.2 255.255.255.0 member 2

Zuweisen von Interfaces für das MAD BFD VLAN:

[HP1]interface Ten-GigabitEthernet 1/0/13
[HP1-Ten-GigabitEthernet1/0/13]port link-mode bridge
[HP1-Ten-GigabitEthernet1/0/13]port access vlan 100
[HP1-Ten-GigabitEthernet1/0/13]stp disable
[HP1-Ten-GigabitEthernet1/0/13]quit
[HP1]interface Ten-GigabitEthernet 2/0/13
[HP1-Ten-GigabitEthernet2/0/13]port link-mode bridge
[HP1-Ten-GigabitEthernet2/0/13]port access vlan 100
[HP1-Ten-GigabitEthernet2/0/13]stp disable
[HP1]display mad verbose
Current MAD status: Detect
Excluded ports(configurable):
Excluded ports(can not be configured):
  Ten-GigabitEthernet1/0/1
  Ten-GigabitEthernet1/0/2
  Ten-GigabitEthernet2/0/1
  Ten-GigabitEthernet2/0/2
MAD ARP disabled.
MAD LACP disabled.
MAD BFD enabled interface:
  Vlan-interface100
    mad ip address 100.100.100.1 255.255.255.0 member 1
    mad ip address 100.100.100.2 255.255.255.0 member 2

Abschließend ist das System voll funktionsfähig und einsatzbereit.

Konfiguration von LACP

Um einen Ende-zu-Ende Failover Test durchführen zu können, haben wir noch zwei weitere Switches an den IRF-Cluster angeschlossen (Abbildung 6). An diesen Switches befinden sich dann die Endgeräte, mit denen die Ausfallzeit bestimmt wird.

Abbildung 6: Der vollständige Testaufbau

Die Switches werden mit Hilfe des LACP Protokolls angebunden.

Erstellen zweier Bridge-Aggregation Schnittstellen:

[HP1]interface Bridge-Aggregation 1
[HP1-Bridge-Aggregation1]link-aggregation mode dynamic
[HP1]interface Bridge-Aggregation 2
[HP1-Bridge-Aggregation2]link-aggregation mode dynamic

Schnittstellen zuweisen (Bridge-Aggregation 1 => Switch 1):

[HP1]interface Ten-GigabitEthernet 1/0/23
[HP1-Ten-GigabitEthernet1/0/23]port link-mode bridge
[HP1-Ten-GigabitEthernet1/0/23]port link-aggregation group 1
[HP1-Ten-GigabitEthernet1/0/23]quit
[HP1]interface Ten-GigabitEthernet 2/0/23
[HP1-Ten-GigabitEthernet2/0/23]port link-mode bridge
[HP1-Ten-GigabitEthernet2/0/23]port link-aggregation group 1

Schnittstellen zuweisen (Bridge-Aggregation 2 => Switch 2):

[HP1]interface Ten-GigabitEthernet 1/0/24
[HP-Ten-GigabitEthernet1/0/24]port link-mode bridge
[HP1-Ten-GigabitEthernet1/0/24]port link-aggregation group 2
[HP1-Ten-GigabitEthernet1/0/24]quit
[HP1]interface Ten-GigabitEthernet 2/0/24
[HP1-Ten-GigabitEthernet2/0/24]port link-mode bridge
[HP1-Ten-GigabitEthernet2/0/24]port link-aggregation group 2

Nun kann das IRF-System mit den beiden Switches auf der Abbildung verbunden werden.

Failover Tests

Zur Überprüfung wie schnell eine Verbindung nach Ausfall eines Switches wiederhergestellt werden kann, greifen wir auf eine selbstentwickelte Software zurück. Diese ermöglicht es uns die Konvergenzzeiten im Bereich von Millisekunden zu ermitteln.

Zum Test haben wir dazu den Switch HP1 ausgeschaltet und dann die Zeit gemessen, die verstreicht, bis die Netzwerkverbindung auf IP Ebene wieder funktionsfähig ist. Das Ganze haben wir 30 Mal wiederholt. Die Ergebnisse sind in folgender Tabelle zusammengefasst:

  LACP + IRF Messergebnisse
Anzahl Messreihen 30
Erkannte Failover 22
Pakete pro Sekunde (ø) 841
Gesendete Pakete pro Messreihe (ø) 4818
Empfangene Pakete (ø) 4654
Paketverlust (ø) 164
Failoverzeit (ø) 0,306 Sekunden

Der Durchschnitt über alle erkannte Failover lag bei 0,3 Sekunden. Dies liegt zwar über den von HP veröffentlichten Zahlen von 50 Millisekunden. Allerdings fließt in diesen Messaufbau auch die Konvergenzzeit des LACP mit ein. Da es sich bei diesem Aufbau um ein Best-Practice Design handelt, sollten diese Werte auch in der Praxis zu sehen sein.