Le serveur domestique à énergie solaire a fonctionné pendant 15 mois: disponibilité 95,26%


Le premier prototype de serveur solaire avec un contrôleur de charge. Photo: solar.lowtechmagazine.com

En septembre 2018, un passionné de Low-tech Magazine a lancé un projet de serveur web «low-tech» . L'objectif était de réduire la consommation d'énergie afin qu'un seul panneau solaire soit suffisant pour le serveur auto-hébergé domestique. Ce n'est pas facile, car le site devrait fonctionner 24h / 24. Voyons ce qui s'est passé à la fin.

Vous pouvez aller sur le serveur solar.lowtechmagazine.com, vérifiez la consommation électrique actuelle et le niveau de la batterie. Le site est optimisé pour le nombre minimum de requêtes de la page et le trafic minimum, il doit donc résister à l'augmentation du trafic Habr. Selon les calculs du développeur, la consommation d'énergie par visiteur unique est de 0,021 Wh.

Peu avant l'aube, le 31 janvier 2020, il lui restait 42% de la batterie. Aube à Barcelone à 8h04 heure locale, après quoi le courant devrait passer du panneau solaire.



Pourquoi?


Il y a dix ans, les experts prédisaient que le développement d'Internet contribuait à la «dématérialisation» de la société, à la numérisation universelle - et, par conséquent, à une diminution de la consommation globale d'énergie. Ils se sont trompés. En fait, Internet lui-même a exigé d' énormes quantités d'énergie , et ces volumes continuent de croître.

Les sociétés informatiques ont lancé des initiatives pour passer à des alimentations alternatives, mais cela est désormais impossible. Tous les centres de données consomment trois fois plus d'énergie que toutes les installations solaires et éoliennes du monde. Pire encore, la production et le remplacement régulier de panneaux solaires et d'éoliennes nécessitent également de l'énergiepar conséquent, l'abandon du toplif fossile (pétrole, gaz, uranium) aujourd'hui est tout simplement impossible. Mais ces réserves ne seront pas suffisantes pour longtemps, nous devrons donc inévitablement réfléchir à la façon de vivre avec des sources renouvelables. Y compris le fonctionnement de l'infrastructure informatique, y compris les serveurs Web.

Low-tech Magazine considère le problème du gonflage trop rapide des pages Web. De 2010 à 2018, la taille moyenne des pages est passée de 0,45 Mo à 1,7 Mo , et pour les sites mobiles - de 0,15 Mo à 1,6 Mo, selon une estimation prudente.

Augmentation du trafic avant les progrès de l'efficacité énergétique(l'énergie nécessaire pour transférer 1 mégaoctet d'informations), ce qui entraîne une augmentation constante de la consommation d'énergie d'Internet. Les sites de plus en plus lourds augmentent non seulement la charge de l'infrastructure réseau, mais raccourcissent également le «cycle de vie» des ordinateurs et des smartphones, qui doivent souvent être jetés et renouvelés , ce qui est également un processus très énergivore .

Et bien sûr, l'augmentation de la charge est créée par le mode de vie lui-même: les gens passent presque tout le temps sur Internet et dépendent fortement de divers services Web. Il est déjà difficile d'imaginer une société moderne sans infrastructure informatique cloud (réseaux sociaux, messagerie instantanée, courrier, etc.)

Configuration du serveur et du site Web


Dans cet article décrit en détail la configuration matérielle et le serveur Web de la pile logicielle.

L' ordinateur à carte unique Olimex Olinuxino A20 Lime 2 est sélectionné pour sa faible consommation d'énergie et ses fonctionnalités supplémentaires utiles telles que la puce de gestion de l'alimentation AXP209 . Il vous permet de demander des statistiques sur la tension et l'intensité du courant à la carte et à la batterie. La puce bascule automatiquement l'alimentation entre la batterie et le connecteur DC, où le courant s'écoule du panneau solaire. Ainsi, une alimentation sans interruption du serveur avec prise en charge de la batterie est possible.


Olimex Olinuxino A20 Lime 2

Initialement, une batterie au lithium-polymère d'une capacité de 6600 mAh (environ 24 Wh) a été choisie comme batterie, puis ils ont mis une batterie au plomb à 84,4 Wh.

