Modifications entre les versions 2 et 3
Version 2 à la date du 2007-02-22 17:39:57
Taille: 6282
Commentaire: précision port de communication
Version 3 à la date du 2007-07-13 16:45:52
Taille: 6296
Éditeur: ZoserBiziki
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 11: Ligne 11:
La plupart du temps, un onduleur alimente plusieurs serveurs, typiquement 2 à 4 pour un 1500VA. Mais un seul serveur est relié à l'onduleur par un port série, c'est donc ce serveur qui fait quand le courant est coupé, quand l'onduleur n'a plus assez d'autonomie, quand le courant revient, etc. Cependant les autres serveurs doivent aussi être informés de ces évenements, ne serait-ce que pour effectuer un ''shutdown'' propre en fin d'autonomie de l'onduleur. La plupart du temps, un onduleur alimente plusieurs serveurs, typiquement 2 à 4 pour un 1500VA. Mais un seul serveur est relié à l'onduleur par un port série, c'est donc ce serveur qui sait quand le courant est coupé, quand l'onduleur n'a plus assez d'autonomie, quand le courant revient, etc. Cependant les autres serveurs doivent aussi être informés de ces évenements, ne serait-ce que pour effectuer un ''shutdown'' propre en fin d'autonomie de l'onduleur.
Ligne 14: Ligne 14:
 * sur le serveur maître (''master'') qui relié à l'onduleur, on installe le ''controleur'' lit les informations via le port série et les propose via le réseau  * sur le serveur maître (''master'') qui relié à l'onduleur, on installe le ''controleur'' qui lit les informations via le port série et les propose via le réseau
Ligne 71: Ligne 71:
 1. corriger les droits pour que nut accès au port série :  1. corriger les droits pour que nut ait accès au port série :
Ligne 82: Ligne 82:
Mais il ne pas oublier de programmer l'onduleur quand c'est possible (et avec les APC justement ça l'est) ! Il faut par exemple signifier à l'onduleur qu'il ne doit redémarrer après une coupure que si les batteries sont chargées à 15%. Voici comment faire avec un APC : Mais il ne faut pas oublier de programmer l'onduleur quand c'est possible (et avec les APC justement ça l'est) ! Il faut par exemple signifier à l'onduleur qu'il ne doit redémarrer après une coupure que si les batteries sont chargées à 15%. Voici comment faire avec un APC :
Ligne 95: Ligne 95:
Si votre onduleur dispose d'un surveillance par SNMP : Si votre onduleur dispose d'une surveillance par SNMP :

Cette page décrit la configuration de nut mise en place à Montréal, mais est suffisament générique pour être adaptée partout.

Quelques liens sur nut

Principes de base

La plupart du temps, un onduleur alimente plusieurs serveurs, typiquement 2 à 4 pour un 1500VA. Mais un seul serveur est relié à l'onduleur par un port série, c'est donc ce serveur qui sait quand le courant est coupé, quand l'onduleur n'a plus assez d'autonomie, quand le courant revient, etc. Cependant les autres serveurs doivent aussi être informés de ces évenements, ne serait-ce que pour effectuer un shutdown propre en fin d'autonomie de l'onduleur.

