Com a necessidade de backup de 10 TB, isso fica um pouco complicado.
As réplicas não substituem os backups adequados
Embora os membros atrasados do conjunto de réplicas possam fornecer uma maneira relativamente fácil de ajudá-lo com operações acidentais, não há substitutos para os backups adequados, assim como o RAID não substitui os backups baseados no sistema de arquivos.
Recomendações
Isso depende muito da aparência da sua configuração.
Instantâneos da SAN
Com 10 TB, presumo que você tenha algum tipo de SAN conectado. A maneira mais fácil de fazer backup do MongoDB nesses ambientes é garantir que o registro no diário esteja ativado no sistema de arquivos e no MongoDB e simplesmente tirar uma foto do volume da SAN de um dos secundários, provavelmente um oculto, para garantir que suas operações não ocorram. seja interrompido. Isso geralmente leva apenas alguns segundos, mas certifique-se de que sua janela de replicação oplog seja suficiente. Caso contrário, pode ser necessário ressincronizar o secundário.
Não use mongodump
Eu tenho que discordar de RolandoMySQLDBA sobre o uso do mongodump. Antes de tudo, impõe bloqueios no servidor. Embora sejam levantados relativamente rápido, o número de bloqueios shere pode aumentar e interferir em suas operações, a menos que seja executado em um nó oculto ou quando não houver preferência de leitura atingindo os secundários. Além disso, não é exatamente rápido. Eu esperaria que ele durasse horas, pelo menos, provavelmente demorando mais que a janela de backup. Nota lateral: Sempre execute o mongodump com a --oplog
opção. Lembre-se também de que o mongodump não faz backup de índices, mas as operações para criar índices. Esses índices precisam ser recriados durante uma restauração, o que pode aumentar enormemente o tempo necessário. Pela minha experiência, se você precisar restaurar um banco de dados, deseja tê-lo o mais rápido possível. Outro ponto por que o mongodump não é adequado para fazer backup de 10 TB.
Notas sobre instantâneos do LVM
Você pode fazer uma captura instantânea do LVM em uma instância do mongod em execução, desde que o registro no diário esteja ativado no mongod (e, pela minha experiência, não custa machucá-lo também no nível FS). No entanto, os instantâneos do LVM têm algumas implicações. Primeiro, você obviamente precisa ter espaço em disco suficiente para fazer as alterações durante as operações de backup. Deixe-me esclarecer isso.
Vamos supor que você tenha uma taxa de alteração horária de 500 GB. E que você deseja que seu backup seja bloqueado antes de ser carregado em algum armazenamento. Mesmo ao usar o bzip2 paralelo , a compactação de 10 TB precisaria de algumas horas para terminar, simplesmente porque o fato de que provavelmente você produz um throughput de armazenamento em massa se tornaria seu fator limitante. Vamos supor que levaria 2 horas para compactar os dados para 2 TB. Portanto, a essa altura, precisaríamos de 2 TB + 2 * 500 GB de espaço livre em disco total, 1 TB necessário para o instantâneo do LVM. Isso criaria a necessidade de provisionar em excesso seu sistema de arquivos por pelo menos30% Caso você deseje ter uma margem de segurança adequada, isso poderá facilmente aumentar para 60-70% (20% para um fator de utilização de 0,8 para o sistema de arquivos original, o mesmo para o tamanho da captura instantânea mais o espaço necessário para o próprio backup compactado em bzip ) Na maioria dos ambientes de produção, isso seria inaceitável, uma vez que o provisionamento em excesso seria estático (você não gostaria que um script de backup alternasse dinamicamente com seu LVM, não é?).
Backup MMS
Embora o backup do MMS tenha alguns recursos impressionantes (backup contínuo, recuperação fácil no tempo), ele traz algumas sérias desvantagens: o preço do preço para implantações grandes pode facilmente chegar aos milhares. Com uma taxa de alteração horária assumida de 500 GB nesses 10 TB, seria uma soma média de seis dígitos para backups na nuvem . Por mês.
Minha sugestão é que ele faça uma assinatura corporativa para seus servidores para ter uma instância local do MMS, incluindo backup.
Sumário
Aqui estão as opções que eu escolheria em ordem decrescente de preferência.
- Instantâneos da SAN: fáceis de implementar, relativamente baratos
- Assinatura corporativa: melhores recursos. Instale, configure, esqueça, está lá quando você precisar
- Instantâneos LVM: fáceis de implementar, mas os custos do provisionamento excedente necessário podem resumir-se ao longo do tempo.