Tengo un problema grave con una matriz de almacenamiento SAN conectada a una caja de Linux a través de Fibre Channel. Aquí está la configuración:
- Debian con Linux simple vainilla 2.6.27.25
- Controlador de fibra QLogic de 4 Gb de doble puerto (basado en ISP2432)
Básicamente el problema es: ¿cómo obtener este #? @ !! Controlador / controlador FC para reconocer correctamente los cambios de configuración (LUN nuevos o eliminados) de la matriz de almacenamiento?
- cuando creo un nuevo LUN en mi matriz (generalmente una instantánea de algún LUN existente) y lo mapeo a mi HBA, no puedo reconocerlo correctamente: en
rescan-scsi-bus -l -w -r
realidad detecta algo (un dispositivo genérico / dev / sgXX) sin embargo, no hay ningún dispositivo de bloqueo se crea (/ dev / sdXX). Lo mismo al emitir un LIP y volver a escanear manualmente:
echo 1> / sys / class / fc_host / host6 / issue_lip
echo "- - -"> / sys / class / scsi_host / host6 / scan
si elimino un LUN existente, ni la emisión de LIP ni el reescaneo o rescan-scsi-bus tienen ningún efecto. Los dispositivos anteriores permanecen allí y, por supuesto, no funcionan ("archivo -s / dev / sdXX -> error de E / S").
- Recargar el controlador qla2xxx funciona. Sin embargo, es completamente inviable en un entorno de producción.
Aparentemente, este es un problema muy común con QLogic . Existe algún tipo de solución que funciona solo cuando se utiliza el controlador emitido por QLogic disponible solo para las distribuciones empresariales RedHat y Suse: consulte esta explicación .
Información adicional :
Aquí están los dispositivos scsi antes de LIP y reescanear:
# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 6 0 0 0 0 /dev/sdc
/dev/sg4 6 0 0 1 0 /dev/sdd
/dev/sg5 6 0 0 2 3
Después de un LIP y un nuevo escaneo, tengo un nuevo dispositivo sg, pero no hay una unidad que coincida. Si vuelvo a cargar el controlador, aparece una unidad:
# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 6 0 0 0 0 /dev/sdc
/dev/sg4 6 0 0 1 0 /dev/sdd
/dev/sg5 6 0 0 2 3
/dev/sg6 6 0 0 3 3
~# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 8 0 0 0 0 /dev/sdc
/dev/sg4 8 0 0 1 0 /dev/sdd
/dev/sg5 8 0 0 2 0 /dev/sde
/dev/sg6 8 0 0 3 3
Editar: OK, obviamente esta es una nuez difícil de roer. Le preguntaré al LKML e informaré aquí.