Der erste Prototyp eines Solarservers mit Laderegler. Foto:
Im September 2018 startete ein Enthusiast von Low-tech Magazine . Das Ziel war es, den Energieverbrauch so weit zu senken, dass ein selbstgehosteter Server mit nur einem Solarpanel auskommt. Das ist keine leichte Aufgabe, denn die Website muss 24 Stunden am Tag laufen. Mal sehen, was dabei herausgekommen ist.
Sie können den Server besuchen , um den aktuellen Energieverbrauch und den Ladezustand der Batterie zu prüfen. Die Website ist optimiert auf eine minimale Anzahl von Anfragen und geringem Datenverkehr, sodass sie einen Anstieg des Besucherverkehrs von Habr standhalten sollte. Laut den Berechnungen des Entwicklers beträgt der Energieverbrauch pro einzigartigem Besucher 0,021 W⋅h.
Kurz vor Sonnenaufgang am 31. Januar 2020 hatte er noch 42 % Batterieladung. Der Sonnenaufgang in Barcelona war um 8:04 Uhr Ortszeit, danach sollte der Strom von der Solarpanel fließen.

Warum?
Vor zehn Jahren prognostizierten Experten , dass die Entwicklung des Internets zur „Demonetarisierung“ der Gesellschaft beiträgt, zur umfassenden Digitalisierung – und folglich zu einem Rückgang des gesamten Energieverbrauchs. Sie irren sich. Tatsächlich hat das Internet selbst einen , und dieser Bedarf wächst weiterhin.
IT-Unternehmen haben Initiativen gestartet, um auf alternative Energiequellen umzusteigen, aber das ist derzeit nicht möglich. Alle Rechenzentren verbrauchen dreimal so viel Energie, wie alle Solar- und Windkraftanlagen weltweit erzeugen. Schlimmer noch, die Herstellung und regelmäßige Erneuerung von Solarpanelen und Windrädern , weshalb ein Verzicht auf fossile Brennstoffe (Öl, Gas, Uran) zurzeit einfach nicht möglich ist. Aber diese Vorräte werden nicht lange ausreichen, daher müssen wir zwangsläufig darüber nachdenken, wie wir mit erneuerbaren Energiequellen leben können. Dies schließt den Betrieb der Computerinfrastruktur ein, einschließlich der Webserver.
Low-tech Magazine die allzu schnelle Aufblähung von Webseiten. Zwischen 2010 und 2018 hat die durchschnittliche Seitengröße zugenommen , während bei mobilen Seiten – von 0,15 MB auf 1,6 MB, nach konservativen Schätzungen.
Anstieg des Datenverkehrs (Energie, die zur Übertragung von 1 Megabyte Informationen benötigt wird), was zu einem stetigen Anstieg des Energieverbrauchs des Internets führt. Schwerere und ressourcenintensive Websites belasten nicht nur die Netzwerk-Infrastruktur, sondern verkürzen auch den „Lebenszyklus“ von Computer und Smartphones, die häufiger entsorgt und ersetzt werden müssen, was ebenfalls .
Natürlich wird die steigende Belastung auch durch den Lebensstil selbst erzeugt: Menschen verbringen fast die gesamte Zeit im Internet und verlassen sich in vielen Bereichen auf verschiedene Web-Services. Die moderne Gesellschaft ist kaum noch ohne eine cloud-basierte IT-Infrastruktur (soziale Netzwerke, Messenger, E-Mail usw.) vorstellbar.
Server- und Website-Konfiguration
In Hier wird die Hardwarekonfiguration und der Software-Stack des Webservers detailliert beschrieben.
Einplatinencomputer wurde aufgrund seines geringen Energieverbrauchs und nützlicher zusätzlicher Funktionen ausgewählt, wie z.B. dem Vorhandensein eines Energiemanagement-Chips . Es ermöglicht, aktuelle Spannungs- und Stromstärke-Statistiken von der Platine und der Batterie abzurufen. Der Chip schaltet automatisch die Stromversorgung zwischen der Batterie und dem DC-Anschluss um, wo der Strom von der Solarpanel fließt. Dadurch ist eine unterbrechungsfreie Stromversorgung des Servers mit Batteriestütz möglich.

