Mongodb na estratégia de backup AWS EC2

Mongodb na estratégia de backup AWS EC2

Estou executando o Mongodb na instância AWS EC2. Dados/log/e diário são armazenados em um volume separado, formatado como xfs. Atualmente estamos parando a instância do mongodb para tirar um snapshot, mas lendo isto: https://docs.mongodb.com/ecosystem/tutorial/backup-and-restore-mongodb-on-amazon-ec2/ aparentemente não há necessidade de interromper o serviço durante o instantâneo, pois o diário está ativado. Estou correcto? Posso criar um instantâneo consistente mesmo se o serviço estiver em execução?

Responder1

Em geral, não confie em nenhum procedimento de backup até que você tenha confirmado a integridade de uma restauração a partir de uma mídia de longo prazo.


Você já tem a capacidade de fazer um backup on-line da camada do sistema de armazenamento. Neste caso, com volumes EBS ou Linux LVM. O problema é deixar o banco de dados em um estado consistente.

Um backup online é possível com ou sem diário. Em ambos os casos, a maneira do mongo suspender as gravações do banco de dados é fsync e lock, conforme descrito nesse tutorial.

Sem um diário, é difícil dizer quais dados são duráveis ​​no disco e quais estão armazenados em buffer e ainda não confirmados. fsync e lock estabelecem um ponto no tempo e interrompem qualquer gravação em andamento até que o backup seja concluído.

O bloqueio também é necessário com vários discos, onde (neste sistema de armazenamento) os instantâneos não são consistentes entre si. Suspender gravações durante o backup significa que o disco /dev/sdfnão estará em um ponto de tempo ligeiramente diferente em comparação com o /dev/sdg.

Mongo afirma que se você tiver apenas umsolteirodisco, eterum diário, você não precisa sincronizar e bloquear. Presumivelmente, o instantâneo do EBS é um ponto no tempo suficientemente bom e consistente com falhas, e a recuperação direta do diário pode corrigir quaisquer gravações incompletas.

informação relacionada