How to install HP Proliant Blade System ISCSI Emulex on CentOS

Objetivo: realizar una instalación completa de CentOS 6.X sin discos duros locales.

Escenario , HP Proliant Blade System (NODO) + Cabina Discos (SAN)  + 1 swtich + 1 switch jumbo frames

0. Contrastar IP dedicada a conexión via ISCSI en CentOS y anotar IP y MAC – correlativo a lo que aparece en la bios iscsi emulex

1. Iniciar Nodo, entrar en la bios iscsi emulex para configurar las luns. Esto nos ofrece la posiblidad de contrastar si nuestra configuración iscsi es correcta. Más tarde la usaremos para arrancar directamente. En ese punto, simplemente configuramos y miramos que tenemos acceso a todas las LUNS. Hemos de tomar nota del nombre del iniciador iscsi de la controladora.

NOTA: tomar nota del modelo de la controladora ISCSI EMULEX, será necesario para el driver

Salir, rebotar e iniciar desde CD/DVD

2. iniciar la instalación de CentOS buscando las LUNS para poder instalar el sistema operativo ya via ISCSI. En este punto, es importante recordar que estamos mapeando nuestro sistema operativo por ISCSI software. Configurar la instalación con las luns detectadas e instalar NOTA: Clickar en Add Advanced Target, seleccionar la misma tarjeta que hemos utilizado en la BIOS para detectar las luns.

3. al acabar la instalación, arrancaremos desde red via ISCSI, centos se ocupará de ello. Configurar correctamente el inicio del sistema (boot) del hardware.

4. Dentro ya de CentOS, que hemos arrancado sin discos duros locales, configuramos la MTU de la tarjeta de Red en el caso de que no lo tengamos hecho aún. En mi caso, el tope de la broadcom de la SAN era “8982”

# ifconfig eth3 mtu 8982

5. Ahora, tenemos que hacer posible el arrancar todas las LUNS via ISCSI hardware. Para eso necesitamos por un lado la utilidad ISCSI de HP más el driver de Emulex para Linux. CentOS lleva un driver para Emulex,pero en nuestro caso, no soportaba el modelo de Emulex integrada en el equipo.

Detectar driver instalado

# lspci |grep Emulex

04:00.0 Ethernet controller: ServerEngines Corp. Emulex OneConnect 10Gb NIC (rev 02)
04:00.1 Ethernet controller: ServerEngines Corp. Emulex OneConnect 10Gb NIC (rev 02)
04:00.2 Mass storage controller: ServerEngines Corp. Emulex OneConnect 10Gb iSCSI Initiator (rev 02)
04:00.3 Mass storage controller: ServerEngines Corp. Emulex OneConnect 10Gb iSCSI Initiator (rev 02)
05:00.0 Ethernet controller: ServerEngines Corp. Emulex OneConnect 10Gb NIC (rev 02)
05:00.1 Ethernet controller: ServerEngines Corp. Emulex OneConnect 10Gb NIC (rev 02)
05:00.2 Mass storage controller: ServerEngines Corp. Emulex OneConnect 10Gb iSCSI Initiator (rev 02)
05:00.3 Mass storage controller: ServerEngines Corp. Emulex OneConnect 10Gb iSCSI Initiator (rev 02)

Como vemos, se trata de una Emulex OneConnect 10GB iSCSI.

5.2. Comprobar el driver cargado para iscsi

# lsmod |grep iscsi

be2iscsi 78979 0
iscsi_boot_sysfs 9650 1 be2iscsi
libiscsi 47617 1 be2iscsi
scsi_transport_iscsi 53047 2 be2iscsi,libiscsi

5.3. Información sobre el driver

# modinfo be2iscsi

