- Um experimento para substituir um antigo drive de rede baseado em roteador com OpenWRT por uma combinação SBC + HDD, mantendo samba, git, rsyncd e repositório dnf, enquanto tentava reduzir gargalos
- O Libre Computer AML-S805X-AC oferece, por €20, uma placa com 4 núcleos ARM Cortex-A53, 1GB de RAM, boot por USB e suporte ao Debian, mas a LAN fica em 100Mb e as 2 portas USB-A continuam sendo USB 2.0
- O custo total sem o HDD fica em cerca de €43, mas ainda são necessários case para HDD, fonte de alimentação, cabo micro-USB e, opcionalmente, um dongle TTL-para-USB
- A imagem oficial baseada no Debian 12 usa uma partição EFI dentro de um MBR e uma partição raiz btrfs, e o redimensionamento automático no primeiro boot funcionou de forma instável e lenta em dongles USB
- Ao contornar erros de UAS em um case de HDD com JMicron JMS578, os atrasos desapareceram, mas o desempenho ficou em cerca de 23,95MB/s com ext4, então é difícil recomendar a solução sem um motivo forte, como economia de energia
Troca de um roteador OpenWRT por um NAS com SBC
- O equipamento anterior era um roteador antigo com um HDD conectado, e após instalar OpenWRT ele vinha sendo usado não como roteador, mas como drive de rede
- O novo equipamento precisava continuar mantendo samba, git, rsyncd e repositório dnf, mas funcionando com mais velocidade
- O roteador antigo tinha CPU fraca e sofria com
rsync sobre SSH
- Faltava RAM, então travava em commits de
git push com binários acima de 15MB
- Uma das opções consideradas foi a placa AML-S805X-AC da Libre Computer
- Há porta LAN, mas com suporte apenas a 100Mb
- As 2 portas USB-A suportam apenas USB 2.0
- 4 núcleos ARM Cortex-A53, 1GB de RAM, boot por USB e suporte a Debian atual
- Disponível para compra sem grande dificuldade de fornecimento
Especificações de rede modestas e uso real
- Uma rede de 100Mb é modesta para os padrões atuais, mas o principal uso era manter uma cópia de um diretório com cerca de 200 mil arquivos pequenos
- Mesmo que o SBC suportasse USB 3.0, a rede de 1Gb provavelmente não aumentaria muito a velocidade de sincronização
- A montagem do NAS não terminava só com a placa, então foram necessários componentes extras
- As portas USB-A da placa fornecem no máximo 900mA por porta
- Era necessário um case para HDD com alimentação externa
- Também era preciso uma fonte de pelo menos 3A e um cabo micro-USB capaz de suportar 3A
Configuração de €43 e montagem física
- O custo total sem o HDD foi de €43
- SBC: €20
- Case para HDD: €12
- Fonte de alimentação de 3A: €5
- Cabo micro-USB: €3
- 4 parafusos e 12 porcas: €0
- Dongle TTL-para-USB: €3, opcional porque a placa tem saída HDMI
- O HDD não entrou no custo, assumindo que já havia um HDD sobrando
- O case para HDD foi comprado por engano pensando ser uma pequena caixa plástica para 2,5 polegadas, mas na verdade era uma caixa para 3,5 polegadas
- Por causa do espaço dentro do gabinete, decidiu-se colocar o SBC junto dentro do próprio case do HDD
Boot e arestas da imagem Debian
- Foi conectado um dongle TTL-para-USB ao GPIO da placa e feito acesso com
screen
$ sudo screen /dev/ttyUSB0 115200
- Na saída inicial apareciam Libre Computer AML-S805X-AC, Amlogic Meson GXL e
DRAM: 512 MiB (effective 1 GiB)
- Depois de gravar a imagem Debian 12 em um pendrive com
dd, o free(1) reconheceu 1GB
- As imagens oficiais de sistema da Libre Computer são baseadas em Debian puro
- A imagem de disco tem 2,25GiB
- Há uma partição EFI dentro de um layout MBR
- A segunda partição é btrfs e é redimensionada automaticamente no primeiro boot para ocupar o espaço restante
- O redimensionamento automático em dongles USB não foi estável
- Um dos 3 dongles USB disponíveis travou permanentemente durante o redimensionamento
- Outro completou a tarefa, mas depois ficou muito lento
- Também continua sendo um problema o fato de o repositório usado para gerar a imagem do sistema não ser público
- A explicação relacionada diz que o distribution builder é uma oferta comercial proprietária que inclui IP de clientes e integrações, então não pode ser publicado
- Também inclui a sugestão de que, como poucas coisas são alteradas além de algumas configurações sobre uma distribuição padrão, para analisar a imagem seria melhor fazer bootstrap e depois comparar o diff
Erros no case de HDD e desempenho final
- Depois de conectar o case do HDD à placa, o processo ficou muito mais rápido do que com um dongle USB, mas ainda havia atrasos inesperados em pontos aleatórios
- Logo após o login, o kernel emitia erro
uas_eh_abort_handler
- O resultado de
lsusb mostrou que, dentro do case, havia um dispositivo JMicron JMS578 SATA 6Gb/s
Bus 001 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s
- A solução foi adicionar
usb-storage.quirks=152d:0578:u à linha de comando do kernel para desativar o UAS
- Depois disso, os atrasos desapareceram
- Os números de benchmark não impressionaram
- Em uma conexão USB 2.0, gravar 524MB com
dd incluindo sync resultou em real 0m21.876s
- O valor calculado para uma partição ext4 foi de 23,95MB/s
- No fim, é difícil recomendar essa configuração
- Um dos motivos para escolher o SBC era reduzir o consumo de energia
- Sem limitações parecidas, quase não há motivo para sofrer com um dispositivo barato e cheio de exigências
1 comentários
Opiniões do Hacker News
A dica secreta são desktops/NUC PCs Fujitsu antigos. Na Alemanha, muitas empresas os substituem regularmente, então os usados no eBay são baratos.
Se o consumo de energia for importante, pesquisar por
"$model energy consumption white paper"traz dados bastante precisos, como consumo em idle; um exemplo é https://sp.ts.fujitsu.com/dmsp/Publications/public/wp-energy....Em um NUC, depois de ativar a economia de energia do controlador SATA no Linux, embora o PDF dissesse 9 W, o consumo em idle caiu para 5 W.
Usar um PC de verdade em vez de um single-board computer qualquer dá conectividade, expansibilidade e suporte de software muito melhores; a maioria dos single-board computers fica presa a um kernel mal-acabado da época do lançamento, e é preciso juntar um fork abandonado de Armbian do fornecedor com um kernel antigo para fazê-lo parecer uma distribuição atual.
Estranhamente, é difícil recusar recursos de computação baratos.
O único ponto negativo é não haver espaço para vários discos de 2,5/3,5 polegadas, mas isso é mais uma questão de preferência.
Esses Dell que estão saindo de leasing agora também têm recursos modernos como CPUs Intel de 8ª geração, TPM e USB-C.
Tentativas de NAS com Raspberry Pi e similares me deixam em dúvida, especialmente quando envolvem vários adaptadores de energia e cortar o gabinete. Tudo parece trabalhoso demais e lento, sem ser “tão barato assim”.
Guardar dados pessoais importantes em drives USB também parece um tanto arriscado. Não vai incendiar a casa, mas ainda assim dá uma sensação ruim.
A verdadeira vantagem é o formato pequeno e o “baixo” consumo de energia, mas mesmo que o conjunto inteiro custe US$ 43, fica a dúvida entre tolerar uma rede de 100 Mbit para economizar alguns dólares ou pagar US$ 150 por 2.5 Gig.
Há muitas alternativas, como Fujitsu Futro S920 (usado por menos de US$ 75, cerca de 10 W), FriendlyElec NanoPI R6C (menos de US$ 150, cerca de 2 W, https://www.friendlyelec.com/index.php?route=product/product...), FriendlyElec Nas Kit (menos de US$ 150, cerca de 5 W, https://www.friendlyelec.com/index.php?route=product/product...), Dell T20/T30 (usado por menos de US$ 100, cerca de 25 W) e Fujitsu Celsius W570 (usado por menos de US$ 100, cerca de 15 W).
Meu NAS/servidor doméstico pessoal usa Fujitsu D3417-B, Intel Xeon 1225v5, 64 GB de RAM ECC, WD SN850x 2 TB NVMe e Pico PSU 120; é mais caro, mas é estável, poderoso e consome menos de 10 W em idle.
Quando tudo funciona bem, todo mundo é especialista em armazenamento. Quando algo quebra, você passa a sentir que deveria ter colocado mais um disco rígido no array RAID, ter mais um NAS para backup ou mais um local externo para enviar os dados.
Hoje em dia não vou mais pelo caminho barato. Ainda assim, entendo o apelo.
Se você precisa de mais discos, compre mais. Se precisa de um NAS de backup, compre outro. Se precisa de uma cópia offsite, compre espaço ou compre um NAS e discos para um local externo.
A faixa de preço do dispositivo não altera nada aqui.
Se forem documentos de trabalho, registros contábeis e fotos da família, você vai querer mantê-los seguros.
Mas, se o NAS tiver só 20 TB de filmes e séries pirateados, é muito mais tranquilo comprar os drives mais baratos e ver no que dá.
Com ferramentas como Freefilesync, é fácil e rápido, e dá até para conferir visualmente exclusões acidentais.
É muito barato e tem funcionado bem há mais de 10 anos. Já tive perda de dados por falha de drive, erro de usuário e bugs/erros de software não intencionais, mas sem problemas.
Fico curioso sobre como se acessa os arquivos ao montar um NAS assim. É via NFS ou SFTP?
Também fico curioso sobre como acessar fora de casa. É uma VPN sempre conectada, ou existe algum bom jeito de fazer NAT hole punching?
O Syncthing é parecido com o que eu quero, no sentido de permitir que todos os computadores sincronizem os mesmos arquivos independentemente da rede em que estejam, mas ele sempre tenta copiar todos os arquivos. O que eu quero é deixar os arquivos só no NAS e acessá-los de qualquer lugar
O Nextcloud também é parecido com o que eu quero, mas quando usei no passado pareceu instável e pouco confiável, e parecia fazer funções demais de que eu não precisava
Para acesso remoto, uso um bastion SSH exposto pelo Tailscale. É uma VPN, mas como é baseada em WireGuard, não incomoda muito. Dito isso, meu upload é gigabit, então pode variar conforme o ambiente
O NAS tem 28 TB de espaço e ainda estou pensando na estratégia de backup. Por enquanto, ele só contém Dropbox e vários arquivos avulsos que não me importaria de perder
Uso bastante o Dropbox como outro serviço, mas hoje em dia 2 TB não é lá muita coisa. Além disso, ele fica meio sensível quando passa de 500 mil arquivos
Essa é uma configuração pessoal, e acho que varia bastante de pessoa para pessoa
Uso duas unidades, uma em casa e outra no escritório, e minha única reclamação é que ela exagera um pouco na proteção contra “usuário fazendo besteira”. Ainda assim, a GUI baseada na web é excelente
Também há um software gratuito que atravessa NAT e IP dinâmico, e funciona bem (quickconnect.to). Uso principalmente como SFTP e servidor de mídia
Na LAN, uso simplesmente SMB, e é suficiente para minhas necessidades
Para acessar remotamente minha coleção de ISOs de Linux, uso Plex
No passado também usei WebDAV ou FTP, e depende do caso de uso específico
Fora de casa, VPN é essencial. Hoje em dia é arriscado demais deixar só port forwarding configurado
Na parte em que diz que é preciso adicionar
usb-storage.quirks=152d:0578:uà linha de comando do kernel para desativar UAS, eu simplesmente teria jogado no lixo e desistidoNão sei como as pessoas têm paciência para depurar esse tipo de problema até o fim. Entendo que o objetivo do projeto é ser barato e simples, mas o custo em tempo é alto e não é nada simples
O image builder desta placa parece bastante suspeito
A explicação de que “o builder da distribuição é uma oferta comercial proprietária que não pode ser divulgada por conter muito IP de clientes e integrações” soa como um injetor de cadeia de suprimentos
Ter UEFI, permitindo usar imagens genéricas sem alteração, é uma grande vantagem, mas transformar a imagem padrão e, especialmente, o firmware em um processo proprietário é um sinal de alerta grande demais, a ponto de deixar tudo suspeito
Se o firmware for livre e open source, e puder ser compilado diretamente apenas com entradas livres e open source, talvez seja aceitável. Mas, só olhando aquela discussão, isso não fica claro
O suporte a imagens genéricas graças ao UEFI é uma grande vantagem, mas o fato de isso não ser o padrão me faz questionar os valores e a cultura da empresa
Pode ser uma pergunta ignorante, mas fico curioso por que criar um servidor NAS sem memória ECC
Mesmo em servidores corporativos, ainda é discutível se ECC é realmente necessário
Bem legal. Parece adequado para esse caso de uso. Eu provavelmente gastaria um pouco mais e escolheria algo com porta gigabit
Vendo os vídeos do Jeff Geerling, parece possível montar um NAS com desempenho bem decente mesmo com esses pequenos computadores de placa única
Com um Pi 4 ou Pi 5, ou placas Rockchip com RK3566 ou RK3588, dá para conectar um HDD/SSD USB ou, hoje em dia na maioria delas, adicionar um drive M.2 ou um adaptador para HDD/SSD SATA. Dá para rodar RAID sem grandes problemas em 1 Gbps e, às vezes, até em 2,5 Gbps
Algumas pessoas usam OpenMediaVault, e é bom. Meus NAS estão configurados com Ansible + ZFS sobre Debian bare, e para mim esse jeito é mais simples de administrar: https://github.com/geerlingguy/arm-nas
Se eu não fosse de Raspberry Pi, acho que escolheria Radxa ou Libre Computer. Ambas têm imagens decentes para placas recentes, mas quase sempre há problemas com saída HDMI, então é preciso estar preparado para configurar via SSH ou console serial
Como em outros comentários desta thread, o custo-benefício dos PCs corporativos SFF recondicionados que aparecem no mercado de usados é realmente enorme
Comprei há algum tempo um da linha HP ultradesk por um preço muito baixo e, quando recebi, vi que não era usado, mas excedente de estoque, portanto era novo, por cerca de 20% do preço de varejo. É muito silencioso e também tem excelente eficiência energética
A CPU não é topo de linha, mas, sendo de 10ª ou 11ª geração, é perfeita para codificação por hardware em um servidor de mídia
Não tem todo o hardware para RAID e vários discos rígidos, mas um disco de boot NVMe e um HD de 16 TB são suficientes para as minhas necessidades. Como é mídia, não me preocupo se perder
Essas caixas são baratas, então dá para ter várias delas assumindo funções diferentes dentro de uma mesma “implantação”. Em certo momento, tive caixas separadas para NAS, servidor de mídia, câmeras IP de CFTV e homeassistant, e todas rodavam bem
Felizmente, eu não era masoquista a ponto de tentar algo como Kubernetes para orquestrar vários equipamentos juntos
Isso, claro, é considerando homelab/uso pessoal. Não recomendo para usos mais sérios. Mas essas máquinas simplesmente funcionam bem e, por serem PCs x86 padrão, eliminam muitos dos problemas de configuração de hardware e compatibilidade que você encontra em plataformas mais específicas
É irônico se chamar Libre Computer e não disponibilizar as ferramentas para que o usuário possa criar suas próprias imagens