Neuer Heimserver, Teil 3 (Energieoptimierung I)

Nachdem mein neuer Heimserver nun inzwischen sauber bootet, konnte ich am verlängerten Wochenende als nächsten Schritt die Optimierung des elektrischen Energieverbrauchs angehen. Zur Kontrolle des tatsächlichen Verbrauchs habe ich ein Messgerät „ELV Energy Master Profi-2“ verwendet, dem die c’t vor einiger Zeit eine sehr gute Messgenauigkeit bescheinigt hatte. (Wichtig, wenn man nur geringe Leistungswerte und das auch noch präzise messen möchte.)

Als Ausgangspunkt diente sozusagen das Grundsystem: Lauffähig mit der SSD und den beiden HDDs eingebaut, Debian Jessie „nackt“ auf die SSD installiert, die beiden HDDs aber weder irgendwie formatiert noch gemountet. Das Gehäuse, ein Antec Three Hundred Two, kam mit einem 120- und einem 140-mm-Lüfter. Beide waren ebenfalls angeschlossen und mittels der werksseitig eingebauten Schiebeschalter auf Drehstahlstellung „L(ow)“ gestellt. Derart ausgestattet verbrauchte das System kurz nach dem Booten ca. 27 W. Für meinen Geschmack deutlich zu viel, zumal die c’t in der Basiskonfiguration (da allerdings mit Celeron G3900) nur 12 W versprochen hatte.

Der erste Optimierungsschritt bestand darin, den hinteren Gehäuselüfter (120 mm) wieder still zu legen und im BIOS die nicht benötigten Schnittstellen COM2 und LPT sowie die Onboard-Soundkarte zu deaktivieren. Die erste serielle Schnittstelle COM1 muss leider aktiv bleiben, da hieran später die USV angeschlossen wird. Aber immerhin sank damit der Idle-Verbrauch nach einiger Zeit schon auf ca. 22,5 W. Ansonsten ist das BIOS im Übrigen bereits ab Werk sehr gut eingestellt. Insbesondere den Wert „Max. C-States“ sollte man auf „Auto“ belassen. Debian regelt hier anscheinend bis auf C9 herunter, wohingegen man im BIOS nur bis C7s einstellen kann – was einen im Vergleich zur „Auto“-Einstellung höheren Idle-Stromverbrauch nach sich zieht.

Als nächstes Stand die Analyse des Systems mithilfe des Tools „powertop“ auf dem Plan. Wie ich allerdings erst nach einer Weile herausfand, wendet powertop die Optimierungsvorschläge nicht tatsächlich an, sondern macht nur Vorschläge, was man tun könnte. Daher empfiehlt es sich, powertop mit der Option powertop --html aufzurufen. Auf diese Weise erzeugt powertop eine Datei powertop.html, in der alle Optimierungs-Vorschläge aufgelistet sind und bequem nachgelesen werden können. Um die Optimierungen auch tatsächlich anzuwenden und das auch noch dauerhaft (also auch über zukünftige Bootvorgänge hinweg), habe ich alle Anweisungen – gemäß diverser Anleitungen im Netz – in die Datei /etc/rc.local aufgenommen. Dabei sollte man jedoch vorsichtig sein: Nach Aktivierung der Optimierungsvorschläge für den USB-Hostcontroller sowie der USB-Geräte reagierte die USB-Tastatur nicht mehr auf Eingaben. Zum Glück hatte ich zu diesem Zeitpunkt schon einen funktionsfähigen SSH-Zugang eingerichtet. Selbstverständlich habe ich diese beiden Änderungen dann umgehend rückgängig gemacht…

Ebenfalls als fußangelbewährt erwies sich der Wunsch, die Festplatten nach einer gewissen Zeit Inaktivität automatisch schlafen zu schicken. Dafür ist das Tool hdparm zuständig, jedoch sorgt ein Bug in Debian Jessie dafür, dass die eigentlich als Konfigurationsmöglichkeit vorgesehene Datei /etc/hdparm.conf nicht ausgewertet wird. Daher habe ich entsprechend der Empfehlung einem Webforum die Zeilen hdparm -C 60 /dev/sdb und hdparm -y /dev/sdb (sowie das gleich nochmal für /dev/sdc) ebenfalls in die /etc/rc.local aufgenommen.

Damit waren nun ca. 20,4 W mit den beiden Festplatten im Idle bzw. ca. 14 W mit den beiden Festplatten im Standby erreicht – schon deutlich besser. :)

Als nächstes war der Einbau der zweiten Netzwerkkarte, einer preisgünstigen DeLock 89357 an der Reihe. Das war nicht weiter problematisch und nach Aktivierung der entsprechenden Optimierungsoptionen war der Strombedarf nur moderat auf 14,5 W (beide HDDs im Standby) angestiegen. Dabei war allerdings kein Netzwerkkabel in die zweite Netzwerkkarte eingesteckt. Hier rechne ich im späteren Betrieb mit einer weiteren leichten Steigerung der Energieaufnahme.

Testweise konnte ich den Energieverbrauch sogar auf 13,7 W drücken, indem ich die USB-Tastatur und den DisplayPort-zu-VGA-Adapter (die ich beide für einen lokalen Notfallzugang haben möchte, falls der Server mal per SSH nicht mehr ansprechbar ist) abgezogen habe. Da da das aber anscheinend zu Problemen führt, wenn man beides nach länger Zeit wieder einstecken möchte (wird dann unter Umständen nicht mehr richtig erkannt), werde ich im späteren Produktivbetrieb wohl auf dieses Einsparpotential verzichten und beides dauerhaft eingesteckt lassen.

Bis hierhin lief die Sache eigentlich insgesamt recht gut, doch jetzt begannen die Probleme: Eigentlich hatte ich vorgesehen, dem Server auch einen SCSI-Hostadapter zu spendieren, um damit endlich meine schon lange vorhandene LTO Tape-Library in Betrieb zu nehmen. Da LVD-SCSI-Hostadapter für PCIe-Slots (das Mainboard hat keine anderen) eher rar gesät sind, fiel die Wahl auf einen gebraucht gekauften Adaptec 29320LPE. Dessen Einbau in den Server hatte allerdings ungeahnte Folgen. Dadurch wurden auf wundersame Art die zuvor gemachten Stromspar-Optimierungen nicht mehr wirksam, sodass der Server nun gut 30 W mit den beiden HDDs im Idle bzw. ca. 22,5 W mit den HDDs im Standby brauchen würde. Das wäre natürlich inakzeptabel. Besonders merkwürdig ist jedoch, dass bei jedem dritten oder vierten Bootvorgang die Optimierungen doch wieder wirksam werden. :|

Sofern den Jungs auf der deutschen Debian-User-Mailingliste, wo ich um Rat gefragt habe, nicht noch etwas zündendes einfällt, sehe ich aktuell drei Optionen:

  1. Mit dem erhöhten Stromverbrauch leben
  2. Das Projekt Tape-Backup endgültig begraben
  3. Es mit einem alternativen SCSI-Controller, zum Beispiel LSI LSI20320IE versuchen

Mal schauen, wie sich die Sache noch entwickelt…

0 Kommentare auf “Neuer Heimserver, Teil 3 (Energieoptimierung I)

1 Pings/Trackbacks für "Neuer Heimserver, Teil 3 (Energieoptimierung I)"

Schreibe einen Kommentar