Der solarbetriebene Heimserver war 15 Monate lang in Betrieb: Betriebszeit 95,26%


Der erste Prototyp eines Solarservers mit Laderegler. Foto: solar.lowtechmagazine.com

Im September 2018 startete ein Enthusiast des Low-Tech-Magazins ein „Low-Tech“ -Webserverprojekt . Ziel war es, den Stromverbrauch so zu senken, dass ein einziges Solarpanel für den selbst gehosteten Heimserver ausreicht. Dies ist nicht einfach, da die Site 24 Stunden am Tag arbeiten sollte. Mal sehen, was am Ende passiert ist.

Sie können zum Server solar.lowtechmagazine.com gehenÜberprüfen Sie den aktuellen Stromverbrauch und den Batteriestand. Die Site ist für die minimale Anzahl von Anfragen von der Seite und den minimalen Verkehr optimiert, sodass sie dem Anstieg des Verkehrs von Habr standhalten muss. Nach Berechnungen des Entwicklers beträgt der Energieverbrauch pro Besucher 0,021 Wh.

Kurz vor Sonnenaufgang, am 31. Januar 2020, hatte er noch 42% der Batterie übrig. Morgendämmerung in Barcelona um 8:04 Uhr Ortszeit, danach sollte der Strom vom Solarpanel fließen.



Wozu?


Vor zehn Jahren sagten Experten voraus, dass die Entwicklung des Internets zur „Entmaterialisierung“ der Gesellschaft, zur universellen Digitalisierung und damit zu einem Rückgang des Gesamtenergieverbrauchs beiträgt. Sie haben sich geirrt. Tatsächlich hat das Internet selbst enorme Mengen an Energie benötigt , und diese Mengen wachsen weiter.

IT-Unternehmen haben Initiativen gestartet, um auf alternative Stromversorgungen umzusteigen, aber dies ist jetzt unmöglich. Alle Rechenzentren verbrauchen dreimal mehr Energie als alle Solar- und Windanlagen der Welt. Schlimmer noch, die Herstellung und der regelmäßige Austausch von Sonnenkollektoren und Windmühlen erfordert ebenfalls EnergieDaher ist es heute einfach unmöglich, das fossile Topplif (Öl, Gas, Uran) aufzugeben. Diese Reserven werden jedoch für lange Zeit nicht ausreichen, sodass wir unweigerlich darüber nachdenken müssen, wie wir von erneuerbaren Quellen leben können. Einschließlich des Betriebs der Computerinfrastruktur, einschließlich Webserver.

Das Low-Tech-Magazin betrachtet das Problem des Aufblasens von Webseiten als zu schnell. Von 2010 bis 2018 stieg die durchschnittliche Seitengröße nach einer vorsichtigen Schätzung von 0,45 MB auf 1,7 MB und für mobile Websites von 0,15 MB auf 1,6 MB.

Mehr Verkehr vor Fortschritten bei der Energieeffizienz(die Energie, die benötigt wird, um 1 Megabyte an Informationen zu übertragen), was zu einem konstanten Anstieg des Energieverbrauchs des Internets führt. Schwerere und schwerere Standorte erhöhen nicht nur die Belastung der Netzwerkinfrastruktur, sondern verkürzen auch den „Lebenszyklus“ von Computern und Smartphones, die häufig weggeworfen und neu erstellt werden müssen. Dies ist ebenfalls ein sehr energieintensiver Prozess .

Und natürlich wird die Erhöhung der Belastung durch den Lebensstil selbst verursacht: Die Menschen verbringen fast die ganze Zeit im Internet und verlassen sich stark auf verschiedene Webdienste. Eine moderne Gesellschaft ohne Cloud-IT-Infrastruktur (soziale Netzwerke, Instant Messenger, E-Mail usw.) ist bereits schwer vorstellbar.

Server- und Website-Konfiguration


In diesem Artikel werden die Hardwarekonfiguration und der Software-Stack-Webserver ausführlich beschrieben.

