Como fazer backup de um arquivo enorme com Bacula?
Pergunta
Atualmente, é de 700 MB, mas é concebível que ele vai crescer para além do 1GB. Normalmente eu só copiar este arquivo para outro local (para os curiosos, é o banco de dados de uma instância Zope, um ZODB arquivo).
Este arquivo muda pouco de dia para dia, mas eu entendo Bacula não pode fazer subdivisão dentro-do-arquivo para backups incrementais. De qualquer forma, isso não importa. O que eu quero fazer é um backup completo diário e manter dois deles e um backup completo semanal e também manter dois deles. assim a qualquer momento eu posso começar ontem, anteontem, uma semana atrás e, há duas semanas. Você acha que é uma boa idéia?
Acho que eu deveria fazer dois horários, diários e semanais. Mas quais os números que eu deveria ter sobre os volumes e as piscinas para conseguir isso? Dois volumes de 1,5 GB? Quaisquer sugestões ou orientação é bem-vinda, eu não sou um administrador de sistema e minha experiência com Bacula é muito limitado.
Solução
O backup online de um arquivo de banco de dados grande é um negócio arriscado, como o arquivo pode mudar enquanto você está lendo isso, tornando o inconsistente backup e possivelmente inútil. Eu acredito que você não deveria estar fazendo backups do arquivo ZODB si, mas sim de diffs criados diariamente pelo repozo ferramenta. Desta forma, você também terceirizar o trabalho de lidar com as subdivisões-the-arquivo dentro que você diz Bacula é incapaz de lidar com.
Outras dicas
Na minha experiência com bacula e backup em disco, é melhor manter um volume por trabalho de backup. Dessa forma, não há espaço morto nos arquivos como trabalhos expirar. Bacula pode reutilizar todo o volume e reduz a utilização do disco. Use o "Set máxima Jobs Volume = 1" directiva no recurso piscina.
Gostaria de definir-se duas piscinas, um diário e semanal. Definir a retenção de volume para dois dias no diário e duas semanas no semanal. Agendar o diário on digamos, de segunda a sábado, e o semanais no domingo.
Dependendo da sua infra-estrutura, eu recomendaria tirar um instantâneo do volume que você estiver fazendo backup para "congelar"-lo e fazer o backup de lá.
Para alguns dos nossos backups estamos usando instantâneos LVM ( http://tldp.org /HOWTO/LVM-HOWTO/snapshots_backup.html ), para evitar o bloqueio qualquer um dos nossos bancos de dados (temos terabytes de dados para backup e um bloqueio teria um enorme impacto sobre o serviço)
Então, como você disse que o banco de dados não está se movendo muito, gostaria de ir e ter um período de retenção de 6 dias, 6 volumes de jornais diários e 2 volumes de semanários. Seus Dailies deve ir para a piscina de backup incremental, e os semanários devem ser os enche.
Por exemplo, fazer os semanários (enche) são executados na segunda-feira e, em seguida, um incremental todos os dias (Tue-Sun). Isso permitirá que você para voltar em qualquer dia da semana, se você percebe que seus dados está corrompido, sem tomar muito espaço ou tempo durante o backup.
EDIT: E ... Eu deveria verificar as datas de pós antes de responder. Haha. 3 anos mais tarde.
Para o bacula open source (bacula.org) a melhor idéia é usar o "Set Maximum Volume Jobs = 1" directiva de fato.
Se você quiser a "subdivisão-the-arquivo dentro para backups incrementais", por favor considere o Plugin Delta de Sistemas Bacula - https://www.baculasystems.com/products/bacula-enterprise-plugins/delta .