Le système d'exploitation démarre à partir de la carte SD. Bien que le système d'exploitation ne prenne pas plus de 1 Go et qu'un site Web statique soit d'environ 30 Mo, il n'y avait aucune raison économique d'acheter une carte plus petite que la classe 10 16 Go.

Le serveur se connecte au réseau via une connexion domestique de 100 mégaoctets à Barcelone et un routeur grand public standard. Une adresse IP statique lui est réservée. Presque tout le monde peut créer un tel site dans son appartement, vous devez modifier légèrement le paramètre du pare-feu pour la redirection de port vers l'IP locale:

Port 80 à 80 pour HTTP
Port 443 à 443 pour HTTPS
Port 22 à 22 pour SSH

Système d' exploitation Armbian Stretch basé sur la distribution Debian et le noyau SUNXI , conçu pour les cartes à carte unique avec des puces AllWinner.


Un panneau solaire de 50 watts pour un serveur Web et un panneau de 10 watts pour l'éclairage d'un salon dans l'appartement de l'auteur.

Un site statique est généré par le système Pelican (générateur de site Web Python). Les sites statiques se chargent plus rapidement et ne créent pas de charge sur le processeur, ils sont donc beaucoup plus efficaces que les pages générées dynamiquement du point de vue de la consommation d'énergie. Voir le code source du thème ici .

Un point très important est la compression d'image, car sans cette optimisation, il est presque impossible de faire des pages Web de moins de 1 mégaoctet. Pour l'optimisation, il a été décidé de convertir les photos en images en niveaux de gris. Par exemple, voici une photo d'une opératrice téléphonique sur un commutateur au siècle dernier, 253 Ko .



Mais l'image en niveaux de gris optimisée de 36,5 Ko en taille avec trois couleurs (noir, blanc, gris). En raison de l'illusion d'optique, le spectateur semble avoir plus de trois couleurs.



Les photographies en demi-teintes ont été choisies non seulement pour l'optimisation de la taille (la solution est plutôt douteuse), mais aussi pour des raisons esthétiques. Cette ancienne technique de traitement d'image possède certaines caractéristiques stylistiques, de sorte que le site s'est avéré en quelque sorte un design unique.

623 illustrations sur le site Web de Low-tech Magazine après optimisation ont diminué de 194,2 Mo à 21,3 Mo, soit 89%.

Tous les anciens articles ont été convertis en Markdown pour faciliter la rédaction de nouveaux articles, ainsi que pour la sauvegarde via git . Tous les scripts et trackers, ainsi que les logos, ont été supprimés du site. La police par défaut est utilisée dans le navigateur client. En tant que «logo» - le nom du magazine en majuscules avec une flèche gauche: LOW ← TECH MAGAZINE. Seulement 16 octets au lieu d'une image.

En cas de temps d'arrêt, la possibilité de «lecture hors ligne» est organisée: les textes et les images sont exportés vers le flux RSS. La mise en cache du contenu à 100%, y compris HTML, est incluse.

Une autre optimisation est l'inclusion de paramètres HTTP2 dans nginx, ce qui réduit légèrement le trafic et raccourcit le temps de chargement des pages, par rapport à HTTP / 1.1. Le tableau compare les résultats pour cinq pages différentes.

| | FP | NOUS | Hs | Fw | CW |
| ---------- | ------- | ------- | ------- | ------- | ------ - |
| HTTP / 1.1 | 1,46 s | 1,87 s | 1,54 s | 1,86 s | 1,89 s |
| HTTP2 | 1,30s | 1,49 s | 1,54 s | 1,79 s | 1,55 s |
| Images | 9 | 21 | 11 | 19 | 23 |
| économies | 11% | 21% | 0% | 4% | 18% |


Configuration complète de nginx:

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;
}

Résultats de 15 mois de travail


Pour la période du 12 décembre 2018 au 28 novembre 2019, le serveur a affiché une disponibilité de 95,26% . Cela signifie qu'en raison du mauvais temps, le temps d'arrêt de l'année était de 399 heures.

