O servidor doméstico movido a energia solar trabalhou por 15 meses: tempo de atividade 95,26%


O primeiro servidor solar protótipo com um controlador de carregamento. Foto: solar.lowtechmagazine.com

Em setembro de 2018, um entusiasta da Low-tech Magazine lançou um projeto de servidor web "low-tech" . O objetivo era reduzir o consumo de energia para que um único painel solar fosse suficiente para o servidor auto-hospedado em casa. Isso não é fácil, porque o site deve funcionar 24 horas por dia. Vamos ver o que aconteceu no final.

Você pode acessar o servidor solar.lowtechmagazine.com, verifique o consumo atual de energia e o nível da bateria. O site é otimizado para o número mínimo de solicitações da página e o tráfego mínimo; portanto, ele deve suportar o salto no tráfego da Habr. De acordo com os cálculos do desenvolvedor, o consumo de energia por visitante único é de 0,021 Wh.

Pouco antes do amanhecer, em 31 de janeiro de 2020, ele tinha 42% da bateria restante. Amanhecer em Barcelona às 8:04, horário local, após o qual a corrente deve sair do painel solar.



Pelo que?


Há dez anos, os especialistas previram que o desenvolvimento da Internet contribui para a "desmaterialização" da sociedade, a digitalização universal - e, como resultado, uma diminuição no consumo geral de energia. Eles estavam enganados. De fato, a própria Internet demandou grandes quantidades de energia e esses volumes continuam a crescer.

As empresas de TI lançaram iniciativas para mudar para fontes de alimentação alternativas, mas isso agora é impossível. Todos os data centers consomem três vezes mais energia do que todas as instalações solares e eólicas do mundo. Pior ainda, a produção e a substituição regular de painéis solares e moinhos de vento também requerem energiaportanto, abandonar o toplif fóssil (petróleo, gás, urânio) hoje é simplesmente impossível. Mas essas reservas não serão suficientes por um longo tempo, portanto, inevitavelmente, teremos que pensar em como viver com fontes renováveis. Incluindo a operação da infraestrutura de computadores, incluindo servidores da web.

A revista Low-tech considera o problema de aumentar rapidamente as páginas da web. De 2010 a 2018, o tamanho médio da página aumentou de 0,45 MB para 1,7 MB e, para sites para celular - de 0,15 MB para 1,6 MB, de acordo com uma estimativa conservadora.

Maior tráfego antes do progresso em eficiência energética(a energia necessária para transferir 1 megabyte de informação), o que causa um aumento constante no consumo de energia da Internet. Sites cada vez mais pesados ​​não apenas aumentam a carga na infraestrutura de rede, mas também reduzem o “ciclo de vida” de computadores e smartphones, que geralmente precisam ser descartados e transformados em novos, o que também é um processo que consome muita energia .

E, é claro, aumentar a carga é criada pelo próprio estilo de vida: as pessoas passam quase todo o tempo na Internet e dependem muito de vários serviços da Web. Já é difícil imaginar uma sociedade moderna sem uma infraestrutura de TI em nuvem (redes sociais, mensagens instantâneas, correio etc.)

Configuração de servidor e site


Em este artigo descreveu em detalhes a configuração do hardware e software pilha de servidor web.

O computador de placa única Olimex Olinuxino A20 Lime 2 é selecionado por seu baixo consumo de energia e recursos adicionais úteis, como o chip de gerenciamento de energia AXP209 . Permite solicitar estatísticas sobre a tensão e a força da corrente na placa e na bateria. O chip alterna automaticamente a energia entre a bateria e o conector DC, onde a corrente flui do painel solar. Assim, é possível fornecer energia ininterrupta ao servidor com suporte de bateria.


Olimex Olinuxino A20 Lime 2

Inicialmente, uma bateria de polímero de lítio com capacidade de 6600 mAh (cerca de 24 Wh) foi escolhida como bateria e, em seguida, uma bateria de chumbo ácido foi instalada em 84,4 Wh.

O sistema operacional é inicializado a partir do cartão SD. Embora o sistema operacional ocupe no máximo 1 GB e um site estático tenha cerca de 30 MB, não havia motivo econômico para comprar um cartão menor que a Classe 10 de 16 GB.

O servidor se conecta à rede através de uma conexão doméstica de 100 megabytes em Barcelona e um roteador de consumidor padrão. Um endereço IP estático é reservado para ele. Quase todo mundo pode criar um site assim em seu apartamento, você precisa alterar ligeiramente a configuração do firewall para encaminhamento de porta para o IP local:

Porta 80 a 80 para HTTP
Porta 443 a 443 para HTTPS
Porta 22 a 22 para SSH

Sistema operacional Armbian Stretch baseado na distribuição Debian e no kernel SUNXI , projetado para placas de placa única com chips AllWinner.


Painel solar de 50 watts para o servidor da web e painel de 10 watts para iluminar a sala de estar do apartamento do autor. O

