Ejecutando Proxmox VE en Debian para NICs i226
1. Descripción General de la Solución
Esta solución está diseñada para desplegar un entorno de virtualización Proxmox VE en la plataforma ZimaBoard 2 con NICs de la serie Intel i226. El objetivo es resolver el problema de desreferencia de punteros nulos en los controladores de NICs, provocado por la gestión de energía PCIe ASPM en los núcleos de Linux de versión alta, evitando así el Kernel Panic y la falta de respuesta del sistema.
- Plataforma de Hardware: ZimaBoard 2
- Versión de Software: Debian 12.8.0
- Entorno de Red: Se recomienda utilizar una conexión por cable durante todo el proceso. Prepare la información de subred del enrutador (ejemplo de subred en esta guía:
10.0.0.1/16). - Objetivo Principal: Resolver el conflicto de gestión de energía ASPM y el problema del Kernel Panic de la NIC i226 en núcleos de Linux de versión alta, y construir un entorno de virtualización estable.
- Conocimiento Previo Requerido: Cuando PCIe ASPM (especialmente L1 Substates) está habilitado en la NIC Intel i226-V, a menudo provoca una desreferencia de puntero nulo en el controlador igc durante los eventos de enlace físico, recargas de controladores o renegociación de enlace, lo que resulta en un Kernel Panic o bloqueo del sistema. Esta solución adopta un modelo de implementación “Base Debian + Kernel PVE”, restringiendo y alineando el entorno de gestión de energía y el firmware antes de introducir el kernel de Proxmox, logrando una mayor compatibilidad de hardware y flexibilidad de ajuste.
Pasos Clave de Operación
- Instalar Debian 12.8: ISO de instalación de red, usar disco completo, arranque UEFI.
- Deshabilitar ASPM: Editar
/etc/default/grub, agregarpcie_aspm=offaGRUB_CMDLINE_LINUX_DEFAULT, ejecutarupdate-gruby reiniciar. - Configuración básica: Cambiar a espejos nacionales, instalar
firmware-intel-misc; configurar temporalmente IP y probar conectividad. - Preparar Proxmox: Configurar
/etc/hosts, agregar el repositorio sin suscripción de Proxmox y la clave GPG. - Instalar Proxmox:
apt install proxmox-ve postfix open-iscsi; si hay conflictos conpve-firmware, ejecutardpkg --force-overwritepara forzar la instalación, luegoapt install -fpara corregir dependencias. - Configurar red puente: Editar
/etc/network/interfaces, agregar la NIC física (por ejemplo,enp1s0) al puentevmbr0, configurar IP/gateway estáticos y reiniciar la red. - Verificar acceso: Después del reinicio, acceder a
https://<IP>:8006.
2. Pasos de Operación
Todos los comandos a continuación se ejecutan bajo el sistema Debian con privilegios de root o sudo.
2.1 Quemar e Instalar Debian
Para asegurar la estabilidad y controlabilidad del sistema base, esta solución utiliza Debian 12.8 como base.
Descarga de Recursos de Software
- Debian 12.8.0: https://chuangtzu.ftp.acc.umu.se/cdimage/archive/12.8.0/amd64/iso-cd/debian-12.8.0-amd64-netinst.iso
- Herramienta de grabado balenaEtcher: https://etcher.balena.io/
Crear un USB Booteable
- Inserte una unidad USB de al menos 8GB.
- Abra balenaEtcher, seleccione su unidad USB como dispositivo de destino.
- Haga clic en “Flash from file”, localice el archivo
debian-12.8.0-amd64-netinst.isodescargado; el software seleccionará automáticamente el disco. - Haga clic en “Flash!” y espere a que se complete, luego expulse de forma segura la unidad USB.
Arranque desde BIOS
- Inserte la unidad USB preparada en un puerto USB del ZimaBoard.
- Encienda el dispositivo y presione repetidamente la tecla F11 (en algunas máquinas puede ser ESC o Supr, pero el ZimaBoard 2 usa F11 por defecto).
- En el menú de arranque, seleccione la entrada de la unidad USB con “UEFI” en su nombre.
Resumen del Procedimiento de Instalación
Después de entrar en la pantalla de bienvenida azul de Debian, siga estas pautas:- Modo de instalación: Se recomienda seleccionar Instalación Gráfica (la más amigable para principiantes).
- Idioma y región: Elija “Inglés” o su idioma preferido; teclado seleccione “Inglés Americano”.
- Particionamiento del disco: Seleccione “Usar todo el disco”, elija el eMMC integrado del ZimaBoard o el SSD instalado, y luego seleccione “Todos los archivos en una partición” como el esquema de particionamiento.
2.2 Depuración de la NIC en un Sistema Debian Limpio
Deshabilitar la Gestión Avanzada de Energía PCIe (ASPM)
nano /etc/default/grub
Modifique la línea:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on iommu=pt pcie_aspm=off"
Guarde y cierre, luego actualice GRUB y reinicie:
update-grub
rebootCambiar a Servidores DNS Más Estables (Temporalmente)
nano /etc/resolv.conf
Agregue:
nameserver 223.5.5.5
nameserver 114.114.114.114Instalar Firmware
# Limpiar caché
rm -rf /var/lib/apt/lists/*
# Actualizar e instalar firmware para NIC Intel
apt update
apt install firmware-intel-misc -yConfigurar Temporalmente la Interfaz de la NIC
En este ejemplo, el nombre de la interfaz esenp8s0y la dirección del enrutador es10.0.0.1.# Limpiar configuraciones IP existentes
ip addr flush dev enp8s0
# Apagar la interfaz
ip link set enp8s0 down
# Configurar IP y gateway
ip addr add 10.0.1.100/16 dev enp8s0
ip route add default via 10.0.0.1
# Encender la interfaz
ip link set enp8s0 upProbar Conectividad
ping -I enp8s0 8.8.8.8
Si es exitoso, la NIC está funcionando correctamente.
2.3 Instalar el Kernel de Proxmox VE
Configurar el Archivo de Hosts
# Confirmar nombre de host (en este ejemplo, el nombre del host es "debian")
hostname
nano /etc/hostsAsegúrese de que el archivo contenga:
127.0.0.1 localhost
10.0.1.21 debian.proxmox.com debianAgregar Repositorio de Software de Proxmox
# Instalar curl si no está presente
apt update && apt install curl -y
# Agregar clave GPG
curl -fSsL http://download.proxmox.com/debian/proxmox-release-bookworm.gpg -o /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
# Editar pve-no-subscription.list
nano /etc/apt/sources.list.d/pve-no-subscription.list
# Agregar la siguiente línea
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscriptionInstalar Kernel PVE y Componentes Principales
# Actualizar y realizar una actualización completa
apt update
apt full-upgrade -y
# Instalar los paquetes principales de Proxmox VE
apt install proxmox-ve postfix open-iscsi -y- Durante la instalación, si aparece una ventana de configuración de Postfix, presione Tab para seleccionar “Solo local” y continuar.
Debido a que previamente instalamos los paquetes de firmware de Debian, puede haber conflictos de archivos con
pve-firmware. Sobreescríbalos:dpkg -i --force-overwrite /var/cache/apt/archives/pve-firmware_*.deb
# Corregir cualquier problema restante de dependencias y reinstalar el núcleo si es necesario
apt install -f
apt install proxmox-veDespués de la instalación, reinicie y verifique la versión del núcleo:
reboot
# Después del reinicio
uname -aSi la salida muestra algo como
6.8.x-pve, la instalación fue exitosa.
2.4 Configurar Red
Durante la instalación de proxmox-ve, el sistema elimina las herramientas de gestión de red originales e introduce el modelo de red de Proxmox. Por lo tanto, debemos configurar manualmente la interfaz principal.
Edite el archivo de interfaces:
nano /etc/network/interfaces |
Suponiendo que la NIC física sea enp1s0, y queramos una IP estática 10.0.1.21/16 con gateway 10.0.0.1, modifique el archivo para que se vea así:
iface enp1s0 inet manual |
Guarde y cierre, luego reinicie la red:
systemctl restart networking |
2.5 Verificación y Acceso a la Interfaz Web
Abra un navegador web y navegue a:
https://10.0.1.21:8006 |
Haga clic en “Advanced” -> “Proceed to 10.0.1.21 (unsafe)”, luego inicie sesión con las credenciales root del sistema Debian. Ahora debería tener acceso a la interfaz web de Proxmox VE.
3. Solución de Problemas
P: ¿Las fuentes de descarga oficiales son lentas o inalcanzables?
- Debian: Visite la lista oficial de espejos, elija un espejo en su país o región, y reemplace
deb.debian.orgysecurity.debian.orgen el tutorial por el dominio del espejo seleccionado. - Proxmox: No existe una lista oficial de espejos para Proxmox, pero puede utilizar espejos de terceros conocidos o buscar “espejo proxmox”. Reemplace
download.proxmox.comen el tutorial con la dirección del espejo.
Después de actualizar las fuentes, ejecute apt update para aplicar los cambios.