DBAtlas · Atlas de operações de banco de dados

Instalação de replica set MongoDB (3 membros, keyfile e autorização)

MongoDBNível: IntermediárioDuração: 60–90 min

Monta do zero um replica set MongoDB 8.0 (ou 7.0) de três membros: repositório oficial, diretório de dados em XFS, cache do WiredTiger dimensionado pela RAM, autenticação entre membros com keyfile, autorização, usuários de administrador e de aplicação, read/write concern, teste de failover e connection string. Ao final, você tem um replica set protegido por senha que sobrevive à perda de um membro sem downtime. Se os dados ou a carga de escrita forem superar um único servidor, abra o guia de sharded cluster; a operação diária, o backup e o hardening de um set existente estão em guias MongoDB separados.

Topologia: 3 servidores (1 primary + 2 secondaries), número ímpar de membros com dados

Antes de começar

  • Todos os servidores rodam o mesmo sistema operacional, atualizado; o horário é sincronizado por NTP (chrony). Diferença de horário entre os membros causa problemas de sessão e de oplog.
  • RAM e CPU correspondem aos valores do formulário (o cache do WiredTiger é calculado a partir desse valor). Há swap configurado, mas pequeno.
  • O diretório de dados (…) fica em um disco/LV separado, formatado em XFS, montado com noatime e persistente no fstab. ext4 com WiredTiger pode causar problemas de desempenho.
  • Cada nome de servidor resolve a partir de todos os servidores e dos servidores de aplicação (DNS ou /etc/hosts). A configuração do replica set usa nomes, não IPs.
  • A porta … está aberta entre os servidores; a rede da aplicação alcança essas portas. A porta não é usada por outro serviço.
  • Os servidores acessam repo.mongodb.org e pgp.mongodb.com por HTTPS, ou há um mirror interno configurado.
  • Não há o pacote mongodb do próprio sistema operacional nem uma instalação antiga de MongoDB.
  • O scp funciona do primeiro servidor para os demais como root (ou com um usuário com sudo) (para copiar o keyfile). Caso contrário, leve o arquivo manualmente por um meio seguro.
  • Você está logado com privilégios de root ou sudo; a janela de manutenção e um plano de snapshot do servidor (rollback) estão prontos.

Fases do guia

  • Preparação do sistema operacional (todos os membros) — Hostname: … · Atualização do sistema e ferramentas necessárias · Resolução de nomes (/etc/hosts) · Parâmetros do kernel (sysctl) · Aplicar as configurações de sysctl · Transparent Huge Pages: ativar para 8.0 …
  • Instalação do software MongoDB (todos os membros) — Adicionar o repositório do MongoDB … · Adicionar o repositório do MongoDB … · Instalar o MongoDB · Preparar o diretório de dados · Política e rótulos do SELinux
  • Keyfile (autenticação entre membros) — Criar o keyfile · Copiar o keyfile para os outros membros · Permissões do keyfile: …
  • Configuração — mongod.conf: … · Verificar as configurações do systemd · Abrir a porta no firewall
  • Inicialização do serviço (todos os membros) — Habilitar e iniciar o mongod
  • Iniciar o replica set e criar os usuários — Verificar o acesso aos outros membros · rs.initiate · Criar o usuário administrador · Criar o usuário da aplicação · Read/write concern padrão
  • Verificação e teste de failover — Status do replica set · Teste de escrita/leitura · Teste de failover planejado (rs.stepDown) · Connection string da aplicação
  • Pós-instalação — Rotação de log · Testar o logrotate · Planejar os backups (obrigatório) · Conectar o monitoramento · Segurança: TLS e acesso
Abrir o plano passo a passo para o seu ambiente →