Atualmente, estou no processo de configuração de um NAS doméstico decente. A principal preocupação é a integridade dos dados e por isso decidi usar o ZFS como sistema de arquivos. Infelizmente, isso impõe alguns requisitos (ou recomendações, para ser mais preciso) ao hardware que o tornam uma solução bastante cara. Isto me proíbe de implementar um backup externo em um sistema semelhante e, portanto, estou procurando uma solução alternativa.
Idealmente, eu teria três discos rígidos removíveis, um dos quais ficaria próximo ao servidor e seria conectado semanalmente. Os outros permaneceriam fora do local e seriam alternados de vez em quando. Estou ciente de que isso representa um risco para novos dados, mas estou planejando fazer backup de uma forma alternativa.
A questão é o que devo colocar nas unidades removíveis. Inicialmente pensei em colocar um zpool
em cada um e usar zpool send
e zpool recv
atualizá-los, comoaqui. No entanto, acho que é bem possível que as unidades estejam "danificadas" quando eu precisar restaurar o backup e gostaria que o ZFS cuidasse disso. Idealmente, todas as três unidades removíveis estariam em uma configuração espelhada de até duas trocas de unidade atrás, o que permitirá que o ZFS use todas elas para corrigir problemas nos dados antigos ao restaurar o backup. No entanto, as unidades nunca serão conectadas ao mesmo tempo, portanto isso pode não ser possível. O ZFS fornece um meio de implementar o que procuro ou devo usar um método diferente?
Responder1
Infelizmente, isso impõe alguns requisitos (ou recomendações, para ser mais preciso) ao hardware que o tornam uma solução bastante cara. Isto me proíbe de implementar um backup externo em um sistema semelhante e, portanto, estou procurando uma solução alternativa.
Não sei exatamente suas necessidades de hardware e desempenho, mas esteja ciente de que sistemas decentes podem ser bem baratos se você souber o que está procurando e puder aceitar algumas pequenas desvantagens. Especificamente:
- A quantidade de RAM necessária que você encontra on-line é muito exagerada, porque a RAM é barata em comparação com dezenas de discos e a RAM é crítica para o desempenho (pois é usada para ARC e desduplicação). Se você precisar apenas saturar um link Ethernet de 1 Gbps (~110 MB/s) e tiver principalmente carga de trabalho de streaming (o que significa que o disco em vez de RAM é acessado constantemente), 4 a 8 GB de memória são suficientes (até 2 GB ainda podem funcionar) .
- Discos corporativos com 7.200 rpm, conectores SAS, baixa contagem de erros e taxa de transferência de 200 MB/s são bons, mas também não são realmente necessários. Duas unidades de consumo de 5200 rpm podem saturar sua Ethernet sem problemas. As leituras aleatórias serão mais lentas, mas você também não tem centenas de clientes que desejam acessar arquivos diferentes a cada segundo.
- Um HBA da LSI com 8 portas SAS é uma escolha confiável, mas pode ser caro. A maioria das portas SATA de hardware em placas para servidores são da Intel e também bastante confiáveis. Eles também consomem menos energia. Novamente, a velocidade não importa aqui, pois você não possui SSDs nem usa multipathing ou extensores.
- A potência da CPU é quase insignificante, todas as CPUs de servidores atuais têm bastante potência. Alguns Celerons dual-core na faixa de 30 € também suportam memória ECC, além disso você pode usar SoCs Atom de baixo consumo ou dualcores ou quadcores de baixo consumo da AMD. Essas placas também frequentemente já possuem 6 portas SATA e uma PCIe para extensão posterior, além de suporte para 16 a 64 GB de memória, por cerca de 300€ incluindo CPU, memória e fonte de alimentação.
- Além disso, existem algumas ofertas de servidores SoHo de grandes empresas como Dell ou HP, onde pode obter um servidor completo por 300€ (economias de escala), incluindo caixa, disco e garantia. As opções de expansão são limitadas, mas 4 a 6 discos ainda são suficientes.
- Finalmente, se você mora em algum lugar onde a energia é barata, você pode procurar hardware empresarial usado. Esses sistemas são rápidos, duráveis e baratos, mas também barulhentos e consomem muita energia. Você tem que calcular se a compensação vale a pena.
No entanto, acho que é bem possível que as unidades estejam "danificadas" quando eu precisar restaurar o backup e gostaria que o ZFS cuidasse disso. Idealmente, todas as três unidades removíveis estariam em uma configuração espelhada de até duas trocas de unidade atrás, o que permitirá que o ZFS use todas elas para corrigir problemas nos dados antigos ao restaurar o backup.
Aos meus olhos, é muito improvável que o seu sistema ativo com pelo menos um espelho bidirecional e três discos externos morra ao mesmo tempo. Se um dos backups ainda for utilizável, você terá perdido apenas os dados de uma semana, o que é muito menos grave (e pode ser mitigado, por exemplo, por backup online diferencial apenas de arquivos recém-modificados).
Mas supondo que isso aconteça, vamos comparar todas as configurações de backup possíveis (cada vez assumindo que seu sistema ativo tenha 2 discos como espelhos e todos os 5 discos sejam do mesmo tamanho):
3 discos independentes, send/recv é usado para sincronizar dados para 3 pools
- Os discos não podem corrigir erros de bits, mas podem detectá-los e você pode restaurar arquivos de outros discos
- Como são independentes, você pode mantê-los em três locais e ter 3 backups diferentes (relativos a erros do usuário, bugs de software)
- O manuseio é simples, pois cada disco/pool é tratado da mesma maneira
3 discos como espelhos, send/recv é usado para sincronizar dados para 1 pool
- Essencialmente, um sistema offline completo com resiliência muito boa
- Por outro lado, você tem todos os ovos na mesma cesta (roubo/incêndio)
3 discos como espelhos degradados, conforme descrito na pergunta vinculada
- Veja a resposta vinculada para vantagens e desvantagens
- Você também tem apenas uma versão
Então, em resumo: depende do que é mais crítico para as suas necessidades – vários pontos independentes no tempo ou um único que seja mais resiliente contra falhas.
Se você optar pela segunda solução, certifique-se também de ativar instantâneos de dados regulares para se proteger contra coisas como malware de criptografia (que seria um pouco atenuado por ter vários discos). Além disso, certifique-se de distribuir os três discos e armazená-los em locais diferentes para proteção contra incêndio/roubo/perda.