Mais si vous ne tenez pas compte des deux derniers mois, le temps de disponibilité est de 98,2% et le temps d'arrêt n'est que de 152 heures, écrivent les développeurs. La disponibilité est tombée à 80% au cours des deux derniers mois, lorsque la consommation d'énergie a augmenté en raison des mises à jour logicielles. Chaque nuit, le site était en panne pendant plusieurs heures.

Selon les statistiques, pour l'année (du 3 décembre 2018 au 24 novembre 2019), la consommation électrique du serveur était de 9,53 kWh. Des pertes importantes ont été enregistrées dans le système photovoltaïque en raison de la conversion de tension et de la décharge de la batterie. Le contrôleur solaire a montré une consommation annuelle de 18,10 kWh, ce qui signifie une efficacité du système d'environ 50%.


Schéma simplifié. Il ne montre pas un convertisseur de tension de 12 à 5 volts et un ampèremètre-batterie.Au

cours de la période d'étude, 865 000 visiteurs uniques ont visité le site. En incluant toutes les pertes d'énergie dans l'installation solaire, la consommation d'énergie par visiteur unique était de 0,021 Wh. Ainsi, un kilowattheure d'énergie solaire générée suffit pour desservir près de 50 000 visiteurs uniques.

Au cours de l'expérience, des panneaux solaires de différentes tailles ont été testés. Le tableau montre les calculs de la durée de charge des batteries de différentes capacités lors de l'utilisation de panneaux solaires de différentes tailles.



La consommation électrique moyenne du serveur Web au cours de la première année, toutes pertes d'énergie comprises, était de 1,97 watts. Le calcul montre que pour maintenir un site Web la nuit la nuit la plus courte de l'année (8 heures 50 minutes, 21 juin), vous avez besoin de 17,40 watts-heure de capacité de stockage et la nuit la plus longue (14 heures 49 minutes, 21 décembre) , 19 Wh



Étant donné que les batteries au plomb ne doivent pas être déchargées en dessous de la moitié de leur capacité, le serveur a besoin d'une batterie de 60 Wh pour survivre la nuit la plus longue dans des conditions de lumière du jour optimales (2 × 29,19 Wh). Pendant la majeure partie de l'année, le système a fonctionné avec une batterie de 86,4 Wh / h et un panneau solaire de 50 watts, puis le temps de disponibilité susmentionné de 95 à 98% a été atteint.

100% de disponibilité


