Configurar la iLo desde el sistema operativo

Las tarjetas iLo son un buen invento para tener gestión fuera de banda (out of band, OOB) de un servidor HP Proliant. Especialmente útiles en el caso de que un sistema operativo no responda y no podamos acercarnos a dar un botonazo al servidor o sencillamente éste esté pagado y no podamos encenderlo.

Típicamente esta configuración se haría en el proceso de instalación el servidor, pero a veces nos encontramos que no se ha hecho y no se puede reiniciar la máquina para entrar en la BIOS de la tarjeta iLo y realizar esta configuración. Para ello HP provee en sus últimos PSPs (Proliant Support Packs) de la herramienta hponcfg , HP Online Configurator, que permite cambiar estos parámetros desde el SO y "en caliente" (requiere reinicio de la tarjeta iLo pero no afecta al sistema operativo).

Para obtener la configuración actual de la iLo (y usarla como plantilla para editarla), debemos obtenerla y escribirla en un fichero con hponcfg:

# hponcfg -w /tmp/ilo.txt  
Firmare Revision = 1.78 Device type = iLO 2 Driver name = hpilo  
RILOE II iLO configuration successfully written to file "/tmp/ilo.txt"  
#

La estructura típica del fichero generado sería algo así :

<!-- HPONCFG VERSION = "1.9" -->  
<!-- Generated 6/5/2010 2:43:40 -->  
<RIBCL VERSION="2.1">  
<LOGIN USER_LOGIN="Administrator" PASSWORD="password">  
<DIR_INFO MODE="write">  
<MOD_DIR_CONFIG>  
<DIR_AUTHENTICATION_ENABLED VALUE = "N"/>  
<DIR_LOCAL_USER_ACCT VALUE = "Y"/>  
<DIR_SERVER_ADDRESS VALUE = ""/>  
<DIR_SERVER_PORT VALUE = "636"/>  
<DIR_OBJECT_DN VALUE = ""/>  
<DIR_OBJECT_PASSWORD VALUE = ""/>  
    <DIR_USER_CONTEXT_1 VALUE = ""/>  
    <DIR_USER_CONTEXT_2 VALUE = ""/>  
<DIR_USER_CONTEXT_3 VALUE = ""/>  
</MOD_DIR_CONFIG>  
</DIR_INFO>  
<RIB_INFO MODE="write">  
<MOD_NETWORK_SETTINGS>  
<SPEED_AUTOSELECT VALUE = "Y"/>  
<NIC_SPEED VALUE = "100"/>  
<FULL_DUPLEX VALUE = "Y"/>  
<IP_ADDRESS VALUE = "10.0.0.55"/>  
<SUBNET_MASK VALUE = "255.255.255.0"/>  
<GATEWAY_IP_ADDRESS VALUE = "10.0.0.1"/>  
<DNS_NAME VALUE = "servidor-ilo"/>  
<PRIM_DNS_SERVER value = "0.0.0.0"/>  
<DHCP_ENABLE VALUE = "N"/>  
<DOMAIN_NAME VALUE = ""/>  
<DHCP_GATEWAY VALUE = "Y"/>  
<DHCP_DNS_SERVER VALUE = "Y"/>  
<DHCP_STATIC_ROUTE VALUE = "Y"/>  
<DHCP_WINS_SERVER VALUE = "Y"/>  
<REG_WINS_SERVER VALUE = "Y"/>  
<PRIM_WINS_SERVER value = "0.0.0.0"/>  
<STATIC_ROUTE_1 DEST = "0.0.0.0" GATEWAY = "0.0.0.0"/>  
<STATIC_ROUTE_2 DEST = "0.0.0.0" GATEWAY = "0.0.0.0"/>  
<STATIC_ROUTE_3 DEST = "0.0.0.0" GATEWAY = "0.0.0.0"/>  
</MOD_NETWORK_SETTINGS>  
</RIB_INFO>  
<USER_INFO MODE="write">  
<ADD_USER  
USER_NAME = "usuario_admin"  
USER_LOGIN = "usuario_admin"  
PASSWORD = "PASSWORD">  
<ADMIN_PRIV value = "Y"/>  
<REMOTE_CONS_PRIV value = "Y"/>  
<RESET_SERVER_PRIV value = "Y"/>  
<VIRTUAL_MEDIA_PRIV value = "Y"/>  
<CONFIG_ILO_PRIV value = "Y"/>  
</ADD_USER>  
</USER_INFO>  
</LOGIN>  
</RIBCL>

Una vez modificado el fichero con los valores adecuados (IPs, fullduplex, usuarios, etc), deberemos aplicarlo con el siguiente comando:

# hponcfg -f ilo_modificado.txt  
Firmware Revision = 1.78 Device type = iLO 2 Driver name = hpilo  
<INFORM>Integrated Lights-Out will reset at the end of the
script.</INFORM>  
Please wait while the firmware is reset. This might take a minute  
Script succeeded  
#

Si bien editar ficheros de configuración no es la forma más cómoda de cambiar estos parámetros, permite gran flexibilidad para, por ejemplo, hacer configuraciones estándar o incluirlo dentro de un script / Kickstart de instalación. En el siguiente artículo veremos cómo configurar RHEL para ser accesible por un puerto serie (por ejemplo, el puerto serie virtual de las tarjetas iLo ;-) ).