Solução de backup para 10 TB usando o Ubuntu

3

Estou configurando um servidor de backup com aproximadamente dez discos rígidos de 2 TB invadidos. O objetivo desta máquina é simplesmente fazer backup de cerca de 3-10TB de dados de outro servidor.

Qual é a melhor maneira de obter esse backup? Seria bom ter histórico de versões. Eu pensei em apenas configurar a gitosis e ter um repositório do git. A outra máquina apenas irá confirmar e entrar no servidor em certos intervalos. Mas não tenho certeza se o git pode lidar com TBs de dados como este. Os arquivos consistem em 90% de imagens (jpeg, tiff, etc, que não serão alteradas, portanto, são arquivos pequenos) e 10% são grandes despejos de banco de dados e serão alterados diariamente.

A melhor solução seria rsync-lo para a máquina de backup e usar o LVM para tirar fotos? Que tal usar o TimeVault? Eu gostaria de ter não apenas uma cópia do backup, mas várias versões em intervalos de tempo diferentes. Qualquer informação sobre este assunto seria ótima.

    
por aznnico 26.05.2011 / 23:33

5 respostas

3

Eu configuraria a caixa como um NAS com NextentaStor Community Edition (ZFS!) ou < um OpenFiler .

Por que se preocupar com uma distro completa, a menos que você tenha planos de usá-la como outra coisa? Menos coisas para dar errado porque é construído com uma pegada menor; Tanto o OpenFiler quanto o NextentaStor têm seus prós e contras, mas seria uma opção melhor para um appliance de armazenamento puro do que o Ubuntu direto.

    
por 27.05.2011 / 01:04
2

Usar o git não parece ser o ajuste certo. Se você realmente preferir assim, dê uma olhada no git bup que é uma extensão do git para armazenar inteligentemente binários grandes em um repositório git .

Dito isto, recomendo o rsnapshot, rdiff-backup.

Certamente NÃO recomendo os instantâneos do LVM para este 1 .

  • O desempenho de gravação será prejudicado
  • Nesses volumes, um instantâneo causará tempos de inicialização em muitos minutos, se não em horas ( aqui )
  • existem armadilhas fatais quando falta espaço
  • e a última vez que verifiquei algo como uma reversão ainda era uma promessa remota
  • Lembre-se de que montar um instantâneo ao lado do seu sistema de arquivos ao vivo pode ser muito complicado, pois os sistemas de arquivos confiam nos guias para serem únicos no cabeçalho fs
  • Além disso, salvo o uso de iSCSI ou DBRD (etc), você está preso no mesmo host que o fs ativo, tornando o backup muito menos útil (e degradando ainda mais o desempenho)

Para esse tipo de cenário, eu prefiro ZFS (enviar, receber) . Para ser honesto, acho que zfs-fuse pode ser muito lento (mas teste!) No momento, mas zfsonlinux parece vir muito bem e pode lhe dar muito para trabalhar.

1 Acabei de recuperar este detalhe que escrevi anteriormente sobre este assunto:

No entanto, não consigo mais contar os diferentes modos de falha que encontrei ao usar os instantâneos. Eu parei de usá-los completamente - é apenas perigoso.

A única exceção que vou fazer agora é meu próprio backup de servidor de email / servidor pessoal, onde realizarei backups durante a noite usando um instantâneo efêmero, que é sempre igual ao tamanho da fonte fs, e é deletado logo em seguida.

Aspectos mais importantes a ter em conta:

  1. se você tem um grande (ish) fs que tem um instantâneo, o desempenho de gravação é terrivelmente degradado
  2. se você tiver um grande (ish) fs que tenha um instantâneo, o tempo de inicialização será atrasado com literalmente dezenas de minutos enquanto o disco estará produzindo e agitando durante a importação do grupo de volumes. Nenhuma mensagem será exibida. Este efeito é especialmente horrível se a raiz estiver em lvm2.
  3. se você tiver um instantâneo, é muito fácil ficar sem espaço. Depois de ficar sem espaço, o instantâneo está corrompido e não pode ser reparado.
  4. Os instantâneos não podem ser revertidos / mesclados no momento (consulte link ). Isso significa que a única maneira de restaurar dados de um instantâneo é realmente copiar (rsync?). PERIGO PERIGO: você não quer fazer isto se a capacidade do instantâneo não for pelo menos do tamanho da fonte fs; Se você não fizer isso, você logo atingirá a parede de tijolos e acabará com a fonte fs e o instantâneo corrompidos. (Eu estive lá!)
por 26.05.2011 / 23:48
1

Eu sugiro que não use o git para isso. Claro que pode funcionar, mas é muito abaixo do ideal.

Você poderia rsync, LVM e instantâneos, se quiser. Meu método de backup preferido para instâncias como esta é usar rnapshot ou rdiff-backup . Eles podem aproveitar as otimizações que o rsync oferece, enquanto fornecem um conjunto incremental de backups ao mesmo tempo.

    
por 26.05.2011 / 23:45
0

A opção "--backup-dir=" do Rsync pode eliminar a necessidade de instantâneos diários. Todos os arquivos que são alterados são colocados em uma pasta de backup e podem ser restaurados a partir daí.

Eu tenho um script noturno puxando dados de sites remotos para um backup central, o diretório de backup é rotulado como a data em que o backup foi feito, então eu tenho um histórico de versões de todos os arquivos que foram alterados desde que meu armazenamento aguarde.

Se você quiser, eu posso postar o script, é bem feio e específico para as nossas necessidades, então eu não esperaria que fosse de muita utilidade.

    
por 27.05.2011 / 00:48
0

Eu configurei um servidor de backup menor usando o BackupPC. Está nos repositórios do Ubuntu, configurá-lo é um piscar de olhos. Usa o rsync para transferência, desduplica no nível do arquivo.

Ele manterá o histórico de versões e você poderá especificar quantas continuar no passado. À medida que envelhecem, ele remove automaticamente alguns deles. A suposição é que quanto mais longe no passado você for, menos granularidade será necessária. Pode ser ajustado para o que você quiser, no entanto.

Confira, é muito bom.

link

link

    
por 27.05.2011 / 04:19