site estático é gerado pelo sistema Pelican (gerador de sites Python). Os sites estáticos carregam mais rapidamente e não criam uma carga na CPU; portanto, são muito mais eficientes do que as páginas geradas dinamicamente a partir do ponto de consumo de energia. Veja o código fonte do tema aqui .

Um ponto muito importante é a compactação de imagens, porque sem essa otimização é quase impossível criar páginas da web com menos de 1 megabyte. Para otimização, decidiu-se converter as fotos em imagens em escala de cinza. Por exemplo, aqui está uma foto de uma operadora de telefonia feminina em um comutador no século passado, 253 KB .



Mas a imagem otimizada em escala de cinza de 36,5 KB de tamanho e três cores (preto, branco, cinza). Devido à ilusão de ótica, o visualizador parece ter mais de três cores.



As fotografias de meio-tom foram escolhidas não apenas pela otimização do tamanho (a solução é bastante duvidosa), mas também por razões estéticas. Essa antiga técnica de processamento de imagem possui certos recursos estilísticos, de modo que o site resultou em um design exclusivo.

623 ilustrações no site da Low-tech Magazine após a otimização diminuíram de tamanho de 194,2 MB para 21,3 MB, ou seja, 89%.

Todos os artigos antigos foram convertidos no Markdown para facilitar a criação de novos artigos, bem como para facilitar o backup através do git . Todos os scripts e rastreadores, bem como logotipos, foram removidos do site. A fonte padrão é usada no navegador do cliente. Como um “logotipo” - o nome da revista em letras maiúsculas com uma seta à esquerda: LOW ← TECH MAGAZINE. Apenas 16 bytes em vez de uma imagem.

Em caso de inatividade, é organizada a possibilidade de “leitura offline”: textos e imagens são exportados para o feed RSS. Cache de 100% de conteúdo, incluindo HTML, está incluído.

Outra otimização é a inclusão de configurações de HTTP2 no nginx, que reduz um pouco o tráfego e diminui o tempo de carregamento da página, em comparação com o HTTP / 1.1. A tabela compara os resultados para cinco páginas diferentes.

| | FP NÓS | 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 |
| Imagens | 9 21 11 19 23
| poupança | 11% | 21% | 0% 4% | 18% |


Configuração completa do 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;
}

Resultados de 15 meses de trabalho


No período de 12 de dezembro de 2018 a 28 de novembro de 2019, o servidor apresentou um tempo de atividade de 95,26% . Isso significa que, devido ao mau tempo, o tempo de inatividade do ano foi de 399 horas.

Mas se você não levar em consideração os últimos dois meses, o tempo de atividade é de 98,2% e o tempo de inatividade é de apenas 152 horas, escrevem os desenvolvedores. O tempo de atividade caiu para 80% nos últimos dois meses, quando o consumo de energia aumentou devido a atualizações de software. Todas as noites o site ficava inativo por várias horas.

Segundo as estatísticas, para o ano (de 3 de dezembro de 2018 a 24 de novembro de 2019), o consumo de energia do servidor foi de 9,53 kWh. Perdas significativas foram registradas no sistema fotovoltaico devido à conversão de voltagem e descarga da bateria. O controlador solar mostrou um consumo anual de 18,10 kWh, o que significa uma eficiência do sistema de cerca de 50%.


Esquema simplificado. Ele não mostra um conversor de voltagem de 12 a 5 volts e um amperímetro de bateria / hora.No

período do estudo, 865.000 visitantes únicos visitaram o local. Incluindo todas as perdas de energia na instalação solar, o consumo de energia por visitante único foi de 0,021 Wh. Assim, um quilowatt-hora de energia solar gerada é suficiente para atender quase 50.000 visitantes únicos.

Durante o experimento, painéis solares de diferentes tamanhos foram testados. A tabela mostra os cálculos de quanto tempo as baterias de diferentes capacidades são carregadas ao usar painéis solares de tamanhos diferentes.



O consumo médio de energia do servidor da web durante o primeiro ano, incluindo todas as perdas de energia, foi de 1,97 watts. O cálculo mostra que, para manter um site noturno na noite mais curta do ano (8 horas e 50 minutos, 21 de junho), você precisa de 17,40 watts-hora de capacidade de armazenamento e na noite mais longa (14 horas 49 minutos, 21 de dezembro) 19 Wh



Como as baterias de chumbo-ácido não devem ser descarregadas abaixo da metade da capacidade, o servidor precisa de uma bateria de 60 Wh para sobreviver a noite mais longa em condições ideais de luz do dia (2 × 29,19 Wh). Durante a maior parte do ano, o sistema funcionou com uma bateria de 86,4 Wh / he um painel solar de 50 watts, alcançando o tempo de atividade mencionado acima de 95-98%.

Tempo de atividade 100%


Para o tempo de atividade, 100% requer um aumento na capacidade da bateria. Para compensar um dia de clima muito ruim (sem geração significativa de energia), você precisa de 47,28 watts-hora (24 horas × 1,97 watts) de armazenamento.