Olimex Olinuxino A20 Lime 2
Zunächst wurde ein Lithium-Polymer-Akku mit 6600 mA⋅h (ca. 24 Wh) gewählt, später wurde ein Bleiakkumulator mit 84,4 Wh installiert.
Das Betriebssystem wird von einer SD-Karte geladen. Obwohl das OS nicht mehr als 1 GB benötigt und die statische Webseite etwa 30 MB groß ist, gab es aus wirtschaftlichen Gründen keinen Sinn, eine Karte unter Class 10 mit 16 GB zu kaufen.
Der Server verbindet sich über eine 100-Mbit-Heimverbindung in Barcelona und einen Standardverbraucher-Router mit dem Internet. Ein statischer IP-Adresse wurde reserviert. Praktisch jeder kann eine solche Website in seiner Wohnung aufsetzen; man muss nur die Firewall-Einstellungen leicht ändern, um die Ports auf die lokale IP weiterzuleiten:
Port 80 auf 80 für HTTP Port 443 auf 443 für HTTPS Port 22 auf 22 für SSH
Das Betriebssystem auf Basis der Debian-Distribution und des Kernels , der für Einplatinencomputer mit AllWinner-Chips entwickelt wurde.

50-Watt-Solarmodul für den Webserver und 10-Watt-Modul für die Beleuchtung im Wohnzimmer des Autors
Statische Website wurde von einem System generiert (Website-Generator auf Python-Basis). Statische Websites laden schneller und belasten die CPU nicht, wodurch sie in Bezug auf den Energieverbrauch viel effizienter sind als dynamisch generierte Seiten. Der Quellcode des Designs ist unter .
Ein sehr wichtiger Punkt ist die Bildkompression, denn ohne diese Optimierung ist es nahezu unmöglich, Web-Seiten unter 1 Megabyte zu bringen. Zur Optimierung wurde entschieden, die Fotos in Graustufenbilder umzuwandeln. Zum Beispiel hier ein Bild von Telefonistinnen an einer Telefonzentrale im letzten Jahrhundert, .

Und hier das optimierte Graustufenbild mit der Größe mit drei Farben (schwarz, weiß, grau). Durch die optische Täuschung scheint es dem Betrachter, als wären es mehr als drei Farben.

