Installer et configurer un UPS APC avec Ubuntu
Introduction
La mise en place d'un UPS (Uninterruptible Power Supply) ne se limite pas uniquement à connecter l'alimentation des serveurs sur ce dernier. Il faut également suivre l'état de l'UPS (pour effectuer des tests, connaître l'état de la batterie,…). Si l'état est insatisfaisant (batterie presque vide, plus de courant secteur,…), il faut prendre des mesures.
Ces mesures peuvent être de différentes sortes suivant la criticité des serveurs connectés sur cet UPS et suivant les ressources humaines et matérielles disponibles pour assurer la continuité du service.
Quelques exemples :
- Lorsque le courant secteur est coupé brutalement, l'UPS prend le relais en ce qui concerne l'alimentation électrique. Mais la durée de la batterie joue… Si vous avez un groupe diesel, la machine qui surveille l'UPS doit provoquer la mise en route de ce groupe électrogène.
- Lorsque le courant secteur est coupé brutalement, on peut également imaginer qu'un opérateur soit dépêché sur place (email, SMS,…) pour diagnostiquer le problème et prendre les mesures qui s'imposent.
- Lorsque la batterie est presque vide, on peut imposer un arrêt propre du serveur.
Ce document passera en revue les points suivants pour le pilotage d'un UPS APC (American Power Conversion) :
- Installation de l'UPS et connexion avec le serveur.
- Installation du pilote de l'UPS.
- Configuration du pilote.
Prérequis
Les opérations décrites dans cet article ont été testées sur un UPS APC Smart UPS 2200 en rack connecté en USB avec un serveur HP Proliant DL380.
Les opérations suivantes ont été effectuées sur le serveur :
- Installation d'Ubuntu en mode server.
- Mise à jour complète des paquets (apt-get update, apt-get upgrade).
Je suppose que l'UPS est dans le rack et est fonctionnel.
Installation
Connexion de l'UPS au serveur
La connexion avec le serveur s'établit à l'aide d'un câble USB - RJ45 fourni avec l'UPS.
- Allumez l'UPS.
- Connectez d'abord le côté RJ45 dans l'UPS (à l'arrière) dans la fiche notée
USB
. - Connectez ensuite le côté USB dans un port libre USB de votre serveur.
Dans une console, introduisez la commande suivante :
sudo lsusb
Vous devriez obtenir une ligne similaire à celle-ci :
Bus 001 Device 002: ID 051d:0002 American Power Conversion Back-UPS Pro 500/1000/1500
Si vous avez bien cette ligne (ou une ligne similaire dépendant de votre matériel), l'UPS est bien connecté à votre serveur. Dans le cas contraire, vérifiez les câbles et référez vous au manuel de l'utilisateur de l'UPS.
Installation du pilote de l'UPS
Installez le paquet apcupsd. Le pilote de l'UPS est maintenant installé. Il ne reste plus qu'à le configurer.
Configuration
Dans une configuration standard (c'est-à-dire un UPS pour un serveur), il vous suffit de vérifier (et corriger au besoin) trois paramètres du fichier de configuration. Le fichier de configuration se trouve dans /etc/apcupsd/apcupsd.conf
. Vous pouvez l'éditer de la manière suivante :
sudo vi /etc/apcupsd/apcupsd.conf
Les trois paramètres clés qui nous intéressent sont :
UPSTYPE
: le type de l'UPS (SmartUPS, BackUPS,…)UPSCABLE
: le type de câble connectant l'UPS au serveur (USB, RS232,…)DEVICE
: le nom du device utilisé pour se connecté à l'UPS.
Dans notre cas (un APC Smart UPS 2200 connecté en USB), le fichier de configuration doit posséder les informations suivantes :
UPSTYPE usb UPSCABLE usb DEVICE
Remarque : Dans notre cas, notez que lorsqu'on utilise une connexion USB, il faut laisser le mot clé DEVICE
à blanc (rien comme paramètre).
D'autres modes de configuration sont décrits dans le fichier de configuration.
Avant de continuer, vous devez signaler au démon que la configuration est effectuée. Pour cela, éditer avec vi le fichier /etc/default/apcupsd
:
sudo vi /etc/default/apcupsd
Et changer la valeur du paramètre ISCONFIGURED
de la manière suivante :
ISCONFIGURED=yes
Une fois la configuration basique effectuée, vous pouvez tester si le démon apcupsd
fonctionne.
sudo /etc/init.d/apcupsd start
Vous devriez avoir une ligne ressemblant à ceci :
Starting APC UPS power management: apcupsd.
Vérifiez ensuite dans les log du système pour voir si le démon est bien lancé :
tail /var/log/syslog
Vous devriez trouver une ligne comme celle-ci :
Jan 26 10:59:32 nodearch2 apcupsd[15003]: apcupsd 3.10.17 (18 March 2005) debian startup succeeded Jan 26 10:59:34 nodearch2 apcupsd[15003]: NIS server startup succeeded
On peut maintenant passer à la phase d'utilisation.
Utilisation
Pour obtenir le status complet de l'UPS, il nous suffit d'introduire la commande suivante :
apcaccess status # Anciennement : /etc/init.d/apcupsd status
Et vous obtiendrez toutes les informations concernant l'UPS (voici ce que mon matériel retourne comme informations) :
APC : 001,038,0930 DATE : Thu Jan 26 11:04:36 CET 2006 HOSTNAME : nodearch2 RELEASE : 3.10.17 VERSION : 3.10.17 (18 March 2005) debian UPSNAME : nodearch2 CABLE : USB Cable MODEL : Smart-UPS 2200 RM UPSMODE : Stand Alone STARTTIME: Thu Jan 26 10:59:31 CET 2006 STATUS : ONLINE LINEV : 224.6 Volts LOADPCT : 13.0 Percent Load Capacity BCHARGE : 100.0 Percent TIMELEFT : 74.0 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds OUTPUTV : 224.6 Volts DWAKE : -01 Seconds DSHUTD : 090 Seconds LOTRANS : 208.0 Volts HITRANS : 253.0 Volts ITEMP : 27.0 C Internal ALARMDEL : Always BATTV : 55.4 Volts LINEFREQ : 50.0 Hz NUMXFERS : 0 TONBATT : 0 seconds CUMONBATT: 0 seconds XOFFBATT : N/A SELFTEST : NO STATFLAG : 0x02000008 Status Flag SERIALNO : JS0543013779 BATTDATE : 2005-10-19 NOMBATTV : 48.0 FIRMWARE : 65.6.I USB FW:2.4 APCMODEL : Smart-UPS 2200 RM END APC : Thu Jan 26 11:04:37 CET 2006
Voici les informations d'état les plus intéressantes :
STATUS : ONLINE
indique l'état de la ligne secteur.ONLINE
signifie que l'on fonctionne sur le secteur.ONBATT
signifie que l'on fonctionne sur batterie etCHARGING
indique que la batterie se recharge.LOADPCT : 13.0 Percent Load Capacity
indique le pourcentage de charge de l'UPS. Dans ce cas, l'UPS nous indique qu'il est à13%
de sa charge. Lorsqu'on ajoute des serveurs, cette charge augmente (et, fatalement, l'autonomie des batteries diminuera).BCHARGE : 100.0 Percent
indique l'état de charge de la batterie.TIMELEFT : 74.0 Minutes
indique une estimation du temps restant en considérant la charge de l'UPS et l'état de la batterie.BATTDATE : 2005-10-19
indique la date de mise en place de la batterie (en général, on conseille de remplacer les batteries tous les 3 ans).ITEMP : 27.0 C Internal
indique la température interne de l'UPS. (N'oubliez pas que la température a une grande influence sur les capacités de la batterie)
Voici les éléments à connaître (et à modifier suivant vos besoins) :
MBATTCHG : 5 Percent
: si la batterie descend sous ce seuil, le démonapcupsd
demande l'arrêt du système.MINTIMEL : 3 Minutes
: si l'estimation de temps restant descend sous ce seuil, le démonapcupsd
demande l'arrêt du système.MAXTIME : 0 Seconds
: si le système passe cette durée sur la batterie, le démonapcupsd
demande l'arrêt du système. Une valeur de0
désactive la fonctionnalité. Remarque : Cette fonctionnalité est intéressante si vous n'avez pas de groupe électrogène. Les serveurs le moins critiques peuvent être éteint après 5 minutes sur batterie pour conserver de l'énergie afin que les serveurs critiques tiennent le plus longtemps possible sans courant secteur.DWAKE : -01 Seconds
: lorsque l'UPS est sans courant (secteur ou batterie) et que le courant secteur revient, l'UPS attendra cette valeur avant de provoquer l'allumage des serveurs.DSHUTD : 090 Seconds
: délais de "grâce" entre le moment où le démonapcupsd
demande l'arrêt et l'arrêt effectif.
Pour modifier ces éléments, vous devez modifier le fichier de configuration /etc/apcupsd/apcupsd.conf
et ensuite lancer sudo /sbin/apctest –configure
après avoir tué le démon apcupsd
via la commande sudo /etc/init.d/apcupsd stop
. (merci à ReWinD pour l'info). Ne pas oublier de relancer le démon par la commande sudo /etc/init.d/apcupsd start
.
Bug connu
- Lors d'une mise à jour de Ubuntu, le loopback local se commente. Donc le ré-ajouter dans le cas d'une connection usb au UPS. Donc, "sudo nano /etc/network/interfaces" et ajouter "auto lo" et "iface lo inet loopback"
Note(s)
-
- Sur ce site, vous trouverez la version PDF du guide de l'utilisateur d'apcupsd.
Contributeur : ostaquet