Vamos falar sobre:
- rsync (sincronização remota)
- DRBD (dispositivo de bloco replicado distribuído)
- DRBD LVM
- DRBD + ThinLVM
- ZFS (Zettabyte File System)
rsync . .
O rsync (sincronização remota) não tem nada a ver com backups, estritamente falando. É um programa que permite sincronizar arquivos e diretórios em dois locais, minimizando o tráfego. A sincronização pode ser executada para pastas locais e servidores remotos.
Rsync é freqüentemente usado para backups. Usamos esse utilitário quando os sites eram mais simples e havia significativamente menos clientes.
O Rsync fez um bom trabalho, mas o maior problema aqui é a velocidade. O programa é muito lento, carrega muito o sistema. E com o aumento dos dados, começa a funcionar ainda mais.
Rsync pode ser usado como uma tecnologia de backup, mas para quantidades muito pequenas de dados.
LVM (gerenciador de volume lógico) - gerenciador de volume lógico
Claro, queríamos fazer backups mais rápidos com menos carga, então decidimos tentar o LVM. LVM permite snapshots mesmo usando ext 4. Desta forma, podemos fazer backups usando um snapshot LVM.
Não usamos essa tecnologia por muito tempo. Embora o backup fosse mais rápido do que o rsync, ele estava sempre cheio. Queríamos apenas copiar as alterações, então mudamos para o DRBD.
DRBD
O DRBD permite sincronizar dados de um servidor para outro. Além disso, apenas as alterações são sincronizadas, nem todos os dados. Isso acelera o processo consideravelmente!
E do lado da loja, poderíamos usar LVM e tirar instantâneos. Esse sistema existe há muito tempo e agora existe em alguns dos servidores que ainda não tivemos tempo de transferir para o novo sistema.
No entanto, mesmo com esse método, ainda há uma desvantagem. O DRBD carrega fortemente o subsistema de disco durante a sincronização ... Isso significa que o servidor será executado mais lentamente. Com isso, o backup atrapalhava o funcionamento dos principais serviços, ou seja, os sites dos usuários. Até tentamos fazer backups à noite, mas às vezes eles simplesmente não tinham tempo para concluir durante a noite. Eu tive que manobrar, alternar backups. Por exemplo, hoje uma parte dos servidores está funcionando, depois outra. Fornecemos backups em um padrão quadriculado.
Além disso, o DRBD é altamente dependente da velocidade da rede e afeta o desempenho do servidor a partir do qual e para o qual o backup é realizado. Uma nova solução deve ser procurada!
LVM fino
Nesse ponto, a empresa definiu a tarefa de fazer backups de 30 dias e decidimos mudar para o thinLVM. Isso não resolveu o problema principal! Nem esperávamos que esse alto desempenho do sistema de arquivos fosse necessário para suportar instantâneos finos. Esta experiência foi completamente malsucedida e desistimos em favor de snapshots regulares de LVM grossos.
Os ThinLVMs realmente não foram projetados para nosso propósito. Originalmente projetado para pequenos laptops e câmeras, mas não para hospedagem.
Continuando a pesquisa ...
Decidiu-se experimentar o ZFS.
ZFS
ZFS é um sistema de arquivos decente que tem muitos recursos integrados. O que é obtido com ext 4 instalando no LVM, conectando um dispositivo DRBD, então com ZFS este é o padrão. O próprio sistema de arquivos é muito confiável. Devemos também mencionar a função Copy-on-write, esta tecnologia permite que você trate os dados com muito cuidado.
O ZFS permite que você faça instantâneos que podem ser copiados para um armazenamento, bem como backups automatizados. Não há necessidade de inventar nada!
A migração para o ZFS foi muito cuidadosa. Primeiro, criamos um estande onde simplesmente testamos por vários meses. Em particular, tentamos reproduzir problemas com equipamento, fonte de alimentação, rede, disco cheio. Por meio de testes completos, conseguimos encontrar gargalos.
Um assunto delicado do ZFS é a plenitude do disco. Conseguimos resolver este problema reservando um espaço vazio. Quando o disco estiver cheio, medidas serão tomadas para descarregar o servidor e limpar o espaço.
Após o teste, gradualmente começamos a introduzir novos servidores, transferir servidores antigos para o ZFS. Sem mais problemas com backups! Você pode fazer backups de 30 ou 60 dias, mesmo que sejam a cada hora. Em qualquer caso, o servidor não terá cargas excessivas.
Coletamos todos os dados nas tabelas abaixo para comparar backups usando várias tecnologias.
O que aconteceu depois?
Existem planos para atualizar o ZFS para a versão 2 do OpenZFS 2.0.0. em 2021. Estamos preparando uma transição usando todos os chips que foram anunciados com o lançamento no início de dezembro.
A maneira como esta é!
Este é o caminho que escolhemos para nós! Você está resolvendo problemas semelhantes? Teremos o maior prazer se você compartilhar sua experiência nos comentários! Esperamos que o artigo tenha sido útil e, se de repente você também se deparar com a tarefa de fazer backups usando os utilitários integrados do Linux, nossa história o ajudará a encontrar uma solução adequada.