Der Olimex Olinuxino A20 Lime 2-Einplatinencomputer wurde aufgrund seines geringen Stromverbrauchs und nützlicher Zusatzfunktionen wie dem AXP209- Energieverwaltungschip ausgewählt . Sie können Statistiken über die aktuelle Spannung und Stromstärke von der Karte und von der Batterie anfordern. Der Chip schaltet automatisch die Energie zwischen der Batterie und dem Gleichstromstecker um, wo Strom vom Solarpanel fließt. Somit ist eine unterbrechungsfreie Stromversorgung des Servers mit Batterieunterstützung möglich.


Olimex Olinuxino A20 Kalk 2

Zunächst wurde eine Lithium-Polymer-Batterie mit einer Kapazität von 6600 mAh (ca. 24 Wh) als Batterie gewählt, dann wurde eine Säure-Blei-Batterie mit 84,4 Wh eingesetzt.

Das Betriebssystem startet von der SD-Karte. Obwohl das Betriebssystem nicht mehr als 1 GB belegt und eine statische Website etwa 30 MB groß ist, gab es keinen wirtschaftlichen Grund, eine Karte zu kaufen, die kleiner als 16 GB der Klasse 10 ist.

Der Server stellt über eine 100-Megabyte-Heimverbindung in Barcelona und einen Standard-Consumer-Router eine Verbindung zum Netzwerk her. Eine statische IP-Adresse ist dafür reserviert. Fast jeder kann eine solche Site in seiner Wohnung einrichten. Sie müssen die Firewall-Einstellung für die Portweiterleitung an die lokale IP-Adresse geringfügig ändern:

Port 80 bis 80 für HTTP
Port 443 bis 443 für HTTPS
Port 22 bis 22 für SSH

Armbian Stretch- Betriebssystem basierend auf der Debian-Distribution und dem SUNXI- Kernel , der für Single-Board-Karten mit AllWinner-Chips entwickelt wurde.


Ein 50-Watt-Solarpanel für einen Webserver und ein 10-Watt-Solarpanel für die Beleuchtung eines Wohnzimmers in der Wohnung des Autors.

Eine statische Site wird vom Pelican- System (Python-Website-Generator) generiert . Statische Sites werden schneller geladen und belasten die CPU nicht. Daher sind sie unter dem Gesichtspunkt des Energieverbrauchs viel effizienter als dynamisch generierte Seiten. Den Quellcode für das Thema finden Sie hier .

Ein sehr wichtiger Punkt ist die Bildkomprimierung, da es ohne diese Optimierung fast unmöglich ist, Webseiten mit weniger als 1 Megabyte zu erstellen. Zur Optimierung wurde beschlossen, die Fotos in Graustufenbilder umzuwandeln. Hier ist zum Beispiel ein Foto einer Telefonistin an einem Schalter im letzten Jahrhundert, 253 KB .



Aber das optimierte Graustufenbild von 36,5 KB Größe mit drei Farben (schwarz, weiß, grau). Aufgrund der optischen Täuschung scheint der Betrachter mehr als drei Farben zu haben.



Halbtonfotos wurden nicht nur zur Größenoptimierung ausgewählt (die Lösung ist eher zweifelhaft), sondern auch aus ästhetischen Gründen. Diese alte Bildverarbeitungstechnik weist bestimmte Stilmerkmale auf, sodass sich die Website in einer Weise als einzigartiges Design herausgestellt hat.

623 Abbildungen auf der Website des Low-Tech-Magazins wurden nach der Optimierung von 194,2 MB auf 21,3 MB, dh 89%, verkleinert.

Alle alten Artikel wurden in Markdown konvertiert, um das Schreiben neuer Artikel sowie das Sichern über Git zu vereinfachen . Alle Skripte und Tracker sowie Logos wurden von der Site entfernt. Die Standardschriftart wird im Client-Browser verwendet. Als „Logo“ - der Name des Magazins in Großbuchstaben mit einem Pfeil nach links: LOW ← TECH MAGAZINE. Nur 16 Bytes anstelle eines Bildes.

