Synchronisation de configuration sur Nexus - Switch-profile

Il est nécessaire dans certains cas, de configurer des paires de Nexus à l'identique, notamment dans le cas de la configuration de vPC.

Il existe 2 méthodes pour faire cela, soit configurer les 2 Nexus un par un manuellement, soit à l'aide de la synchronisation de configurations, les configurer tous les 2 en une fois depuis l'un ou l'autre des 2 Nexus.

Cet article montre la configuration nécessaire à la mise en place d'une telle synchronisation.

 Configuration vPC

Il est tout d'abord nécessaire de mettre les 2 Nexus en vPC.

! Nexus 1 :

feature vpc
feature lacp

vrf context management
  ip route 0.0.0.0/0 10.1.1.254

interface mgmt0
  ip address 10.1.1.1/24


vpc domain 1
  role priority 1
  peer-keepalive destination 10.1.1.2

interface port-channel1
  description Peer-Link
  switchport
  switchport mode trunk
  spanning-tree port type network
  vpc peer-link

interface Ethernet3/25
  description Peer-Link vers 3/25
  switchport
  switchport mode trunk
  channel-group 1

interface Ethernet3/26
  description Peer-Link vers 3/26
  switchport
  switchport mode trunk
  channel-group 1

! Nexus 2 :

feature vpc
feature lacp

vrf context management
  ip route 0.0.0.0/0 10.1.1.254

interface mgmt0
  ip address 10.1.1.2/24


vpc domain 1
  role priority 2
  peer-keepalive destination 10.1.1.1

interface port-channel1
  description Peer-Link
  switchport
  switchport mode trunk
  spanning-tree port type network
  vpc peer-link

interface Ethernet3/25
  description Peer-Link vers 3/25
  switchport
  switchport mode trunk
  channel-group 1

interface Ethernet3/26
  description Peer-Link vers 3/26
  switchport
  switchport mode trunk
  channel-group 1

 La commande show vpc brief permet de vérifier l'état du vPC configuré ci-dessus :

! Nexus 1 :

Nexus 1# show vpc brief
Legend:
                (*) - local vPC is down, forwarding via vPC peer-link

vPC domain id                     : 1   
Peer status                       : peer adjacency formed ok      
vPC keep-alive status             : peer is alive                 
Configuration consistency status  : success
Per-vlan consistency status       : success                       
Type-2 inconsistency reason       : Consistency Check Not Performed
vPC role                          : primary                       
Number of vPCs configured         : 0   
Peer Gateway                      : Disabled
Dual-active excluded VLANs        : -
Graceful Consistency Check        : Enabled
Auto-recovery status              : Disabled

vPC Peer-link status
---------------------------------------------------------------------
id   Port   Status Active vlans    
--   ----   ------ --------------------------------------------------
1    Po1    up     1                                        

! Nexus 2 :

Nexus 2# show vpc brief
Legend:
                (*) - local vPC is down, forwarding via vPC peer-link

vPC domain id                     : 1   
Peer status                       : peer adjacency formed ok      
vPC keep-alive status             : peer is alive                 
Configuration consistency status  : success
Per-vlan consistency status       : success                       
Type-2 inconsistency reason       : Consistency Check Not Performed
vPC role                          : secondary
Number of vPCs configured         : 0   
Peer Gateway                      : Disabled
Dual-active excluded VLANs        : -
Graceful Consistency Check        : Enabled
Auto-recovery status              : Disabled

vPC Peer-link status
---------------------------------------------------------------------
id   Port   Status Active vlans    
--   ----   ------ --------------------------------------------------
1    Po1    up     1                                        

 

Cisco Fabric Services Over IP

Le protocole Cisco Fabric Services over IP (CFSoIP) transporte la synchronisation de configuration via l'interface de management mgmt 0. Il est donc important de s'assurer que les 2 Nexus sont capables de communiquer entre eux à travers leur interface mgmt 0. CFSoIP n'est pas supporté sur les SVI ni dans la VRF par défaut.

Configuration de l'adresse IP multicast CFSoIP sur chaque Nexus

Pour utiliser CFSoIP afin d'activer la synchronisation de configuration, faire comme décrit ci-dessous. Une adresse dans les scopes 239.255/16, 239.192/16-239.251/16 est nécessaire.

! Nexus 1 :

Nexus 1 (config)# cfs ipv4 mcast-address 239.255.0.1
Distribution over this IP type will be affected
Change multicast address for CFS-IP ?
Are you sure? (y/n)  [n] y
Nexus 1 (config)#

! Nexus 2 :

Nexus 2 (config)# cfs ipv4 mcast-address 239.255.0.1
Distribution over this IP type will be affected
Change multicast address for CFS-IP ?
Are you sure? (y/n)  [n] y
Nexus 2 (config)#

 

