Se você está ficando sem disco, obviamente precisa de um disco maior.
Existem várias maneiras de migrar seus dados, isso realmente depende do tipo de tempo de atividade que você precisa. É claro que os primeiros passos envolvem agrupar a máquina e criar o novo volume.
Essas dicas vão do mais fácil ao mais difícil.
Você pode deixar o banco de dados completamente off-line por alguns minutos?
Se sim, faça isso (migração por cópia):
- Monte o novo EBS no servidor.
- Impedir que seu aplicativo se conecte ao Mongo.
- Desligue o mongod e espere tudo escrever (verifique os logs)
- Copie todos os arquivos de dados (e provavelmente os logs) para o novo volume do EBS.
- Enquanto a cópia está acontecendo, atualize seu script de início do mongod (ou arquivo de configuração) para apontar para o novo volume.
- Inicie o mongod e verifique a conexão
- Reinicie seu aplicativo.
Você pode colocar o banco de dados off-line por apenas alguns minutos?
Em caso afirmativo, faça isso (escravizando e alternar):
- Inicie uma nova instância e monte o novo EBS nesse servidor.
- Instale / inicie o mongod como --slave apontando para o banco de dados atual. (talvez seja necessário reiniciar o atual como --master)
- O escravo fará uma nova sincronização. Assim que o slave estiver atualizado, você fará uma "troca" (próximas etapas).
- Desative as gravações do sistema.
- Encerre o processo mongod original.
- Reinicie o "novo" mongod como mestre em vez de escravo.
- Reative as gravações do sistema apontando para o novo mestre.
Feitos corretamente, esses três últimos passos podem acontecer em minutos ou até segundos.
Você não tem tempo de inatividade?
Em caso afirmativo, faça isso (master-master ):
- Inicie uma nova instância e monte o novo EBS nesse servidor.
- Instale / inicie o mongod como mestre e escravo no banco de dados atual. (pode ser necessário reiniciar a corrente como mestre, tempo de inatividade mínimo?)
- O novo computador deve fazer uma nova sincronização.
- Quando o novo computador estiver atualizado, mude o sistema para apontar para o novo servidor.
Eu sei que parece que esta última versão é realmente a melhor, mas pode ser um pouco arriscada (no momento em que escrevo). A razão é simplesmente que eu honestamente tive muitos problemas com a replicação "Mestre-Mestre", especialmente se você não começar com ambos ativos.
Se você planeja usar esse método, sugiro uma prática menor primeiro. Se algo bombar aqui, o Mongo pode simplesmente limpar todos os seus arquivos de dados, o que terá o efeito de derrubar mais coisas.
Se você conseguir uma boa versão disso, poste os comandos, eu gostaria de vê-lo em ação.