General

StorageWorks en Debian

Esto es un artículo que estaba publicado en el Wiki del Servicio Autónomo de la Propiedad Intelectual cuando trabajaba allí como administrador de sistemas y que lo han solicitado mucho desde empresas en Venezuela y España. En la medida de lo posible lo he actualizado con experiencias posteriores que he tenido con SANs de mayor tamaño y espero que siga siendo útil para aquellas organizaciones que decidan utilizar Debian con hardware que su vendedor rechaza soportar por negligencia.Update: desde Debian 4.0, los drivers de Qlogic están disponibles en los núcleos stock 2.6; el firmware está disponible en los repositorios non-free (es conveniente cargar versiones recientes del firmware) y funciona bien en máquinas Intel de 64 bits (aunque, por supuesto, es necesario levantar el LiveCD de configuración de los arreglos en una máquina de 32 bits)StorageWorks en el SAPIHewlett Packard fabrica soluciones de almacenamiento destinadas a la creación de Storage Area Networks (SAN) bajo su linea de productos StorageWorks. HP ofrece soporte para las distribuciones de Linux: Red Hat, SuSE y United Linux. El SAPI posee una SAN compuesta por:

  • Un switch de Fibre Channel HP StorageWorks 2/8V con capacidad de autosensing 1GB/2GB y compuesto de transceivers modulares
  • Un controlador de la SAN denominado Modular Smart Array o arreglo inteligente modular HP StorageWorks MSA 1500CS, que se conecta a las colmenas de discos SATA/SCSI y permite hasta 24 TB de capacidad (actualmente el SAPI tiene 1TB de capacidad instalada)
  • Una colmena o enclosure de discos SATA HP StorageWorks MSA 20

Todo este sistema está conectado a una tarjeta de Fibre Channel QLogic 2312 en un servidor HP ProLiant ML370 equipado con un procesador Intel Xeon de 3.6 GHz. y 3547 MB. de memoria RAM. El SAPI utiliza Debian Sarge (http://www.debian.org/) en todos sus servidores tanto en producción como de desarrollo y pruebas y en sus ordenadores de la Coordinación de Informática. El SAPI no utiliza ni utilizará ninguna distribución basada en RPM’s.La configuración de la SAN tuvo que ser realizada por personal del SAPI debido a que ni HP ni HP de Venezuela ofrecen soporte para Debian ni tienen conocimiento de como hacer funcionar el equipo bajo el mismo. El procedimiento es realmente sencillo e intuitivo.ServidorEl servidor HP ProLiant ML370 funciona sin problemas out-of-the-box en Debian Sarge. La instalación fue realizada utilizando un mirror inteo e instalando solo el sistema base. Debian automágicamente detecta las controladoras SCSI inteas del servidor (que posee 500+GB. de espacio en discos SCSI locales) y sus arreglos RAID por hardware:

0000:03:03.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 07)   0000:03:03.1 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 07)

El subsistema gráfico (basado en una ATI Rage XL):

0000:01:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

La tarjeta de Fibre Channel QLogic 2312:

0000:03:01.0 Fibre Channel: QLogic Corp. QLA2312 Fibre Channel Adapter (rev 02)

Y algunos periféricos server-specific:

0000:01:04.0 System peripheral: Compaq Computer Corporation Integrated Lights Out Controller (rev 01)   0000:01:04.2 System peripheral: Compaq Computer Corporation Integrated Lights Out  Processor (rev 01)

Inicializando el ArrayEste procedimiento puede realizarse de diversas formas:

  • Utilizando el servidor Web embedded de la SAN y las utilidades de Array de HP
  • Utilizando el Live-Cd basado en Red Hat que viene con el equipo
  • Acceso físico al MSA1500CS mediante conexión serial

Es sencillo hacer el procedimiento mediante el Live-CD basado en Red Hat, pero no es la idea, pues todo debe funcionar bajo Debian.El servidor Web embedded de la SAN se activa con el enlace Fibre Channel arriba y utilizando la utilidad cpqacuxe. Agregamos información del README.TXT de esta utilidad:Supported Operating Systems Red Hat Linux 7.2, 7.3 Red Hat Linux 8.0, 8.1 with compat-libstdc++ package (on Red Hat OS distribution CD) installed Red Hat Enterprise Linux 2.1 Red Hat Enterprise Linux 3 with compat-libstdc++ package (on Red Hat OS distribution CD) installed SuSE Linux Enterprise Server 7 United Linux 1.0 / SLES 8Esta utilidad cpqacuxe puede ser descargada del CD de utilidades de HP e instalada en un sistema Debian utilizando alien. Se requiere el paquete libstdc++2.10-glibc2.2 para utilizar esta utilidad. Activamos el acceso remoto con:

cpqacuxe -R

Lo cual abre un servidor Web en:

w3m http://localhost:2301/

