Servidores de configuração
Nesta página
Importante
A partir de 3.4, o uso de instâncias espelhadas obsoletas mongod
como servidores de configuração (SCCC) não é mais suportado. Antes de atualizar seus clusters fragmentados para a versão 3.4, você deve converter seus servidores de configuração de SCCC para CSRS.
Para converter seus servidores de configuração de SCCC para CSRS, consulte o manual do MongoDB 3.4 UpgradeFazer upgrade de servidores de configuração para o conjunto de réplicas.
Os servidores de configuração armazenam os metadados para um cluster fragmentado. Os metadados refletem o estado e a organização de todos os dados e componentes dentro do cluster fragmentado. Os metadados incluem a lista de chunks em cada shard e os intervalos que definem os chunks.
As instâncias mongos
armazenam esses dados em cache e os usam para rotear operações de leitura e gravação para os fragmentos corretos. O mongos
atualiza o cache quando há alterações nos metadados do cluster, como adicionar um fragmento. Os fragmentos também lêem metadados em chunk dos servidores de configuração.
Os servidores de configuração também armazenam informações de configuração de Autenticação em implementações autogerenciadas, como Controle de acesso baseado em Função ou configurações de autenticação interna para o cluster.
O MongoDB também usa os servidores de configuração para gerenciar bloqueios distribuídos.
Cada cluster fragmentado deve ter seus próprios servidores de configuração. Não use os mesmos servidores de configuração para diferentes clusters fragmentados.
Aviso
As operações administrativas conduzidas em servidores de configuração podem ter um impacto significativo no desempenho e na disponibilidade do cluster fragmentado. Dependendo do número de servidores de configuração afetados, o cluster pode ficar somente para leitura ou off-line por um período de tempo.
Servidores de configuração do conjunto de réplicas
Alterado na versão 3.4.
Servidores de configuração para clusters fragmentados podem ser implantados como um conjunto de réplicas (CSRS). O uso de um conjunto de réplicas para os servidores de configuração melhora a consistência entre os servidores de configuração, pois o MongoDB pode aproveitar os protocolos padrão de leitura e gravação do conjunto de réplicas para os dados de configuração. Além disso, o uso de um conjunto de réplicas para servidores de configuração permite que um cluster fragmentado tenha mais de 3 servidores de configuração, pois um conjunto de réplicas pode ter até 50 membros. Para implantar servidores de configuração como um conjunto de réplicas, os servidores de configuração devem executar o WiredTiger Storage Engine.
As seguintes restrições se aplicam a uma configuração de conjunto de réplica quando usada para servidores de configuração:
Deve ter zero árbitros.
Não deve ter membros atrasados.
Deve construir índices (ou seja, nenhum membro deve ter a configuração
members[n].buildIndexes
definida como falsa).
Operações de leitura e gravação em servidores de configuração
O banco de dados do admin
e o banco de dados de configuração existem nos servidores de configuração.
Grava em servidores de configuração
O banco de dados admin
contém as collections relacionadas à autenticação e autorização, bem como as outras system.* collections para uso interno.
O banco de dados de configuração contém as coleções que contêm os metadados do cluster fragmentado. O MongoDB grava dados no banco de dados de configuração quando os metadados são alterados, como após uma migração de bloco ou uma divisão de bloco.
Os usuários devem evitar gravar diretamente no banco de dados de configuração durante a operação ou manutenção normal.
Ao gravar nos servidores de configuração, o MongoDB utiliza uma write concern do "majority"
.
Leituras de servidores de configuração
O MongoDB lê a partir do banco de dados do admin
para dados de autenticação e autorização e outros usos internos.
O MongoDB lê a partir do banco de dados do config
quando um mongos
inicia ou após uma alteração nos metadados, como após uma migração de chunk. Os shards também leem metadados de chunks dos servidores de configuração.
Ao ler dos servidores de configuração do conjunto de réplicas, o MongoDB usa um nível de read concern de "majority"
.
Disponibilidade do servidor de configuração
Se o conjunto de réplicas do servidor de configuração perder seu primário e não puder eleger um primário, os metadados do cluster se tornarão somente leitura. Você ainda pode ler e gravar dados a partir dos shards, mas nenhuma migração de chunk ou divisão de chunk ocorrerá até que o conjunto de réplicas possa selecionar uma primária.
Em um cluster fragmentado, as instâncias mongod
e mongos
monitoram os conjuntos de réplicas no cluster fragmentado (por exemplo, conjunto de réplicas de shards, conjunto de réplicas de servidores de configuração).
Se todos os servidores de configuração ficarem indisponíveis, o cluster poderá se tornar inoperável. Para garantir que os servidores de configuração permaneçam disponíveis e intactos, backups de servidores de configuração são críticos. Os dados no servidor de configuração são pequenos em comparação com os dados armazenados em um cluster, e o servidor de configuração tem uma carga de atividade relativamente baixa.
Consulte Um membro do conjunto de réplicas do Config Server fica indisponível para obter mais informações.
Metadados de cluster fragmentados
Os servidores de configuração armazenam metadados no Config Database.
Importante
Sempre faça backup do banco de dados do config
antes de realizar qualquer manutenção no servidor de configuração.
Para acessar o banco de dados do config
, emita o seguinte comando em mongosh
:
use config
Em geral, você não deve nunca editar o conteúdo do banco de dados do config
diretamente. O banco de dados do config
contém as seguintes collections:
Para obter mais informações sobre estas coleções e sobre a função delas em agrupamentos fragmentados, consulte a página Banco de dados Config. Consulte a página Operações de leitura e gravação em servidores de configuração para obter mais informações sobre leituras e atualizações dos metadados.
Segurança de Cluster Fragmentado
Use a autenticação interna/de associação autogerenciada para impor a segurança dentro do cluster e impedir que componentes não autorizados do cluster acessem o cluster. Você deve iniciar cada mongod
no cluster com as configurações de segurança apropriadas para impor a autenticação interna.
A partir do MongoDB 5.3, o SCRAM-SHA-1 não pode ser usado para autenticação intra-cluster. Somente SCRAM-SHA-256 é suportado.
Em versões anteriores do MongoDB, SCRAM-SHA-1 e SCRAM-SHA-256 podem ser usados para autenticação intra-cluster, mesmo que o SCRAM não esteja explicitamente habilitado.
Consulte Implantar cluster fragmentado autogerenciado com autenticação de arquivo de chave para obter um tutorial sobre como implantar um cluster fragmentado seguro.