Resolviendo Inestabilidad del Sistema y Tiempos de Espera iSCSI en Adaptadores Intel E800 Series (ICE)
Resolviendo Inestabilidad del Sistema y Tiempos de Espera de iSCSI en Adaptadores Intel E800 Series (ICE)
Síntomas
Los sistemas que utilizan adaptadores de red Intel E810 u otros de la serie 800 (gestionados por el controlador ice) pueden experimentar los siguientes problemas, particularmente en entornos sin disco o arrancados por iSCSI:
- Bloqueos Completos del Sistema: El servidor se vuelve no responsivo durante eventos de E/S intensos, como arranques de Máquinas Virtuales (VM) o transferencias de archivos grandes.
- Caídas de Conexión iSCSI: Los registros del kernel muestran
Did not receive response to NOPIN, seguido de fallo de sesión iSCSI. - Errores en Objetivos de Almacenamiento: Los servicios de almacenamiento reportan incapacidad para localizar IQNs de Objetivo, causando que los discos del cliente se desconecten.
- Bloqueos de ZFS: Si usas ZFS, los registros pueden estar saturados con errores de
debugfsrespecto a dispositivos de bloquezdque ya están presentes.
Causa Raíz
La causa principal es una Desajuste entre Firmware y Kernel que afecta el paquete de Personalización Dinámica de Dispositivos (DDP).
Cuando un sistema Linux se actualiza (por ejemplo, de Kernel 5.10 a 6.1), el controlador ice a menudo espera un perfil DDP específico con versión (por ejemplo, ice-xxxxxxxxxxxxxxxx.pkg). Si este archivo falta en /lib/firmware/intel/ice/ddp/, el controlador recurre a un modo genérico de "Sistema Operativo Predeterminado" o "Modo Seguro".
En este estado subóptimo, la NIC desactiva la descarga de hardware avanzada y el enrutamiento de paquetes. Bajo carga pesada, la CPU se ve abrumada por interrupciones de red, lo que lleva a perder latidos del corazón del tráfico de almacenamiento y un bloqueo total del sistema.
Ruta de Resolución
1. Identificar el Firmware Faltante
Revisa los registros del sistema para identificar el nombre de archivo exacto que el kernel está solicitando:
dmesg | grep ice
Busca un error similar a: firmware: failed to load intel/ice/ddp/ice-xxxxxxxxxxxxxxxx.pkg (-2).
2. Implementar Firmware DDP de Comunicaciones Optimizado
El paquete "Sistema Operativo Predeterminado" a menudo es insuficiente para cargas de trabajo de almacenamiento. Se recomienda usar el Paquete DDP de Telecomunicaciones (Comms) Intel Ethernet 800 Series.
- Descarga el paquete DDP Comms más reciente desde el sitio web de Soporte de Intel.
- Extrae y copia el archivo
.pkgal directorio de firmware del sistema:cp ice_comms-x.x.xx.x.pkg /lib/firmware/intel/ice/ddp/
3. Mapear Firmware mediante Enlaces Simbólicos
Crea enlaces simbólicos para satisfacer la solicitud específica del kernel usando el paquete de alto rendimiento existente:
cd /lib/firmware/intel/ice/ddp
# Enlaza el nombre genérico
ln -sf ice_comms-x.x.xx.x.pkg ice.pkg
# Enlaza el nombre específico solicitado en dmesg
ln -sf ice_comms-x.x.xx.x.pkg ice-xxxxxxxxxxxxxxxx.pkg
4. Reconstruir la Imagen de Arranque y Reiniciar
Para asegurar que el controlador carga el firmware optimizado en la etapa más temprana del arranque, reconstruye initramfs:
update-initramfs -u
reboot
Verificación
Después del reinicio, verifica que el firmware avanzado se haya cargado exitosamente:
dmesg | grep ice
Salida Correcta: ice 0000:xx:xx.x: The DDP package was successfully loaded: ICE COMMS Package version x.x.xx.x
Una vez que la descarga de hardware esté activa, los latidos del corazón de iSCSI deberían mantenerse estables incluso durante la saturación de E/S máxima.
Actualizado el: 10/04/2026
¡Gracias!
