# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Cómo ver el estado, modelo y número de serie de discos duros en hpacucli

En esta entrada vamos a ver como ver el estado, modelo (P/N), número de serie y características de cada uno de los discos físicos conectados a la controladora de un servidor HP Proliant. Lo vamos a hacer mediante la utilidad de HP hpacucli, de la cual ya hablé en otras ocasiones: hpacucli: gestión de RAID Array en servidores HP desde Linux.

En mi caso además de por la utilidad evidente de los datos que nos facilita es útil para los casos en el que hay que contactar con soporte de HP y necesitan el Part Number o número de serie del disco físico.

Lo primero que hacemos es acceder a hpacucli desde la shell ssh:

# hpacucli
HP Array Configuration Utility CLI 8.40-4.0
Detecting Controllers...Done.
Type "help" for a list of supported commands.
Type "exit" to close the console.

=>

Tenemos que averiguar la controladora a la cual están conectados los discos, la mayoría de veces es el slot 0 pero conviene revisarlo:

=> controller all show    

Smart Array P410i in Slot 0 (Embedded)    (sn: XXXXXX)

Ahora ya podemos visualizar los datos de todos los discos o de cada uno en concreto. En este caso ha sido necesario para averiguar el nº de serie y P/N de un disco averiado:

=> controller slot=0 pd all show detail

Smart Array P410i in Slot 0 (Embedded)

   array A (Failed)

      physicaldrive 1I:1:1
         Port: 1I
         Box: 1
         Bay: 1
         Status: OK
         Drive Type: Data Drive
         Interface Type: SAS
         Size: 72 GB
         Rotational Speed: 15000
         Firmware Revision: HPDC
         Serial Number: XXXXXX
         Model: HP      XXXXXX
         PHY Count: 2
         PHY Transfer Rate: 6.0GBPS, Unknown
      physicaldrive 1I:1:2
         Port: 1I
         Box: 1
         Bay: 2
         Status: Failed
         Drive Type: Data Drive
         Interface Type: SAS
         Size: 72 GB
         Rotational Speed: 15000
         Firmware Revision: HPD3
         Serial Number: XXXXXX
         Model: HP      XXXXXX
         PHY Count: 2
         PHY Transfer Rate: 6.0GBPS, Unknown

Optimización de un sitio web con Firebug

firebug

Probablemente no sea el más indicado para hablar sobre esta extensión de Firefox ya que apenas llevo unos días utilizándola, pero me ha dejado tan impresionado que por lo menos intentaré dar unas pinceladas de todas las posibilidades que nos ofrece.

Firebug es una herramienta imprescindible para desarrolladores web, diseñadores y webmasters. En pocas palabras, permite depurar, optimizar y eliminar fallos de la programación y estructuración de una página web y todos los elementos que la componen (javascript, html, css, imágenes…). Todo ello gracias a detallados informes, sugerencias, visores de código, etc.

Las características más importantes que he encontrado en este poco tiempo han sido:

  • Edición a tiempo real del código de la página web:
    Podemos modificar directamente desde el navegador el código HTML del sitio web, el CSS o JavaScript sin tener que tocar el código original. Ideal para probar cambios sin alterar ni una línea de código de nuestra web.
  • Analizador de rendimiento (Page Speed):
    La sección a la que más partido he sacado, muestra un informe exhaustivo de la carga de una página web, entre otras cosas podemos ver (en otros post ya hablaré sobre como maximizar la optimización de cada punto):

    • Nivel de optimización de caché a nivel de navegador (Expiración de cabeceras, etc).
    • Peticiones DNS externa (llamadas a objetos externos a nuestro sitio web)
    • Eficiencia de CSS, JavaScript, HTML, etc (No solo te indica en que puntos mejorar, sino que te ofrece la descarga del código optimizado).
    • Niveles de compresión: Indica el % de compresión que podemos aumentar, así mismo ofrece la descarga de css, javascript y html con un nivel de compresión mejorado.
    • Optimización de imágenes: Indica el % de optimización de imagenes disponible, con la descarga a cada una de las imagenes ya optimizadas. Este punto es espectacular, reduce considerablemente el peso de las imagenes sin perder un ápice de calidad.
    • Optimización de estructura de HTML.Y muchas opciones más que todavía no he tenido la opción de descubrir…
  • Informes sobre los niveles de latencia en las peticiones web, peso de cada petición, tiempo de carga total y parcial del sitio web y sus objetos
    Informe firebug
  • Consola de errores y depuración

Esto es lo que he podido “trastear” durante este par de días con la herramienta, seguro que algunos de vosotros (programadores y desarrolladores) lleváis años trabajando con ella, así que si tenéis alguna mención especial a alguna utilidad de la misma será bienvenida.

