So, do I need to stop the
mongod
process before startrsync
?
Para fazer um backup de cópia de arquivo com rsync
ou cp
, é necessário quiesce as gravações, parando o mongod
service ou emitindo o db.fsyncLock()
comando no shell mongo
ou através de um driver. Já que o secundário do qual você está fazendo o backup estará intermitentemente disponível com essa abordagem, seria melhor torná-lo oculto para evitar que os drivers tentem ler esse membro quando ele estiver inoperante ou fsyncLock'd.
Eu certificaria-se de testar vários ciclos completos de backup e restauração. Especificamente, desconfie de rsync
opções que podem invalidar backups (por exemplo: --ignore-existing
, --size-only
, --partial
).
Observação: se você estiver usando a abordagem fsyncLock()
, há um db.fsyncUnLock()
comando para restaurar a operação normal após a conclusão do backup. Outra advertência: o mecanismo de armazenamento WiredTiger suporta apenas fsyncLock
no MongoDB 3.2 ou mais recente.
can I start
rsync
(dbPath: /var/lib/mongo) without stopping themongod
process.
Não. Isso resultará em um backup inconsistente.
what is the recommended backup method other than LVM backup and
mongodump
?
As abordagens de backup com suporte estã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, o MongoDB Cloud Manager).
Se você deseja fazer backup copiando os 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 para um mongod
. As capturas instantâneas do sistema de arquivos em execução com mongod
possuem alguns requisitos se você deseja capturar um backup consistente: todos os dados devem estar no mesmo volume, o registro no diário deve estar ativado e o sistema de arquivos deve suportar instantâneos pontuais. Para detalhes completos, confira a documentação oficial e os tutoriais de backup.