- Construção de um armazenamento S3 próprio com notebook Framework e JBOD, operando 10 TB a baixo custo e com funcionamento estável por 4 meses sem manutenção
- Uso de um notebook Framework usado, sem tela, com ZFS e garage S3 instalados como servidor doméstico, servindo de grande volume de armazenamento para o projeto de rastreamento de SDKs da AppGoblin
- Após 4 meses sem sequer olhar para o servidor, ao fazer login havia 10 TB em uso e uma atualização pendente aguardando reinicialização, e depois de reiniciar tudo continuou funcionando normalmente
- O processo de upgrade do garage S3 da v1 para a v2 também foi concluído sem problemas, confirmando uma experiência de operação estável
- Havia no início problemas com uma configuração não padrão de ZFS conectando notebook e JBOD por USB, mas isso foi resolvido ao mover os metadados para o armazenamento interno do notebook
Contexto e motivação do projeto
- Decisão de hospedar o próprio S3 há 5 meses
- Em andamento um trabalho de rastreamento de SDKs dos 100 mil principais apps Android e iOS da AppGoblin
- Era necessário muito espaço de armazenamento, mas com foco em reduzir custos
- Em vez de usar S3 em nuvem tradicional, foi escolhida uma abordagem self-hosted
Configuração de hardware
- Uso de um notebook Framework
- Compra barata de um notebook Framework usado e sem tela
- Como era um modelo mais antigo, ele se mostrou adequado para uso como servidor doméstico
- Aproveitamento da portabilidade e do baixo consumo de energia do notebook
- Adição de um JBOD (Just a Bunch of Disks)
- Array de discos externo para armazenamento de grande capacidade
- Conectado ao notebook via USB
Stack de software
- Sistema de arquivos ZFS
- Oferece integridade de dados e recursos de snapshot
- O JBOD foi configurado como um pool ZFS
- garage S3
- Solução leve e distribuída de armazenamento compatível com S3
- Projeto open source desenvolvido pela Deuxfleurs
- Fornece compatibilidade com a API do S3
Operação sem manutenção por 4 meses
- Depois da instalação, o servidor ficou 4 meses sem qualquer atenção
- Mesmo durante viagens, trabalho e a correria do dia a dia, o S3 continuou sendo usado continuamente
- Não houve necessidade de pensar no servidor
- O que foi encontrado ao fazer login
- 10 TB de armazenamento estavam em uso
- O sistema aguardava pacientemente uma reinicialização para aplicar upgrades
- Resultado da reinicialização
- A reinicialização foi feita com certa tensão
- Tudo voltou a funcionar normalmente, trazendo alívio
Upgrade do garage S3
- Upgrade da v1 para a v2
- Foi encontrado um upgrade importante de versão pendente
- O processo de upgrade ocorreu sem problemas
- A avaliação foi de que foi um ótimo fim de semana
Alertas técnicos e solução
- Reconhecimento de uma configuração não padrão de ZFS
- Conectar notebook e JBOD por USB é um caso de uso um pouco fora do padrão para ZFS
- Houve alertas da comunidade no Reddit sobre isso
- Problema inicial
- Surgiram problemas no ZFS quando o garage fazia muitas operações de leitura e escrita
- Na configuração inicial, os metadados do SQLite também estavam armazenados no JBOD/ZFS
- Solução do problema
- Os metadados foram movidos para o armazenamento interno do notebook
- Depois disso, os problemas com ZFS foram resolvidos e o sistema passou a operar de forma estável
3 comentários
Só o fato de tentar fazer self-hosting já é impressionante.
Embora a faixa de preço seja bem diferente, parece que a placa-mãe da Framework se tornou a Raspberry Pi dos tempos modernos.
Comentários do Hacker News