Halbtonfotografien wurden nicht nur zur Optimierung der Größe ausgewählt (eine recht fragwürdige Entscheidung), sondern auch aus ästhetischen Gründen. Diese alte Bildbearbeitungstechnik weist bestimmte stilistische Merkmale auf, wodurch die Website in gewissem Sinne ein einzigartiges Design besitzt.
Nach der Optimierung wurden 623 Illustrationen auf der Website des Low-tech Magazine von 194,2 MB auf 21,3 MB reduziert, was einem Rückgang von 89 % entspricht.
Alle alten Artikel wurden in Markdown konvertiert, um das Schreiben neuer Texte zu erleichtern und auch die Sicherung über . Alle Skripte und Tracker wurden von der Website entfernt, ebenso wie die Logos. Es wird die standardmäßig im Browser verwendete Schriftart genutzt. Als "Logo" wird der Name des Magazins in Großbuchstaben mit einem nach links zeigenden Pfeil angezeigt: LOW←TECH MAGAZINE. Insgesamt 16 Byte statt eines Bildes.
Für den Fall von Ausfallzeiten wurde die Möglichkeit des "Offline-Lesens" eingerichtet: Texte und Bilder werden in einen RSS-Feed exportiert. Eine 100%ige Cache-Speicherung aller Inhalte, einschließlich HTML, ist aktiviert.
Eine weitere Optimierung besteht darin, die HTTP/2-Einstellung in nginx zu aktivieren, was den Traffic etwas reduziert und die Ladezeiten im Vergleich zu HTTP/1.1 verkürzt. Die Ergebnisse für fünf verschiedene Seiten werden in der Tabelle verglichen.
| | FP | WE | HS | FW | CW | |----------|-------|-------|-------|-------|-------| | HTTP/1.1 | 1,46s | 1,87s | 1,54s | 1,86s | 1,89s | | HTTP2 | 1,30s | 1,49s | 1,54s | 1,79s | 1,55s | | Bilder | 9 | 21 | 11 | 19 | 23 | | Einsparungen | 11% | 21% | 0% | 4% | 18% |
Vollständige nginx-Konfiguration:
root@solarserver:/var/log/nginx# cat /etc/nginx/sites-enabled/solar.lowtechmagazine.com
# Ablaufkarte
map $sent_http_content_type $expires {
default off;
text/html 7d;
text/css max;
application/javascript max;
~image/ max;
}
server {
listen 80;
server_name solar.lowtechmagazine.com;
location / {
return 301 https://$server_name$request_uri;
}
}
server{
listen 443 ssl http2;
server_name solar.lowtechmagazine.com;
charset UTF-8; #Verbessern Sie die Seitenladegeschwindigkeit, indem Sie den Zeichensatz mit der ersten Antwort senden.
location / {
root /var/www/html/;
index index.html;
autoindex off;
}
#Cache-Einstellungen (speichern Sie HTML-Seiten für 7 Tage, den Rest so lange wie möglich, kein Caching auf der Startseite)
expires $expires;
location @index {
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-cache, no-store';
etag off;
expires off;
}
#error_page 404 /404.html;
# Leiten Sie Serverfehlerseiten zur statischen Seite /50x.html weiter
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /var/www/;
#}
#Kompression
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
#Caching (speichern Sie HTML-Seiten für 7 Tage, den Rest so lange wie möglich)
expires $expires;
# Protokolle
access_log /var/log/nginx/solar.lowtechmagazine.com_ssl.access.log;
error_log /var/log/nginx/solar.lowtechmagazine.com_ssl.error.log;
# SSL-Einstellungen:
ssl_certificate /etc/letsencrypt/live/solar.lowtechmagazine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/solar.lowtechmagazine.com/privkey.pem;
# Verbessern Sie die HTTPS-Leistung durch Sitzungsfortsetzung
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
# Aktivieren Sie serverseitigen Schutz gegen BEAST-Angriffe
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;
# Deaktivieren Sie SSLv3
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# Reduzieren Sie die Puffergröße zur Erhöhung der TTFB
ssl_buffer_size 4k;
# Diffie-Hellman-Parameter für DHE-Verschlüsselungsalgorithmen
# $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
ssl_dhparam /etc/ssl/certs/dhparam.pem;
# Aktivieren Sie HSTS (https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security)
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
# Aktivieren Sie OCSP-Stapling (http://blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox)
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/solar.lowtechmagazine.com/fullchain.pem;
resolver 87.98.175.85 193.183.98.66 valid=300s;
resolver_timeout 5s;
}Ergebnisse von 15 Monaten Betrieb
Im Zeitraum vom 12. Dezember 2018 bis zum 28. November 2019 zeigte der Server . Das bedeutet, dass aufgrund schlechter Wetterbedingungen die Ausfallzeit im Jahr 399 Stunden betrug.
Wenn man jedoch die letzten zwei Monate ignoriert, betrug die Betriebszeit 98,2% und die Ausfallzeit nur 152 Stunden, berichten die Entwickler. Die Betriebszeit fiel in den letzten zwei Monaten auf 80%, als der Energieverbrauch aufgrund eines Software-Updates anstieg. Jede Nacht wurde die Website für mehrere Stunden abgeschaltet.
Laut Statistik betrug der Energieverbrauch des Servers im Jahr (vom 3. Dezember 2018 bis zum 24. November 2019) 9,53 kWh. Es wurden erhebliche Verluste im photovoltaischen System aufgrund von Spannungswandlung und Entladung der Batterie festgestellt. Der Solarregler zeigte einen jährlichen Verbrauch von 18,10 kWh, was eine Effizienz des Systems von etwa 50% bedeutet.

Vereinfachte Darstellung. Hier sind der Spannungswandler von 12 auf 5 Volt und der Batteriezähler für Amperestunden nicht dargestellt.
Im untersuchten Zeitraum verzeichnete die Website 865.000 einzigartige Besucher. Unter Berücksichtigung aller Energieverluste in der Solaranlage betrug der Energieverbrauch pro einzigartigem Besucher 0,021 W⋅h. Somit reicht eine Kilowattstunde erzeugter Solarenergie aus, um fast 50.000 einzigartige Besucher zu versorgen.
Während des Experiments wurden Solarmodule unterschiedlicher Größe getestet. In der Tabelle sind die Berechnungen aufgeführt, wie lange es dauert, bis Batterien unterschiedlicher Kapazität mit Solarmodulen verschiedener Größen geladen werden.

