Certaines personnes (y compris moi-même), ont plusieurs PC Linux connectés sur un onduleur. Un PC contrôle l'onduleur et doit éteindre les autres PC lorsque le secteur est coupé.
Nous supposons que les PC peuvent communiquer sur un réseau. Appelons le PC qui surveille l'onduleur le maître, et les autres PC, les esclaves.
Dans les temps anciens, cela nécessitait une amusante programmation.
Maintenant, la meilleure chose à faire semble être de trouver l'un des
paquetages powerd-2.0.tar.gz
ou upsd-1.0.tgz
cités à la section
Logiciels et de suivre les instructions.
Les deux sont capables de fonctionner sur les esclaves dans un mode qui les
connecte à un processus powerd
ou upsd
s'exécutant sur le maître
pour lui demander l'état de l'onduleur.
Certains des paquetages spécifiques pour APC semblent disposer aussi de
cette fonctionnalité.
Néammoins, si votre réseau n'est pas sûr, vous pouvez être amené à souhaiter
plus de sécurité dans ce montage, puisqu'il est possible de "pirater"
un powerd
esclave pour lui faire croire que le courant est coupé.
Une autre possibilité est d'utiliser le protocole SNMP (Simple Network Management Protocol - protocole simplifié d'administration de réseau). Le détail de l'utilisation de SNMP dépasse le cadre de ce document, pour ne pas dire que cela me dépasse tout court actuellement.
Configurez un port sur le maître qui, lorsqu'on y est connecté, envoie soit "OK", soit "FAIL", soit "BATLOW" lorsque le courant est là, qu'il est coupé, ou que la batterie est faible, respectivement. Montez cela sur le port 13 (le port time) sur lequel vous pouvez faire un telnet et recevoir l'heure locale.
Montez sur les esclaves une version de powerd qui lit ce port plutôt que de contrôler une ligne série.
Je pense que c'est probablement la meilleure méthode, et j'ai l'intention d'upgrader mes systèmes pour l'utiliser.
Identique à la section Méthode de l'état du port, mais par émission d'un message broadcast Ethernet signifiant l'événement.
Cela peut avoir des implications de sécurité, puisqu'il peut être {{spoofed}}
Configurez les pseudo-login sur les esclaves avec les noms powerok
et
powerfail
, tous les deux avec le même UID. Faites de
/etc/powerokscript
le shell du user powerok, et de
/etc/powerfailscript
celui du user powerfail. Sur le maître, faites
en sorte que le script /etc/powerokscript
fasse un rlogin sur chaque
esclave en tant que user powerok et que le script /etc/powerfailscript
fasse un rlogin en tant que powerfail sur chaque esclave. Placez un fichier
.rhosts
sur chaque esclave dans le répertoire par défaut de powerok et
powerfail pour autoriser le root du master à entrer comme users powerok et
powerfail sur chaque esclave.
C'est le système que j'utilise actuellement. Malheureusement, j'ai quelques
difficultés à faire que les login distants s'exécutent et rendent la main
sans se bloquer. Il faudrait probablement que le script
/etc/powerfailscript
fasse les rsh sur les esclaves en tâche de
fond pour lui éviter de bloquer. Néammoins, je n'ai jamais obtenu de
login correct en tâche de fond. J'ai même essayé des combinaisons
complexes comme faire se loger toto
sur l'esclave. Tout ce que j'ai
utilisé avait des problèmes et se trouvait bloqué par un entrée tty (ou sortie,
je ne m'en rappelle plus).
En plus, cela peut créer des trous de sécurité.