modinfo be2iscsi
filename: /lib/modules/2.6.32-279.1.1.el6.x86_64/kernel/drivers/scsi/be2iscsi/be2iscsi.ko
license: GPL
author: Emulex Corporation
version: 4.2.162.0
description: Emulex OneConnectOpen-iSCSI Driver version4.2.162.0 Driver 4.2.162.0
srcversion: 4AA0D30B52121BB06726605
alias: pci:v000019A2d00000712sv*sd*bc*sc*i*
alias: pci:v000019A2d00000703sv*sd*bc*sc*i*
alias: pci:v000019A2d00000702sv*sd*bc*sc*i*
alias: pci:v000019A2d00000222sv*sd*bc*sc*i*
alias: pci:v000019A2d00000212sv*sd*bc*sc*i*
depends: libiscsi,iscsi_boot_sysfs,scsi_transport_iscsi
vermagic: 2.6.32-279.1.1.el6.x86_64 SMP mod_unload modversions
parm: be_iopoll_budget:int
parm: enable_msix:int
parm: be_max_phys_size:Maximum Size (In Kilobytes) of physicallycontiguous memory that can be allocated.Range is 16 – 128 (uint)

Este driver viene nativo con CentOS pero no soporta nuestro modelo de tarjeta, que como nos indica la iSCSI BIOS UTILITY es una NC551i.

Necesitaremos

1 – driver de emulex

2 – hp emulex utility iscsi

Esto hará falta para poder prescindir del iniciador por software de iSCSI utilizando las ventajas de hacerlo por hardware.

6. Instalar Utilidad HP Emulex

Esto instalará unos servicios que nos serán necesarios para luego comunicarse con el nuevo driver

#  yum install libnl-devel libnl net-snmp-devel net-snmp-utils pciutils redhat-rpm-config kernel-devel rpm-build make gcc wget  openssh-clients -y
# wget ftp://ftp.hp.com/pub/softlib/software12/COL32392/co-105844-1/elxocm-rhel5-rhel6-6.0.25.1-2.tgz
# cd elxocm-rhel5-rhel6-6.0.25.1-2/x86_64/rhel-6
# rpm -Uvh elxocmlibhbaapi-6.0.25.1-1.x86_64.rpm elxocmcore-6.0.25.1-1.x86_64.rpm
# rpm -Uvh elxocmcore-6.0.25.1-1.x86_64.rpm

Los nuevos servicios instalados se activarán y quedarán programados al arranque. Este conjunto de servicios, reemplazarán a iscsi y iscsid. Si ahora ejecutásemos

# hbacmd listhbas

no nos devuelve nada, ya que, como decimos, necesitamos el driver que soporta este modelo de tarjeta. La pregunta de porque el driver de hp para este modelo no funciona o no va bien, y el de emulex funciona de maravillas, lo dejo ya para los curiosos.

7. Instalar Emulex Driver

Preparamos el equipo por si hicieran falta paquetes necesarios para la compilación

# wget http://www-dl.emulex.com/support/linux/414020/elx-be2iscsi-dd-4.1.402.0-1-1.tar.gz
# tar xf elx-be2iscsi-dd-4.1.402.0-1-1.tar.gz
# cd elx-be2iscsi-dd-4.1.402.0
# ./elx_iscsi_install.sh

Tardará unos minutos.

Installing be2iscsi package, RHEL6_64/kmod-be2iscsi-4.1.402.0_rh6-1.x86_64.rpm ...
Preparing... ########################################### [100%]
1:kmod-be2iscsi ########################################### [100%]
Unloaded driver be2iscsi
Loaded driver be2iscsi
Installation complete

Hacemos reboot para completar esta fase

# hbacmd listhbas

ahora nos devuelve info 🙂

Podemos quitar iscsi y iscsid del arranque, que, si tenemos las LUNS ya configuradas desde la BIOS, arrancarán (Siempre y cuando los servicios elx* estén funcionando)

Links
http://jktechdump.wordpress.com/2011/10/26/xenserver-10g-iscsi-emulex/
Emulex-Centos.zip

Leave a Reply

Your email address will not be published. Required fields are marked *