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

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

Feliz día del sysadmin 2010

Un año más, felicidades a todos los administradores de sistemas. Seguramente serán pocos los usuarios que os feliciten, por lo menos esperaremos que las máquinas nos den un día de respiro y se mantengan todas en verde ;)

Felicidades a Recetas de un Sysadmin, SystemAdmin, Matnews, supaplex.info, thinking sysadmin, logadmin.net, Racker Hacker, etc etc etc

Feliz día del sysadmin

Y que todos los Data Center sean como el de la siguiente foto, ese sería un buen regalo, ¿verdad? :D

sysadmin

hpasm “sed: can’t read /etc/init.d/ipmi: No such file or directory”

Instalando hoy en unos nuevos equipos hpasm (Hpasmcli: monitorizar el estado de hardware HP Proliant desde linux) me encontré con el siguiente error al arrancar los servicios:

# /etc/init.d/hpasm restart
Shutting down NIC Agents (cmanic): All agents

Shutting down Storage Agents (cmastor): cmaeventd cmaidad cmafcad cmaided cmascsid cmasasd
   Shutting down Storage Event Logger (cmaeventd):         [  OK  ]
   Shutting down IDA agent (cmaidad):                      [  OK  ]
   Shutting down FCA agent (cmafcad):                      [  OK  ]
   Shutting down IDE agent (cmaided):                      [  OK  ]
   Shutting down SCSI agent (cmascsid):                    [  OK  ]
   Shutting down SAS agent (cmasasd):                      [  OK  ]

Shutting down Server Agents (cmasvr): cmastdeqd cmahealthd cmaperfd cpqriisd cmasm2d cmarackd
   Shutting down Standard Equipment agent (cmastdeqd):     [  OK  ]
   Shutting down Health agent (cmahealthd):                [  OK  ]
   Shutting down Performance agent (cmaperfd):             [  OK  ]
   Already stopped cpqriisd.                               [  OK  ]
   Shutting down RIB agent (cmasm2d):                      [  OK  ]
   Shutting down Rack agent (cmarackd):                    [  OK  ]

Shutting down Foundation Agents (cmafdtn): cmathreshd cmahostd cmapeerd
   Shutting down Threshold agent (cmathreshd):             [  OK  ]
   Shutting down Host agent (cmahostd):                    [  OK  ]
   Shutting down SNMP Peer (cmapeerd):                     [  OK  ]

sed: can't read /etc/init.d/ipmi: No such file or directory
   Using standard Linux IPMI device driver and hpasm-lite
   Shutting down Proliant Standard IPMI based System Health Monitor (hpasmlited):
                                                           [  OK  ]
sed: can't read /etc/init.d/ipmi: No such file or directory
   Using standard Linux IPMI device driver and hpasm-lite
   Starting Proliant Standard IPMI based System Health Moni[  OK  ]smlited):
Starting Foundation Agents (cmafdtn): cmathreshd cmahostd cmapeerd
   Starting Threshold agent (cmathreshd):                  [  OK  ]
   Starting Host agent (cmahostd):                         [  OK  ]
   Starting SNMP Peer (cmapeerd):                          [  OK  ]

Starting Server Agents (cmasvr): cmastdeqd cmahealthd cmaperfd cpqriisd cmasm2d cmarackd
   Starting Standard Equipment agent (cmastdeqd):          [  OK  ]
   Starting Health agent (cmahealthd):                     [  OK  ]
   Starting Performance agent (cmaperfd):                  [  OK  ]
   cpqriisd requires hp_ilo.
                                                           [  OK  ]
   Starting RIB agent (cmasm2d):                           [  OK  ]
   cpqriisd requires hp_ilo.
                                                           [  OK  ]
   Starting Rack agent (cmarackd):                         [  OK  ]

Starting Storage Agents (cmastor): cmaeventd cmaidad cmafcad cmaided cmascsid cmasasd
   Starting Storage Event Logger (cmaeventd):              [  OK  ]
   Starting IDA agent (cmaidad):                           [  OK  ]
   Starting FCA agent (cmafcad):                           [  OK  ]
   Starting IDE agent (cmaided):                           [  OK  ]
   Starting SCSI agent (cmascsid):                         [  OK  ]
   Starting SAS agent (cmasasd):                           [  OK  ]

Starting NIC Agents (cmanic): All agents
   Starting NIC Agent Daemon (cmanicd):   Unable to determine if cmanic successfully started

hpasm:  Server Management is enabled

El problema era no tener instalado OpenIPMI, procedemos a instalarlo desde yum (en este caso era una CentOS 64bits) y problema solucionado

# yum install OpenIPMI.x86_64

Ya podemos reiniciar los servicios hpasm y debería desaparecer el error.

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)

Redirección 301 con IIS

Vamos a ver como realizar una redirección tipo 301 (Página movida permanentemente) para un sitio web alojado en un servidor con IIS (Internet Information Services) corriendo.

Necesitamos acceso por Terminal Service al servidor en el que tenemos el sitio web alojado. Una vez dentro accederemos a “Internet Services Manager” para modificar el website:

Start -> Programs -> Administrative Tools -> Internet Services Manager
Inicio -> Programas -> Herramientas administrativas -> Administrador de Internet Information Services (IIS)

Una vez dentro accedemos al servidor pinchando en él (normalmente local computer) y después pinchamos en websites. Ahora tendremos todos los websites que hay configurados en ese servidor. Pinchamos con botón derecho sobre el que nos interese y pinchamos en “Propiedades“.

