Backups diferenciais com o LVM

4

É possível criar backups diferenciais com base em instantâneos do LVM (ou talvez uma técnica semelhante)?

Gostaria de realizar backups do meu servidor de intranet, que hospeda vários serviços e seus bancos de dados (atualmente usando o Postgres 8, Postgres 9 e MySQL). Então pensei em configurar backups baseados em envio de log (além de fazer o backup do sistema de arquivos), mas a coisa toda está ficando um pouco complexa.

Como alternativa, estou considerando os instantâneos do LVM - mas os bancos de dados não são pequenos, e eu precisarei economizar espaço de backup ...

Também é importante que os snapshots do LVM sejam altamente seguros para uso enquanto um banco de dados está constantemente escrevendo arquivos.

    
por Chris Lercher 29.06.2011 / 22:17

2 respostas

1

A resposta (para mim) é simplesmente criar um instantâneo temporário do LVM, usar qualquer qualquer técnica de backup incremental e, em seguida, descartar o instantâneo.

Quanto à segurança dos instantâneos do LVM (que eu normalmente tenho que fazer enquanto o DB está rodando), estou bastante confiante de que eles funcionarão bem. Para cobrir o risco residual, estou encerrando o banco de dados uma vez por semana antes de fazer um backup completo.

    
por 27.07.2011 / 11:55
1

Os instantâneos do LVM são copy-on-write no nível do dispositivo de bloco. Sem nenhuma atividade especial no sistema de arquivos ou no aplicativo, eles se comportam da mesma forma que um crash-and-reboot. Se você puder suspender o aplicativo e o sistema de arquivos e liberar as gravações pendentes antes de tirar o instantâneo, poderá aumentar bastante a consistência dos dados no instantâneo. Por exemplo, use um bloqueio global de gravação no banco de dados, libere o sistema de arquivos e torne-o somente leitura (alguns sistemas de arquivos como o XFS têm uma opção de quiesce explícita), crie o instantâneo e depois desbloqueie tudo.

No que diz respeito ao espaço de backup, as capturas instantâneas são copy-on-write, portanto, você só precisa de espaço suficiente alocado para a captura instantânea para cobrir o número de blocos que são sobrescritos no sistema de arquivos ao vivo.

    
por 29.06.2011 / 23:08