Inleiding
In dit document wordt informatie beschreven over het configureren van LACP met Netplan op de C885A-M8-server.
Achtergrondinformatie
Vanuit BMC is het niet mogelijk om wijzigingen aan de netwerkzijde aan te brengen, alle wijzigingen moeten worden uitgevoerd vanuit OS Guest.
Voorwaarden
Gebruikte componenten
UCS C885A M8-rackserver
PID: UCSC-885A-M8-H11
Firmwareversie: 1.0.28
Nexus 9k-Switches
Ubuntu 22.04.5 LTS
Netwerkkaarten gebruikt
BlueField-3 DPU 400 GbE/NDR VPI uit de P-reeks met twee poorten
BlueField-3 SuperNIC uit de E-reeks, 400 GbE/NDR, met één poort
Intel(R) Ethernet-netwerkadapter X710-T2L voor OCP 3.0
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Controleren of NIC niet in DPU-modus staat
Controleer of de NIC zich niet in de DPU-modus bevindt om de juiste functionaliteit te garanderen. Het Link Aggregation Control Protocol (LACP) wordt niet ondersteund wanneer de NIC zich in de DPU-modus bevindt. Indien nodig converteren naar de NIC-modus.
Stap 1: PCIe-adressen identificeren
Voer de opdracht uit om de PCIe-adressen voor de gewenste poorten weer te geven:
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
Opmerking: dit is niet vereist, maar kan helpen bij het aanwijzen van het juiste apparaat bij het aanbrengen van wijzigingen met 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
Deze opdracht biedt een gedetailleerde lijst van apparaten, zodat u de juiste MST- en PCI-identificatoren kunt identificeren.
In dit scenario worden NET net-ens214f1np1 en NET net-ens211f0np0 gebruikt.
Stap 2: Controleer de NIC-configuratie
Controleer met behulp van de geïdentificeerde MST- of PCI-id de huidige NIC-configuratie met een van de volgende opdrachten:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
of
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)
Opmerking: Het CPU-model en de ARM UEFI maken variabelen mogelijk om ons te bevestigen dat de kaart geschikt is voor de DPU-modus
In het voorbeeld hierboven:
INTERNAL_CPU_OFFLOAD_ENGINE is ingesteld op ENABLED\(0\) voor de huidige en volgende opstartconfiguraties.
Dit geeft aan dat de NIC momenteel werkt in de DPU-modus en moet worden geconverteerd naar de NIC-modus om verder te gaan met de LACP-configuratie.
Stap 3: Converteren naar NIC-modus
Als u de NIC naar de NIC-modus wilt converteren, geeft u de opdracht:
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
Opmerking: met sudo init 0 schakelt u de host uit om ervoor te zorgen dat de configuratie op de juiste manier wordt geladen.
Stap 4: Opnieuw opstarten en configuratie controleren
Na het uitvoeren van de sudo init 0-opdracht wordt het hostsysteem afgesloten. Gebruik de Baseboard Management Controller (BMC) om het besturingssysteem van de host opnieuw op te starten.
Als het systeem weer online is, controleert u of de configuratiewijzigingen met succes zijn toegepast door dezelfde verificatieopdrachten uit te voeren als eerder getoond:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
of
sudo mlxconfig -d /dev/<MST_DEVICE> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
Als de configuratie met succes is toegepast, kunt u doorgaan met het maken van de gewenste poort-kanaal-, bond- of LAG-configuratie.
LACP configureren
Stap 1: Een nieuw configuratiebestand voor Netplan maken
De huidige standaard voor het configureren van interfaces op Ubuntu is Netplan. Controleer om te beginnen de bestaande Netplan YAML-configuratiebestanden door het volgende uit te voeren:
ls /etc/netplan/
Standaard is er meestal slechts één YAML-bestand in de map /etc/netplan/. Netplan-configuratiebestanden gebruiken de naamgevingsconventie ##-<relevante naam>.yaml, waarbij ## een getal is tussen 01 en 99. Houd er rekening mee dat de configuratiebestanden met lagere nummers worden overschreven door bestanden met hogere nummers als er conflicten zijn.
Om ervoor te zorgen dat uw wijzigingen permanent en georganiseerd zijn, wordt het aanbevolen om een nieuw YAML-bestand te maken in plaats van het standaardbestand te bewerken. Als u het standaardbestand wijzigt, bestaat het risico dat de wijzigingen niet worden voortgezet na het opnieuw opstarten. Voor deze handleiding maken we een nieuw bestand met de naam
51-lacp-config.yaml.
Als u het nieuwe bestand wilt maken, gebruikt u de opdracht:
sudo nano /etc/netplan/51-lacp-config.yaml
Zorg ervoor dat uw bestandsnummering niet in strijd is met bestaande bestanden en gebruik de juiste hiërarchie om onverwacht gedrag te voorkomen.
Dit is een voorbeeld van een Netplan YAML-configuratiebestand (51-lacp-config.yaml) voor het instellen van LACP met VLAN's.
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
Waarde |
consideratie |
Opmerkingen |
MTU-instellingen |
Voor ens211f0np0 en ens211f1np1 is de MTU ingesteld op 9000. |
Het wordt aanbevolen om de MTU in te stellen op de hoogste waarde die nodig is om mogelijke MTU-problemen in de toekomst te voorkomen. Geef altijd de MTU op wanneer u een interface vermeldt |
LACP-modus |
De parameter mode is ingesteld op 802.3ad |
Dit is de vereiste modus voor LACP. Andere bindingsmodi bestaan, maar zijn niet geschikt voor LACP |
VLAN-configuratie |
De sectie bond0.2001 maakt een subinterface voor het verzenden van meerdere VLAN's via de binding. In het veld id wordt de VLAN-ID opgegeven (in dit geval 2001). Het koppelingsveld koppelt de subinterface aan de gekoppelde interface (bond0) |
Als u meerdere bindingen in hetzelfde YAML-bestand hebt, zorgt dit ervoor dat de juiste configuratie wordt toegepast op de juiste binding |
IP-adres en routes |
In het veld Adressen worden het IP-adres en het subnetmasker voor het VLAN opgegeven (bijvoorbeeld 10.10.200.33/27) |
In het gedeelte Routes kunt u routes definiëren die door deze interface worden verwerkt. Hoewel het voorbeeld de route voor 10.10.200.32/27 bevat, is deze redundant in deze laboratoriumopstelling, maar laat zien hoe u meerdere routes kunt toevoegen |
DNS-servers |
In het gedeelte nameservers kunt u DNS-servers (adressen) en zoekdomeinen (zoeken) opgeven |
Noodzaak om DNS-servergegevens op te geven op basis van werkomgeving. |
MTU voor VLAN |
Het mtu-veld in de VLAN-configuratie is ingesteld op 9000 |
Indien nodig kunt u verschillende MTU-waarden per VLAN configureren |
Versieveld |
Het versieveld aan het einde van het bestand kan worden opgenomen en ingesteld op 2 |
Zorg ervoor dat dit is ingesprongen met twee spaties om de YAML-syntaxis te behouden |
Stap 2: De configuratie toepassen
Als u de nieuwe configuratie wilt toepassen, voert u het volgende uit:
sudo netplan apply
Als u machtigingswaarschuwingen tegenkomt, past u de bestandsmachtigingen aan:
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
Verifiëren
Nadat u de Netplan-configuratie hebt toegepast en het systeem opnieuw hebt opgestart, bevestigt u dat de LACP-configuratie werkt zoals verwacht met behulp van de opdrachten.
1. Controleer de netwerkinterfacedetails
Gebruik deze opdracht om de status van de netwerkinterfaces weer te geven:
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
Zorg ervoor dat de interfaces (ens211f0np0 en ens211f1np1) tonen:
- Master ingesteld op bond0, bevestigen dat ze behoren tot de gebonden interface.
- Geef de status UP op en bevestig dat de interfaces actief zijn.
- Bevestig dat de mtu-waarde is ingesteld op 9000, zoals opgegeven in het YAML-bestand.
- Controleer of beide interfaces geldige hardwareadressen hebben (permaddr).
2. Bevestig de bindingsgegevens
Gebruik deze opdracht om de bindingsconfiguratie weer te geven en te zorgen voor de juiste functionaliteit van 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
Zorg ervoor dat de verbindingsmodus is ingesteld op IEEE 802.3ad Dynamic link aggregation:
- LACP actief: op geeft aan dat LACP is ingeschakeld.
- LACP-tarief: traag weerspiegelt het geconfigureerde LACP-tarief, hoewel het kan verschillen op basis van de setup.
- Verifieer de Slave Interfaces: Zowel ens211f0np0 als ens211f1np1 kunnen verschijnen als slave-interfaces onder de binding.
- MII Status: up bevestigt dat de links actief zijn.
- De waarden voor de permanente hardware moeten overeenkomen met de hardwareadressen van de respectieve interfaces.
- Zorg ervoor dat beide slave-interfaces deel uitmaken van dezelfde Aggregator ID (bijvoorbeeld Aggregator ID: 1).
Probleemoplossing
Als de verificatieresultaten niet overeenkomen met de verwachtingen:
- Controleer het Netplan YAML-configuratiebestand op fouten of ontbrekende parameters.
- Zorg voor goede LACP-ondersteuning en configuratie op de upstream-switch.
- Bevestig dat de opdracht sudo netplan apply (Toepassen sudo netplan) met succes is voltooid
Cisco UCS C885A M8-rackserver — Gegevensoverzicht
UCS C885A M8-rackserver — Specificaties