Si vous avez déjà hébergé des services à domicile ou dans une PME à Lomé et dans la sous-région, vous connaissez l’ennemi public numéro un de tout administrateur informatique : les délestages et les coupures de courant intempestives. Un serveur Linux, un Raspberry Pi ou un environnement Docker (comme celui que nous avons configuré dans notre guide WordPress Docker) n’est pas conçu pour être éteint en lui coupant violemment l’alimentation. Chaque coupure brutale, joue avec vos données : disques durs endommagés, bases de données (MariaDB/MySQL) corrompues, et système d’exploitation qui refuse de redémarrer (fameuse erreur du système de fichiers).

Vous pensez qu’un simple onduleur (UPS) suffit à vous protéger ? C’est une erreur coûteuse.

Dans ce guide complet, nous allons voir pourquoi un onduleur seul ne suffit pas, et comment utiliser le logiciel open source NUT (Network UPS Tools) pour configurer votre serveur afin qu’il « discute » avec votre onduleur et s’éteigne automatiquement et proprement avant que la batterie ne soit vide.

Pourquoi un onduleur standard ne vous protège pas complètement ?

L’erreur la plus commune des PME et des techniciens est d’acheter un onduleur chez un fournisseur informatique à Lomé, d’y brancher le serveur, et de partir l’esprit tranquille.

Que se passe-t-il lors d’une longue coupure (plus de 30 minutes) ?

  1. L’électricité de la CEET se coupe.
  2. L’onduleur prend le relais et bipe.
  3. Personne n’est au bureau pour éteindre le serveur.
  4. L’onduleur vide sa batterie à 0%.
  5. L’onduleur coupe violemment le courant du serveur.

Résultat : Le serveur subit la coupure violente que l’onduleur était censé éviter. L’onduleur a juste retardé le problème de 30 minutes.

La vraie solution : L’onduleur communicant (Smart UPS) et NUT

Pour éviter ça, il vous faut deux choses :

  1. Le matériel : Un onduleur équipé d’un port USB (ou Série). Les modèles bas de gamme (souvent sous les 40 000 FCFA) n’ont parfois que des prises de courant. Avant d’acheter (marques Eaton, APC ou CyberPower), vérifiez toujours la présence d’un port USB (généralement de type USB-B) à l’arrière.
  2. Le logiciel : Un câble USB pour relier l’onduleur au serveur (ou au Raspberry Pi) et un logiciel capable de lire les données de l’onduleur : c’est le rôle de NUT (Network UPS Tools).

Tutoriel Étape par Étape : Installer et Configurer NUT sous Linux

Pré-requis : Un serveur fonctionnant sous Ubuntu/Debian ou un Raspberry Pi sous Raspberry Pi OS. L’onduleur doit être allumé et relié au serveur par un câble USB.

Étape 1 : Identifier la connexion de l’onduleur

Connectez-vous à votre serveur en SSH. La première étape consiste à s’assurer que Linux « voit » bien votre onduleur connecté en USB. Outillez-vous de la commande suivante :

lsusb
Bash

Vous devriez voir une ligne mentionnant la marque de votre onduleur (par exemple APC, Eaton, CyberPower, ou Liebert). Exemple de retour : Bus 001 Device 004: ID 0463:ffff MGE UPS Systems UPS (MGE appartient à Eaton).

Étape 2 : Installer le paquet NUT

NUT est un standard sous Linux. Il s’installe très facilement depuis les dépôts officiels. Mettez à jour vos paquets et installez NUT en mode client et serveur avec cette commande :

sudo apt updatesudo apt install nut nut-client nut-server usbutils -y
Bash

Étape 3 : Configurer le pilote de l’onduleur (ups.conf)

NUT a besoin de savoir avec quel modèle d’onduleur, il discute pour utiliser son « langage ». Éditez le fichier de configuration des disques (device) :

bashsudo nano /etc/nut/ups.conf
Bash

Ajoutez les lignes suivantes à la fin du fichier. Remplacez mon_onduleur par un surnom de votre choix (sans accents ni espaces).

[mon_onduleur]
    driver = usbhid-ups
    port = auto
    desc = "Onduleur Salle Serveur Lomé"
INI

(Note : Le pilote usbhid-ups fonctionne avec 90% des onduleurs USB modernes. Si le vôtre est très spécifique, vous devrez chercher son pilote exact dans la documentation de NUT).

Vérifiez que le pilote démarre bien en tapant :

sudo upsdrvctl start
Bash

Si le retour vous affiche des informations sur votre batterie sans erreurs, bingo ! Le serveur parle avec l’onduleur.

Étape 4 : Définir le mode de fonctionnement (nut.conf et upsd.conf)

NUT peut être configuré pour qu’un serveur gère l’onduleur et prévienne d’autres serveurs sur le réseau (mode réseau). Pour aujourd’hui, nous allons faire simple : notre serveur gère son propre onduleur (mode autonome).

  1. Ouvrez nut.conf :
sudo nano /etc/nut/nut.conf
Bash

Modifiez la ligne MODE :

MODE=standalone
INI
sudo upsdrvctl start
Bash
  1. Assurez-vous que le service écoute en local. Ouvrez upsd.conf :
sudo nano /etc/nut/upsd.conf
Bash

