lun4194304 has a LUN larger than allowed by the host adapter

En un RedHat 7.6 he pedido una LUN para ampliar un filesystem. Esta es una tarea rutinaria de cualquier técnico de sistemas Linux, si embargo, hoy me he encontrado con que la LUN estaba asignada al servidor pero no la veía. En el log del sistema operativo (/var/log/messages) aparecía el siguiente mensaje:

kernel: scsi 0:0:0:0: lun4194304 has a LUN larger than allowed by the host adapter

Es decir, que el ID de la LUN asignada no es compatible con el que soporta el sistema operativo. De hecho, ni siquiera podía ver el device asignado (/dev/sdXXX):

[root]# lsscsi
[0:0:0:4194240] storage HP       P220i            8.00  -

Busqué información en la WEB de RedHat pero, finalmente, terminé por abrir un caso pero me enviaron información contradictoria.

Problema de incompatibilidad entre el LUN ID y el sistema operativo

En el documento oficial de RedHat https://access.redhat.com/solutions/67157, básicamente, se indica que el LUN ID proporcionado con la cabina de discos no es compatible con el controlador de la tarjeta de fibras y que debería contactar con el administrador de la cabina para que proporcione un identificador de LUN con un formato compatible.

El técnico de RedHat basaba su respuesta (en inglés) en tal documento:

Messages:
Oct 21 10:36:54 lsltsax6 kernel: scsi 0:0:0:0: lun4194304 has a LUN larger than allowed by the host adapter


This id value is in a vendor-specific format. This is one of the physical devices behind the controller that would typically be used as part of the logical volume. Since only the logical volumes should be accessed by the system, this physical lun number can be ignored. Typically only HP health agents would access information on the physical disk devices via the raid controller device. Not all combinations of Smart Array model, firmware, and hpsa driver revisions will report physical disk devices back to the host. Normally these devices are filtered off in later hpsa driver / Smart Array firmware combinations.

[controller/lun]
host0 : hpsa / 0000:03:00.0 RAID bus controller [0104]: Hewlett-Packard Company Smart Array Gen8 Controllers [103c:323b] (rev 01) 
    bus0 
        target0 - 1 lun (lun0.ac[/sg0(HP)]) 
    bus1 
        target0 - 1 lun (lun0.sd[sda/sg1(HP)]) <---

Contact storage vendor for assistance. The LUN information returned by storage is not in a compatible format for use within linux and its drivers. 

Solución

Por otro lado, en el mismo caso de RedHat, y de ahí la información contradictoria, me envían otro documento oficial con la solución al problema: https://access.redhat.com/solutions/26017.

Dependiendo de la controladora de fibras, aplica una solución u otra. En mi caso, utilizamos tarjetas Emulex. Lo podemos ver así:

[root]# lspci -v > lspci.txt
[root]# grep -i fibre lspci.txt
05:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
05:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
[root]#

[root]# modinfo qla2xxx |grep -i maxlun
parm:           ql2xmaxlun:Defines the maximum LU number to register with the SCSI midlayer. Default is 65535. (uint)
[root]#

NOTA: Los drivers indicados en el documento son los siguientes:

  • LPFC: Emulex
  • QLA: QLogic
  • Fnic: CISCO

Por lo tanto, en mi caso, aplica la solución para los controladores Emulex, que es la siguiente:

  • Crear el fichero lpc.conf con el siguiente contenido:
[root]# cat /etc/modprobe.d/lpfc.conf
options lpfc  lpfc_nodev_tmo=10 lpfc_lun_queue_depth=32 lpfc_max_luns=2048
[root]#

Observamos que limitamos el número máximo de LUNs a 2048.

  • Recrear el initram (dracut -f).
  • Rebotar el sistema operativo.

Tras ejecutar estas tres acciones ya podía ver la LUN y utilizarla con normalidad:

[root]# multipath -ll
mpathb (360002ac000000000000001d40002090f) dm-3 3PARdata,VV
size=50G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
  |- 1:0:1:0 sdc 8:32 active ready running
  `- 2:0:1:0 sde 8:64 active ready running

¿Te ha gustado? ¡Compártelo!

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

Deja un comentario

Tal vez también te gustaría leer...

RHEL y Oracle RAC – Paquetes Dropped

En un entorno de dos servidores Linux RedHat 6.9 con un cluster de Oracle RAC, hemos detectado muchos paquetes dropped en las tarjetas de red (dropped: 311815750): El equipo de Oracle ejecuta un análisis del sistema (OSWatcher) donde se indica que debemos aumentar el valor de MTU de todos los nodos del cluster, y así

Leer más »

root: fork failed: Cannot allocate memory

En uno de los servidores que administro me ha ocurrido que no podía entrar con SSH ni ejecutar procesos en remoto a través de un software que tiene un agente instalado, etc. dando el error root: fork failed: Cannot allocate memory. Sin embargo, la aplicación del usuario no se estaba viendo afectada. Rebajas HP DeskJet

Leer más »

systemd: Unit XXX is bound to inactive unit XXX

Me encontraba moviendo un filesystem LVM desde los discos locales a un disco de la SAN pero no podía montarlo. En este caso, el FS todavía no estaba siendo utilizado por nadie, ya que era para un proyecto pendiente de entrega, por lo que no necesito realizar ninguna copia de seguridad previa. Rebajas Lenovo S145-15IWL

Leer más »

RedHat – Semaphores exhausted

Esta mañana me he encontrado con una alerta en un servidor RedHat 6, cuyo mensaje de error era: He podido entrar correctamente al servidor pero al ejecutar algunos comandos, se quedaban colgados sin responder jamás. Rebajas Lenovo S145-15IWL – Ordenador portátil 15.6″… 549,99 EUR Comprar en Amazon Rebajas HP 15s-fq1013ns – Ordenador portátil de 15.6″…

Leer más »

No arrancan las VMWare Tools

Estaba haciendo una actualización de las VMWare Tools en 300 servidores RedHat 6 y en tres de ellos no me arrancaron. Tabla de contenidos1 Script de actualización masivo2 Error que me daba al arrancar las VMWare Tools3 ¿Cómo consigo arrancar las VMWare Tools, finalmente?4 ¿Cómo me di cuenta del error? Script de actualización masivo Si

Leer más »

Error de NFS – server XXX not responding, timed out

Recientemente he tenido una incidencia con un servidor de NFS de preproducción en el que durante unos segundos el cliente de NFS perdía la conectividad, afectando a una aplicación muy sensible o, traduciéndolo de otra manera, mal desarrollada: Para solucionarlo, aumenté el timeout en el que el cliente de NFS va a seguir intentando acceder

Leer más »