Bei Ausfallzeiten besteht die Möglichkeit des „Offline-Lesens“: Texte und Bilder werden in den RSS-Feed exportiert. Das Zwischenspeichern von 100% Inhalt, einschließlich HTML, ist enthalten.

Eine weitere Optimierung ist die Aufnahme von HTTP2-Einstellungen in Nginx, wodurch der Datenverkehr im Vergleich zu HTTP / 1.1 geringfügig reduziert und die Ladezeit der Seite verkürzt wird. Die Tabelle vergleicht die Ergebnisse für fünf verschiedene Seiten.

| | FP | WIR | Hs | Fw | CW |
| ---------- | ------- | ------- | ------- | ------- | ------ - |
| HTTP / 1.1 | 1,46 s | 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

# Expires map
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; #improve page speed by sending the charset with the first response.

location / {
root /var/www/html/;
index index.html;
autoindex off;
}


#Caching (save html pages for 7 days, rest as long as possible, no caching on frontpage)
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;

# redirect server error pages to the static page /50x.html
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /var/www/;
#}

#Compression

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 (save html page for 7 days, rest as long as possible)
expires $expires;

# Logs
access_log /var/log/nginx/solar.lowtechmagazine.com_ssl.access.log;
error_log /var/log/nginx/solar.lowtechmagazine.com_ssl.error.log;

# SSL Settings:
ssl_certificate /etc/letsencrypt/live/solar.lowtechmagazine.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/solar.lowtechmagazine.com/privkey.pem;

# Improve HTTPS performance with session resumption
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;

# Enable server-side protection against BEAST attacks
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

# Disable SSLv3
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

# Lower the buffer size to increase TTFB
ssl_buffer_size 4k;

# Diffie-Hellman parameter for DHE ciphersuites
# $ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
ssl_dhparam /etc/ssl/certs/dhparam.pem;

# Enable HSTS (https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security)
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";

# Enable 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 Arbeit


Für den Zeitraum vom 12. Dezember 2018 bis zum 28. November 2019 zeigte der Server eine Verfügbarkeit von 95,26% . Dies bedeutet, dass aufgrund des schlechten Wetters die Ausfallzeit für das Jahr 399 Stunden betrug.

Wenn Sie jedoch die letzten zwei Monate nicht berücksichtigen, beträgt die Verfügbarkeit 98,2% und die Ausfallzeit nur 152 Stunden, schreiben die Entwickler. Die Betriebszeit ist in den letzten zwei Monaten auf 80% gesunken, als der Stromverbrauch aufgrund von Software-Updates gestiegen ist. Jede Nacht war die Seite für mehrere Stunden außer Betrieb.

Laut Statistik betrug der Stromverbrauch des Servers für das Jahr (vom 3. Dezember 2018 bis zum 24. November 2019) 9,53 kWh. In der Photovoltaikanlage wurden aufgrund von Spannungsumwandlung und Batterieentladung erhebliche Verluste verzeichnet. Der Solarregler zeigte einen Jahresverbrauch von 18,10 kWh, was einem Systemwirkungsgrad von ca. 50% entspricht.


Vereinfachtes Schema. Es wird kein Spannungswandler von 12 bis 5 Volt und kein Batterieamperstundenzähler angezeigt.

Während des Untersuchungszeitraums besuchten 865.000 einzelne Besucher die Website. Einschließlich aller Energieverluste in der Solaranlage betrug der Energieverbrauch pro Besucher 0,021 Wh. Eine Kilowattstunde erzeugter Sonnenenergie reicht somit aus, um fast 50.000 Besucher zu versorgen.

Während des Experiments wurden Sonnenkollektoren unterschiedlicher Größe getestet. Die Tabelle zeigt die Berechnungen, wie lange Batterien unterschiedlicher Kapazität geladen werden, wenn Solarmodule unterschiedlicher Größe verwendet werden.