Descarga Firebug: getfirebug.com

Firebug en acción:

HP Smart Array E200i: migración online RAID 0 a RAID 1+0

La controladora Smart Array E200i de HP, utilizada normalmente en servidores HP Proliant DL360 para discos SAS, no permite la migración de un RAID 0 a RAID 1+0 sin perdida de datos ni de disponibilidad a no ser que añadamos a la controladora el kit BBWC (battery backed cache upgrade), la cual también permite la creación de RAID 5.

Suponemos entonces que tenemos el hardware necesario y que la configuración de discos es la siguiente:

  • 1 disco en RAID 0.
  • 1 disco sin asignar.

Lo primero que tendremos que hacer es tener instalado ACU (Utilidad de Configuración de Arrays) y HP System Management. Podéis descargar ambos e instalarlos desde los CD support pack de HP o desde el sitio web. Su instalación es sencilla, en caso de RHEL o CentOS es via RPM.

Una vez instalado, arrancamos en el servidor ambos servicios:

# /usr/sbin/cpqacuxe -R
# /etc/init.d/hpsmhd restart

Bien, entrando al tema, tenemos que acceder a la interfaz web de HPSM, usando la IP o hostname de la máquina y el puerto 2381 (y via HTTPS):

https://192.168.0.222:2381/

HP System Management

 

Accedemos al ACU, Array Configuration Utility y seleccionamos la controladora:

 

hp ACU array configuration utility

 

Una vez dentro, seleccionamos el array/unidad lógica que queremos modificar, en ese caso el array SAS , si la battery backed cache está correctamente instalada y cargada debería aparecer a la derecha la opción “Expandir Array“. También veremos la unidad/disco sin asignar:

 

HP ACU RAID

 

Tras pinchar en “Expandir Array” veremos que aparece ya la posibilidad de añadir el disco sin asignar al array:

 

Expandir array acu

 

Guardamos los cambios y automáticamente veremos el % de progreso de la transformación del RAID:

Transformacion RAID ACU

 

Una vez que finalice, ya tenemos el nuevo disco asignado a la unidad lógica. Llega el momento entonces de migrar el RAID:

 

Migrar RAID HP

 

Tras pinchar ya tendremos la opción de migrar a RAID 1. Automáticamente se seleccionará el Full stripe size de 128K
 
Migrar HP RAID 1 ACU
 

Ya solo queda esperar a que termine la migración de RAID 0 a RAID 1+0. Hemos conseguido realizarlo sin parada de servicio ni perder ningún dato del anterior RAID 0.

Regenerar clave de administrador de iLO sin saber la password

Si hemos perdido la clave del usuario Administrator en una iLO y no queremos reiniciar el sistema para cambiar la clave o generar un nuevo usuario, podemos regenerarla (sin conocer la actual) desde la línea de comandos del servidor (GNU/Linux) en cuestión.

Lo primero que necesitamos es tener instalado hponcfg (revisad este artículo para su instalación: Cambiar password de HP iLO desde Linux).

Después utilizamos el siguiente XML para solicitar una nueva clave de Administrador contra la iLO:

<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="adminname" PASSWORD="password">
<USER_INFO MODE="write">
<MOD_USER USER_LOGIN="Administrator">
<PASSWORD value="aqui_la_clave"/>
</MOD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>

No es necesario especificar el usuario admin y su clave actual, eso lo dejamos tal y como está. Únicamente cambiamos el valor PASSWORD aqui_la_clave. Una vez modificado el XML lo ejecutamos contra la iLO:

# hponcfg -f resetpass.xml

Ya deberíais poder acceder a la iLO con los nuevos datos.

Consulta la reputación de una IP en cientos de listas anti-spam

Hoy os dejo un enlace de gran utilidad para consultar la reputación de una IP de un servidor de correo en listas negras anti-spam. Actualmente hace la consulta contra 219 blacklist DNSBL/RBL y nos presenta un informe indicando en cuales estamos filtrados con su respectivo enlace al sitio web de la lista.

Para acceder al sitio pinchad en la imagen.

Blacklist Email Check

Múltiples sistemas operativos disponibles desde un USB

MultiBoot ISOs

MultiBoot USB permite crear un USB de arranque en el cual añadir las ISO de sistemas operativos que queramos. Finalmente, al arrancar un equipo con el USB disponemos de un menú (GRUB) del que seleccionar el sistema operativo con el que arrancar.

Esto es extremadamente útil pues permite disponer, en una única memoria USB todos los sistemas operativos que necesitemos, Live-CD, distribuciones de rescate, utilidades como Ubuntu, Fedora, openSUSE, GParted partition disc, Ophcrack password reset, etc

