DBAtlas · Atlas de operaciones de bases de datos

Instalación de un replica set de MongoDB (3 miembros, keyfile y autorización)

MongoDBNivel: IntermedioDuración: 60–90 min

Crea desde cero un replica set de MongoDB 8.0 (o 7.0) con tres miembros: repositorio oficial, directorio de datos en XFS, caché de WiredTiger dimensionada según la RAM, autenticación entre miembros con keyfile, autorización, usuarios administrador y de aplicación, read/write concern, prueba de failover y cadena de conexión. El resultado es un replica set protegido por contraseña que soporta la pérdida de un miembro sin interrupción. Si los datos o la carga de escritura van a superar un único servidor, abra la guía de sharded cluster; la operación diaria, la copia de seguridad y el endurecimiento de un set existente se tratan en guías de MongoDB aparte.

Topología: 3 servidores (1 primary + 2 secondary), número impar de miembros con datos

Antes de empezar

  • Todos los servidores usan el mismo sistema operativo, actualizado; la hora está sincronizada con NTP (chrony). La diferencia de hora entre miembros provoca problemas de sesión y de oplog.
  • La RAM y la CPU coinciden con los valores del formulario (la caché de WiredTiger se calcula según este valor). Hay swap configurada, pero pequeña.
  • El directorio de datos (…) está en un disco/LV independiente, formateado con XFS, montado con noatime y persistente en fstab. ext4 con WiredTiger puede causar problemas de rendimiento.
  • Cada nombre de servidor se resuelve desde todos los servidores y desde los servidores de aplicación (DNS o /etc/hosts). La configuración del replica set usa nombres, no IP.
  • El puerto … está abierto entre los servidores; la red de aplicación llega a estos puertos. El puerto no lo usa otro servicio.
  • Los servidores pueden salir por HTTPS a repo.mongodb.org y pgp.mongodb.com, o hay un mirror interno configurado.
  • No existe el paquete mongodb propio del sistema operativo ni una instalación antigua de MongoDB.
  • Desde el primer servidor se puede hacer scp a los demás como root (o con un usuario con sudo) para copiar el keyfile. Si no, traslade el archivo manualmente por un medio seguro.
  • Ha iniciado sesión con privilegios de root o sudo; la ventana de mantenimiento y el plan de snapshot del servidor (vuelta atrás) están listos.

Fases de la guía

  • Preparación del sistema operativo (todos los miembros) — Hostname: … · Actualización del sistema y herramientas necesarias · Resolución de nombres (/etc/hosts) · Parámetros del kernel (sysctl) · Aplicar los parámetros sysctl · Transparent Huge Pages: activar para 8.0 …
  • Instalación del software de MongoDB (todos los miembros) — Añadir el repositorio de MongoDB … · Añadir el repositorio de MongoDB … · Instalar MongoDB · Preparar el directorio de datos · Política y etiquetas de SELinux
  • Keyfile (autenticación entre miembros) — Crear el keyfile · Copiar el keyfile a los demás miembros · Permisos del keyfile: …
  • Configuración — mongod.conf: … · Comprobar los ajustes de systemd · Abrir el puerto en el firewall
  • Inicio del servicio (todos los miembros) — Habilitar e iniciar mongod
  • Iniciar el replica set y crear los usuarios — Comprobar el acceso a los demás miembros · rs.initiate · Crear el usuario administrador · Crear el usuario de aplicación · Read/write concern predeterminados
  • Verificación y prueba de failover — Estado del replica set · Prueba de escritura/lectura · Prueba de failover planificado (rs.stepDown) · Cadena de conexión de la aplicación
  • Después de la instalación — Rotación de logs · Probar logrotate · Planificar la copia de seguridad (obligatorio) · Conectar la supervisión · Seguridad: TLS y acceso
Abrir el plan paso a paso para su entorno →