Der durchschnittliche Stromverbrauch des Webservers betrug im ersten Jahr einschließlich aller Energieverluste 1,97 Watt. Die Berechnung zeigt, dass Sie für die nächtliche Pflege einer Website in der kürzesten Nacht des Jahres (8 Stunden 50 Minuten, 21. Juni) 17,40 Wattstunden Speicherleistung und in der längsten Nacht (14 Stunden 49 Minuten, 21. Dezember) benötigen. 19 Wh



Da Blei-Säure-Batterien nicht unter der Hälfte der Kapazität entladen werden sollten, benötigt der Server eine 60-Wh-Batterie, um die längste Nacht bei optimalen Tageslichtbedingungen (2 × 29,19 Wh) zu überstehen. Während des größten Teils des Jahres arbeitete das System mit einer 86,4-Wh / h-Batterie und einem 50-Watt-Solarpanel, dann wurde die oben erwähnte Betriebszeit von 95-98% erreicht.

Betriebszeit 100%


Für eine Betriebszeit von 100% ist eine Erhöhung der Batteriekapazität erforderlich. Um einen Tag mit sehr schlechtem Wetter (ohne nennenswerte Stromerzeugung) auszugleichen, benötigen Sie 47,28 Wattstunden (24 Stunden × 1,97 Watt) Speicher.

Vom 1. Dezember 2019 bis zum 12. Januar 2020 wurde eine 168-Watt-Batterie in das System eingebaut, die eine praktische Speicherkapazität von 84 Wattstunden hat. Dieser Speicher reicht aus, um die Site für zwei Nächte und einen Tag zu warten. Die Konfiguration wurde in der dunkelsten Zeit des Jahres getestet, aber das Wetter war relativ gut - und während dieser Zeit betrug die Betriebszeit 100%.

Um jedoch eine Betriebszeit von 100% für mehrere Jahre zu gewährleisten, muss das Worst-Case-Szenario vorausgesehen werden, wenn das schlechte Wetter mehrere Tage anhält. Die Berechnung zeigt: Um die Website vier Tage lang mit geringer oder null Energieerzeugung online zu halten, benötigen Sie eine Blei-Säure-Batterie mit einer Kapazität von 440 Wattstunden, dh der Größe einer Autobatterie.

In der Praxis wird bei gutem Wetter eine 48-Wh-Blei-Säure-Batterie den Server in der Nacht von März bis September unterstützen. Ein 24-Wh-Akku hält den Server maximal 6 Stunden lang, dh er wird jede Nacht heruntergefahren, allerdings je nach Monat zu unterschiedlichen Zeiten.

Im Großen und Ganzen müssen einige Websites nachts nicht arbeiten, wenn die Anzahl der Besucher minimal ist, so die Mitarbeiter des Low-Tech-Magazins. Zum Beispiel, wenn es sich um eine regionale Stadtpublikation handelt, in die Besucher aus anderen Zeitzonen nicht gehen, sondern nur Anwohner.

Das heißt, für Standorte mit unterschiedlichem Verkehr und unterschiedlicher Betriebszeit werden Batterien unterschiedlicher Kapazität und Solarmodule unterschiedlicher Größe benötigt.





Der Autor berechnet, wie viel Energie benötigt wird, um die Solarmodule selbst herzustellen (realisierte Energie) und wie viel Energie erhalten wird, wenn Sie diese Menge durch die erwartete Lebensdauer von 10 Jahren dividieren.



Somit ist es möglich, ein Analogon fossiler Brennstoffe zu berechnen, das für die Herstellung und den Betrieb von Paneelen verwendet wird. Beim Low-Tech Magazine stellte sich heraus, dass ihr System (50-W-Panel, 86,4-Wh-Batterie) im ersten Betriebsjahr etwa 9 kg Emissionen oder das Äquivalent von 3 Litern Benzin „erzeugte“: ungefähr das gleiche wie ein Pkw für 50 km Fortschritt.



