GNU/Linux >> Tutoriels Linux >  >> Linux

Un serveur, deux onduleurs APC sur des alimentations redondantes :Comment déclencher l'arrêt ?

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.


Linux
  1. Comment configurer plusieurs SSL sur une seule IP avec Nginx

  2. Est-il possible d'installer deux services pour un package à l'aide de Dh_installinit ? Comment?

  3. Comment descendre d'un répertoire ?

  4. Comment configurer plusieurs serveurs MySQL sur un seul système à l'aide de mysqld_multi

  5. Comment désactiver toute la gestion de l'alimentation dans Ubuntu (pour un netbook serveur) ?

Comment synchroniser automatiquement des fichiers entre deux serveurs Linux

Comment synchroniser automatiquement deux serveurs Web sous Linux

Comment utiliser la commande shutdown avec des exemples

Comment arrêter le serveur Ubuntu [Astuce du débutant]

Comment restaurer un serveur cloud

Comment verrouiller votre serveur CentOS avec IPTables