Ubuntu – Green IT – Suspend to RAM – Flexibler Ladenschluss

Linux-Maskottchen Happy TuxTausende von Servern laufen ohne irgendeine Aktivität 24 Stunden am Tag, 7 Tage die Woche und 365 Tage im Jahr. Aber wenn kein Client im Netzwerk aktiv ist muss in den meisten Netzwerken auch kein Server mehr aktiv sein. In meinem Fall läuft der Server auch 24 Stunden am Tag, obwohl dieser auch nur laufen müsste wenn ein anderen Client im Netzwerk aktiv ist. Mein System (NAS, Backup, VDR-Stream und Virtualisierung) hat eine Leistungsaufnahme von 140 W, das entspricht 3,4 kWh am Tag, 100,8 kWh im Monat. Bei 20 Cent pro Kilowattstunde ergibt das umgerechnet 20,16 € im Monat.

Da kommt der c’t-Artikel in der 25. Ausgabe 09 auf Seite 190 gerade richtig.

Flexibler Ladenschluss
Wake on LAN und Schlaf bei Bedarf für Server und NAS
Linux-Server laufen meist den ganzen Tag, was reichlich Strom vergeudet. Ein Skript legt sie immer dann schlafen, wenn niemand mehr im LAN ist, der ihre Dienste braucht.

Der Autor Reik Kaps hat einen sehr interessanten Artikel geschrieben, das aktuelle Skript kann von einem Mercurial-Repository bei Intuxication heruntergeladen werden. (server-sleepd)

Kurz und knapp meine Zusammenfassung

ACHTUNG!Debian vs. Ubuntu Server – Suspend to RAM

Zuerst installieren wir benötigte Software.

aptitude install ethtool mercurial

Danach aktivieren wir Wake On Lan (pre-down ethtool -s eth0 wol g) in der /etc/network/interfaces,…

vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
   auto lo
   iface lo inet loopback
# The primary network interface
   allow-hotplug eth0
   iface eth0 inet static
   address 192.168.0.100
   netmask 255.255.255.0
   gateway 192.168.0.1
   dns-nameservers 192.168.0.1
   pre-down ethtool -s eth0 wol g

…mit diesem Befehl testen wir welche Schlafmodien unser System unterstützt.

echo; for i in --suspend --hibernate --suspend-hybrid; do pm-is-supported $i && echo "$(echo $i | tr [:lower:] [:upper:] | tr -d -) is supported"; done; echo 

Nun zum Skript, ich bevorzuge lieber den Namen “sleepmed” an Stelle von “server-sleepd”,…

cd /usr/src
hg clone http://mercurial.intuxication.org/hg/server-sleepd
cp /usr/src/server-sleepd/server-sleepd /etc/init.d/sleepmed

Jetzt passen wir das Skript noch an, es müssen die jeweiligen IPs der Clients und die gewünschte Aktion festgelegt werden.

vi /etc/init.d/sleepmed

Ein paar Codeschnipsel als Beispiel.

# Liste der zu testenden Adressen
# nicht zu überprüfende lassen
# sich auskommentieren
HOSTS=`grep -v ^# <<!
#192.168.0.1 >> Router
#192.168.0.100 >> ...das NAS selber!
192.168.0.100
192.168.0.101
192.168.0.102
192.168.0.200
!`
# shutdown- oder sleep-Befehl samt Parameter
# *BITTE anpassen* /bin/true ist zum testen gedacht!
#
# CMD="/sbin/shutdown -h"
# CMD="/sbin/halt"
# CMD="/usr/sbin/pm-suspend"
# CMD="/usr/sbin/pm-powersave"
CMD="/usr/sbin/pm-suspend"

Das Skript kann dann mit folgenden Optionen gefüttert werden.

/etc/init.d/sleepmed run      #Starte Skript im Vordergrund
/etc/init.d/sleepmed start    #Start als Daemon
/etc/init.d/sleepmed stop     #Stopt den Daemon
/etc/init.d/sleepmed restart  #Neustart des Daemons
/etc/init.d/sleepmed status   #Statusabfrage

Ab jetzt wird fleißig Geld gespart. :mrgreen:

Links:
pm-utils
Schlafmodi
server-sleepd
Flexibler Ladenschluss c’t-Artikel

Update:
Nach dem Suspend to RAM kann das System per Magic Packet (Wake On Lan), von einem beliebigen Client im Netzwerk, wieder aufgeweckt werden.
Linux: wakeonlan 12:23:45:67:89:0a
Windows: Wake.exe 12-23-45-67-89-0a xxx.xxx.xxx.255

Tags: , , , , , , , , , , , , , , , ,

11 Antworten zu “Ubuntu – Green IT – Suspend to RAM – Flexibler Ladenschluss”

  1. [...] Dieser Eintrag wurde auf Twitter von MedienStiftung FMS, FMS Foundation erwähnt. FMS Foundation sagte: Ubuntu – Green IT – Suspend to RAM – Flexibler Ladenschluss « Mac …: Tausende von Servern laufen ohne irgendeine Aktiv http://url4.eu/vepK [...]

  2. [...] loggn.de: Ubuntu – Green IT – Suspend to RAM… Sehr schöner Beitrag um Server im LAN nicht nur bei Bedarf zu wecken, sondern sie bei Nichtgebrauch auch wieder automatisch Schlafen zu legen. Technik und Internet [...]

  3. µme sagt:

    140W pro Stunde? Siehe auch hier: http://de.wikipedia.org/wiki/Wattstunde#H.C3.A4ufig_fehlerhafte_Schreibweise. Ein Kilo Watt hat ja laut Otto bekanntlich eintausend Wattwürmer ;) trotzdem ist das Watt eine Leistungsangabe [J/s]. Angegeben werden muss aber die (zu bezahlende) Arbeit, also z.B. eine Wattstunde (Wh), wie du es dann auch in der Kostenberechnung getan hast.

  4. Mike sagt:

    Warum hast du auch so einen hungrigen Server?

  5. Nico sagt:

    @µme
    Der Artikel wurde dementsprechend angepasst, man(n) hört halt nie auf zu lernen.

    @Mike
    Fleißige Systeme benötigen fleißig Strom. Hätte ich dieses System nicht, hätte ich in den letzten Tagen keinen weiteren interessanten Artikel schreiben können und dabei nichts dazu gelernt! ;-)

  6. murrayy sagt:

    Also 140 Watt….das ist ja ein echtes Monster. Heizen brauchst du ja dann nicht mehr viel : P
    Unser Server braucht bei leichter Belastung (Bittorrent + Musik) 40 Watt.

  7. Matthäus sagt:

    Was sind denn Modien? Ein Modus, zwei Modi, viele Modien?

  8. Nico sagt:

    Sinngemäß schon, aber grammatisch natürlich falsch. Danke

  9. zero sagt:

    In dem Zusammenhang wäre vielleicht powernap noch zu erwähnen. Bin ich selbst gestern erst drauf gestoßen…funktioniert aber ganz gut :)
    ach ja, der link:
    http://blog.dustinkirkland.com/2009/07/introducing-powernap.html

  10. [...] Loggn.de :: Ubuntu – Green IT – Suspend to RAM – Flexibler Ladenschluss [...]

  11. JoergHH sagt:

    @zero
    powernap überwacht leider nicht die Netzwerk-Aktivitäten von definierten Hosts.
    Oder hab’ ich dort etwas übersehen??

Hinterlasse eine Antwort