Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
nut [Le 01/08/2009, 11:34] – créée à partir de http://doc.ubuntu-fr.org/utilisateurs/draco31.fr/nut draco31.fr | nut [Le 18/08/2013, 14:07] (Version actuelle) – [Configuration du démon upsmon] seb_12 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Network UPS Tools (NUT) ====== | ||
+ | |||
+ | NUT est un ensemble d' | ||
+ | Il se compose de plusieurs éléments : | ||
+ | * le démon //nut// lancé au démarrage du système | ||
+ | * le démon //upsd// qui permet d' | ||
+ | * le démon //upsmon// qui permet de monitorer et lancer les commandes nécessaires sur le réseau ondulé (arrêt de machines ...) | ||
+ | * différents programmes pour envoyer des commandes manuellement à l' | ||
+ | |||
+ | **upsd** peut communiquer avec plusieurs onduleurs si nécessaire. | ||
+ | |||
+ | **upsmon** interroge à intervalle régulier la machine du réseau sur laquelle est lancée upsd. | ||
+ | |||
+ | Pour une configuration domestique, // | ||
+ | C'est la configuration supposée tout au long de cette présentation pour les exemples de fichiers de configuration. | ||
+ | |||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | Disposer d'un onduleur reconnu par NUT. | ||
+ | |||
+ | Consulter [[http:// | ||
+ | Noter le nom du pilote associé à votre modèle dans la 3ième colonne. | ||
+ | |||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Installer le paquet [[apt:// | ||
+ | |||
+ | < | ||
+ | Cette présentation est basée sur la version 2.4.1-2 livrée avec Ubuntu 9.04 Jaunty.</ | ||
+ | |||
+ | <note important> | ||
+ | Consulter le [[http:// | ||
+ | |||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | |||
+ | ==== Onduleur USB ==== | ||
+ | |||
+ | Si l' | ||
+ | Repérer l' | ||
+ | |||
+ | Par exemple, '' | ||
+ | < | ||
+ | Bus 001 Device 008: ID 045e:0745 Microsoft Corp. | ||
+ | Bus 001 Device 007: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 WebCam | ||
+ | Bus 001 Device 002: ID 04cc:1520 Philips Semiconductors | ||
+ | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | ||
+ | Bus 002 Device 006: ID 0665:5161 Cypress Semiconductor USB to Serial | ||
+ | Bus 002 Device 005: ID 04f9:01ce Brother Industries, Ltd DCP-135C | ||
+ | Bus 002 Device 004: ID 0db0:6970 Micro Star International Bluetooth adapter | ||
+ | Bus 002 Device 003: ID 046d:c50e Logitech, Inc. MX-1000 Cordless Mouse Receiver | ||
+ | Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub | ||
+ | </ | ||
+ | |||
+ | Ici, l' | ||
+ | > '' | ||
+ | |||
+ | Vérifier les droits sur le périphérique (remplacer 002 par le bus qui convient pour votre configuration). | ||
+ | < | ||
+ | < | ||
+ | total 0 | ||
+ | crw-rw-r-- 1 root root 189, 128 2009-06-20 08:31 001 | ||
+ | crw-rw-r-- 1 root root 189, 130 2009-06-21 14:58 003 | ||
+ | crw-rw-r-- 1 root root 189, 131 2009-06-20 08:31 004 | ||
+ | crw-rw-r-- 1 root root 189, 132 2009-06-20 08:31 005 | ||
+ | crw-rw-r-- 1 root nut 189, 133 2009-06-21 14:58 006 | ||
+ | </ | ||
+ | |||
+ | Le périphérique 006 est bien associé au groupe **nut**. | ||
+ | > '' | ||
+ | |||
+ | <note help>Si ce n'est pas le cas, reportez-vous au paragraphe << [[#Le périphérique USB n' | ||
+ | |||
+ | ==== Configuration du service NUT ==== | ||
+ | |||
+ | NUT doit être installé sur toutes les machines du réseau qui : | ||
+ | * communiquent avec les onduleurs, | ||
+ | * monitorent le réseau ondulé (envoi de mail, notification utilisateurs ...), | ||
+ | * doivent lancer des commandes d' | ||
+ | |||
+ | Cependant, **// | ||
+ | Le fichier de configuration **nut.conf** permet d' | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | === nut.conf === | ||
+ | |||
+ | Le fichier **nut.conf** permet de déterminer le comportement du démon NUT. | ||
+ | Il ne contient que le paramètre MODE qui peut prendre les valeurs suivantes : | ||
+ | * none : C'est la valeur par défaut après l' | ||
+ | * standalone : | ||
+ | * Dans ce mode, l' | ||
+ | * Le monitorage de l' | ||
+ | * Le démon nut doit lancer upsd et upsmon (en mode " | ||
+ | * netserver : | ||
+ | * Dans ce mode, l' | ||
+ | * La gestion de l' | ||
+ | * Le démon nut doit lancer upsd et upsmon (en mode serveur, c'est à dire en tant que " | ||
+ | * netclient : | ||
+ | * Dans ce mode, l' | ||
+ | * La gestion de l' | ||
+ | * Le démon nut doit lancer uniquement upsmon (en mode client, c'est à dire en tant que " | ||
+ | |||
+ | [[: | ||
+ | Pour une configuration domestique, le mode // | ||
+ | < | ||
+ | MODE=standalone | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Configuration du démon upsd ==== | ||
+ | |||
+ | **// | ||
+ | Il est lancé lorsque NUT est configuré dans le mode // | ||
+ | 3 fichiers de configuration sont nécessaires : **ups.conf**, | ||
+ | |||
+ | |||
+ | === ups.conf === | ||
+ | |||
+ | Le fichier **''/ | ||
+ | [[: | ||
+ | Des explications sont disponibles dans le fichier d' | ||
+ | < | ||
+ | [myups] | ||
+ | driver = megatec_usb | ||
+ | port = auto | ||
+ | desc = " | ||
+ | </ | ||
+ | |||
+ | * Le nom entre crochets est libre, mais doit être un mot unique : il définit le nom de l' | ||
+ | * Le paramètre de //driver// doit être le pilote associé à votre modèle d' | ||
+ | |||
+ | |||
+ | === upsd.conf === | ||
+ | |||
+ | Configuration pour le démon // | ||
+ | [[: | ||
+ | Des explications sont disponibles dans le fichier d' | ||
+ | < | ||
+ | MAXAGE 15 | ||
+ | LISTEN 127.0.0.1 3493 | ||
+ | MAXCONN 1024 | ||
+ | </ | ||
+ | |||
+ | * MAXAGE : permet de définir l' | ||
+ | * LISTEN : permet de déclarer les PC qui pourront commander les onduleurs via upsd | ||
+ | * MAXCONN : permet de définir le nombre de clients, d' | ||
+ | |||
+ | |||
+ | === upsd.users === | ||
+ | |||
+ | Ce fichier permet de configurer les accès au démon // | ||
+ | Seul les utilisateurs présents dans upsd.users seront habilités à connaitre l' | ||
+ | [[: | ||
+ | Des explications sont disponibles dans le fichier d' | ||
+ | < | ||
+ | [admin] | ||
+ | password = adminpass | ||
+ | actions = SET | ||
+ | instcmds = ALL | ||
+ | |||
+ | [upsmonitor] | ||
+ | password | ||
+ | upsmon master | ||
+ | </ | ||
+ | |||
+ | "// | ||
+ | La valeur " | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | |||
+ | ==== Configuration du démon upsmon ==== | ||
+ | |||
+ | Le démon **// | ||
+ | **// | ||
+ | |||
+ | |||
+ | === upsmon.conf === | ||
+ | |||
+ | Ce fichier permet de configurer upsmon. Il faut y déclarer les caractéristiques du réseau ondulé et des différents démons upsd lancés sur les machines du réseau. | ||
+ | |||
+ | [[: | ||
+ | Des explications sont disponibles dans le fichier d' | ||
+ | < | ||
+ | MONITOR myups@localhost 1 upsmonitor userpass " | ||
+ | MINSUPPLIES 1 | ||
+ | |||
+ | FINALDELAY 5 | ||
+ | SHUTDOWNCMD "/ | ||
+ | ------------------------------------------------ | ||
+ | # POLLFREQ <n> | ||
+ | # Fréquence d' | ||
+ | # La valeur par défaut est de 5 secondes. | ||
+ | POLLFREQ 5 | ||
+ | ------------------------------------------------ | ||
+ | # POLLFREQALERT <n> | ||
+ | # Fréquence d' | ||
+ | # La valeur par défaut est de 5 secondes. | ||
+ | POLLFREQALERT 5 | ||
+ | ------------------------------------------------ | ||
+ | HOSTSYNC 15 | ||
+ | DEADTIME 15 | ||
+ | POWERDOWNFLAG / | ||
+ | RBWARNTIME 43200 | ||
+ | NOCOMMWARNTIME 300 | ||
+ | |||
+ | </ | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | La déclaration des différents démons // | ||
+ | * MONITOR < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * MINSUPPLIES : un entier qui définit le nombre d' | ||
+ | |||
+ | |||
+ | Lorsque le nombre d' | ||
+ | À ce moment là, les paramètres suivants seront utilisés : | ||
+ | * FINALDELAY : délai en secondes entre la notification aux utilisateurs et le lancement de la commande d' | ||
+ | * HOSTSYNC : délai laissé aux autres upsmon sur les postes clients pour s' | ||
+ | * SHUTDOWNCMD : définit la commande qui sera exécutée pour éteindre la machine actuelle. | ||
+ | * POWERDOWNFLAG : définit le fichier qui sera écrit juste avant la procédure d' | ||
+ | |||
+ | |||
+ | Pour permettre à l'// | ||
+ | * POLLFREQ : intervalle de temps avant rafraîchissement des données sur l' | ||
+ | * POLLFREQALERT : intervalle de temps avant rafraichissement une fois l' | ||
+ | * DEADTIME : délai maximal pendant lequel un onduleur peut être déclaré " | ||
+ | * NOCOMMWARNTIME : délai d' | ||
+ | * RBWARNTIME : lorsqu' | ||
+ | |||
+ | <note tip>Pour fixer la valeur du paramètre DEADTIME :\\ Prendre la plus grande valeur entre POLLFREQ et POLLFREQALERT et multiplier par 3.</ | ||
+ | |||
+ | <note tip>Dans certains cas, il est nécessaire de modifier la commande d' | ||
+ | |||
+ | <note important> | ||
+ | * d' | ||
+ | * de désengorger le réseau local si votre débit est faible ou si vous avez un grand nombre de machines. | ||
+ | Par contre, si la valeur est trop élevée, vous risquez de perdre des informations d' | ||
+ | |||
+ | **Réduire** la valeur permet d' | ||
+ | ===== Utilisation ===== | ||
+ | |||
+ | Le démon NUT sera lancé au prochain redémarrage, | ||
+ | |||
+ | |||
+ | ==== Lancer le démon NUT manuellement ==== | ||
+ | |||
+ | De cette façon, le démon //upsd// et le moniteur //upsmon// seront lancés simultanément : | ||
+ | < | ||
+ | |||
+ | |||
+ | ==== Interroger l' | ||
+ | |||
+ | Une fois les démons lancés, interroger leur état : | ||
+ | < | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | |||
+ | ==== Lancer le pilote manuellement ==== | ||
+ | |||
+ | Pour lancer les pilotes des onduleurs manuellement : | ||
+ | < | ||
+ | ou pour ne lancer qu'un seul onduleur : | ||
+ | < | ||
+ | |||
+ | En cas de problème, il est possible de lancer le pilote en mode verbeux (voir très verbeux) : | ||
+ | < | ||
+ | |||
+ | |||
+ | ==== Obtenir la liste des onduleurs déclarés ==== | ||
+ | |||
+ | Pour connaitre la liste des onduleurs déclarés sur la machine : | ||
+ | < | ||
+ | ou si l' | ||
+ | < | ||
+ | |||
+ | ==== Connaître l' | ||
+ | |||
+ | Pour connaitre l' | ||
+ | < | ||
+ | ou si l' | ||
+ | < | ||
+ | |||
+ | Pour connaître un paramètre en particulier, | ||
+ | < | ||
+ | |||
+ | ==== Envoyer une commande à l' | ||
+ | |||
+ | Pour connaître la liste des commandes supportées par le pilote et l' | ||
+ | < | ||
+ | |||
+ | Par exemple pour le pilote megatec_usb : | ||
+ | < | ||
+ | Instant commands supported on UPS [myups]: | ||
+ | |||
+ | beeper.toggle - Toggle the UPS beeper | ||
+ | load.off - Turn off the load immediately | ||
+ | load.on - Turn on the load immediately | ||
+ | reset.input.minmax - Reset minimum and maximum input voltage status | ||
+ | reset.watchdog - Reset watchdog timer | ||
+ | shutdown.return - Turn off the load and return when power is back | ||
+ | shutdown.stayoff - Turn off the load and remain off | ||
+ | shutdown.stop - Stop a shutdown in progress | ||
+ | test.battery.start - Start a battery test | ||
+ | test.battery.start.deep - Start a deep battery test | ||
+ | test.battery.stop - Stop the battery test | ||
+ | </ | ||
+ | |||
+ | Pour envoyer une commande, | ||
+ | < | ||
+ | |||
+ | Par exemple, pour demander un test de batterie sur l' | ||
+ | < | ||
+ | |||
+ | |||
+ | ==== Et ensuite ? ==== | ||
+ | |||
+ | Il est possible de configurer plus en détail // | ||
+ | Pour aider dans la planification de ces actions (utilisation de timer), le programme // | ||
+ | Le [[http:// | ||
+ | |||
+ | Pour éviter de lancer continuellement la commande " | ||
+ | * soit par une interface fenêtrée : [[http:// | ||
+ | * soit par une interface web : via l' | ||
+ | * soit sous forme de plugin : pour [[: | ||
+ | |||
+ | |||
+ | ===== Problèmes & solutions ===== | ||
+ | |||
+ | ==== Le périphérique USB n' | ||
+ | |||
+ | Si le périphérique USB correspondant à l' | ||
+ | |||
+ | Par exemple, si vous obtenez : | ||
+ | < | ||
+ | > '' | ||
+ | |||
+ | |||
+ | == Si seul NUT doit accéder à l' | ||
+ | |||
+ | Dans ce cas, vous pouvez fixer le groupe du périphérique correspondant à l' | ||
+ | < | ||
+ | |||
+ | <note important> | ||
+ | Voir le paragraphe [[#Onduleur USB]] pour plus de détail.</ | ||
+ | |||
+ | == Si NUT ainsi que le groupe actuel doivent accéder à l' | ||
+ | |||
+ | Dans le cas où vous souhaiteriez monitorer l' | ||
+ | < | ||
+ | |||
+ | ==== Onduleur non détecté ==== | ||
+ | |||
+ | Si malgré avoir indiqué le bon pilote dans le fichier **''/ | ||
+ | * Créez un périphérique spécial :< | ||
+ | * Indiquer le chemin vers ce périphérique dans le fichier **''/ | ||
+ | [myups] | ||
+ | driver = megatec_usb | ||
+ | port = / | ||
+ | desc = " | ||
+ | </ | ||
+ | * Relancer les démons NUT pour prendre en compte les modifications :< | ||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | Il vous suffit de [[: | ||
+ | Les fichiers de configuration présents dans le dossier ''/ | ||
+ | |||
+ | |||
+ | ===== Liens ===== | ||
+ | |||
+ | Pour plus d' | ||
+ | * Le site officiel : http:// | ||
+ | * Le tutoriel [[http:// | ||
+ | * Installation de NUT sur plusieurs machines : [[http:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | --- // |