De 1 de dezembro de 2019 a 12 de janeiro de 2020, uma bateria de 168 watts foi instalada no sistema, que possui uma capacidade prática de armazenamento de 84 watts-hora. Esse armazenamento é suficiente para manter o site por duas noites e um dia. A configuração foi testada no período mais sombrio do ano, mas o tempo estava relativamente bom - e durante esse período, o tempo de atividade foi de 100%.

Porém, para garantir um tempo de atividade de 100% por vários anos, é necessário prever o pior cenário possível, quando o mau tempo persistir por vários dias. O cálculo mostra: para manter o site on-line por quatro dias com geração de energia baixa ou nula, você precisará de uma bateria de chumbo-ácido com capacidade de 440 watts-hora, ou seja, o tamanho de uma bateria de carro.

Na prática, com bom tempo, uma bateria de chumbo-ácido de 48 Wh suportará o servidor durante a noite, de março a setembro. Uma bateria de 24 Wh manterá o servidor por no máximo 6 horas, ou seja, será desligada todas as noites, embora em horários diferentes, dependendo do mês.

De maneira geral, alguns sites não precisam trabalhar à noite, quando o número de visitantes é mínimo, segundo os sujeitos da Low-tech Magazine. Por exemplo, se for uma publicação regional da cidade, onde visitantes de outros fusos horários não vão, mas apenas residentes locais.

Ou seja, para sites com tráfego diferente e tempo de atividade diferente, são necessárias baterias de diferentes capacidades e painéis solares de tamanhos diferentes.





O autor calcula quanta energia é necessária para produzir os próprios painéis solares (energia realizada) e quanto é obtida se você dividir esse valor pela vida útil prevista de 10 anos.



Assim, é possível calcular um análogo de combustíveis fósseis, que é gasto na produção e operação de painéis. Na revista Low-tech, descobriu-se que, no primeiro ano de operação, seu sistema (painel de 50 W, bateria de 86,4 Wh) “gerou” cerca de 9 kg de emissões ou o equivalente a queimar 3 litros de gasolina: aproximadamente o mesmo que um carro de passageiros para 50 km de progresso.



Se o servidor não é alimentado por painéis solares, mas pela rede geral, o equivalente a emissões parece ser seis vezes menor: 1,54 kg (a parcela de energia alternativa e usinas nucleares é alta na energia espanhola). Mas essa não é uma comparação completamente correta, escreve o autor, porque leva em consideração a energia implementada da infraestrutura solar, mas não leva esse indicador em consideração para a rede total de energia, ou seja, os custos de sua construção e suporte.

Outras melhorias


Nos últimos tempos, foram realizadas várias otimizações que reduziram o consumo de energia do servidor. Por exemplo, em algum momento, o desenvolvedor observou que 6,63 TB do tráfego total de 11,15 TB gerado por uma implementação incorreta do feed RSS, que extrai conteúdo a cada poucos minutos. Após corrigir esse bug, o consumo de energia do servidor (excluindo perdas de energia) diminuiu de 1,14 watts para cerca de 0,95 watts. O ganho pode parecer pequeno, mas a diferença de 0,19 watts significa 4,56 watts-hora por dia, o que corresponde a mais de 2,5 horas de duração da bateria.

No primeiro ano, a eficiência foi de apenas 50%. Perdas foram observadas ao carregar e descarregar a bateria (22%), bem como ao converter tensão de 12 V (sistema solar fotovoltaico) para 5 V (USB), onde as perdas são de até 28%. O desenvolvedor admite que ele não possui um conversor de tensão ideal (controlador sem USB embutido), para que você possa otimizar esse momento ou mudar para uma instalação solar de 5V.

Para aumentar a eficiência do armazenamento de energia, as baterias de chumbo-ácido podem ser substituídas por baterias de íon-lítio mais caras, com menos perda de carga / descarga (<10%). Agora, o projetista está considerando um sistema compacto para armazenar eletricidade na forma de ar comprimido(CAES), que tem uma vida útil de dez anos, o que significa menos pegada de carbono.


Acumulador de energia compacto em ar comprimido, fonte

Estamos considerando instalar uma turbina eólica adicional (pode ser feita de madeira ) e instalar um rastreador solar para transformar os painéis em sol. O rastreador permite aumentar a geração de eletricidade em 30%.



Outra maneira de aumentar a eficiência do sistema é escalá-lo. Crie mais sites no servidor e execute mais servidores. Em seguida, o consumo de energia por cada site diminuirá.


Empresa de hospedagem solar. Ilustração: Diego Marmolejo

Se você cobrir toda a varanda do apartamento com painéis solares e abrir uma empresa de hospedagem solar, os custos para cada cliente serão significativamente mais baixos do que em um único site: economias de escala.

Em geral, esse experimento demonstra que, sob certas limitações, a infraestrutura de computadores pode funcionar com fontes de energia renováveis.

Teoricamente, esse servidor pode ficar sem bateria se você o espelhar em outras partes do mundo. Por exemplo, coloque espelhos na Nova Zelândia e no Chile. Lá, os painéis solares funcionam quando é noite em Barcelona.

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


All Articles