Ahora, en la sección “Home Directory“, tenemos que seleccionar “A redirection to a URL” o “Redirección a una URL”. En el cuadro de texto escribimos la URL de destino para la redirección 301 y nos aseguramos de pinchar en “A permanent Redirection for this resource“. Esta última opción es la que configurará el 301.

Redirección 301 IIS

Ahora solamente queda guardar y reiniciar el website para que los cambios refresquen. Esta sería una redirección básica 301. IIS permite también redirigir páginas individuales del website o pasar variables como haríamos con mod_rewrite y apache. Esto lo veremos en otra entrada.

Automatización e integración de cPanel/WHM

Hoy os voy a dejar un enlace que os será de gran utilidad si administráis un número elevado de servidores con cPanel/WHM y necesitáis automatizar ciertas tareas como:

  1. Saltarse el asistente de cPanel que aparece una vez instalado y crear un fichero con todas esas configuraciones.
  2. Crear una ISO que instala automáticamente Centos (o RHEL) y cPanel/WHM.
  3. Provisionamiento automático en cPanel con Kickstart.
  4. Perfiles de Easyapache.
  5. Integración y automatización utilizando la API de cPanel

Todo esto y algunas cosas más las encontraréis en el blog oficial de cPanel Integration. Espero que os sea de utilidad.

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.

Hpasmcli: monitorizar el estado de hardware HP Proliant desde linux

Hpasmcli (HP management CLI for Linux) es una utilidad que forma parte del “HP Proliant Support Pack” y que permite monitorizar y visualizar el estado del hardware de un servidor HP de forma sencilla. En este caso vamos a ver las opciones que nos ofrece dentro de un servidor con sistema operativo GNU/Linux.

Para instalarlo en sistemas RHEL/Fedora/CentOS bajamos el rpm correspondiente (o el support pack completo) y lo instalamos:

# rpm -i hpasm-7.8.0-88.rhel5.i386.rpm

Una vez instalado podemos ver las distintas posibilidades que nos ofrece, hoy nos centramos solo en SHOW, hay más cosas disponibles pero ahora no las vamos a ver.

# hpasmcli
HP management CLI for Linux (v1.0)
Copyright 2004 Hewlett-Packard Development Group, L.P.

--------------------------------------------------------------------------
NOTE: Some hpasmcli commands may not be supported on all Proliant servers.
      Type 'help' to get a list of all top level commands.
--------------------------------------------------------------------------
hpasmcli> show
	 SHOW ASR
	 SHOW BOOT
	 SHOW DIMM
	 SHOW F1
	 SHOW FANS
	 SHOW HT
	 SHOW IML
	 SHOW IPL
	 SHOW NAME
	 SHOW PORTMAP
	 SHOW POWERSUPPLY
	 SHOW PXE
	 SHOW SERIAL [ BIOS | EMBEDDED | VIRTUAL ]
	 SHOW SERVER
	 SHOW TEMP
	 SHOW UID
	 SHOW WOL

Ver el estado de las fuentes de alimentación en HP Proliant

# hpasmcli -s 'show POWERSUPPLY;'

Power supply #1
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Power supply #2
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Ver el estado de los ventiladores en HP Proliant

# hpasmcli -s 'show FANS;'

Fan  Location        Present Speed  of max  Redundant  Partner  Hot-pluggable
---  --------        ------- -----  ------  ---------  -------  -------------
#1   POWERSUPPLY_BAY Yes     NORMAL 34%     Yes        1        No
#2   CPU#2           Yes     NORMAL 29%     Yes        1        No
#3   CPU#1           Yes     NORMAL 34%     Yes        1        No

Ver temperaturas en HP Proliant

# hpasmcli -s 'show TEMP;'

Sensor   Location              Temp       Threshold
------   --------              ----       ---------
#0        SYSTEM_BD             -          -
#1        I/O_ZONE             38C/100F   65C/149F
#2        AMBIENT              16C/60F    40C/104F
#3        CPU#1                31C/87F    95C/203F
#4        CPU#1                31C/87F    95C/203F
#5        POWER_SUPPLY_BAY     24C/75F    60C/140F
#6        CPU#2                 -         95C/203F
#7        CPU#2                 -         95C/203F

Ver información de las memorias RAM

# hpasmcli -s 'show DIMM;'

DIMM Configuration
------------------
Cartridge #:   0
Module #:      1
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Cartridge #:   0
Module #:      3
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Ver información general del servidor

# hpasmcli -s 'show SERVER;'

System        : ProLiant DL360 G6
Serial No.    : XXXXXXXXX
ROM version   : P58 XX/XX/XXXX
iLo present   : Yes
Embedded NICs : 2
	NIC1 MAC: 00:00:00:00:00:00
	NIC2 MAC: 00:00:00:00:00:00

Processor: 0
	Name         : Intel Xeon
	Stepping     : 6
	Speed        : 1600 MHz
	Bus          : 1066 MHz
	Core         : 2
	Thread       : 2
	Socket       : 1
	Level2 Cache : 4096 KBytes
	Status       : Ok

Processor total  : 1

Memory installed : 2048 MBytes
ECC supported    : Yes

Estas serían a mi modo de ver las opciones más interesantes, podéis investigar el resto que he puesto al principio de la entrada.