DBAtlas · Atlas für Datenbankbetrieb

MongoDB Rolling Upgrade (7.0 → 8.0): Replica Set und Sharded Cluster

MongoDBStufe: FortgeschrittenDauer: 60–120 min (unabhängig von der Datenmenge; einige Minuten pro Mitglied)

Aktualisiert ein laufendes MongoDB-7.0-Replica-Set oder einen Sharded Cluster unterbrechungsfrei (rolling) auf 8.0: Vorprüfungen (Version, FCV, Mitgliederstatus, Treiberkompatibilität), Backup, zuerst die Secondaries, dann stepDown und der bisherige Primary; im Sharded Cluster in der Reihenfolge Balancer stoppen, Config Server, Shards, mongos. FCV 8.0 kann optional bis nach der Burn-in-Phase aufgeschoben werden; Rollback-Optionen und ihre Grenzen sind enthalten. Für ein Patch-Update innerhalb derselben Hauptversion (8.0.x → 8.0.y) bleibt das Repo gleich und dieselbe Mitgliederreihenfolge gilt; wer von 6.0 kommt, aktualisiert zuerst auf 7.0.

Topologie: Replica Set (3+ Mitglieder) oder Sharded Cluster (Config Server + Shards + mongos)

Vor dem Start

  • Alle …mongod-Instanzen (Config-Server- und Shard-Mitglieder) und mongos…Mitglieder… laufen mit 7.0.x und FCV 7.0. Wenn du von 6.0 kommst, aktualisiere zuerst auf 7.0 (eine Hauptversion kann nicht übersprungen werden).
  • Kein Mitglied ist im Status ROLLBACK/RECOVERING/STARTUP2; die Secondaries liegen wenige Sekunden hinter dem Primary.
  • Das Oplog-Fenster ist deutlich länger als die Wartungszeit (Ausfallzeit pro Mitglied), mindestens mehrere Stunden. Ist es zu kurz, braucht das heruntergefahrene Mitglied beim Wiederanlauf einen Initial Sync.
  • Alle Anwendungstreiber sind in einer mit MongoDB 8.0 kompatiblen Version (Treiberkompatibilitätstabelle). Alte Treiber können sich eventuell nicht mit 8.0 verbinden oder unterstützen das neue Verhalten nicht.
  • Die Seite zu den Kompatibilitätsänderungen in 8.0 ist gelesen; du nutzt keine entfernte oder geänderte Funktion (Parameter, Befehl, Abfrageverhalten). Wenn möglich, wurde das Upgrade zuerst in einer Testumgebung geprobt.
  • Ein aktuelles Backup mit getesteter Wiederherstellung liegt vor (Snapshot oder mongodump). Das Wartungsfenster ist genehmigt.
  • Jedes Mitglied hat genug freien Platz auf der Datenplatte und unter /var/log und Zugriff auf das 8.0-Repo (repo.mongodb.org).
  • Auf den Config-Server- und Shard-Mitgliedern läuft mongod mit dem systemd-Dienst mongod und /etc/mongod.conf; auf den mongos-Servern heißt der Dienst …. Auf jedem Server läuft genau ein mongod-/mongos-Prozess.
  • Der Balancer kann im Upgrade-Fenster gestoppt werden; es laufen keine Chunk-Migration, kein Resharding und kein Index-Build. Während der Wartung ist keine Änderung an Shard Keys oder Collection-Metadaten geplant.

Phasen der Anleitung

  • Vorprüfungen — Version, FCV und Rolle (alle …mongod-Instanzen…Mitglieder…) · Mitgliederstatus und Replikationsverzögerung · Cluster-Status, Shards und Balancer · Ungültige system.buckets-Collections · Treiber und Kompatibilität prüfen · Backup und Rückfallpunkt …
  • Repo-Wechsel (alle Mitglieder) — 8.0-Repo hinzufügen, 7.0-Repo deaktivieren · 8.0-Repo hinzufügen, 7.0-Repo deaktivieren
  • Secondaries nacheinander aktualisieren — Secondary: prüfen, dass … nicht Primary ist, und stoppen · Secondary: 8.0-Binaries auf … installieren · Secondary: THP auf … für 8.0 einstellen · Secondary: … starten und auf SECONDARY warten · Secondary: prüfen, dass … nicht Primary ist, und stoppen · Secondary: 8.0-Binaries auf … installieren …
  • Primary per stepDown abgeben und aktualisieren — Prüfen, dass die Secondaries auf 8.0 und fehlerfrei sind · Primary abgeben (stepDown) · Bisheriger Primary: prüfen, dass … nicht Primary ist, und stoppen · Bisheriger Primary: 8.0-Binaries auf … installieren · Bisheriger Primary: THP auf … für 8.0 einstellen · Bisheriger Primary: … starten und auf SECONDARY warten
  • Balancer stoppen — Balancer stoppen und prüfen, dass die Migrationen beendet sind
  • Balancer starten und Versionen prüfen — Prüfen, dass alle Komponenten auf 8.0 sind · Balancer wieder starten
  • Verifizierung — Alle Mitglieder auf 8.0 · Anwendung und Log prüfen
  • featureCompatibilityVersion 8.0 — FCV auf 8.0 anheben · FCV prüfen
  • Rollback (nur bei Problemen) — Rollback-Weg wählen · Binaries auf 7.0 zurücksetzen: … · Wiederherstellung aus dem Backup · Rollback-Reihenfolge im Sharded Cluster
Schritt-für-Schritt-Plan für Ihre Umgebung öffnen →