Stromsparen durch Powernapping (powernap, suspend, acpi-wakeup)

  • Hi


    Ich habe mich in letzter Zeit immer wieder mal mit dem Gedanken beschäftigt aus meinen 24/7 Streaming Server einen on-demand Server zu machen. Da ich momentan wieder über etwas mehr Zeit verfüge, habe ich mich vor ein paar Tagen an die Umsetzung gemacht. Das Resultat sieh folgendermassen aus:

    • Sobald der Server nicht mehr benötigt wird (VDR, streamdev, nfs, ssh, etc. ) legt er sich automatisch schlafen
    • Falls ein Timer programmiert ist, stellt er eine Weckzeit um rechtzeitig zum Timer wieder aufzuwachen
    • Der Server lässt sich über WoL Packete aus dem suspend Zustand aufwecken
    • Streaming clients wecken den Server per WoL automatisch beim booten auf.


    Die verwendeten Skripte sind teils selbst gebastelt, teils aus verschiedenen Skripten (VDR-Wiki: acpi-wakeup.sh, ct: Flexibler Ladenschluss) zusammengestellt.


    Als ausgangspunkt habe ich powernap verwendet. Es überprüft in regelmässigen Abständen, ob Bedarf zum suspenden (z.b. keine User aktiv) besteht. Danach wird ein Skript (/etc/powernap/action) aufgerufen, welches das ganze Handling mit streamdev-sessions, recordings etc. macht.


    Zum einrichten müssen folgende Schritte befolgt werden:

    • /etc/powernap/config an seine eigenen Bedürfnisse anpassen
    • action.txt nach /etc/powernap/action kopieren und anpassen (falls notwendig)
    • Sicherstellen, dass pm-suspend (falls verwendet) funktioniert und insbesondere, dass ACPI-Wakeup funktioniert
    • Die clients konfigurieren, dass sie den Server automatisch aufwecken.


    Evtl. kann ja jemand diese Infos verwenden. Ansonsten bin ich auch offen für Verbesserungsvorschläge / Erweiterungen / konstruktive Kritik ;)
    Falls noch was fehlt, bitte einfach schreiben.


    edit: hab mal meine email adresse aus dem skript entfernt ;)

    Dateien

    • action.txt

      (6,69 kB, 531 Mal heruntergeladen, zuletzt: )

    VDR1: AMD X2, vdr-1.6, Gentoo: streamdev-client, xineliboutput
    VDR-Server: AMD X2, 2 x PVR via pvrinput, Ubuntu: vdr-1.6, streamdevserver(cvs/handverändert), xineliboutput
    diverse clients: vdr,vdr-xineliboutput und streamdev-client

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von greenman ()