Introdução
Este documento descreve informações sobre como configurar o LACP com o Netplan no servidor C885A-M8.
Informações de Apoio
Na BMC, não é possível fazer nenhuma modificação no lado da rede; todas as alterações precisam ser feitas no convidado do SO.
Pré-requisitos
Componentes Utilizados
Servidor rack UCS C885A M8
PID: UCSC-885A-M8-H11
Versão do firmware: 1.0.28
Switches Nexus 9k
Ubuntu 22.04.5 LTS
Placas de rede usadas
BlueField-3 P-Series DPU 400GbE/NDR VPI de duas portas
Porta única BlueField-3 E-series SuperNIC 400GbE/NDR
Adaptador de rede Ethernet Intel(R) X710-T2L para OCP 3.0
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Verifique se a placa de rede não está no modo DPU
Para garantir a funcionalidade adequada, verifique se a placa de rede não está no modo DPU. O LACP (Link Aggregation Control Protocol) não é suportado quando a placa de rede está no modo DPU. Se necessário, converta-o para o modo NIC.
Passo 1: Identificar endereços PCIe
Execute o comando para listar os endereços PCIe para as portas desejadas:
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
Note: Isso não é necessário, mas pode ajudar a designar o dispositivo correto ao fazer alterações usando 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
Esse comando fornece uma lista detalhada de dispositivos, permitindo que você identifique os identificadores MST e PCI apropriados.
Neste cenário, NET net-ens214f1np1 e NET net-ens211f0np0 são usados.
Passo 2: Verificar a Configuração da NIC
Usando o identificador MST ou PCI identificado, verifique a configuração atual da placa de rede com um dos comandos a seguir:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
or
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)
Note: O modelo da CPU e as variáveis de ativação da UEFI ARM confirmam que a placa é compatível com o modo DPU
No exemplo acima:
INTERNAL_CPU_OFFLOAD_ENGINE está definido como ENABLED\(0\) para as configurações Current e Next Boot.
Isso indica que a placa de rede está operando atualmente no modo DPU e precisa ser convertida para o modo NIC para continuar com a configuração do LACP.
Passo 3: Converter em modo NIC
Para converter a placa de rede para o modo NIC, emita o 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
Note: Com sudo init 0, desliga o host para garantir que a configuração seja carregada adequadamente.
Passo 4: Reinicialize e verifique a configuração
Depois de executar o comando sudo init 0, o sistema host será desligado. Use a BMC (Baseboard Management Controller [controladora de gerenciamento da placa base]) para reiniciar o SO host.
Quando o sistema estiver novamente on-line, verifique se as alterações de configuração foram aplicadas com êxito, executando os mesmos comandos de verificação mostrados anteriormente:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
or
sudo mlxconfig -d /dev/<MST_DEVICE> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
Se a configuração tiver sido aplicada com êxito, você poderá prosseguir com a criação da configuração desejada de canal de porta, ligação ou LAG.
Configurando o LACP
Passo 1: Criar um Novo Arquivo de Configuração do Netplan
O padrão atual para configurar interfaces no Ubuntu é o Netplan. Para começar, verifique os arquivos de configuração do Netplan YAML existentes executando:
ls /etc/netplan/
Por padrão, geralmente há apenas um arquivo YAML no diretório /etc/netplan/. Os arquivos de configuração do Netplan usam a convenção de nomenclatura ##-<nome relevante>.yaml, em que ## é um número entre 01 e 99. Considere que os arquivos de configuração com números menores são substituídos por arquivos com números maiores, se houver conflitos.
Para garantir que suas alterações sejam persistentes e organizadas, é recomendável criar um novo arquivo YAML em vez de editar o padrão. Se você modificar o arquivo padrão, haverá o risco de as alterações não persistirem após uma reinicialização. Para este guia, criaremos um novo arquivo chamado
51-lacp-config.yaml
Para criar o novo arquivo, use o comando:
sudo nano /etc/netplan/51-lacp-config.yaml
Certifique-se de que sua numeração de arquivo não entre em conflito com arquivos existentes e use a hierarquia apropriada para evitar comportamento inesperado.
Este é um exemplo de um arquivo de configuração do Netplan YAML (51-lacp-config.yaml) para configurar o LACP com VLANs.
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
Valor |
Considerações |
Lembretes |
Configurações de MTU |
Para ens211f0np0 e ens211f1np1, a MTU é definida como 9000. |
Recomenda-se definir a MTU com o valor mais alto necessário para evitar possíveis problemas de MTU no futuro. Sempre especifique a MTU sempre que mencionar uma interface |
Modo LACP |
O parâmetro mode está definido como 802.3ad |
Este é o modo necessário para o LACP. Existem outros modos de vinculação, mas eles não são adequados para LACP |
Configuração de VLAN |
A seção bond0.2001 cria uma sub-interface para enviar várias VLANs através da ligação. O campo id especifica o ID da VLAN (neste caso, 2001). O campo de link associa a sub-interface à interface vinculada (bond0) |
Se você tiver várias ligações no mesmo arquivo YAML, isso garantirá que a configuração correta seja aplicada à ligação correta |
Endereço IP e rotas |
O campo de endereços especifica o endereço IP e a máscara de sub-rede para a VLAN (por exemplo, 10.10.200.33/27) |
A seção de rotas permite que você defina quaisquer rotas que essa interface manipula. Embora o exemplo inclua a rota para 10.10.200.32/27, ele é redundante nesta configuração de laboratório, mas demonstra como adicionar várias rotas |
Servidores DNS |
A seção servidores de nomes permite especificar servidores DNS (endereços) e domínios de pesquisa (pesquisa) |
É necessário fornecer detalhes do servidor DNS com base no ambiente de trabalho. |
MTU para VLAN |
O campo mtu na configuração da VLAN é definido como 9000 |
Você pode configurar diferentes valores de MTU por VLAN, se necessário |
Campo Versão |
O campo de versão no final do arquivo pode ser incluído e definido como 2 |
Certifique-se de que esteja recuado com dois espaços para manter a sintaxe YAML |
Passo 2: Aplicar a configuração
Para aplicar a nova configuração, execute:
sudo netplan apply
Se você receber avisos de permissão, ajuste as permissões do arquivo:
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
Verificar
Após aplicar a configuração do Netplan e reiniciar o sistema, confirme se a configuração do LACP está funcionando conforme esperado usando os comandos.
1. Verificar Detalhes da Interface de Rede
Use este comando para exibir o status das interfaces de rede:
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
Verifique se as interfaces (ens211f0np0 e ens211f1np1) mostram:
- Mestre definido como bond0, confirmando que pertencem à interface vinculada.
- Estado como UP, confirmando que as interfaces estão ativas.
- Confirme se o valor mtu está definido como 9000, conforme especificado no arquivo YAML.
- Verifique se ambas as interfaces têm endereços de hardware válidos (permaddr).
2. Confirmar detalhes de vínculo
Use este comando para exibir a configuração de vinculação e garantir a funcionalidade apropriada do 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
Certifique-se de que o modo de ligação esteja definido como Agregação dinâmica de link IEEE 802.3ad:
- LACP ativo: on indica que o LACP está ativado.
- Taxa de LACP: lento reflete a taxa de LACP configurada, embora possa diferir com base na configuração.
- Verifique as interfaces slave: Tanto ens211f0np0 como ens211f1np1 podem aparecer como interfaces secundárias sob a ligação.
- Status MII: up confirma que os links estão ativos.
- Os valores de endereço de HW permanente devem corresponder aos endereços de hardware das respectivas interfaces.
- Certifique-se de que ambas as interfaces escravas sejam parte do mesmo ID de Agregador (por exemplo, ID de Agregador: 1).
Troubleshooting
Se os resultados da verificação não corresponderem às expectativas:
- Verifique se há erros ou parâmetros ausentes no arquivo de configuração do Netplan YAML.
- Verifique se o LACP tem suporte e configuração adequados no switch upstream.
- Confirme se o comando sudo netplan apply foi concluído com êxito
Data Sheet do servidor rack Cisco UCS C885A M8
Folha de especificações do servidor rack UCS C885A M8