Acivation manuelle de CFSoIP sur chaque Nexus

! Nexus 1 :

Nexus 1 (config)# cfs ipv4 distribute

! Nexus 2 :

Nexus 2 (config)# cfs ipv4 distribute

 

Switch Profiles

Depuis la version NX-OS 5.0(2)N1(1) sur Nexus 5000, le mode config-sync autorise la création de Switch Profiles. Un Switch Profil contient la configuration prédéfinie utilisable pour configurer un peer switch de sorte à ce que les deux peers aient la même configuration.
En mode config-sync, le peer et la configuration sont définis dans le profile. Les peers sont identifiés par leur adresse IP et ils sont locaux à chaque profile.
Les commandes entrées en mode config-sync sont mises en tampon tant qu'elles ne sont pas appliquées.

Les commandes passées en mode de configuration ne sont quant à elles appliquées qu'à l'équipement local.

Il est impératif de créer un même Switch Profil sur les deux peer switchs en mode config-sync, cette configuration n'est pas automatiquement synchronisée.
Pour créer un Switch Profil nommé "Profile-vPC-1", taper les commandes suivantes :  

! Nexus 1 :

Nexus-1# configure sync
Enter configuration commands, one per line.  End with CNTL/Z.
Nexus-1(config-sync)# switch-profile Profile-vPC-1
Switch-Profile started, Profile ID is 1
Nexus-1(config-sync-sp)# sync-peers destination 10.1.1.2
Nexus-1(config-sync-sp)#

! Nexus 2 :

Nexus-2# configure sync 
Enter configuration commands, one per line.  End with CNTL/Z.
Nexus-2(config-sync)# switch-profile Profile-vPC-1
Switch-Profile started, Profile ID is 1
Nexus-2(config-sync-sp)# sync-peers destination 10.1.1.1
Nexus-2(config-sync-sp)#

 A la base, dans la version NX-OS 5.0(2)N1(1), un Switch Profil ne pouvait être modifié et appliqué que par son créateur. Depuis il est possible de définir les droits RBAC à un autre utilisateur de sorte à ce qu'il puisse modifier un profile créé par un autre utilisateur mais également pour qu'il puisse l'appliquer.

Une attention particulière est à porter aux clusters vPC dont les peers ne sont pas dans la même version. Le commit est à passer sur l'équipement dont la version est la plus récente de préférence. Lire les datasheets pour plus d'informations. Par ailleurs, le même profile et le même utilisateur doivent exister sur les deux peers.

Pour vérifier la bonne configuration du switch-profile:

! Nexus 1 :

Nexus-1# sh switch-profile peer 

switch-profile : Profile-vPC-1
----------------------------------------------------------
Peer-IP-address : 10.1.1.1
Peer-sync-status : In sync
Peer-status : Commit Success
Peer-error(s) :


L'erreur "Error: Command is not mutually exclusive" peut apparaitre lorsque que la commande a déjà été entrée dans l'autre mode de configuration (configure terminal ou config sync). Pour modifier ou supprimer la configuration, retourner dans le mode dans lequel la configuration a été entrée.

! Nexus 1 :

Nexus-1# conf t
Nexus-1(config)# interface e1/10
Nexus-1(config-if)# no description 
Error: Command is not mutually exclusive

 

La commande commit et le tampon

La configuration entrée en mode config-sync est appliquée à l'aide de la commande commit.

! Nexus 1 :

Nexus-1(config-if)# conf sync 
Nexus-1(config-sync)# switch-profile Profile-vPC-1
Switch-Profile started, Profile ID is 1
Nexus-1(config-sync-sp)# interface e1/1-10
Nexus-1(config-sync-sp-if-range)# description test 
Nexus-1(config-sync-sp-if-range)# commit 
Verification successful...
Proceeding to apply configuration. This might take a while depending on amount of configuration in buffer.
Please avoid other configuration changes during this time.
Commit Successful

Les commandes sont mises en tampon tant que le commit n'a pas été demandé et eu lieu.

La commande show switch-profile buffer permet d'afficher les commandes qui ont été tapées en mode config-sync mais qui n'ont pas été "commitées".

! Nexus 1 :

Nexus-1(config-sync-sp-if)# sh switch-profile buffer

switch-profile : Profile-vPC-1
----------------------------------------------------------
Seq-no Command
----------------------------------------------------------
1 interface e1/1-10
1.1 description test

La commande show running switch-profile permet de vérifier ce qui a été exécuté en mode config-sync.

Les commandes buffer-delete et buffer-move permettent de modifier l'ordre des commandes dans le tampon.

Informations supplémentaires