This is the old XigmaNAS forum in read only mode,
it will taken offline by the end of march 2021!



I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!

[TUTO] Piloter l'arrêt de plusieurs Nas4Free sur UPS - V2

Moderators: velivole18, ernie, mtiburs

Locked
User avatar
velivole18
Forum Moderator
Forum Moderator
Posts: 647
Joined: 14 Jul 2012 20:23
Location: France
Status: Offline

[TUTO] Piloter l'arrêt de plusieurs Nas4Free sur UPS - V2

Post by velivole18 »

Voici la solution pour arrêter proprement un ensemble de serveurs Nas4Free tous connectés sur le même système de "batterie/onduleur" UPS.
Cette solution est la reprise et traduction de la solution proposée par "crest" du forum anglophone.
Merci à lui.

Cette solution consiste en un enrichissement du service UPS qui définit la notion de serveur Nas4Free "maître" et "esclave".
Elle a l'avantage par rapport à la version V1 de ne pas faire appel à une liaison ssh avec le login root sans mot de passe (cf. [TUTO] Piloter l'arrêt de plusieurs Nas4Free sur UPS - V1)

Cette solution est d'ailleurs tellement bonne qu'elle a été intégrée nativement dans Nas4Free à partir de la version 9.3.
Donc les étapes d'installation à suivre ci-dessous ne sont à faire que pour des serveurs Nas4Free de version < 9.3 !


Si vous avez besoin d'aide, merci de poster sur le [Topic unique] Piloter l'arrêt de plusieurs Nas4Free sur UPS - V2


Testé dans les conditions suivantes :
serveur "maître" : NAS4Free 9.2.0.1 - Shigawire (revision 972) x64-embedded
111909 RSDT1411 AMD Athlon(tm) 64 Processor 4000+ 4096MiB RAM - HDD = 2 x 4 To in ZFS mirroring + 2 x (2 x 2To in ZFS mirroring).
serveur esclave : NAS4Free 9.2.0.1 - Shigawire (revision 972) x86-embedded sur Intel(R) Pentium(R) 4 CPU 2.40GHz - Hewlett-Packard 0840 - BIOS Phoenix Technologies Ltd. version: JP.W1.06US 06/30/04 - ZFS 4 x 80Go en Raid1 + 1 x 80 Go en spare.
Batterie/Onduleur : UPS EATON Ellipse MAX 1100


Tout d'abord voici ma configuration du service UPS côté "maître" :
  • Mode : master
  • Identifiant : ups
  • Pilote : usbhid-ups
  • Port : auto
  • Description : EATON Ellipse Max 1100 USBS FR
  • Mode d'arrêt : Batterie faible sur le système UPS
  • Destinataire de l'email : mon adresse email
  • Sujet : UPS notification from %h le %d !
Puis voici ma configuration du service UPS côté "esclave" :
  • Mode : slave
  • Identifiant : ups
  • Adresse IP : XX.XX.XX.XX (mettre ici l'adresse IP du serveur Nas4Free "maître")
  • Description : EATON Ellipse Max 1100 USBS FR
  • Mode d'arrêt : Batterie faible sur le système UPS
  • Destinataire de l'email : mon adresse email
  • Sujet : UPS notification from %h le %d !
Principe

Soit un serveur "maître" en 192.168.0.20 et un serveur "esclave" en 192.168.0.21
Ce qui sera fait sur le serveur "esclave" peut être fait de la même façon sur d'autres serveurs "esclaves" si on possède plus de 2 serveurs.
Le principe est qu'un serveur parmi l'ensemble des serveurs soit le "maître" et les autres les serveurs "esclaves".

Tous les serveurs ("maître" et "esclaves") sont électriquement branchés sur l'UPS.
Le serveur "maître" est en plus branché sur l'UPS via un câble USB ou série RS232, contrairement aux serveurs "esclaves".
Le serveur "maître" est configuré via le service UPS pour s'arrêter lorsque la batterie de l'UPS est presque déchargée et ne peut plus fournir l'énergie à l'ensemble des serveurs Nas4Free.

Etapes

1 - Récupérer le fichier UPS-install.zip créé par "crest".

2 - Transférer dans un répertoire de données autre qu'un répertoire du disque système (par ex. "/mnt/pool1/UPS", à adapter selon votre cas) le fichier .zip ainsi récupéré, et ce sur l'ensemble de vos serveurs Nas4Free ("maître" et "esclaves").

3 - sur chacun des serveurs Nas4Free, en ssh par exemple, lancer les commandes suivantes (répertoire "/mnt/pool1/UPS" à adapter selon votre cas) :

Code: Select all

cd /mnt/pool1/UPS
tar xf UPS-install.zip --strip-components 1
/mnt/pool1/UPS/install_ups.sh
4 - Configurer le service UPS du serveur Nas4Free "maître" sur le modèle que je vous ai fourni ci-dessus.

5 - Configurer la commande suivante en "PosInit" dans le menu "Système|Avancé|Scripts de commande" du serveur Nas4Free "maître" (répertoire "/mnt/pool1/UPS" à adapter selon votre cas) :

Code: Select all

/mnt/pool1/UPS/install_ups.sh master
6 - Configurer le service UPS des serveurs Nas4Free "esclaves" sur le modèle que je vous ai fourni ci-dessus.

7 - Configurer la commande suivante en "PosInit" dans le menu "Système|Avancé|Scripts de commande" du serveur Nas4Free "esclave" (répertoire "/mnt/pool1/UPS" à adapter selon votre cas):

Code: Select all

/mnt/pool1/UPS/install_ups.sh slave
Le test peut se faire en arrêtant le serveur "maître" via le webgui par exemple, normalement le(s) serveur(s) "esclave(s)" doivent s'arrêter avant le serveur "maître".

La commande de dés-installation si vous souhaitez dés-installer cet add-on :

Code: Select all

/mnt/pool1/UPS/uninstall_ups.sh
11.2.0.4 - Omnius (revision 6026) x64-embedded
111909 RSDT1411 AMD Athlon(tm) 64 Processor 4000+ 4096MiB RAM - HDD 2 x 6 To in ZFS mirroring + 2 x (2 x 4To in ZFS mirroring) - SSD 32Go - UPS EATON Ellipse MAX 1100.

Locked

Return to “Tuto”