Podéis descargar MultiBootISOs desde el sitio web www.pendrivelinux.com, donde encontraréis los pasos para la creación del USB y más información (También en LifeHacker)

Cambiar parámetros de red HP iLO desde Linux

Seguimos repasando algunas de las posibilidades que nos ofrece hponcfg, utilidad que permite cambiar desde el sistema operativo GNU/Linux la configuración de la iLO (Integrated Lights-Out) de servidores HP Proliant.

En este caso vamos a ver como modificar los parámetros de red (IP, máscara, puerta de enlace, etc) que se utilizan para posteriormente acceder a la web de gestión iLO.

Seguimos utilizando los ejemplos en formato XML de HP Lights-Out XML PERL Scripting Sample for Linux. A continuación el utilizado para realizar modificaciones en los parámetros de red:

<!--         RIBCL Sample Script for HP Lights-Out Products          -->
<!--Copyright (c) 2003,2010 Hewlett-Packard Development Company, L.P.-->
<!-- Description:  This is a sample XML script to configure the      -->
<!--               network settings for following devices:           -->
<!--                 Integrated Lights-Out 3 (iLO 3)                 -->
<!--                 Integrated Lights-Out 2 (iLO 2)                 -->
<!--                 Integrated Lights-Out (iLO)                     -->
<!--                 Remote Insight Lights-Out Edition II (RILOE II) -->
<!-- NOTE:  You will need to replace the USER_LOGIN and PASSWORD     -->
<!--        and other values inside the quotation marks with values  -->
<!--        that are appropriate for your environment.               -->
<!--        Double check all values before executing this script.    -->
<!--        Incorrect or mismatched network settings may cause you   -->
<!--        to lose the ability to connect to your Lights-Out device.-->
<!--        Use CPQLOCFG.EXE ver 2.26 or greater with this script.   -->
<!--        This script was written for iLO 3 firmware version 1.00  -->
<!--        release.                                                 -->
<!--        See "HP Integrated Lights-Out Management Processor       -->
<!--        Scripting and Command Line Resource Guide" for more      -->
<!--        information on scripting and the syntax of the RIBCL     -->
<!--        XML.                                                     -->
<!--        Firmware support infomation for this script:             -->
<!--            iLO 3 - All versions.                                -->
<!--            iLO 2 - All versions.                                -->
<!--              iLO - All versions.                                -->
<!--         RILOE II - All versions.                                -->
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="adminname" PASSWORD="password">
<RIB_INFO MODE="write">
<MOD_NETWORK_SETTINGS>
<!--        Firmware support infomation for next 4 tags :      -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - All versions.                          -->
<!--              iLO - All versions.                          -->
<!--         RILOE II - None.                                  -->
<ENABLE_NIC value="Yes"/>
<REG_DDNS_SERVER value="Yes"/>
<PING_GATEWAY value="No"/>
<DHCP_DOMAIN_NAME value="Yes"/>
<!--        Firmware support infomation for next 22 tags :     -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - All versions.                          -->
<!--              iLO - All versions.                          -->
<!--         RILOE II - All versions.                          -->
<SPEED_AUTOSELECT value="YES"/>
<NIC_SPEED value="100"/>
<FULL_DUPLEX value="Yes"/>
<DHCP_ENABLE value="No"/>
<IP_ADDRESS value="172.20.60.152"/>
<SUBNET_MASK value="255.255.255.0"/>
<GATEWAY_IP_ADDRESS value="172.20.60.1"/>
<DNS_NAME value="demoilo"/>
<DOMAIN_NAME value="internal.com"/>
<DHCP_GATEWAY value="Yes"/>
<DHCP_DNS_SERVER value="Yes"/>
<DHCP_WINS_SERVER value="Yes"/>
<DHCP_STATIC_ROUTE value="Yes"/>
<REG_WINS_SERVER value="Yes"/>
<PRIM_DNS_SERVER value="0.0.0.0"/>
<SEC_DNS_SERVER value="0.0.0.0"/>
<TER_DNS_SERVER value="0.0.0.0"/>
<PRIM_WINS_SERVER value="0.0.0.0"/>
<SEC_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"/>
<!--        Firmware support infomation for next 4 tags :      -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - None.                                  -->
<!--              iLO - None.                                  -->
<!--         RILOE II - None.                                  -->
<DHCP_SNTP_SETTINGS value="Yes"/>
<SNTP_SERVER1 value="0.0.0.0"/>
<SNTP_SERVER2 value="0.0.0.0"/>
<TIMEZONE value="America/Anchorage"/>
<!-- This tag can be used on an iLO blade server to force iLO  -->
<!-- to attempt to get an IP address from the signal backplane -->
<!-- in a server enclosure.  The IP address must be set prior  -->
<!-- with Mod_Enc_Bay_IP_Settings.xml                          -->
<!--        Firmware support infomation for next tag:          -->
<!--            iLO 3 - All versions.                          -->
<!--            iLO 2 - All versions.                          -->
<!--              iLO - All versions.                          -->
<!--         RILOE II - None.                                  -->
<!--
<ENCLOSURE_IP_ENABLE VALUE="Yes"/>
-->
<!--        Firmware support infomation for next tag:          -->
<!--            iLO 3 - None.                                  -->
<!--            iLO 2 - None.                                  -->
<!--              iLO - None.                                  -->
<!--         RILOE II - All versions.                          -->
<!--
<WEB_AGENT_IP_ADDRESS value="192.168.0.1"/>
-->
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>

