featureCompatibilityVersion (fCV) とメジャーアップグレードの手順を確認する
MongoDBアップグレードコマンド
// 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 })概要
実行中の fCV を表示する。別々のステップであるバイナリのアップグレードと fCV のアップグレードを実施する順序を示す。
使用する場面
メジャーバージョンのアップグレード (例: 6.0 -> 7.0) を計画する場合、アップグレード後に新機能が使えない場合、または次のメジャーへ移行する前に。
注意
メジャーバージョンは飛ばせない: 5.0 -> 7.0 では、まず 6.0 に移行して fCV を 6.0 に設定する。fCV を上げると、データファイルが新しい形式に切り替わり、バイナリのダウングレードが難しくなることがある。新バージョンが数日間問題なく稼働してから fCV を上げる。7.0 以降の Community ではバイナリのダウングレードは公式にサポートされないため、フォールバック計画はバックアップに基づかせる。アップグレード前にドライバーの互換性を確認する。