Pour une disponibilité, 100% nécessite une augmentation de la capacité de la batterie. Pour compenser une journée de très mauvais temps (sans production d'électricité importante), vous avez besoin de 47,28 watts-heures (24 heures × 1,97 watts) de stockage.

Du 1er décembre 2019 au 12 janvier 2020, une batterie de 168 watts a été installée dans le système, qui a une capacité de stockage pratique de 84 watts-heures. Ce stockage est suffisant pour maintenir le site pendant deux nuits et une journée. La configuration a été testée dans la période la plus sombre de l'année, mais le temps était relativement bon - et pendant cette période, le temps de disponibilité était de 100%.

Mais afin de garantir un temps de disponibilité de 100% pendant plusieurs années, il faut prévoir le pire des cas, lorsque le mauvais temps persiste plusieurs jours. Le calcul montre que pour maintenir le site en ligne pendant quatre jours avec une production d'énergie faible ou nulle, vous aurez besoin d'une batterie au plomb-acide d'une capacité de 440 watts-heures, c'est-à-dire de la taille d'une batterie de voiture.

En pratique, par beau temps, une batterie plomb-acide de 48 Wh prendra en charge le serveur pendant la nuit de mars à septembre. Une batterie de 24 Wh gardera le serveur pendant un maximum de 6 heures, c'est-à-dire qu'il s'éteindra chaque nuit, bien qu'à des moments différents, selon le mois.

Dans l'ensemble, certains sites n'ont pas à travailler la nuit, lorsque le nombre de visiteurs est minime, selon les gars de Low-tech Magazine. Par exemple, s'il s'agit d'une publication de ville régionale, où les visiteurs d'autres fuseaux horaires ne vont pas, mais uniquement les résidents locaux.

C'est-à-dire que pour les sites avec un trafic différent et des temps de disponibilité différents, des batteries de différentes capacités et des panneaux solaires de différentes tailles sont nécessaires.





L'auteur calcule la quantité d'énergie nécessaire pour produire les panneaux solaires eux-mêmes (énergie réalisée) et la quantité obtenue si vous divisez cette quantité par la durée de vie prévue de 10 ans.



Ainsi, il est possible de calculer un analogue des combustibles fossiles, qui est dépensé pour la production et le fonctionnement des panneaux. Au Low-tech Magazine, il s'est avéré que pendant la première année de fonctionnement, leur système (panneau de 50 W, batterie de 86,4 Wh) a «généré» environ 9 kg d'émissions ou l'équivalent de brûler 3 litres d'essence: à peu près la même chose qu'une voiture de tourisme pour 50 km de progrès.



Si le serveur n'est pas alimenté par des panneaux solaires, mais par le réseau électrique général, alors l'équivalent des émissions semble être six fois inférieur: 1,54 kg (la part des énergies alternatives et des centrales nucléaires est élevée dans l'énergie espagnole). Mais ce n'est pas une comparaison tout à fait correcte, écrit l'auteur, car elle prend en compte l'énergie mise en œuvre de l'infrastructure solaire, mais ne tient pas compte de cet indicateur pour l'ensemble du réseau énergétique, c'est-à-dire les coûts de sa construction et de son support.

Améliorations supplémentaires


Au cours du temps passé, un certain nombre d'optimisations ont été effectuées qui ont réduit la consommation d'énergie du serveur. Par exemple, à un moment donné, le développeur a remarqué que 6,63 To sur le total de 11,15 To de trafic généré par une implémentation incorrecte du flux RSS, qui extrait du contenu toutes les quelques minutes. Après avoir corrigé ce bogue, la consommation d'énergie du serveur (hors pertes d'énergie) est passée de 1,14 watts à environ 0,95 watts. Le gain peut sembler faible, mais la différence de 0,19 watts signifie 4,56 watts-heures par jour, ce qui correspond à plus de 2,5 heures d'autonomie.

La première année, l'efficacité n'était que de 50%. Des pertes ont été observées lors de la charge et de la décharge de la batterie (22%), ainsi que lors de la conversion de la tension de 12 V (système solaire photovoltaïque) à 5 V (USB), où les pertes peuvent atteindre 28%. Le développeur admet qu'il ne dispose pas d'un convertisseur de tension optimal (contrôleur sans USB intégré), vous pouvez donc optimiser ce moment ou passer à une installation solaire 5V.

Pour augmenter l'efficacité du stockage d'énergie, les batteries au plomb peuvent être remplacées par des batteries lithium-ion plus chères, qui ont moins de pertes de charge / décharge (<10%). Maintenant, le concepteur envisage un système compact pour stocker l'électricité sous forme d'air comprimé(CAES), qui a une durée de vie de dix ans, ce qui signifie moins d'empreinte carbone.


Accumulateur d'énergie compact en air comprimé, source

Nous envisageons d'installer une éolienne supplémentaire (elle peut être en bois ) et d'installer un tracker solaire pour tourner les panneaux vers le soleil. Le tracker vous permet d'augmenter la production d'électricité de 30%.



Une autre façon d'augmenter l'efficacité du système est de le faire évoluer. Augmentez le nombre de sites Web sur le serveur et exécutez davantage de serveurs. Ensuite, la consommation d'énergie de chaque site diminuera.


Société d'hébergement solaire. Illustration: Diego Marmolejo

Si vous couvrez tout le balcon de l'appartement avec des panneaux solaires et ouvrez une société d'hébergement Web solaire, les coûts pour chaque client seront considérablement inférieurs à ceux d'un seul site Web: des économies d'échelle.

En général, cette expérience démontre que, sous certaines limites, l'infrastructure informatique peut très bien fonctionner avec des sources d'énergie renouvelables.

Théoriquement, un tel serveur peut même se passer d'une batterie si vous le mettez en miroir dans d'autres parties du monde. Par exemple, mettez des miroirs en Nouvelle-Zélande et au Chili. Là, les panneaux solaires fonctionneront la nuit à Barcelone.

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


All Articles