Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| nut [Le 13/03/2010, 11:09] – ajout libellé lsusb (modèle reconnu sous Karmic) 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:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | --- // | ||