En este XML tenemos que modificar primero los datos de conexión como administrador USER_LOGIN y PASSWORD y posteriormente a los parámetros que cada uno necesitemos modificar (IP_ADDRESS, SUBNET_MASK, GATEWAY_IP_ADDRESS…).

Si únicamente necesitáis cambiar los valores básicos, ahí va un script reducido y más fácil de entender:

<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="xxxxxxxx" PASSWORD="xxxxxxx">
<RIB_INFO MODE="WRITE" >
<MOD_NETWORK_SETTINGS>
<IP_ADDRESS VALUE = "192.168.0.100"/>
<SUBNET_MASK VALUE = "255.255.255.0"/>
<GATEWAY_IP_ADDRESS VALUE = "192.168.0.1"/>
<PRIM_DNS_SERVER value = "192.168.0.222"/>
<DHCP_ENABLE VALUE = "N"/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>

Una vez modificado todo el script a conveniencia lo ejecutamos contra la aplicación:

# hponcfg -f cambio-red.xml

Si en la salida de ejecución del comando recibimos “Script succeeded” el cambio debería haber funcionado y ya podríamos acceder con los nuevos datos.

Cambiar password de HP iLO desde Linux

Hponcfg es una utilidad que forma parte del HP Proliant Support Pack y que nos permite gestionar desde el sistema operativo todos los parámetros de iLO (Integrated Lights-Out) de servidores HP Proliant. Una vez descargado simplemente se instala como cualquier rpm:

#rpm -i hponcfg-3.0.0-0.noarch.rpm

Hoy vamos a ver como modificar la clave de acceso a la interfaz web de gestión de iLO sin tener que reiniciar el sistema y hacerlo en el arranque.

HP nos ofrece una serie de scripts en formato XML de ejemplo (HP Lights-Out XML PERL Scripting Sample for Linux) que podemos utilizar para realizar todas estas labores. Iré mostrando estos días los que me parecen más interesantes.

Para cambiar la clave de un usuario de acceso a iLO utilizaremos el siguiente script XML:

<!--         RIBCL Sample Script for HP Lights-Out Products          -->
<!--Copyright (c) 2003,2010 Hewlett-Packard Development Company, L.P.-->
<!-- Description:  This is a sample XML script to change a user's    -->
<!--               password in the database of local users on        -->
<!--               following devices:                                -->
<!--                 Integrated Lights-Out 3 (iLO 3)                 -->
<!--                 Integrated Lights-Out 2 (iLO 2)                 -->
<!--                 Integrated Lights-Out (iLO)                     -->
<!--                 Remote Insight Lights-Out Edition II (RILOE II) -->
<!-- NOTE:  You will need to replace the values inside the quote     -->
<!--        marks with values that are appropriate for your          -->
<!--        environment.                                             -->
<!--        Use CPQLOCFG.EXE ver 2.26 or greater with this script    -->
<!--        This script was written for iLO 3 firmware version 1.00. -->
<!--        release.                                                 -->
<!--        See "HP Integrated Lights-Out Management Processor       -->
<!--        Scripting and Command Line Resource Guide" for more      -->
<!--        information on scripting and the syntax of the RIBCL     -->
<!--        XML.                                                     -->
<!--        Firmware support infomation for this script:             -->
<!--            iLO 3 - All versions.                                -->
<!--            iLO 2 - All versions.                                -->
<!--              iLO - All versions.                                -->
<!--         RILOE II - All versions.                                -->
<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="adminname" PASSWORD="password">
<USER_INFO MODE="write">
<MOD_USER USER_LOGIN="username">
<PASSWORD value="newpassword"/>
</MOD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>

Como véis es bastante sencillo, solo tenemos que especificar los datos de acceso del usuario administrador actual y posteriormente elegir los nuevos datos del usuario a modificar. Finalmente ejecutamos el script del siguiente modo:

# hponcfg -f cambio-clave.xml

Si en la salida de ejecución del comando recibimos “Script succeeded” el cambio debería haber funcionado y ya podríamos acceder con los nuevos datos.