Observação
Você deve atualizar para o WiredTiger. O MongoDB removeu o storage engine obsoleto MMAPv1 na versão 4.2.
Use este tutorial para alterar o mecanismo de armazenamento de uma instância MongoDB independente para WiredTiger.
Considerações
mongodump e a mongorestore
This tutorial uses the mongodump and mongorestore utilities to export and import data.
Certifique-se de que esses componentes do pacote MongoDB estejam instalados e atualizados em seu sistema.
Vinculação padrão ao localhost
Binários do MongoDB, mongod e mongos, ligam-se ao localhost por padrão.
The tutorial runs mongodump and mongorestore from the same host as the mongod they are connecting to. If run remotely, mongodump and mongorestore must specify the ip address or the associated hostname in order to connect to the mongod.
XFS e WiredTiger
Com o mecanismo de armazenamento WiredTiger, é recomendado usar XFS para nós que contêm dados no Linux. Para obter mais informações, consulte Kernel e sistemas de arquivos.
Restrições somente do MMAPv1
Após a atualização para o WiredTiger, seu sistema do WiredTiger não estará sujeita às seguintes restrições somente do MMAPv1:
Restrições do MMAPv1 | Descrição curta |
|---|---|
Número de spacenames | Para MMAPv1, o número de spacenames é limitado ao tamanho do arquivo de spacenames dividido por 628. |
Tamanho do arquivo de namespace | Para MMAPv1, os arquivos namespace não podem ser maiores que 2047 megabytes. |
Tamanho do Banco de Dados | O mecanismo de armazenamento MMAPv1 limita cada banco de dados a no máximo 16000 arquivos de dados. |
tamanho de dados | Para MMAPv1, uma única instância do |
Número de Coleções em um Banco de Dados | Para o mecanismo de armazenamento MMAPv1, o número máximo de coleções em um banco de dados é uma função do tamanho do arquivo namespace e o número de índices de coleções no banco de dados. |
Procedimento
Inicie o mongod você deseja mudar para WiredTiger.
Se o mongod já estiver em execução, você poderá pular esta etapa.
Exportar dados usando mongodump.
mongodump --out=<exportDataDestination>
Specify additional options as appropriate, such as username and password if running with authorization enabled. See mongodump for available options.
Crie um diretório de dados para o novo mongod executando com WiredTiger.
Crie um diretório de dados para a nova instância do mongod que será executada com o mecanismo de armazenamento WiredTiger. mongod deve ter permissões de leitura e gravação para este diretório.
mongod com WiredTiger não iniciará com arquivos de dados criados com um mecanismo de armazenamento diferente.
Atualize a configuração do WiredTiger.
Remova todas as opções de configuração do MMAPv1 da configuração da instância mongod.
Iniciar mongod com WiredTiger.
Inicie o mongod, especificando wiredTiger como --storageEngine e o diretório de dados recém-criado para WiredTiger como --dbpath.
Especifique opções adicionais conforme apropriado, como --bind_ip.
Aviso
Antes de vincular sua instância a um endereço IP acessível publicamente, você deve proteger seu cluster contra o acesso não autorizado. Para obter uma lista completa de recomendações de segurança, consulte Lista de verificação de segurança para implantações autogerenciadas. No mínimo, considere habilitar a autenticação e fortalecer a infraestrutura de rede.
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --bind_ip localhost,<hostname(s)|ip address(es)>
Você também pode especificar as opções em um arquivo de configuração. Para especificar o mecanismo de armazenamento, utilize a configuração do storage.engine.
Carregue os dados exportados usando mongorestore.
mongorestore <exportDataDestination>
Specify additional options as appropriate. See mongorestore for available options.