Wenn der Server nicht über Sonnenkollektoren, sondern über das allgemeine Stromnetz mit Strom versorgt wird, scheint das Äquivalent der Emissionen sechsmal niedriger zu sein: 1,54 kg (der Anteil alternativer Energie- und Kernkraftwerke an der spanischen Energie ist hoch). Dies ist jedoch kein völlig korrekter Vergleich, schreibt der Autor, da er die implementierte Energie der Solarinfrastruktur berücksichtigt, diesen Indikator jedoch nicht für das gesamte Energienetz, dh die Kosten für dessen Bau und Unterstützung, berücksichtigt.

Weitere Verbesserungen


In der letzten Zeit wurden eine Reihe von Optimierungen durchgeführt, die den Stromverbrauch des Servers gesenkt haben. Zum Beispiel bemerkte der Entwickler irgendwann, dass 6,63 TB des gesamten 11,15-TB-Datenverkehrs durch eine falsche Implementierung des RSS-Feeds generiert wurden, der alle paar Minuten Inhalte abruft. Nach Behebung dieses Fehlers verringerte sich der Stromverbrauch des Servers (ohne Energieverluste) von 1,14 Watt auf etwa 0,95 Watt. Die Verstärkung mag gering erscheinen, aber der Unterschied von 0,19 Watt bedeutet 4,56 Wattstunden pro Tag, was einer Batterielebensdauer von mehr als 2,5 Stunden entspricht.

Im ersten Jahr betrug der Wirkungsgrad nur 50%. Beim Laden und Entladen der Batterie (22%) sowie bei der Umwandlung der Spannung von 12 V (Solar-Photovoltaikanlage) in 5 V (USB), bei der die Verluste bis zu 28% betragen, wurden Verluste beobachtet. Der Entwickler gibt zu, dass er keinen optimalen Spannungswandler (Controller ohne eingebauten USB) hat, sodass Sie diesen Moment optimieren oder auf eine 5-V-Solaranlage umsteigen können.

Um die Effizienz der Energiespeicherung zu erhöhen, können Blei-Säure-Batterien durch teurere Lithium-Ionen-Batterien ersetzt werden, die einen geringeren Lade- / Entladeverlust aufweisen (<10%). Jetzt erwägt der Konstrukteur ein kompaktes System zur Speicherung von Elektrizität in Form von Druckluft(CAES) mit einer Lebensdauer von zehn Jahren, was einen geringeren CO2-Fußabdruck bedeutet.


Kompakter Energiespeicher in Druckluft, Quelle

Wir erwägen die Installation einer zusätzlichen Windkraftanlage (diese kann aus Holz bestehen ) und eines Solartrackers, um die Paneele der Sonne zuzuwenden. Mit dem Tracker können Sie die Stromerzeugung um 30% steigern.



Eine andere Möglichkeit, die Effizienz des Systems zu steigern, besteht darin, es zu skalieren. Erhöhen Sie mehr Websites auf dem Server und führen Sie mehr Server aus. Dann sinkt der Energieverbrauch pro Standort.


Solar-Hosting-Unternehmen. Illustration: Diego Marmolejo

Wenn Sie den gesamten Balkon der Wohnung mit Sonnenkollektoren abdecken und ein Solar-Webhosting-Unternehmen eröffnen, sind die Kosten für jeden Kunden erheblich niedriger als für eine einzelne Website: Skaleneffekte.

Im Allgemeinen zeigt dieses Experiment, dass die Computerinfrastruktur unter bestimmten Einschränkungen durchaus mit erneuerbaren Energiequellen arbeiten kann.

Theoretisch kann ein solcher Server sogar auf einen Akku verzichten, wenn Sie ihn in anderen Teilen der Welt spiegeln. Stellen Sie beispielsweise Spiegel in Neuseeland und Chile auf. Dort funktionieren Sonnenkollektoren, wenn es Nacht in Barcelona ist.

Source: https://habr.com/ru/post/undefined/


All Articles