Die durchschnittliche Leistungsaufnahme des Webservers im ersten Jahr, einschließlich aller Energieverluste, betrug 1,97 W. Die Berechnung zeigt, dass zur Aufrechterhaltung der Website in der kürzesten Nacht des Jahres (8 Stunden 50 Minuten, 21. Juni) 17,40 Wattstunden Speicherkapazität benötigt werden, während in der längsten Nacht (14 Stunden 49 Minuten, 21. Dezember) 29,19 W⋅h erforderlich sind.

Da Blei-Säure-Batterien nicht unter die Hälfte ihrer Kapazität entladen werden sollten, benötigt der Server eine Batterie mit 60 Wh, um die längste Nacht bei optimaler Tagesbeleuchtung (2×29,19 Wh) zu überstehen. Den Großteil des Jahres arbeitete das System mit einer Batterie von 86,4 Wh und einem 50-Watt-Solarmodul, wodurch die oben genannte Betriebszeit von 95-98% erreicht wurde.
Betriebszeit 100%
Für eine Betriebszeit von 100% muss die Kapazität der Batterien erhöht werden. Um einen Tag mit sehr schlechtem Wetter (ohne signifikante Stromerzeugung) auszugleichen, sind 47,28 Wattstunden (24 Stunden × 1,97 Watt) Speicher erforderlich.
Vom 1. Dezember 2019 bis zum 12. Januar 2020 wurde der Anlage eine 168-Wh-Batterie zugeführt, die über eine praktische Speicherkapazität von 84 Wattstunden verfügt. Dieser Speicher ist ausreichend, um die Website über zwei Nächte und einen Tag in Betrieb zu halten. Die Konfiguration wurde in der dunkelsten Zeit des Jahres getestet, jedoch war das Wetter relativ gut – und in dem angegebenen Zeitraum betrug die Betriebszeit 100%.
Um jedoch eine 100%ige Verfügbarkeit über mehrere Jahre zu gewährleisten, muss auch das schlimmste Szenario berücksichtigt werden, bei dem schlechtes Wetter mehrere Tage anhält. Die Berechnung zeigt: Um eine Website vier Tage lang mit niedriger oder null Energieerzeugung online zu halten, wird eine Blei-Säure-Batterie mit einer Kapazität von 440 Wattstunden benötigt, also in der Größe einer Autobatterie.
In der Praxis wird eine Blei-Säure-Batterie mit 48 Wh bei gutem Wetter den Server in den Monaten von März bis September über Nacht betreiben. Eine Batterie mit 24 Wh hält den Server maximal 6 Stunden am Laufen, was bedeutet, dass der Server jede Nacht abgeschaltet wird, wenn auch zu unterschiedlichen Zeiten, abhängig vom Monat.
Im Großen und Ganzen ist es für einige Websites nicht erforderlich, nachts zu arbeiten, wenn die Besucherzahlen minimal sind, so die Experten von Low-tech Magazine. Zum Beispiel, wenn es sich um ein regionales Stadtmagazin handelt, das keine Besucher aus anderen Zeitzonen anzieht, sondern nur von Einheimischen besucht wird.
Das heißt, für Websites mit unterschiedlichem Verkehrsaufkommen und Verfügbarkeiten sind Batterien unterschiedlicher Kapazität und Solarpanels unterschiedlicher Größe erforderlich.


Der Autor berechnet, wie viel Energie für die Herstellung der Solarpanel selbst (embodied energy) benötigt wird und wie viel entsteht, wenn man diese Menge durch die erwartete Lebensdauer von 10 Jahren teilt.

