Introduzione
Questo documento descrive le informazioni su come configurare LACP con Netplan sul server C885A-M8.
Premesse
Dal BMC, non è possibile apportare modifiche sul lato rete, tutte le modifiche devono essere effettuate dal guest del sistema operativo.
Prerequisiti
Componenti usati
Server rack UCS C885A M8
PID: UCS-885A-M8-H11
Versione firmware: 1.0.28
Switch Nexus 9k
Ubuntu 22.04.5 TS
Schede di rete utilizzate
BlueField-3 serie P DPU 400GbE/NDR VPI a due porte
BlueField-3 serie E SuperNIC 400GbE/NDR a una porta
Scheda di rete Ethernet Intel(R) X710-T2L per OCP 3.0
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Verificare che la scheda NIC non sia in modalità DPU
Per garantire il corretto funzionamento, verificare che la scheda NIC non sia in modalità DPU. Il protocollo LACP (Link Aggregation Control Protocol) non è supportato quando la scheda NIC è in modalità DPU. Se necessario, convertirlo in modalità NIC.
Passaggio 1: Individuazione indirizzi PCIe
Eseguire il comando per elencare gli indirizzi PCIe per le porte desiderate:
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
Nota: Questa operazione non è necessaria, ma può essere utile per designare il dispositivo corretto quando si apportano modifiche utilizzando 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
Questo comando fornisce un elenco dettagliato dei dispositivi, consentendo di identificare gli identificatori MST e PCI appropriati.
In questo scenario vengono utilizzati NET net-ens214f1np1 e NET -ens211f0np0.
Passaggio 2: Verifica configurazione NIC
Utilizzando l'identificatore MST o PCI identificato, verificare la configurazione NIC corrente con uno dei seguenti comandi:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
o
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)
Nota: Il modello della CPU e la funzione ARM UEFI abilita le variabili confermano che la scheda supporta la modalità DPU
Nell'esempio precedente:
INTERNAL_CPU_OFFLOAD_ENGINE è impostato su ENABLED\(0\) per le configurazioni di avvio corrente e successiva.
Ciò indica che la scheda NIC sta funzionando in modalità DPU e deve essere convertita in modalità NIC per procedere con la configurazione LACP.
Passaggio 3: Converti in modalità NIC
Per convertire la scheda NIC in modalità NIC, eseguire il comando:
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
Nota: Con sudo init 0, arresta l'host per garantire il corretto caricamento della configurazione.
Passaggio 4: Riavvio e verifica della configurazione
Dopo l'esecuzione del comando sudo init 0, il sistema host verrà arrestato. Utilizzare il Baseboard Management Controller (BMC) per riavviare il sistema operativo host.
Una volta che il sistema è tornato online, verificare che le modifiche alla configurazione siano state applicate correttamente eseguendo gli stessi comandi di verifica mostrati in precedenza:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
o
sudo mlxconfig -d /dev/<MST_DEVICE> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
Se la configurazione è stata applicata correttamente, è possibile procedere con la creazione della configurazione del canale della porta, del collegamento o del LAG desiderata.
Configurazione di LACP
Passaggio 1: Crea un nuovo file di configurazione NetPlan
Lo standard corrente per la configurazione delle interfacce su Ubuntu è Netplan. Per iniziare, controllare i file di configurazione YAML Netplan esistenti eseguendo:
ls /etc/netplan/
Per impostazione predefinita, nella directory /etc/netplan/ è in genere presente un solo file YAML. I file di configurazione Netplan utilizzano la convenzione di denominazione ##-<nome rilevante>.yaml, dove ## è un numero compreso tra 01 e 99. In caso di conflitti, i file di configurazione con numeri inferiori vengono sovrascritti dai file con numeri più alti.
Per garantire che le modifiche siano permanenti e organizzate, è consigliabile creare un nuovo file YAML anziché modificare quello predefinito. Se si modifica il file predefinito, esiste il rischio che le modifiche non vengano mantenute dopo un riavvio. Per questa guida verrà creato un nuovo file denominato
51-lacp-config.yaml.
Per creare il nuovo file, utilizzare il comando:
sudo nano /etc/netplan/51-lacp-config.yaml
Assicurarsi che la numerazione dei file non sia in conflitto con i file esistenti e che utilizzi la gerarchia appropriata per evitare comportamenti imprevisti.
Questo è un esempio di file di configurazione Netplan YAML (51-lacp-config.yaml) per impostare un LACP con 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
Valore |
Considerazioni |
Osservazioni |
Impostazioni MTU |
Per ens211f0np0 e ens211f1np1, l'MTU è impostata su 9000. |
Si consiglia di impostare l'MTU sul valore più alto necessario per evitare potenziali problemi di MTU in futuro. Specificare sempre l'MTU quando si parla di un'interfaccia |
Modalità LACP |
Il parametro mode è impostato su 802.3ad |
Questa è la modalità richiesta per LACP. Esistono altre modalità di legame, ma non sono adatte per LACP |
Configurazione VLAN |
La sezione bond0.2001 crea una sottointerfaccia per l'invio di più VLAN tramite il collegamento. Il campo id specifica l'ID VLAN (in questo caso, 2001). Il campo del collegamento associa la sottointerfaccia all'interfaccia collegata (bond0) |
Se nello stesso file YAML sono presenti più bond, la configurazione corretta viene applicata al bond corretto |
Indirizzo IP e percorsi |
Il campo address specifica l'indirizzo IP e la subnet mask per la VLAN (ad esempio, 10.10.200.33/27) |
La sezione route consente di definire tutte le route gestite dall'interfaccia. Sebbene l'esempio includa la route per 10.10.200.32/27, è ridondante in questa configurazione lab, ma mostra come aggiungere più route |
Server DNS |
La sezione server dei nomi consente di specificare i server DNS (indirizzi) e i domini di ricerca (ricerca) |
È necessario fornire i dettagli del server DNS in base all'ambiente di lavoro. |
MTU per VLAN |
Il campo mtu nella configurazione VLAN è impostato su 9000 |
Se necessario, è possibile configurare valori MTU diversi per singola VLAN |
Campo Version |
È possibile includere il campo della versione alla fine del file e impostarlo su 2 |
Assicurarsi che sia rientrato con due spazi per mantenere la sintassi YAML |
Passaggio 2: Applicazione della configurazione
Per applicare la nuova configurazione, eseguire:
sudo netplan apply
Se vengono visualizzati avvisi relativi alle autorizzazioni, modificare le autorizzazioni del file:
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
Verifica
Dopo aver applicato la configurazione Netplan e aver riavviato il sistema, verificare che l'installazione LACP funzioni come previsto utilizzando i comandi.
1. Controllare i dettagli dell'interfaccia di rete
Utilizzare questo comando per visualizzare lo stato delle interfacce di rete:
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
Verificare che le interfacce (ens211f0np0 e ens211f1np1) mostrino:
- Master impostato su bond0, per confermare che appartengono all'interfaccia collegata.
- Impostare lo stato su UP, per confermare che le interfacce sono attive.
- Confermare che il valore mtu sia impostato su 9000 come specificato nel file YAML.
- Verificare che entrambe le interfacce abbiano indirizzi hardware validi (permaddr).
2. Conferma dettagli collegamento
Utilizzare questo comando per visualizzare la configurazione di legame e garantire il corretto funzionamento di 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
Assicurarsi che la modalità di collegamento sia impostata su Aggregazione di collegamento dinamico IEEE 802.3ad:
- LACP attivo: on indica che il protocollo LACP è abilitato.
- Tariffa LACP: lento riflette la frequenza LACP configurata, anche se può variare in base all'impostazione.
- Verificare le interfacce slave: Sia ens211f0np0 che ens211f1np1 possono apparire come interfacce slave sotto il collegamento.
- Stato MII: up conferma che i collegamenti sono attivi.
- I valori dell'indirizzo HW permanente devono corrispondere agli indirizzi hardware delle rispettive interfacce.
- Assicurarsi che entrambe le interfacce slave facciano parte dello stesso ID di Aggregator (ad esempio, ID di Aggregator: 1).
Risoluzione dei problemi
Se i risultati della verifica non corrispondono alle aspettative:
- Controllare il file di configurazione YAML Netplan per individuare eventuali errori o parametri mancanti.
- Verificare che lo switch a monte supporti e configuri correttamente il protocollo LACP.
- Confermare il completamento del comando sudo netplan apply
Scheda tecnica del server rack Cisco UCS C885A M8
Scheda tecnica del server rack UCS C885A M8