Ich verwende Cloud-Speicher-Rechenzentren mit Ubuntu 16.04 lts und NextCloud / OwnCloud, die nicht rund um die Uhr verfügbar sein müssen und Power-Management-Lösungen benötigen. Server sind Dell PowerEdge 1950 Gen II und Dell PowerEdge 2950 Gen II
Gesamtziel
Überwachen Sie Cloud-Speicherserver nach einer Leerlaufzeit von beispielsweise 20 Minuten im Ruhezustand und deaktivieren Sie sie mit WOL, um 6272,09 Kilogramm Kohlendioxid pro Jahr zu reduzieren, was allein in unserem Rechenzentrum 6680 kW entspricht. Dies wurde durch ein detailliertes Energie-Audit erreicht.
Ineffektive Lösung ausprobiert
Landschaft
Landscape on Premises / Cron Jobs bieten nur planmäßige Starts und Shutdowns und sind daher für uns nicht realisierbar.
Power Nap
Powernap scheint der richtige Weg zu sein, aber der Dienst startet nicht unter Ubuntu 16.04
XXXXXXX ~ $ sudo Service-Powernap-Status ● powernap.service - PowerNap Geladen: Geladen (/lib/systemd/system/powernap.service; deaktiviert; Herstellervoreinstellung Aktiv: inaktiv (tot)
ponwernap scheint veraltete Dienste wie network.service zu verwenden, die in Ubuntu 16.04 nicht mehr verfügbar sind
Erreichbare Ziele
Wake on LAN (WOL)
Das Aktivieren von WOL ist unkompliziert, indem Sie die manuelle Einrichtung über diesen Link ausführen . oder mit dem Einsatz von Powewake
Server-Ruhezustand
Bisher habe ich es nur geschafft, die Server mit sudo systemctl hibernate
und in den Ruhezustand zu versetzensudo systemctl hibernate-sleep
- powernap - Ich archiviere Fehlerberichte, um verbrauchte Abhängigkeiten zu entfernen
- systemctl - könnte irgendwohin führen
- pm-utils - könnte auch irgendwohin führen
Hardware-Upgrades
Ich habe die CPUs des Dell 1950 Gen II Dual Xeon E5335 mit Xeon X5365-CPUs aufgerüstet. Der X5365 aktiviert die Energieverwaltung und legt die Energieverwaltung über das BIOS fest. Ganz ehrlich, ich habe mich nicht für ein solches Upgrade ausgesprochen, da das X5365 70 Watt pro CPU mehr verbraucht als das E5335, sondern für einen Winterschlaf-Test.
Update 1
In diesem Moment pm-utils
ist die einzige Möglichkeit, sich von der Einstellung wol
auf das NIC zu lösen. Momentan suche ich nach der optimalen Konfiguration, um einen Stromhaken für Wechselstromeinstellungen für die Leerlaufzeit zu erstellen.
Irgendwelche Empfehlungen bitte.
Antworten:
Ich habe ein kleines Skript zusammengestellt, das Sie alle 15 Minuten in einem Cronjob oder mit System-Timern ausführen können:
Zunächst wird die Anzahl der am System angemeldeten Benutzer und die durchschnittliche Auslastung in den letzten 15 Minuten ermittelt. Sie sollten in der Lage sein, die durchschnittliche Systemlast im Leerlauf mithilfe von zu ermitteln
cat /proc/loadavg
. Die dritte Gleitkommazahl gibt den Durchschnitt der letzten 15 Minuten an. Dieser Wert ist hilfreich, um einen in der Variablen festgelegten Schwellenwert zu definierenAvgLoadThresh
. Dies muss auf jeden Fall angepasst werden. Sie können auch festlegen, wie viele Benutzer angemeldet sein dürfen und das System trotzdem in den Ruhezustand wechselt. Dies ist eingestellt inActiveUsersThresh
. Nur um sicherzustellen, dass das System bei Wartungsarbeiten oder Ähnlichem nicht immer in den Ruhezustand wechselt.Ich denke, man könnte sich intelligentere Schecks einfallen lassen, also sehen Sie es als einen ersten einfältigen Ansatz. Ich weiß zum Beispiel nicht, welche Datenbank oder welcher Webserver in Ihrer eigenen Cloud-Installation verwendet wird, aber Sie könnten versuchen, sie vor dem Befehl hibernate ordnungsgemäß zu stoppen, damit niemand plötzlich die Verbindung verliert.
quelle