Introduction
Ce document décrit comment configurer LACP avec Netplan sur le serveur C885A-M8.
Informations générales
À partir de BMC, il n'est pas possible d'effectuer des modifications côté réseau, toutes les modifications doivent être effectuées à partir de OS Guest.
Conditions préalables
Composants utilisés
Serveur rack UCS C885A M8
PID: UCSC-885A-M8-H1
Version du micrologiciel: 1.0.28
Commutateurs Nexus 9k
Ubuntu 22.04.5 LTS
Cartes réseau utilisées
BlueField-3 Série P DPU 400 GbE/NDR VPI double port
BlueField-3 E-series SuperNIC 400GbE/NDR port unique
Carte réseau Ethernet Intel(R) X710-T2L pour OCP 3.0
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Vérifiez que la carte réseau n'est pas en mode DPU
Pour garantir un fonctionnement correct, vérifiez que la carte réseau n'est pas en mode DPU. Le protocole LACP (Link Aggregation Control Protocol) n'est pas pris en charge lorsque la carte réseau est en mode DPU. Si nécessaire, convertissez-le en mode NIC.
Étape 1 : Identifier les adresses PCIe
Exécutez la commande suivante pour répertorier les adresses PCIe des ports souhaités :
cisco-tac@C885A-M8:~$ sudo mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
Unloading MST PCI module (unused) - Success
Remarque : Ceci n'est pas obligatoire, mais peut aider à désigner le bon périphérique lorsque vous effectuez des modifications à l'aide de mlxconfig
cisco-tac@C885A-M8:~$ sudo mst status -v
MST modules:
------------
MST PCI module is not loaded
MST PCI configuration module loaded
PCI devices:
------------
DEVICE_TYPE MST PCI RDMA NET NUMA
BlueField3(rev:1) /dev/mst/mt41692_pciconf9 f1:00.0 mlx5_6 net-ens205f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf8 c5:00.0 mlx5_7 net-ens206f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf7 a4:00.0 mlx5_11 net-ens208f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf6 97:00.0 mlx5_10 net-ens207f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf5.1 91:00.1 mlx5_9 net-ens214f1np1 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf5 91:00.0 mlx5_8 net-ens214f0np0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf4 69:00.0 mlx5_0 net-ens202f0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf3 4b:00.0 mlx5_3 net-ens201f0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf2.1 45:00.1 mlx5_2 net-ens214f1np1 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf2 45:00.0 mlx5_1 net-ens211f0np0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf1 2b:00.0 mlx5_5 net-ens203f0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf0 09:00.0 mlx5_4 net-ens204f0 0
Cette commande fournit une liste détaillée des périphériques, ce qui vous permet d'identifier les identificateurs MST et PCI appropriés.
Dans ce scénario, NET net-ens214f1np1 et NET net-ens211f0np0 sont utilisés.
Étape 2 : Vérifier la configuration NIC
À l’aide de l’identificateur MST ou PCI identifié, vérifiez la configuration actuelle de la carte réseau à l’aide de l’une des commandes suivantes :
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
ou
sudo mlxconfig -d /dev/<MST_DEVICE> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
cisco-tac@C885A-M8:~$ sudo sudo mlxconfig -d dev/mst/mt41692_pciconf1 -e q | grep \ 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
Configurations: Default Current Next Boot
INTERNAL_CPU_MODEL EMBEDDED_CPU(1) EMBEDDED_CPU(1) EMBEDDED_CPU(1)
INTERNAL_CPU_OFFLOAD_ENGINE ENABLED(0) ENABLED(0) ENABLED(0)
EXP_ROM_UEFI_ARM_ENABLE True(1) True(1) True(1)
Remarque : Le modèle de CPU et les variables d'activation ARM UEFI nous confirment que la carte est compatible avec le mode DPU
Dans l'exemple ci-dessus :
INTERNAL_CPU_OFFLOAD_ENGINE est défini sur ENABLED\(0\) pour les configurations de démarrage actuel et suivant.
Cela indique que la carte réseau fonctionne actuellement en mode DPU et doit être convertie en mode NIC pour poursuivre la configuration LACP.
Étape 3 : Convertir en mode NIC
Pour convertir la carte réseau en mode NIC, exécutez la commande suivante :
sudo mlxconfig -d 0000:<PCI_ID> s INTERNAL_CPU_OFFLOAD_ENGINE=0
cisco-tac@C885A-M8:~$ sudo mlxconfig -d 0000:45:00.0 s INTERNAL_CPU_OFFLOAD_ENGINE=0
Device #1:
----------
Device type: BlueField3
Name: 900-9D3B6-00SN-A_Ax
Description: NVIDIA BlueField-3 B3240 P-Series Dual-slot FHHL DPU; 400GbE / NDR IB (default mode); Dual-port QSFP112; PCIe Gen5.0 x16 with x16 PCIe extension option; 16 Arm cores; 32GB on-board DDR; integrated BMC; Crypto Disabled
Device: 0000:45:00.0
Configurations: Next Boot New
INTERNAL_CPU_OFFLOAD_ENGINE ENABLED(0) DISABLED(1)
Apply new Configuration? (y/n) [n] : y
Applying... Done!
-I- Please reboot machine to load new configurations.
cisco-tac@C885A-M8:~$ sudo init 0
Remarque : Avec sudo init 0, arrête l'hôte pour s'assurer que la configuration est chargée correctement.
Étape 4 : Redémarrage et vérification de la configuration
Après l’exécution de la commande sudo init 0, le système hôte va s’arrêter. Utilisez le contrôleur BMC (Baseboard Management Controller) pour redémarrer le système d'exploitation hôte.
Une fois que le système est de nouveau en ligne, vérifiez que les modifications de configuration ont été correctement appliquées en exécutant les mêmes commandes de vérification que précédemment :
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
ou
sudo mlxconfig -d /dev/<MST_DEVICE> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
Si la configuration a été correctement appliquée, vous pouvez poursuivre la création de la configuration port-channel, bond ou LAG souhaitée.
Configuration de LACP
Étape 1 : Créer un nouveau fichier de configuration Netplan
La norme actuelle pour la configuration des interfaces sur Ubuntu est Netplan. Pour commencer, vérifiez les fichiers de configuration Netplan YAML existants en exécutant :
ls /etc/netplan/
Par défaut, il n'y a généralement qu'un seul fichier YAML dans le répertoire /etc/netplan/. Les fichiers de configuration Netplan utilisent la convention d’attribution de noms ##-<nom pertinent>.yaml, où ## est un nombre compris entre 01 et 99. Supposons que les fichiers de configuration dont le numéro est le plus faible sont écrasés par les fichiers dont le numéro est le plus élevé en cas de conflit.
Pour vous assurer que vos modifications sont persistantes et organisées, il est recommandé de créer un nouveau fichier YAML au lieu de modifier le fichier par défaut. Si vous modifiez le fichier par défaut, les modifications risquent de ne pas être conservées après un redémarrage. Pour ce guide, nous allons créer un nouveau fichier nommé
51-lacp-config.yaml
Pour créer le nouveau fichier, utilisez la commande suivante :
sudo nano /etc/netplan/51-lacp-config.yaml
Assurez-vous que la numérotation de vos fichiers n'est pas en conflit avec les fichiers existants et qu'elle utilise la hiérarchie appropriée pour éviter tout comportement inattendu.
Voici un exemple de fichier de configuration Netplan YAML (51-lacp-config.yaml) pour configurer LACP avec des VLAN.
cisco-tac@C885A-M8:~$ cat /etc/netplan/51-lacp-config.yaml
network:
ethernets:
ens211f0np0:
mtu: 9000
ens211f1np1:
mtu: 9000
bonds:
bond0:
mtu: 9000
dhcp4: false
dhcp6: false
interfaces:
- ens211f0np0
- ens211f1np1
parameters:
mode: 802.3ad
mii-monitor-interval: 100
vlans:
bond0.2001:
id: 2001
link: bond0
Valeur |
Considération |
Remarques |
Paramètres MTU |
Pour ens211f0np0 et ens211f1np1, le MTU est défini sur 9 000. |
Il est recommandé de définir le MTU sur la valeur la plus élevée nécessaire pour éviter des problèmes de MTU potentiels à l'avenir. Spécifiez toujours la MTU lorsque vous mentionnez une interface |
Mode LACP |
Le paramètre mode est défini sur 802.3ad |
Il s'agit du mode requis pour LACP. D'autres modes de liaison existent mais ne conviennent pas pour LACP |
Configuration VLAN |
La section bond0.2001 crée une sous-interface pour envoyer plusieurs VLAN via la liaison. Le champ id indique l'ID de VLAN (dans ce cas, 2001). Le champ de liaison associe la sous-interface à l’interface liée (bond0) |
Si vous avez plusieurs liaisons dans le même fichier YAML, cela garantit que la configuration correcte est appliquée à la liaison correcte |
Adresse IP et routes |
Le champ d'adresses indique l'adresse IP et le masque de sous-réseau du VLAN (par exemple, 10.10.200.33/27) |
La section routes vous permet de définir toutes les routes que cette interface gère. Bien que l’exemple inclue la route pour 10.10.200.32/27, elle est redondante dans cette configuration de travaux pratiques, mais elle montre comment ajouter plusieurs routes |
Serveurs DNS |
La section nameservers vous permet de spécifier les serveurs DNS (adresses) et les domaines de recherche (recherche) |
Nécessité de fournir les détails du serveur DNS en fonction de l'environnement de travail. |
MTU pour VLAN |
Le champ mtu de la configuration VLAN est défini sur 9000 |
Vous pouvez configurer différentes valeurs MTU sur une base par VLAN si nécessaire |
Champ Version |
Le champ de version à la fin du fichier peut être inclus et défini sur 2 |
Assurez-vous qu'elle est indentée avec deux espaces pour maintenir la syntaxe YAML |
Étape 2 : Application de la configuration
Pour appliquer la nouvelle configuration, exécutez :
sudo netplan apply
Si vous rencontrez des avertissements d'autorisation, ajustez les autorisations de fichier :
sudo chmod 600 /etc/netplan/51-lacp-config.yaml
sudo netplan apply
cisco-tac@C885A-M8:~$ sudo netplan apply
** (generate:140701): WARNING **: 17:10:58.313: Permissions for /etc/netplan/51-lacp-config.yaml are too open. Netplan configuration should NOT be accessible by others.
cisco-tac@C885A-M8:~$ ls -l /etc/netplan/
total 16
-rw------- 1 root root 869 Apr 24 14:26 50-cloud-init.yaml
-rw-r--r-- 1 root root 586 Apr 25 17:10 51-lacp-config.yaml
cisco-tac@C885A-M8:~$ sudo chmod 600 /etc/netplan/51-lacp-config.yaml
cisco-tac@C885A-M8:~$ ls -l /etc/netplan/
total 16
-rw------- 1 root root 869 Apr 24 14:26 50-cloud-init.yaml
-rw------- 1 root root 586 Apr 25 17:10 51-lacp-config.yaml
cisco-tac@C885A-M8:~$ sudo netplan apply
Vérifier
Après avoir appliqué la configuration Netplan et redémarré le système, vérifiez que la configuration LACP fonctionne comme prévu à l'aide des commandes.
1. Vérifiez les détails de l'interface réseau
Utilisez cette commande pour afficher l'état des interfaces réseau :
cisco-tac@C885A-M8:~$ip link show
4: ens211f0np0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 86:a2:e3:01:3d:f2 brd ff:ff:ff:ff:ff:ff permaddr 5c:25:73:3a:9a:fc
altname enp69s0f0np0
5: ens211f1np1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 86:a2:e3:01:3d:f2 brd ff:ff:ff:ff:ff:ff permaddr 5c:25:73:3a:9a:fd
altname enp69s0f1np1
Assurez-vous que les interfaces (ens211f0np0 et ens211f1np1) affichent :
- Maître défini sur bond0, confirmant qu'ils appartiennent à l'interface liée.
- État UP, confirmant que les interfaces sont actives.
- Vérifiez que la valeur mtu est définie sur 9000 comme indiqué dans le fichier YAML.
- Vérifiez que les deux interfaces ont des adresses matérielles valides (permaddr).
2. Confirmer les détails de liaison
Utilisez cette commande pour afficher la configuration de liaison et garantir le bon fonctionnement de LACP :
cisco-tac@C885A-M8:~$cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.15.0-141-generic
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
802.3ad info
LACP active: on
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
Slave Interface: ens211f1np1
MII Status: up
Speed: ****** Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 5c:25:73:3a:9a:fd
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
Slave Interface: ens211f0np0
MII Status: up
Speed: ****** Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 5c:25:73:3a:9a:fc
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
Assurez-vous que le mode de liaison est défini sur l'agrégation de liaisons dynamique IEEE 802.3ad :
- LACP actif : on indique que le protocole LACP est activé.
- Taux LACP : slow reflète le débit LACP configuré, bien qu'il puisse varier en fonction de la configuration.
- Vérifiez les interfaces esclave : Les interfaces ens211f0np0 et ens211f1np1 peuvent apparaître en tant qu'interfaces esclaves sous la liaison.
- État MII : up confirme que les liaisons sont actives.
- Les valeurs d’adresse matérielle permanente doivent correspondre aux adresses matérielles des interfaces respectives.
- Assurez-vous que les deux interfaces esclaves font partie du même ID d'agrégateur (par exemple, ID d'agrégateur : 1).
Dépannage
Si les résultats de la vérification ne correspondent pas aux attentes :
- Recherchez des erreurs ou des paramètres manquants dans le fichier de configuration Netplan YAML.
- Assurez-vous de la prise en charge et de la configuration LACP appropriées sur le commutateur en amont.
- Confirmez que la commande sudo netplan apply s'est terminée correctement
Fiche technique sur le serveur rack Cisco UCS C885A M8
Fiche technique du serveur rack UCS C885A M8