Qual é a maneira mais eficiente de fazer backup de um diretório cheio de arquivos grandes de backup de banco de dados?

6

Usamos o NetBackup aqui no Stack Exchange e estamos trabalhando para reformular nossa política de backup para ser mais eficiente.

Atualmente, usamos o SQL 2008 R2 e fazemos com que o SQL execute planos de manutenção para fazer backup dos dados em um arquivo .bak. Uma vez que o arquivo é gravado, nós então fazemos backup do diretório no qual os arquivos .bak estão armazenados.

Não usamos o SQL Agent for NetBackup, pois usamos os arquivos .bak para outras coisas além de simples backups.

Eu estava pensando em fazer um cronograma de rotações semanais / Diff / Cume, mas considerando o fato de que os diretórios terão arquivos grandes garantidos novos todos os dias e, dado que nosso sistema automaticamente envelhece backups que são mais antigos que um certo número de dias, estou pensando que o cenário padrão de "servidor de arquivos de escritório" é provavelmente menos eficiente que outros métodos.

Existe uma maneira "mais eficiente" de lidar com isso?

    
por Peter Grace 06.06.2012 / 19:51

1 resposta

2

Eu tenho muito pouca experiência com backups do SQL Server, então pegue tudo isso com uma tonelada de sal e investigue agentes do SQL Server para várias tecnologias de backup ( Bacula afirma ter um) antes de tentar meu esquema meio cozido abaixo.

Minha solução para backups de bancos de dados é muito específica para o PostgreSQL: Eu espelhei para um escravo, então quando o backup chega, eu tranco esse escravo, deixe Bacula fazer o backup do diretório DB e reinicie o escravo

Isso tem a vantagem de restaurações rápidas e um comprometimento justo em tamanhos de backup (somente os arquivos de suporte de tabela que sofreram alterações são armazenados em backup, mas o processo de backup captura a tabela inteiro , não apenas o delta).

Algo semelhante pode funcionar no seu caso. Na primeira escova eu sugiro:

  1. Configurar um servidor escravo
  2. Configure uma máquina em um site remoto executando um daemon rsync para rsync.
  3. Todas as noites, no momento do backup, desligue o escravo e rincronize os arquivos do banco de dados para o site remoto, depois reinicie o escravo e deixe que ele acompanhe a replicação.

Esta é uma configuração muito parecida com o que estou fazendo, exceto que diretamente por seus dados você pode tirar proveito da varredura em nível de bloco do rsync (e esperamos enviar menos dados proporcionalmente do que eu) pegando os arquivos completos da tabela).

    
por 06.06.2012 / 20:02