So kann eine Analogie zu fossilen Brennstoffen gezogen werden, die für die Produktion und den Betrieb der Panels verbraucht wurden. Low-tech Magazine hat festgestellt, dass ihr System (50 W Panel, 86,4 Wh Batterie) im ersten Jahr etwa 9 kg Emissionen "generiert" hat, was dem Verbrennen von etwa 3 Litern Benzin entspricht – ungefähr so viel, wie ein PKW auf 50 km Fahrt erzeugt.

Wenn man den Server nicht mit Solarpanels, sondern mit dem allgemeinen Stromnetz betreibt, scheint der Emissionsäquivalent etwa sechsmal niedriger zu sein: 1,54 kg (in der spanischen Energieversorgung gibt es einen hohen Anteil an erneuerbaren Energien und Kernkraftwerken). Doch dies ist ein nicht ganz korrektes Vergleich, schreibt der Autor, da es die embodied energy der Solar-Infrastruktur berücksichtigt, jedoch nicht für das allgemeine Stromnetz, das heißt, die Kosten für dessen Bau und Wartung.
Weitere Verbesserungen
In der vergangenen Zeit wurden mehrere Optimierungen vorgenommen, die den Energieverbrauch des Servers gesenkt haben. So stellte ein Entwickler fest, dass 6,63 TB von insgesamt 11,15 TB Verkehr durch eine fehlerhafte Implementierung des RSS-Feeds verursacht wurden, die alle paar Minuten Inhalte abruft. Nach der Behebung dieses Bugs sank der Energieverbrauch des Servers (ohne Berücksichtigung von Energieverlusten) von 1,14 W auf etwa 0,95 W. Der Gewinn mag gering erscheinen, aber der Unterschied von 0,19 W entspricht 4,56 Wattstunden pro Tag, was mehr als 2,5 Stunden Autarkiebetrieb des Servers bedeutet.
Im ersten Jahr lag der Wirkungsgrad lediglich bei 50 %. Verluste traten während des Ladevorgangs und der Entladung der Batterie (22 %) sowie bei der Umwandlung von 12 V (photovoltaisches Solarsystem) auf 5 V (USB) auf, wo die Verluste bis zu 28 % betragen. Der Entwickler erkennt an, dass er einen suboptimalen Spannungswandler (Controller ohne integrierten USB) hat, weshalb hier Optimierungen möglich sind oder auf eine solare 5V-Anlage umgestiegen werden kann.
Um die Effizienz der Energie Speicherung zu steigern, können Blei-Säure-Batterien durch teurere Lithium-Ionen-Batterien ersetzt werden, die geringere Lade-/Entladeverluste (<10%) aufweisen. Der Konstrukteur erwägt derzeit eine kompakte (CAES), das eine Lebensdauer von mehreren Jahrzehnten hat, was einen kleineren „CO2-Fußabdruck“ bei der Herstellung bedeutet.

Ein kompaktes Energiespeichergerät auf Basis von komprimierter Luft,
Es wird der Einbau einer zusätzlichen Windkraftanlage in Betracht gezogen (diese könnte ) sowie die Installation eines Sonnentrackers zur Ausrichtung der Paneele zur Sonne. Der Tracker ermöglicht eine Steigerung der Stromerzeugung um 30%.

Ein weiterer Ansatz zur Steigerung der Effizienz des Systems besteht darin, es zu skalieren. Mehr Webseiten auf einem Server zu hosten und mehr Server zu betreiben. Dadurch wird der Energieverbrauch pro Webseite gesenkt.

Das Unternehmen für Solarhosting. Illustration: Diego Marmolejo
Wenn Sie den gesamten Balkon Ihrer Wohnung mit Solarpanelen ausstatten und ein Unternehmen für Solar-Webhosting gründen, werden die Kosten pro Kunde deutlich niedriger sein als für eine einzelne Webseite: Skaleneffekte profitieren.
Insgesamt zeigt dieses Experiment, dass Computerinfrastrukturen unter bestimmten Bedingungen durchaus mit erneuerbaren Energiequellen betrieben werden können.
Theoretisch könnte ein solcher Server sogar ohne Batterie auskommen, wenn er an anderen Orten der Welt gespiegelt wird. Zum Beispiel könnten Spiegel in Neuseeland und Chile angebracht werden. Dort funktionieren die Solarpanels, während es in Barcelona Nacht ist.
Quelle: habr.com
