Actuellement, lorsque l'un des deux onduleurs meurt, le doshutdown l'événement est déclenché et exécute le script par défaut via apccontrol . Le dosshutdown le script ignore le deuxième onduleur, car il n'est pas connecté à un événement, et procède normalement à l'arrêt.
Afin d'avoir le doshutdown événements quelque peu liés, les deux instances de apcupsd ont besoin d'un fichier de configuration spécifiquement personnalisé. La différence résidera dans le répertoire à partir duquel les scripts d'événements doivent être exécutés.
Principales propriétés des premiers ups, en /etc/apcupsd/apcupsd.ups0.conf
SCRIPTDIR /etc/apcupsd/ups0
UPSNAME ups0
DEVICE /dev/ups0
PWRFAILDIR /etc/apcupsd/ups0
NOLOGINDIR /etc/apcupsd/ups0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.0.events
Et pour l'ups1, en /etc/apcupsd/apcupsd.ups1.conf
SCRIPTDIR /etc/apcupsd/ups1
UPSNAME ups1
DEVICE /dev/ups1
PWRFAILDIR /etc/apcupsd/ups1
NOLOGINDIR /etc/apcupsd/ups1
NISPORT 3552
EVENTSFILE /var/log/apcupsd.1.events
Chaque scriptdir devrait obtenir une copie des scripts par défaut.
Nous voulons personnaliser le doshutdown script, qui n'arrêtera pas directement la machine, mais doit vérifier si l'autre onduleur est toujours allumé ou en mode arrêt.
Au sommet du doshutdown script, nous pourrions ajouter quelque chose comme
pour ups0
if [ ! -f /tmp/ups1.is.down ]
then
touch /tmp/ups0.is.down
exit 99
fi
pour ups1
if [ ! -f /tmp/ups0.is.down ]
then
touch /tmp/ups1.is.down
exit 99
fi
le statut 99 a une signification particulière, qui indique à apccontrol pour arrêter l'action en cours. Les cinq lignes vérifient si l'autre fichier UPS-down a été créé; si non , le fichier down est créé pour les ups en panne et se termine. Si oui , ce qui signifie que l'autre onduleur est en panne, celui-ci est également en panne, donc le script doit continuer et arrêter la machine.
Les fichiers /tmp/usp[01].is.down
indiquer si l'ups[01] est actuellement en panne.
Important :le script de démarrage init.d de apcupsd doit supprimer ces fichiers, s'ils ont été créés lors d'une session précédente :
rm -f /tmp/usp[01].is.down
Enfin, les répertoires créés ci-dessus, /etc/apcupsd/ups[01] doivent avoir accès à apcupsd utilisateur (ou à tout utilisateur pertinent exécutant les instances).
chown -R apcupsd /etc/apcupsd/ups[01]
Veuillez consulter la documentation détaillée.
modifier correction du /tmp/ups[01].is.down
noms, les .is
manquait.
Regardez NUT. Il gère bien cela. Définissez le nombre d'alimentations de chaque onduleur et le nombre d'alimentations requises. L'arrêt ne sera pas déclenché tant qu'il y aura suffisamment d'alimentations hors de l'onduleur.