Ajoutez ou vérifiez cette ligne :

LISTEN 127.0.0.1 3493
Bash

Étape 5 : Créer un utilisateur pour la surveillance (upsd.users)

Le programme qui surveille la batterie (upsmon) doit se connecter au programme qui lit l’onduleur (upsd). Il lui faut un mot de passe.

sudo nano /etc/nut/upsd.users
Bash

Ajoutez un bloc pour l’utilisateur de gestion :

[admin_nut]
    password = supermotdepassesecret
    upsmon master
INI

Étape 6 : Configurer l’extinction automatique (upsmon.conf)

C’est ici que la magie opère. Nous allons dire à upsmon de surveiller l’onduleur et d’agir quand le statut passe en critique.

sudo nano /etc/nut/upsmon.conf
INI

Cherchez la ligne commençant par MONITOR (ou ajoutez-la) et configurez-la exactement comme ceci :

MONITOR mon_onduleur@localhost 1 admin_nut supermotdepassesecret master
INI

Le format : MONITOR [nom]@[adresse] [valeur_batterie] [utilisateur] [motdepasse] [statut]

Cherchez également SHUTDOWNCMD dans le même fichier. C’est la commande que NUT exécutera pour éteindre le serveur. Par défaut, elle est bonne, mais vous pouvez vérifier :

SHUTDOWNCMD "/sbin/shutdown -h +0"
INI

Étape 7 : Démarrer et Activer la protection

Redémarrez et activez les services pour qu’ils se lancent à chaque démarrage (même après une coupure) :

sudo systemctl restart nut-server
sudo systemctl restart nut-client
sudo systemctl enable nut-server
sudo systemctl enable nut-client
Bash

📊 Observer la magie : Comment vérifier l’état de la batterie ?

Félicitations, votre serveur est maintenant protégé. Mais faisons un test pour lire les données. Tapez la commande suivante :

upsc mon_onduleur
Bash

Vous allez voir défiler toutes les données de votre onduleur ! C’est le moment « geek » de la journée. Voici les valeurs intéressantes à regarder :

  • battery.charge: 100 : Le niveau de votre batterie en pourcentage.
  • ups.status: OL : (« OL » signifie On-Line, l’électricité de la CEET est présente).
  • ups.load: 25 : Votre serveur utilise 25% de la puissance maximale de l’onduleur.

(Si vous voyez ups.status: OB, cela signifie « On Battery », vous êtes en cours de délestage !)

Comment NUT gère-t-il la coupure ? (Le fonctionnement)

Que se passera-t-il cette nuit si le quartier est privé de courant ?

  1. L’électricité se coupe. L’onduleur bipe et passe en status: OB (Sur Batterie).
  2. NUT sur votre serveur Linux détecte le changement, mais il ne fait rien immédiatement (car la coupure peut ne durer que 2 minutes, pas besoin d’éteindre le serveur pour rien !).
  3. L’onduleur se vide. Lorsqu’il arrive à son seuil critique (généralement 20% de batterie restante ou 5 minutes de temps de survie, défini par le fournisseur de l’onduleur), son statut passe à OB LB (On Battery, Low Battery).
  4. upsmon détecte le signal « Low Battery ».
  5. Il exécute la commande /sbin/shutdown -h +0.
  6. Le serveur Linux clôture proprement tous les process en cours d’exécution, éteint proprement ses conteneurs Docker (plus d’erreurs de base de données MySQL !) et s’éteint.
  7. Quelques minutes plus tard, l’onduleur s’éteint aussi.

Le Retour du courant

Quand l’électricité revient quelques heures plus tard, l’onduleur se rallume. Notez que la plupart des serveurs de bureau (Dell, HP) et les Raspberry Pi peuvent être configurés dans leur BIOS pour « S’allumer automatiquement quand le courant revient » (AC Power Recovery).

Ainsi, lors du retour de la CEET, votre serveur s’allume tout seul sans intervention humaine, et en pleine santé.

Testez votre infrastructure (Simulation de délestage)

Ne faites jamais confiance à une sauvegarde ou une protection à l’aveugle. Vous devez tester que cela fonctionne.

Avant de partir en week-end, assurez-vous de fermer vos gros fichiers de travail. Allez physiquement débrancher la prise murale de l’onduleur.

  • L’onduleur va se mettre à biper.
  • Lancez upsc mon_onduleur sur votre Linux, vérifiez que le statut indique bien OB (On Battery).
  • Attendez que la batterie de l’onduleur se vide (profitez-en pour chronométrer l’autonomie réelle de votre équipement !).
  • À quelques minutes de la fin, le serveur Linux doit initier sa propre procédure d’extinction.

Si c’est le cas, vous avez réussi !

S’équiper d’un onduleur est indispensable au Togo. Mais relier un onduleur « SMART » à son serveur pour programmer une extinction automatique est la vraie marque des professionnels IT. C’est la différence entre une réparation qui prend des heures et un système qui est immédiatement disponible lors du retour du courant.

Aller encore plus loin dans la protection de vos données, rappelez-vous que ce système ne vous protège pas contre un disque dur crash. Pensez à configurer en parallèle une sauvegarde externe résiliente, par exemple en sauvegardant vos serveurs Docker automatiquement avec Duplicati vers le cloud.

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *