Cisco Nexus – VPC konfigurieren

Hi All,

heute geht es um das Einrichten eines VPC (Virtual Port-Channel) bei zwei Cisco Nexus 3000 Switchen. In meinem Fall handelt es sich um zwei N3K-C3064PQ-10GE mit 48x 10GB SFP+ und 4x 40GB QSFP+ Interfaces, welche ich als Crossconnection zwischen zwei Clustern konfigurieren will. Für den Datacenter Betrieb ist das VPC Feature Gold wert, denn ohne High-Availability gewinnt man leider keinen Blumentopf… Hier kommen auch gleich die drei Vorteile dieser Topologie:

  • Spanning-Tree (Port-Channel werden vom Spanning-Tree Protokoll als ein Interface erkannt)
  • Bandbreite verdoppelt (beide Interfaces werden aktiv genutzt: 2x 10GB = 20GB)
  • Redundanz (keinerlei Ausfallzeit, wenn ein Interface des Port-Channels wegbrechen sollte, weil aktiv/aktiv)

Ich bin ein sehr großer Fan von schnellen Storages und Netzwerken. Daher kann ich Euch diese Features und Vorgehensweise gar nicht genug ans Herz legen. Die Peer Link Interfaces E1/49 und E1/50 sind zwischen beiden Switchen mit 40GB DAC Kabeln verbunden. Die übrigen Port-Channel (Po10 in meinem Fall) mit jeweils zwei mal 10GB. Der Keep-Alive Link ist ein 20cm Patch Kabel bei dem die Management Ports der beiden Switche direkt miteinander vebunden sind.

Für ein genaueres Verständnis habe ich Euch eine kurze Skizze gezeichnet:

Cisco VPN Diagram

Cisco Nexus: Management IP Adresse für ein VLAN

Stellt eine Verbindung per Console Cable oder SSH zu beiden Switchen her. Um auf den Switch per SSH zu gelangen zeige ich Euch kurz, wie Ihr Eurem vorhandenen VLAN 10 eine inband Management IP Adresse verpassen könnt:

Nexus3k-01(config)# feature interface-vlan
Nexus3k-01(config-if)# interface vlan 10
Nexus3k-01(config-if)# no shutdown
Nexus3k-01(config-if)# ip address 192.168.18.2/24

Um dem VLAN 10 ein Gateway zu geben:

Nexus3k-01(config)# ip route 0.0.0.0/0 vlan 10 192.168.18.1

Hardwareprofil checken

Wichtig ist noch die Hardwareprofil Konfiguration der beiden Switche. In meinem Fall stand ein Gerät auf 64x 10GB, was zur Folge hat, dass die 4x 40GB Ports als Breakout Ports eingestellt waren. Mit diesem Modus und einem Breakout Kabel 1x 40GB auf 4x 10GB (Peitsche) lassen sich 4 SFP+ Devices an einem 40GB Port betreiben. Hier wollen wir aber die maximale Performance zwischen beiden Switchen. Daher folgender Befehl:

Nexus3k-01(config)# hardware profile portmode 48x10g+4x40g

ACHTUNG!! Danach die Konfig speichern und einen Reboot initialisieren.

Nexus3k-01# copy r s
Nexus3k-01# reload

Keep-Alive Link

Der erste Schritt zum VPC ist der Keep-Alive Link:

Nexus3k-01(config)# interface mgmt0
Nexus3k-01(config-if)# ip address 10.10.10.10/30
Nexus3k-01(config-if)# no shutdown

Nexus3k-02(config)# interface mgmt0
Nexus3k-02(config-if)# ip address 10.10.10.20/30
Nexus3k-02(config-if)# no shutdown

Diesen könnt ihr direkt mit folgendem Befehl überprüfen:

Nexus3k-01# ping 10.10.10.20 vrf management

VPC Domain

Nun erstellen wir die VPC Domain:

Nexus3k-01(config)# vpc domain 1
Nexus3k-01(config-vpc-domain)# role priority 1
Nexus3k-01(config-vpc-domain)# peer-keepalive destination 10.10.10.20 source 10.10.10.10 vrf management

Nexus3k-02(config)# vpc domain 1
Nexus3k-02(config-vpc-domain)# role priority 1
Nexus3k-02(config-vpc-domain)# peer-keepalive destination 10.10.10.10 source 10.10.10.20 vrf management

Peer-Link

Einrichten der Peer-Link Interface:

Nexus3k-01(config)# interface ethernet 1/49-50
Nexus3k-01(config-if-range)# channel-group 4096 mode active
Nexus3k-01(config-if-range)# no shutdown

Nexus3k-01(config)# interface port-channel 4096
Nexus3k-01(config-if)# no shutdown
Nexus3k-01(config-if)# switchport
Nexus3k-01(config-if)# switchport mode trunk
Nexus3k-01(config-if)# vpc peer-link

Nexus3k-02(config)# interface ethernet 1/49-50
Nexus3k-02(config-if-range)# channel-group 4096 mode active
Nexus3k-02(config-if-range)# no shutdown

Nexus3k-02(config)# interface port-channel 4096
Nexus3k-02(config-if)# no shutdown
Nexus3k-02(config-if)# switchport
Nexus3k-02(config-if)# switchport mode trunk
Nexus3k-02(config-if)# vpc peer-link

Wieder testen:

show vpc brief

Show VPC brief

Port Config

Hier also exemplarisch die Konfig eines Member Port-Channels. Gesteckt habe ich bei mir einen Switch, aber natürlich funktioniert das auch mit zwei Interfaces eines Servers. Zu beachten ist, dass ihr auf der Gegenseite ebenfalls LACP konfiguriert z.B. auf einem Distributed VMWare Switch oder per Teaming im Windows. Ich benenne gerne die Port-Channel wie die gesteckten Interface:

Nexus3k-01(config)# interface ethernet 1/10
Nexus3k-01(config-if)# channel-group 10 mode active
Nexus3k-01(config-if)# interface port-channel 10
Nexus3k-01(config-if)# switchport
Nexus3k-01(config-if)# switchport mode access
Nexus3k-01(config-if)# switchport access vlan 10
Nexus3k-01(config-if)# vpc 10

Nexus3k-02(config)# interface ethernet 1/10
Nexus3k-02(config-if)# channel-group 10 mode active
Nexus3k-02(config-if)# interface port-channel 10
Nexus3k-02(config-if)# switchport
Nexus3k-02(config-if)# switchport mode access
Nexus3k-02(config-if)# switchport access vlan 10
Nexus3k-02(config-if)# vpc 10

Führt gerne nochmal folgendes aus:

show vpc brief

et voila! =)

Noch eine wichtige Info!!

Ab jetzt wird die VLAN Konfig nur noch auf dem Port-Channel Interface durchgeführt. Hier z.B. einen Trunk Port-Channel auf dem ein Server mit mehreren VLANs terminiert:

Nexus3k-01# sh running-config interface port-channel 20

Output:
interface port-channel20
switchport mode trunk
switchport trunk allowed vlan 100,110,500
spanning-tree port type edge trunk
vpc 10

In diesem Sinne – gutes Gelingen =)

Cheers
Franky