DBAtlas · Atlas für Datenbankbetrieb

MongoDB-Replica-Set installieren (3 Mitglieder, Keyfile und Autorisierung)

MongoDBStufe: MittelDauer: 60–90 min

Baut ein MongoDB-8.0- (oder 7.0-)Replica-Set mit drei Mitgliedern von Grund auf: offizielles Repository, XFS-Datenverzeichnis, WiredTiger-Cache passend zum RAM, Keyfile-Authentifizierung zwischen den Mitgliedern, Autorisierung, Administrator- und Anwendungsbenutzer, Read/Write Concern, Failover-Test und Connection String. Am Ende steht ein passwortgeschütztes Replica Set, das den Ausfall eines Mitglieds ohne Unterbrechung übersteht. Wachsen Daten oder Schreiblast über einen einzelnen Server hinaus, öffne den Leitfaden zum Sharded Cluster; täglicher Betrieb, Backup und Härtung eines bestehenden Sets stehen in eigenen MongoDB-Leitfäden.

Topologie: 3 Server (1 Primary + 2 Secondaries), ungerade Anzahl datentragender Mitglieder

Vor dem Start

  • Alle Server laufen mit demselben, aktuellen Betriebssystem; die Uhrzeit ist per NTP (chrony) synchronisiert. Zeitabweichungen zwischen den Mitgliedern führen zu Problemen mit Sessions und Oplog.
  • RAM und CPU entsprechen den Werten im Formular (der WiredTiger-Cache wird nach diesem Wert berechnet). Swap ist konfiguriert, aber klein.
  • Das Datenverzeichnis (…) liegt auf einer eigenen Platte/einem eigenen LV, ist mit XFS formatiert, mit noatime eingehängt und in der fstab dauerhaft eingetragen. ext4 kann mit WiredTiger Performanceprobleme verursachen.
  • Jeder Servername wird von allen Servern und von den Anwendungsservern aufgelöst (DNS oder /etc/hosts). In der Replica-Set-Konfiguration werden Namen statt IPs verwendet.
  • Port … ist zwischen den Servern offen; das Anwendungsnetz erreicht diese Ports. Der Port wird von keinem anderen Dienst belegt.
  • Die Server erreichen repo.mongodb.org und pgp.mongodb.com per HTTPS, oder ein interner Mirror ist konfiguriert.
  • Weder das betriebssystemeigene Paket mongodb noch eine alte MongoDB-Installation ist vorhanden.
  • Vom ersten Server zu den anderen funktioniert scp als root (oder als Benutzer mit sudo-Rechten) (zum Kopieren des Keyfiles). Andernfalls übertrage die Datei manuell auf einem sicheren Weg.
  • Du bist mit root- oder sudo-Rechten angemeldet; Wartungsfenster und ein Plan mit Server-Snapshot (Rückfall) liegen vor.

Phasen der Anleitung

  • Vorbereitung des Betriebssystems (alle Mitglieder) — Hostname: … · Systemaktualisierung und benötigte Werkzeuge · Namensauflösung konfigurieren (/etc/hosts) · Kernel-Parameter (sysctl) · sysctl-Einstellungen anwenden · Transparent Huge Pages: für 8.0 aktivieren …
  • Installation der MongoDB-Software (alle Mitglieder) — Repository für MongoDB … hinzufügen · Repository für MongoDB … hinzufügen · MongoDB installieren · Datenverzeichnis vorbereiten · SELinux-Richtlinie und -Labels
  • Keyfile (Authentifizierung zwischen den Mitgliedern) — Keyfile erzeugen · Keyfile auf die anderen Mitglieder kopieren · Keyfile-Rechte: …
  • Konfiguration — mongod.conf: … · systemd-Einstellungen prüfen · Port in der Firewall öffnen
  • Service starten (alle Mitglieder) — mongod aktivieren und starten
  • Replica Set initialisieren und Benutzer anlegen — Zugriff auf die anderen Mitglieder prüfen · rs.initiate · Administratorbenutzer anlegen · Anwendungsbenutzer anlegen · Standard-Read/Write-Concern
  • Verifizierung und Failover-Test — Status des Replica Sets · Schreib-/Lesetest · Geplanter Failover-Test (rs.stepDown) · Connection String für die Anwendung
  • Nach der Installation — Log-Rotation · logrotate testen · Backups planen (zwingend) · Monitoring anbinden · Sicherheit: TLS und Zugriff
Schritt-für-Schritt-Plan für Ihre Umgebung öffnen →