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 puede interesar
Aprender a configurar el Multipath en Linux
Mi pasión por la tecnología me lleva constantemente a explorar las últimas tendencias y aplicaciones, buscando siempre formas de implementar soluciones innovadoras que mejoren la eficiencia. En puerto53.com comparto contenido valioso para ayudar a otros profesionales y entusiastas de la informática a navegar y dominar el complejo mundo de la tecnología. Mi especialidad en Linux RedHat.
Más sobre mí en el este enlace,