En
esta ocasión vamos a instalar y configurar un software de gestión para UPS en
Ubuntu 12.04. En este escenario tenemos 3 servidores protegidos eléctricamente
por una UPS KEHUA TECH KR1000-J conectada a uno de ellos por interface RS-232
(puerto serie) el cual ejecuta Ubuntu Server 12.04; el objetivo es apagar todos
los servidores protegidos por esta UPS ante la falla de AC.
Debo
acotar que en este escenario hay servidores Linux y Windows, veremos como apagar
estos durante la falla del suministro eléctrico.
Para
este propósito vamos a instalar el Upsilon 2000 para Linux en el server que
controla la UPS, en el siguiente link se puede descargar el software.
En
este link hay una guía de instalación
Por
tanto no vamos a entrar en los detalles de la instalación, solo comentar que
finalizando la instalación nos da un error (al menos en mi Ubuntu 12.04 server)
debido a que el instalador no puede modificar el fichero /etc/rc.d/rc.local
porque no lo encuentra, en este paso el instalador trata de garantizar el
inicio del agente de monitoreo en cada incio del sistema de modo que
manualmente modificaremos nuestro rc.local para este propósito, en mi instalación
de Ubuntu se encuentra en /etc/rc.local de modo que escribiremos en la consola
nano /etc/rc.local y al final del archivo y antes de la línea
que contiene exit 0 escribiremos
/etc/upsilon/upsilon start
De este modo garantizamos el monitoreo de la UPS desde la
carga del sistema.
Configurando UPsilon en Linux
Editamos el fichero /etc/upsilon/upsilon.cfg que contiene lo
siguiente:
- AC Fail Delay : Tiempo en minutos en que comenzará el apagado del sistema después de la falla de AC, entre paréntesis los posibles valores, entre corchetes los valores establecidos
- Batt Low Delay: Tiempo en que comenzara el apagado por batería baja
- Turn Off UPS Delay: Tiempo en que se apagara la UPS después de apagado el sistema
- UPS Comport: Puerto COM donde esta conectado el cable RS-232 de la UPS
- Turn Off UPS?: Se apagara la UPS después de cierre del sistema
- Comunication Mode: Tipo de comunicación con la UPS, en nuestro caso [0]
El
resto de los parámetros no son aplicables a este escenario. Salvamos el fichero.
Editamos el fichero /etc/upsilon/shutdown.ini
El mismo contiene una sola línea y es el comando que se
ejecutara para el apagado del sistema al cual esta conectada la UPS, vamos a cambiar la única línea que
contiene (/sbin/halt) por /sbin/shutdown –h –P now, esto se ejecutará después de
transcurrido el tiempo configurado en AC
Fail Delay
Editamos el fichero
/etc/upsilon/preshut.bat
Aquí
vamos a escribir los comandos que apagaran tanto los servers Linux como los
server Windows.
Para
apagar los server Linux haremos uso del paquete sshpass que nos permite enviar a una pc Linux en una sola línea y
no interactivamente, usuario, contraseña y comando a ejecutar remotamente, por
supuesto usuario debe tener derechos de apagar el sistema.
Instalamos sshpass
# aptitude install sshpass
Para
apagar los servidores Windows necesitamos tener instalado el paquete samba.
Instalamos samba
# aptitude install samba
El aspecto del fichero /etc/upsilon/preshut.bat quedaría más
o menos asi:
En
la segunda y tercera línea apagamos los servers Linux y Windows respectivamente.
Es importante previamente ejecutar estos comandos interactivamente, ssh debe guardar en cache las llaves de seguridad de la conexion.
Es importante previamente ejecutar estos comandos interactivamente, ssh debe guardar en cache las llaves de seguridad de la conexion.
Esta solución fue probada para los siguientes modelos de UPS
Marca
|
Modelo
|
Capacidad
|
Interface
|
KEHUA TECH
|
KR1000-J
|
1000 VA,700 W
|
RS-232
|
ABLEREX
|
MSRT-PRO 2000
|
2000 VA, 1400 W
|
RS-232
|