Zum Hauptinhalt springen

Feature Compatibility Version (FCV)

Übersicht

Feature Compatibility Version (FCV) definiert, welche MongoDB-Funktionen aktiviert sind. Sie wird in der Sammlung admin.system.version gespeichert und ist standardmäßig auf die Version eingestellt, mit der die Datenbank erstmals bereitgestellt wurde.

FCV ermöglicht es einem Replica Set, vorübergehend im Kompatibilitätsmodus mit einer älteren MongoDB-Version zu arbeiten, selbst nach dem Upgrade der Binärdateien. Dies bietet die Möglichkeit, Replica-Set-Knoten schrittweise zu aktualisieren, ohne Ausfallzeiten zu erfordern.

gefahr

Hinweis: FCV unterstützt nur eine vorherige Version. Beispielsweise kann MongoDB 7.0 FCV auf „6.0" oder „7.0" gesetzt haben, aber nicht auf „5.0". Daher müssen Upgrades schrittweise durchgeführt werden: 6.0 → 7.0, dann 7.0 → 8.0, und so weiter.

Für eigenständige MongoDB-Instanzen spielt FCV keine wesentliche Rolle — Upgrades werden direkt ohne Berücksichtigung von FCV durchgeführt.

FCV-Parameter prüfen und konfigurieren

gefahr

Vor der Durchführung von Operationen, die MongoDB beeinflussen können, müssen Sie ein Datenbank-Backup erstellen. Ohne Datenbank-Backup ist eine Datenwiederherstellung möglicherweise nicht möglich, und unser Support-Team kann im Falle eines Fehlers oder einer unerwarteten Unterbrechung nicht helfen.
Beispiele für die Erstellung und Wiederherstellung von Backups

FCV vor dem Upgrade prüfen:

  1. Verbinden Sie sich mit Ihrem Replica Set unter Verwendung eines Benutzerkontos mit Zugriff auf die admin-Datenbank:
mongosh "mongodb://your_admin_user:your_password@node1:27017,node2:27017,node3:27017/?replicaSet=your_replicaset_name"
  1. Aktuellen FCV-Wert abrufen:
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
  1. Falls der FCV-Wert niedriger als die aktuelle MongoDB-Version ist, aktualisieren Sie ihn auf die verwendete Version:
db.adminCommand({ setFeatureCompatibilityVersion: "7.0" })

Schrittweises Upgrade-Verfahren für Replica Sets

  1. Stoppen Sie einen secondary-Knoten, aktualisieren Sie ihn auf die nächste MongoDB-Hauptversion und starten Sie ihn erneut.
  2. Warten Sie, bis der aktualisierte Knoten vollständig mit Ihrem Replica Set synchronisiert ist:
rs.status()
  1. Wiederholen Sie den Vorgang für die verbleibenden secondary-Knoten.
  2. Stufen Sie Ihren aktuellen primary herab und befördern Sie einen der aktualisierten secondary-Knoten zum primary:
rs.stepDown()
  1. Stellen Sie sicher, dass Ihr ehemaliger primary zu einem secondary geworden ist:
rs.status()
  1. Aktualisieren Sie den ehemaligen primary-Knoten auf die Zielversion.
  2. Sobald alle Replica-Set-Mitglieder aktualisiert wurden, erhöhen Sie FCV auf die neue Version.
db.adminCommand({ setFeatureCompatibilityVersion: "7.0" })