featureCompatibilityVersion (fCV) und die Reihenfolge von Major-Upgrades prüfen
MongoDBUpgradeBefehl
// 1) Current fCV (must be the same on all members; targetVersion appears if a transition is incomplete):
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })
// 2) Upgrade binaries in a rolling fashion (secondaries -> stepDown -> old primary); fCV stays old
db.version()
// 3) After the observation period, raise fCV on the primary (on mongos in a sharded cluster):
db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true })
// 4) If a rollback is needed, fCV is lowered BEFORE the binaries:
db.adminCommand({ setFeatureCompatibilityVersion: "6.0", confirm: true })Was es tut
Zeigt die laufende fCV; gibt die Reihenfolge vor, in der Binär-Upgrade und fCV-Upgrade, die getrennte Schritte sind, durchgeführt werden.
Wann einsetzen
Bei der Planung eines Major-Version-Upgrades (z. B. 6.0 -> 7.0), wenn neue Features nach einem Upgrade nicht verfügbar sind, oder vor dem Wechsel zur nächsten Major-Version.
Vorsicht
Major-Versionen lassen sich nicht überspringen: Für 5.0 -> 7.0 zuerst auf 6.0 wechseln und fCV auf 6.0 setzen. Nach Anheben der fCV können Datendateien ins neue Format wechseln, und ein Binär-Downgrade wird schwieriger; hebe die fCV erst an, nachdem die neue Version einige Tage fehlerfrei gelaufen ist. Ein Binär-Downgrade wird bei Community ab 7.0 offiziell nicht unterstützt; stütze den Rückfallplan auf ein Backup. Prüfe vor dem Upgrade die Treiberkompatibilität.