47 Resolución de problemas de redes periféricas (NMC) #
NMC se inyecta en las imágenes de EIB de SL Micro para configurar la red de los hosts de Edge en el momento del arranque mediante Combustion. También se ejecuta en el flujo de trabajo Metal3 como parte del proceso de inspección. Pueden surgir problemas cuando se arranca el host por primera vez o durante el proceso de inspección de Metal3.
El host no puede arrancar correctamente la primera vez: los archivos de definición de red que no están bien formados pueden provocar que la fase de Combustion falle y que el host pierda el control de la shell raíz.
Los archivos no se han generado correctamente: asegúrese de que los archivos de red cumplan el formato NMState.
Las interfaces de red no están configuradas correctamente: asegúrese de que las direcciones MAC coincidan con las interfaces que se utilizan en el host.
Los nombres no coinciden entre las interfaces: el argumento del kernel
net.ifnames=1
permite un esquema de nomenclatura predecible para interfaces de red, por lo que ya no existeeth0
, sino otros esquemas de nomenclatura comoenp2s0
.
Registros de Combustion: dado que nmc se utiliza al mismo tiempo que Combustion, compruebe los registros de Combustion con
journalctl -u combustion
en el host que se está aprovisionando.Registros de NetworkManager: en el flujo de trabajo de despliegue de Metal3, nmc forma parte de la ejecución de IPA y se ejecuta como dependencia del servicio NetworkManager usando la funcionalidad ExecStartPre de systemd. Compruebe los registros de NetworkManager en el host de IPA con
journalctl -u NetworkManager
(consulte la sección de resolución de problemas de aprovisionamiento de red dirigida (Capítulo 49, Resolución de problemas de aprovisionamiento de red dirigida) para comprender cómo acceder al host cuando se inicia con IPA).
Verifique la sintaxis de YAML: los archivos de configuración nmc son archivos YAML. Compruebe que la sintaxis sea correcta con
yamllint
o herramientas similares.Ejecute nmc manualmente: dado que nmc forma parte del contenedor EIB, para depurar cualquier problema se puede utilizar un comando de Podman local.
Cree una carpeta temporal para almacenar los archivos de nmc.
mkdir -p ${HOME}/tmp/foo
Guarde los archivos de nmc en esa ubicación.
❯ tree --noreport ${HOME}/tmp/foo /Users/johndoe/tmp/foo ├── host1.example.com.yaml └── host2.example.com.yaml
Ejecute el contenedor de EIB con nmc como punto de entrada y el comando generate para realizar las mismas tareas que nmc haría al mismo tiempo que 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 los registros y archivos que se generan en la carpeta temporal.