7 watts em idle com Intel de 12ª/13ª geração: a base para montar um servidor/NAS de baixo consumo
- O consumo em idle de um sistema Intel de 12ª/13ª geração é de 7 watts.
- A medição de energia em idle inclui placa-mãe, CPU, RAM, SSD e PSU.
- O sistema entra em modo de economia de energia por meio da configuração de C-States na BIOS e do ajuste automático do
powertop.
Especificações detalhadas e escolha dos componentes
- O objetivo é obter baixo consumo em idle e desempenho de CPU razoável.
- É necessário conseguir lidar com 12 discos rígidos e pelo menos 1 NVMe.
- A ideia é usar DDR4 e reaproveitar uma CPU já existente, mantendo os custos sob controle.
Placa-mãe – ASUS Prime H770-Plus D4
- A escolha foi feita entre placas-mãe das séries Intel 600/700 e AMD 500/600.
- Foi identificada a necessidade de usar adaptadores PCI-E para M.2 para acomodar 6 unidades NVMe.
- A placa-mãe Intel foi escolhida por causa do TDP do chipset, da velocidade do chipset, da possibilidade de usar DDR4 e por já haver uma CPU Intel de 12ª geração disponível.
CPU – Intel i5-12400 (stepping H0) – Alder Lake
- Oferece suporte à decodificação por hardware de AV1 e o melhor desempenho sem a sobrecarga de silício dos E-cores.
- A CPU, antes usada em um desktop, foi reaproveitada em uma montagem voltada para servidor.
Memória – 64GB DDR4-3200
- Foram usados módulos Kingston HyperX dual-rank e single-rank que já estavam disponíveis.
- O perfil XMP foi usado para garantir estabilidade e ajustar a tensão.
Unidade de boot – Sandisk Ultra 3D 1TB SSD
- Usada como unidade de boot para o Ubuntu Server 23.04.
- O sistema operacional final será instalado em um Samsung SSD 970 EVO Plus 500GB NVMe.
PSU – Corsair RM750
- Embora se espere que o sistema permaneça na faixa de 10 watts, a PSU de 750W precisa suportar picos altos de carga instantânea quando vários motores de unidades são acionados ao mesmo tempo.
Medição de energia – inicial
- Foi usada medição na tomada e Ubuntu Server 23.04.
- Entre as configurações da BIOS, foram ativados CPU C-states, ASPM, R6 e suporte a ALPM.
- Após o desligamento do display, o consumo ficou em 7 watts, e em 8 watts ao desativar o gerenciamento de energia do teclado USB.
Medição de energia problemática – sistema cheio de discos rígidos com spin-down
- Depois de conectar 12 discos rígidos e 4 unidades NVMe, o consumo em idle subiu para 24-25 watts.
- Suspeita-se que o aumento no consumo tenha sido causado pelo uso de controlador SATA e port multiplier.
O quebra-cabeça do consumo – investigação e diagnóstico do alto consumo
- Os discos rígidos foram desconectados e os componentes passaram a ser testados um a um.
- O controlador SATA JMB585 foi identificado como o principal responsável pelo aumento no consumo.
- A troca para o controlador SATA ASM1166 reduziu o consumo de energia graças ao suporte a ASPM L1.
O quebra-cabeça do consumo – conclusão
- O suporte da placa-mãe e a configuração da BIOS são essenciais para reduzir o consumo de energia.
- Todos os dispositivos precisam oferecer suporte a ASPM L1.
- Se for possível atingir o estado de energia C8, deve-se evitar usar lanes PCIe conectadas à CPU.
- Medir o consumo diretamente na tomada é a única forma de entender com precisão a situação real.
Opinião do GN⁺
- Para montar um servidor/NAS de baixo consumo, é importante que a plataforma Intel de 12ª/13ª geração ofereça excelente eficiência em idle.
- A escolha da placa-mãe e as configurações da BIOS mostraram ter grande impacto no consumo de energia.
- Este texto oferece informações úteis para engenheiros de software iniciantes que desejam montar um sistema de baixo consumo, especialmente com observações interessantes sobre como os recursos de gerenciamento de energia de componentes como controladores SATA afetam o consumo total do sistema.
1 comentários
Opiniões no Hacker News
Há um documento no Google, em uma thread de fórum alemão, listando várias configurações de home server/NAS (armazenamento conectado à rede) abaixo de 30W. Pessoalmente, encontrei uma configuração de hardware com proporção ideal entre preço e desempenho e comprei tudo usado por um valor muito baixo. Estou rodando Proxmox, e o consumo em idle é de 9,3W. Não é adequado para codificação de mídia, então recomendo como alternativa um Core i3 8100 ou superior. Também existem o Dell T30 e o Fujitsu Celsius W550, que podem se tornar bons servidores como workstations usadas baratas. Opções com Ryzen são raras, mas há relatos de que um AMD Ryzen 5 PRO 4650G com placa Asus PRIME B550M-A consome cerca de 16W em idle.
O hardware é excelente, mas se o gerenciamento do software for difícil, fica complicado justificar esse tipo de configuração. Por exemplo, o Synology NAS usa um sistema operacional chamado DSM e se beneficia muito de um software amigável ao usuário. A Synology poderia ocupar uma posição semelhante à da Microsoft no mercado de NAS se permitisse executar o DSM também em plataformas não-Synology.
O autor montou cerca de 5 sistemas entre 2016 e 2023. Algumas peças foram reutilizadas em várias builds. Ao considerar o custo total de energia ao longo da vida útil em relação ao custo do hardware, uma máquina de alto consumo operando por 4 anos pode sair mais econômica do que uma máquina de baixo consumo operando por 2 anos.
Ótimo trabalho para quem precisa de muito espaço de armazenamento. Se você consegue acomodar o armazenamento em SSDs e não precisa de muito poder de processamento, pode usar um servidor de baixo consumo como um RasPi ou um NUC. O autor atualmente usa um servidor 1U com Atom, fanless, com as vantagens de SATA e ECC RAM.
Usa uma configuração com 7950X3D, X670E Taichi, 96GB 6400MHz CL32, 2x4TB Lexar, 4x18TB Seagate Exos X18, RX570 8G e Proxmox. Em idle, consome cerca de 60-70W; com a VM do TrueNAS em execução, cerca de 90-100W; e com TrueNAS e Fedora Desktop rodando com passthrough de GPU, cerca de 150W. A RAM tem grande impacto no consumo de energia.
As necessidades de cada pessoa variam, mas depois de sofrer perda de discos usando RAID5 ou 6, passei a odiar RAID. No fim, reduzi para uma configuração simples com dois SSDs. Configurei tudo para poder rodar contêineres LXC quando necessário.
Se você quer minimizar o consumo de energia quando o NAS fica a maior parte do tempo em idle, pode considerar um gerador de WoL (tecnologia que desperta o servidor ao detectar um pacote de rede) baseado em CPU embarcada para acordar automaticamente o servidor de arquivos. Esse método mantém o consumo muito baixo e ainda oferece o desempenho total do servidor quando necessário.
Baixo consumo é ótimo, mas operar um RAID grande por muito tempo sem ECC é arriscado. É preciso uma boa solução para um sistema parecido que consiga durar mais de 5 anos.
Relato de boa experiência ao tentar um sistema semelhante no passado. Fornece um link de blog sobre um servidor fanless e silencioso.
Aponta que, ao focar em otimizar CPU/placa-mãe, pode-se deixar passar que usar menos discos grandes em vez de vários discos pequenos pode ser mais econômico.