47 Solução de problemas da rede de borda (NMC) #
O NMC é injetado nas imagens EIB do SL Micro para configurar a rede dos hosts do Edge no momento da inicialização pelo Combustion. Ele também é executado no fluxo de trabalho do Metal3 como parte do processo de inspeção. Os problemas podem ocorrer quando o host é inicializado pela primeira vez ou no processo de inspeção do Metal3.
O host não é inicializado corretamente na primeira vez: arquivos de definição de rede mal elaborados podem provocar falha na fase de combustão e, dessa forma, o host perde o shell root.
Os arquivos não são gerados de maneira apropriada: garanta que os arquivos de rede sigam o formato NMState.
As interfaces de rede não são configuradas corretamente: garanta que os endereços MAC correspondam às interfaces usadas no host.
Incompatibilidade entre nomes de interface: o argumento do kernel
net.ifnames=1
habilita o Esquema de nomenclatura previsível para interfaces de rede, portanto, não existe mais oeth0
, porém, outro esquema de nomenclatura, como oenp2s0
.
Registros do Combustion: como o NMC é usado no momento da execução do Combustion, consulte os registros do Combustion com o comando
journalctl -u combustion
no host que está sendo provisionado.Registros do NetworkManager: no fluxo de trabalho de implantação do Metal3, o NMC faz parte da execução do IPA e é executado como uma dependência do serviço NetworkManager, usando a funcionalidade ExecStartPre do systemd. Consulte os registros do NetworkManager no host IPA como
journalctl -u NetworkManager
(consulte a seção de solução de problemas de provisionamento de rede direcionado (Capítulo 49, Solução de problemas de provisionamento de rede direcionado) para saber como acessar o host quando inicializado com o IPA).
Verifique a sintaxe do yaml: os arquivos de configuração do NMC são yaml. Verifique a sintaxe adequada com
yamllint
ou ferramentas similares.Execute o NMC manualmente: como o NMC faz parte do contêiner EIB, é possível usar o comando podman local para depurar problemas.
Crie uma pasta temporária para armazenar os arquivos nmc.
mkdir -p ${HOME}/tmp/foo
Salve os arquivos nmc nesse local.
❯ tree --noreport ${HOME}/tmp/foo /Users/johndoe/tmp/foo ├── host1.example.com.yaml └── host2.example.com.yaml
Execute o contêiner EIB com o NMC como ponto de entrada e o comando generate para executar as mesmas tarefas que o NMC faz no momento da execução do Combustion:
podman run -it --rm -v ${HOME}/tmp/foo:/tmp/foo:Z --entrypoint=/usr/bin/nmc registry.suse.com/edge/3.3/edge-image-builder:1.2.0 generate --config-dir /tmp/foo --output-dir /tmp/foo/ [2025-06-04T11:58:37Z INFO nmc::generate_conf] Generating config from "/tmp/foo/host2.example.com.yaml"... [2025-06-04T11:58:37Z INFO nmc::generate_conf] Generating config from "/tmp/foo/host1.example.com.yaml"... [2025-06-04T11:58:37Z INFO nmc] Successfully generated and stored network config
Observe os registros e os arquivos que são gerados na pasta temporária.