Servidor Intel con Debian, IPMI y software RAID (II)

Proseguimos el relato de la instalación y configuración inicial de un servidor Intel. Estábamos justo con el sistema recien instalado y arrancado. Lo primero es ajustar el grub para que guarde en el MBR del segundo disco también la información para arrancar (sólo los datos en el /boot no son suficientes). Para ello:

  • device (hd0) /dev/sdc
  • root (hd0,0)
  • setup (hd0)

Ahora vamos a probarlo. Paro la máquina, desenchufo el primer disco y reinicio. Aparece el menú de grub, kernel arrancando... correcto, me pide login. Comprobado. Paro de nuevo, reconecto y reinicio otra vez. Arranca de nuevo correctamente aunque los discos RAID no han reencontrado las particiones del primer disco. Las añado manualmene:

  • mdadm /dev/md0 -a /dev/sda1
  • mdadm /dev/md1 -a /dev/sda2

Pasamos ahora a la configuración inicial del servicio IPMI. Para los que no sepan que es esto del IPMI permitidme una explicación burda y tremendamente simplificada: en ciertas placas base destinadas a actuar de servidor se instala un pequeño chip controlador que puede interactuar con elementos del equipo de manera independente e incluso estando parado (con los voltajes de standby y esas cosas que hacen las fuentes de alimentación modernas). Permite consultar sensores, el estado del equipo (activado, parado...), incluso arrancarlo, pararlo, hacer un reset, consultar la BIOS y un largo etcétera. Pero quizas una de las mejores funcionalidades (bajo mi punto de vista) es que puede utilizarse remotamente a través de la interfaz de red. Eso unido a la capacidad de redireccionar un puerto serie... nos permite entrar al equipo de manera remota. Además la "cónsola" permite ser redireccionada al puerto serie también de manera que, en teoria, deberiamos poder ver y interactuar con el equipo desde la BIOS, proceso de arranque, hasta hacer un shell como si estuvieramos en local. Veremos si lo conseguimos.

El primer paso es el fácil: conseguir soporte IPMI local. Instalo los paquetes ipmitool y openipmi. Hay que cargar los siguientes módulos de manera que modificamos el fichero /etc/modules:

  • ipmi-si
  • ipmi_devintf

Con esos módulos cargados nos aparece el dispositivo de comunicación con el IPMI: /dev/ipmi0. Con esto ya nos funciona la comunicación IPMI local que podemos probar de la siguiente manera:

boverals:~# ipmitool chassis status  
System Power         : on  
Power Overload       : false  
Power Interlock      : inactive  
Main Power Fault     : false  
Power Control Fault  : false  
Power Restore Policy : previous  
Last Power Event     :  
Chassis Intrusion    : inactive  
Front-Panel Lockout  : inactive  
Drive Fault          : false  
Cooling/Fan Fault    : false  
Sleep Button Disable : not allowed  
Diag Button Disable  : not allowed  
Reset Button Disable : allowed  
Power Button Disable : allowed  
Sleep Button Disabled: false  
Diag Button Disabled : false  
Reset Button Disabled: true  
Power Button Disabled: true  

Aprovechamos este soporte local para activar el demonio ipmievd que se encargará de recoger los eventos de sistema (del System Event Log de la BIOS) y mostrarlos por el log del linux los que nos permite monitorizarlo como una parte más del sistema. Editamos el /etc/default/ipmievd para activarlo y lo arrancamos:

boverals:~# /etc/init.d/ipmievd start  
ipmievd: using pidfile /var/run/ipmievd.pid0