J'ai des centres de données de stockage cloud exécutant Ubuntu 16.04 lts et NextCloud / OwnCloud qui n'ont pas besoin d'être disponibles 24h / 24 et 7j / 7 et ont besoin de solutions de gestion de l'alimentation. Les serveurs sont Dell PowerEdge 1950 Gen II et Dell PowerEdge 2950 Gen II
Objectif global
Les serveurs de stockage en cloud d'hibernation ont dépassé un temps d'inactivité, par exemple 20 minutes, et ont ainsi déshiberné avec WOL pour réduire de 6 272,09 kilos de dioxyde de carbone par an à 6680 kW de notre seul centre de données, des mesures obtenues tout au long d'un audit énergétique détaillé.
Solution inefficace essayée
Paysage
Les travaux de paysage sur site / cron n'offrent que des démarrages et des arrêts planifiés, ce qui est inefficace pour notre réalisable.
Powernap
powernap semble la voie à suivre, mais le service ne démarre pas sur Ubuntu 16.04
XXXXXXX ~ Statut powernap du service $ sudo ● powernap.service - PowerNap Chargé: chargé (/lib/systemd/system/powernap.service; désactivé; préréglage du fournisseur Actif: inactif (mort)
ponwernap semble utiliser des services dépréciés tels que network.service qui ne sont plus disponibles dans Ubuntu 16.04
Objectifs réalisables
Wake on LAN (WOL)
L'activation de WOL est simple en suivant la configuration manuelle sur ce lien . ou avec l'utilisation de powewake
Hibernation du serveur
Jusqu'à présent, je n'ai réussi qu'à mettre en veille prolongée les serveurs en utilisant sudo systemctl hibernate
etsudo systemctl hibernate-sleep
- powernap - Je dépose des rapports de bogues pour supprimer les dépendances épuisées
- systemctl - pourrait conduire à quelque part
- pm-utils - pourrait aussi mener à quelque part
Mises à niveau matérielles
J'ai mis à niveau les CPU du Dell 1950 Gen II dual Xeon E5335 avec les CPU Xeon X5365. Le X5365 permet la gestion de l'alimentation et définit la gestion de l'alimentation à partir du BIOS. En toute honnêteté, je n'étais pas en faveur d'une telle mise à niveau car le X5365 consomme 70 watts par processeur de plus que le E5335, mais je l'ai fait en faveur des tests d'hibernation.
Mise à jour 1
En ce moment, pm-utils
c'est la seule façon de s'écarter de la mise wol
en place du nic. Actuellement, j'explore la configuration optimale pour créer un crochet d'alimentation pour les paramètres de courant alternatif pour le temps d'inactivité.
Toutes recommandations s'il vous plaît.
Réponses:
J'ai mis en place un petit script que vous pouvez exécuter dans un cronjob toutes les 15 minutes ou en utilisant des minuteries systemd:
Il obtient d'abord le nombre d'utilisateurs connectés au système et la charge moyenne au cours des 15 dernières minutes. Vous devriez être en mesure de connaître votre charge système moyenne inactive à l'aide de
cat /proc/loadavg
. Le troisième nombre à virgule flottante donne la moyenne des 15 dernières minutes. Cette valeur est utile pour définir un seuil défini dans la variableAvgLoadThresh
. Cela nécessitera certainement un réglage. L'autre chose que vous pouvez définir est le nombre d'utilisateurs autorisés à se connecter et le système passe de toute façon en veille prolongée. C'est régléActiveUsersThresh
. Juste pour vous assurer que le système n'hiberne pas toujours lorsque vous effectuez une maintenance ou quelque chose.Je suppose que l'on pourrait proposer des contrôles plus intelligents, alors voyez-le comme une première approche simple. Par exemple, je ne sais pas quelle base de données ou serveur Web est utilisé dans votre installation owncloud mais vous pouvez essayer de les arrêter gracieusement avant la commande hibernate, afin que personne ne perde soudainement la connexion.
la source