Este servidor Web está firmado digitalmente y protegido por contraseña. Corre en modo seguro. Sin embargo recomendamos proteger los puertos con una regla de iptables, al igual que proteger el puerto 2381. La aplicación Web requiere lamentablemente del Java Runtime Environment y del Plugin para su navegador preferido. Desde aquí puede hacer arreglos RAID de los discos en la colmena.QLogic Fibre ChannelTodo el procedimiento anterior presupone que Ud. tiene la tarjeta de Fibre Channel funcionando debidamente en Debian, lo cual no ocurre automágicamente, debido a que los drivers de QLogic son propietarios y han sido excluídos de los keel precompilados de Debian. Tiene aun una opción, que es acceder via CLI (interface de línea de comandos). El procedimiento está descrito en los manuales en PDF.Sin embargo, es necesario levantar la tarjeta de Fibre Channel para poder utilizar el arreglo desde el servidor. HP ofrece en su CD un RPM con las fuentes del módulo qla2300 que controla el enlace Fibre Channel. Para este momento, su MSA1500CS debe estar mostrando errores con el Subsistema de Fibra: el Link está Caído. Algo anda mal.La trampa RPMInstalar el RPM con alien le creará carpetas con fuentes bajo /opt. En un sistema basado-en-RPM, se debería ejecutar el script POSTIN que actualmente compila los drivers y los instala como módulos. Esto no ocurre, porque alien por defecto no ejecuta los scripts de post-instalación de un RPM.Intentar ejecutarlos con alien -c provocará errores de código 1. El script POSTIN llama a un script master.sh en la carpeta que se creo al instalar el paquete con alien. Este script hace comprobaciones para sistemas basados en Red Hat que en fallo salen con error 1. Comentar estas salidas nos lleva hasta un nuevo script, condition_keel que realiza comprobaciones de las fuentes del keel que corre actualmente. No importa si instala las fuentes de su keel, esta parte siempre fallará. Obviar los errores lo llevará al script final, build_driver, que realiza un burdo make en el directorio /opt/hp/src/hp_qla2x00src.Finalmente, la compilación del keel genera unos 17137 errores (tu mileage puede variar):

#./build_driver 2> errores.txt   #cat errores.txt | wc -l   17137

¡El driver es malo!Así que, pareciera que este RPM no es la salida a nuestro problema. Haciendo un poco de investigación en Google encontramos un paquete .deb en los repositorios oficiales de Debian que contiene estas mismas fuentes. Esperando que las comprobaciones sean Debian-based, hacemos el tan deseado:

aptitude install qla2x00-source

La compilación genera errores, así que poco a poco se agotan nuestras esperanzas. Pero espere, existe una esperanza.La soluciónLos keel 2.6 vanilla (descargables de keel.org) tienen soporte para la tarjeta QLogic 2312 (
serie 2300) con el driver qla2300. Está bajo

Device Drivers -> SCSI device support -> SCSI low-level drivers -> QLogic ISP 2300 Host Adapter Family Support

Pues si, compilar un keel vanilla (nosotros usamos 2.6.12.2) soluciona el problema completamente en Debian. Puede utilizar make-kpkg para generar un paquete Debian de su keel configurado o puede compilar a mano:

makemake modules_installcp arch/i386/boot/bzImage /boot/my-keel-overpowers-hpmkinitrd -o /boot/my-initrd-does-too KERNEL_QUE_COMPILAS

Al reiniciar, automágicamente tienes:

QLogic Fibre Channel HBA DriverACPI: PCI Interrupt 0000:03:01.0[A] -> GSI 26 (level, low) -> IRQ 225qla2300 0000:03:01.0: Found an ISP2312, irq 225, iobase 0xf8916000qla2300 0000:03:01.0: Configuring PCI space...qla2300 0000:03:01.0: Configure NVRAM parameters...qla2300 0000:03:01.0: Verifying loaded RISC code...qla2300 0000:03:01.0: LIP reset occured (f7f7).qla2300 0000:03:01.0: Waiting for LIP to complete...qla2300 0000:03:01.0: LOOP UP detected (2 Gbps).qla2300 0000:03:01.0: Topology - (F_Port), Host Loop address 0xffffscsi2 : qla2xxxqla2300 0000:03:01.0: QLogic Fibre Channel HBA Driver: 8.00.02b5-k  QLogic QLA2340 -  ISP2312: PCI-X (100 MHz) @ 0000:03:01.0 hdma-, host#=2, fw=3.03.08 IPXscsi: unknown device type 12  Vendor: COMPAQ    Model: MSA1000           Rev: 4.94  Type:   RAID                               ANSI SCSI revision: 04  Vendor: COMPAQ    Model: MSA1000 VOLUME    Rev: 4.94  Type:   Direct-Access                      ANSI SCSI revision: 04SCSI device sde: 1953306685 512-byte hdwr sectors (1000093 MB)SCSI device sde: drive cache: write backSCSI device sde: 1953306685 512-byte hdwr sectors (1000093 MB)SCSI device sde: drive cache: write back /dev/scsi/host2/bus0/target0/lun1: p1Attached scsi disk sde at scsi2, channel 0, id 0, lun 1

Y, de hecho:

Unidad de disco: /dev/sde                                           Tamaño: 1000093022720 bytes, 1000.0 GB                                 Cabezas: 255   Sectores por pista: 63   Cilindros: 121587

Torsten Weer, desarrollador de Debian, nos cuenta que estará compilando el nuevo driver de QLogic que ahora trabaja con los keels 2.6, por lo cual de ahora en adelante la tarea debe ser más sencilla para aquellos que quieran hacer SAN con HP sin tener que estar atados a un sistema de empaquetamiento de archivos.Referencias

Standard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s