nut permet cela via différents composant :

  • sur le serveur maître (master) qui relié à l'onduleur, on installe le controleur qui lit les informations via le port série et les propose via le réseau

  • sur tous les serveurs (master et slave) relié au même onduleur, on installe un moniteur qui ira chercher, en local ou via le réseau, les informations sur l'état de l'onduleur et agira en fonction (par exemple éteindre le serveur en cas d'autonomie trop faible).

nut propose aussi des outils pour programmer l'onduleur (notamment les délais de redémarrage), pour se connecter à un onduleur SNMP, pour diffuser les infos sur le web, etc.

Configuration d'un serveur master

A faire sur chaque serveur relié à un onduleur par port série ou USB. C'est ce serveur qui préviendra les autres (slaves).

  1. installer le contrôleur et le moniteur avec aptitude install nut

  2. créer le fichier /etc/nut/ups.conf :

    [AUF_BAN1]
      driver = apcsmart
      port = /dev/ttyS0
      desc = "APC SmartUPS SU3000 RM"
  3. créer le fichier /etc/nut/upsd.conf :

    ACL localhost 127.0.0.1/32
    ACL dmzpub 199.84.140.0/24
    ACL nut-cgi 10.36.0.10/32
    ACL all 0.0.0.0/0
    ACCEPT localhost dmzpub nut-cgi
    REJECT all
  4. créer le fichier /etc/nut/upsd.users :

    [admin]
      password = admin
      allowfrom = localhost
      actions = SET
      instcmds = ALL
    [localhost]
      password = localhost
      allowfrom = localhost
      upsmon master
    [dmzpub]
      password = dmzpub
      allowfrom = dmzpub
      upsmon slave
  5. créer le fichier /etc/nut/upsmon.conf:

    # /etc/nut/upsmon.conf
    MONITOR AUF_BAN1@localhost 1 localhost localhost master
    MINSUPPLIES 1
    SHUTDOWNCMD "/sbin/shutdown -h +0"
    # NOTIFYCMD /usr/local/ups/bin/notifyme
    POLLFREQ 5
    POLLFREQALERT 5
    HOSTSYNC 15
    DEADTIME 15
    POWERDOWNFLAG /etc/killpower
    FINALDELAY 5
  6. mettre START_UPSD=yes et START_UPSMON=yes dans /etc/default/nut

  7. corriger les droits pour que nut ait accès au port série :
    # chgrp nut /dev/ttyS0
  8. et pour qu'il puisse lire les configurations :
    # chown root:nut /etc/nut/upsd.* /etc/nut/upsmon.conf
    # chmod u=rw,g=r,o= /etc/nut/upsd.* /etc/nut/upsmon.conf
  9. lancer la surveillance avec invoke-rc.d nut start

Mais il ne faut pas oublier de programmer l'onduleur quand c'est possible (et avec les APC justement ça l'est) ! Il faut par exemple signifier à l'onduleur qu'il ne doit redémarrer après une coupure que si les batteries sont chargées à 15%. Voici comment faire avec un APC :

  1. lancer la commande upsrw AUF_BAN1@localhost pour voir les programmations possibles

  2. exemple d'utilisation : upsrw -s ups.id="AUF_BAN1" -u admin -p admin AUF_BAN1@localhost

  3. j'ai mis en place les paramètres suivants :
    • ups.id="AUF_BAN1" (identifiant **interne** de l'onduleur, au cas où on ne l'aurait pas étiqueté ;-))

    • battery.runtime.low="120" (point critique quand il ne reste que 2 min de fonctionnement sur batterie)

    • battery.charge.restart="15" (on attend que la batterie soit rechargée au minimum à 15% avant de relancer)

    • ups.delay.shutdown="180" (on attend 3 min après la demande de shutdown avant de couper effectivement)

    • ups.delay.start="060" (on attend 1 min après le retour du courant avant de démarrer)

    • ups.test.interval="604800" (on effectue des auto-tests de l'onduleur toutes les semaines)

Cas d'un onduleur joignable via SNMP (merci TsvetanPetkov)

Si votre onduleur dispose d'une surveillance par SNMP :

  1. aptitude install nut-snmp

  2. ajouter dans le fichier /etc/nut/ups.conf :

    [MGE_EX30]
             driver = snmp-ups
             port = 168.8.26.116
             community = public
             snmp_version = v1
             mibs = ietf
             pollfreq = 15
             desc = "MGE EX30 - 1950W"
  3. relancer le service avec /etc/init.d/nut restart

  4. utiliser la commande: upsc MGE_EX30@localhost pour voir si l'onduleur est bien configuré

Configuration d'un slave

  1. installer le moniteur avec aptitude install nut

  2. créer le fichier /etc/nut/upsmon.conf :

    # /etc/nut/upsmon.conf
    MONITOR AUF_BAN1@zeus.auf.org 1 dmzpub dmzpub slave
    MINSUPPLIES 1
    SHUTDOWNCMD "/sbin/shutdown -h +0"
    # NOTIFYCMD /usr/local/ups/bin/notifyme
    POLLFREQ 5
    POLLFREQALERT 5
    HOSTSYNC 15
    DEADTIME 15
    POWERDOWNFLAG /etc/killpower
    FINALDELAY 5
  3. mettre START_UPSMON=yes dans /etc/default/nut

  4. lancer la surveillance (connexion avec le master) avec invoke-rc.d nut start

Attention, les serveurs slaves pour communiquer avec le serveur master utilisent le port tcp 3493, si il y a un iptables qui traine dans le coin...

Configuration de l'interface web

  1. installer le script avec aptitude install nut-cgi

  2. copier quelques modèles avec cp -a /usr/share/doc/nut-cgi/examples/* /etc/nut/

  3. modifier le fichier /etc/nut/hosts.conf :

    # /etc/nut/hosts.conf
    MONITOR AUF_BAN1@zeus.auf "AUF_BAN1 : local technique 3032"
    MONITOR AUF_BAN5@db.auf "AUF_BAN5 : local technique 3032"
    MONITOR AUF_BAN6@backup.auf "AUF_BAN6 : local technique 3034"
  4. consulter la page http://intranet.auf/cgi-bin/nut/upsstats.cgi Pratique, non ?

Configuration des alertes par mail ou IM

...

Nut (dernière édition le 2013-09-08 12:40:29 par WillyManga)