Configurei o conjunto de réplicas mongodb (tenho 3 instâncias db -Redhat) e gostaria de fazer um backup do arquivo db ( dbPath: /var/lib/mongo ) usando rsync
, 10 ou 12 vezes por dia.
Então, eu preciso parar o
mongod
processo antes de começarrsync
?- selecione um dos servidores do conjunto de réplicas e pare o processo mongod
- faça o backup (usando rsync)
- iniciar o processo mongod
ou então, posso iniciar
rsync
(dbPath: /var/lib/mongo ) sem parar omongod
processo.qual é o método de backup recomendado além do backup LVM e
mongodump
?
Para fazer um backup de cópia de arquivo com
rsync
oucp
você precisa desativar as gravações, interrompendo omongod
serviço ou emitindo odb.fsyncLock()
comando nomongo
shell ou por meio de um driver. Como o secundário do qual você está fazendo backup estará disponível de forma intermitente com essa abordagem, seria melhor escondê-lo para evitar que os drivers tentem ler esse membro quando ele estiver inativo ou fsyncLock'd.Eu me certificaria de testar vários ciclos completos de backup e restauração. Em particular, tenha cuidado com
rsync
as opções que podem invalidar os backups (por exemplo:--ignore-existing
,--size-only
,--partial
).Observação: se você estiver usando a
fsyncLock()
abordagem, há umdb.fsyncUnLock()
comando para restaurar a operação normal após a conclusão do backup. Outra ressalva: o mecanismo de armazenamento WiredTiger é compatível apenasfsyncLock
com o MongoDB 3.2 ou mais recente.Não. Isso resultará em um backup inconsistente.
As abordagens de backup com suporte são descritas na documentação: Métodos de backup do MongoDB .
Existem abordagens de backup menos disruptivas (e mais contínuas), como o uso de um serviço de backup baseado em agente (por exemplo, MongoDB Cloud Manager).
Se você deseja fazer backup copiando arquivos de dados subjacentes, os instantâneos do sistema de arquivos (LVM/EBS/...) geralmente são menos prejudiciais e mais recomendáveis do que pausar todas as gravações em um arquivo
mongod
. Os instantâneos do sistema de arquivos em execuçãomongod
têm alguns requisitos se você deseja capturar um backup consistente: todos os dados devem estar no mesmo volume, o journaling deve estar ativado e o sistema de arquivos deve suportar instantâneos point-in-time. Para obter detalhes completos, confira a documentação oficial e os tutoriais de backup.