このドキュメントの内容をよく読み、前提条件を十分に確認してから、 MongoDB 9.0 にアップグレードしてください。
次の手順では、レプリカセット メンバーであるmongodをバージョン8.0から9.0にアップグレードする手順について説明します。
9.0へのアップグレードに関するガイダンスが必要な場合は、 MongoDB プロフェッショナル サービスがメジャー バージョン アップグレード サポートを提供して、MongoDB アプリケーションを中断することなくスムーズに移行できるようにします。
アップグレードの推奨事項とチェックリスト
アップグレードの際には、次の点を考慮してください。
アップグレード バージョン パス
既存のMongoDBデプロイを9.0 にアップグレードするには、8.0 または 8.3 リリースを実行中いる必要があります。
8.0シリーズより前のバージョンの場合、最終的に8.0シリーズになるまで、メジャー リリースを順次アップグレードする必要があります。 たとえば、7.0 シリーズを実行している場合、 にアップグレードする8.0 前に 、 まず にアップグレード9 する必要があります。0 。
ドライバーの互換性を確認
MongoDBをアップグレードする前に、 MongoDB9.0 との互換性があるドライバーを使用していることを確認してください。 MongoDB. との互換性を確認するには、特定の ドライバー9 の ドライバー0 のドキュメントを参照してください。
互換性のないドライバーでアップグレードを実行した場合、予期しないまたは未定義の動作が発生する可能性があります。
事前対策
アップグレードを開始する前に、ドキュメント「 MongoDB 9.0での互換性の変更 」で、ご利用のアプリケーションとデプロイが MongoDB 9.0と互換性があることを確認してください。 アップグレードを開始する前に、お使いの環境の互換性の問題を解決してください。
MongoDB をアップグレードする際は、アップグレードを本番環境にデプロイする前に、必ずアプリケーションをステージング環境でテストします。
ダウングレードの検討事項
MongoDB 8.3 以降では、 MongoDBのバージョンをその前のマイナーまたはメジャー バージョンにダウングレードできます。
MongoDB は 1 つのバージョンのダウングレードのみをサポートします。現在のリリースより数バージョン前のリリースにダウングレードすることはできません。
例、9.0 シリーズの配置を 8.0 シリーズにダウングレードできます。ただし、8.0 シリーズの配置から 7.0 シリーズの配置へのさらなるダウングレードはサポートされていません。
前提条件
全ノードのバージョン
すべてのレプリカセットノードはバージョン 8.3908.08.3または8.37 を実行する必要があります。レプリカセットを0 からアップグレードするには、「 を にアップグレードする 8」を参照してください。 レプリカセット。レプリカセットを.0 シリーズ以前からアップグレードするには、まずレプリカセットのすべてのノードを最新の. シリーズ リリースにアップグレードしてから、次にMongoDB8 0からアップグレードする手順に従います。.9 から.0 まで
機能の互換性バージョン
8.0レプリカセットでは、featureCompatibilityVersion を 8.0 に設定する必要があります。
レプリカセットのすべてのノードで、featureCompatibilityVersion が 8.0 に設定されていることを確認するには、各レプリカセットノードに接続し、featureCompatibilityVersion を確認します。
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
"featureCompatibilityVersion" : { "version" : "8.0" }
featureCompatibilityVersionを設定または更新するには、プライマリで次のコマンドを実行します。データを保持するノードの過半数が利用可能である必要があります。
db.adminCommand( { setFeatureCompatibilityVersion: "8.0" , confirm: true } )
レプリカセット ノードの状態
replSetGetStatus コマンドを発行して、レプリカセットが ROLLBACK または RECOVERING 状態になっていないことを確認します。
db.adminCommand( { replSetGetStatus: 1 } )
ダウンロード9.0 バイナリ
パッケージ マネージャーの使用
MongoDB を MongoDB apt 、 yum 、 dnf 、またはzypperリポジトリからインストールした場合、パッケージ マネージャーを使用して9.0にアップグレードする必要があります。
Linuxシステムの場合は、9.0 のインストール手順を参照してください。新しいリリース用にリポジトリを追加して、実際にアップグレードする必要があります。
手動
パッケージ マネージャーを使用して MongoDB をインストールしていない場合は、 MongoDB ダウンロード センターから MongoDB バイナリを手動でダウンロードできます。
詳しくは、 9.0インストール手順を参照してください。
アップグレード手順
MongoDB 8.0から9.0へのアップグレードは、「ローリング」アップグレードを利用することで、他のノードが利用可能である間に個別にアップグレードを行いダウンタイムを最小限に抑えることができます。
レプリカセットのプライマリを降格する
mongoshをプライマリに接続し、rs.stepDown() を使用してプライマリを降格し、新しいプライマリの選挙を強制します。
以前のプライマリのアップグレード
rs.status() でプライマリが降格し、別のノードが PRIMARY 状態になったことが示されたら、降格したプライマリをアップグレードします。
ステップダウンしたプライマリをシャットダウンし、
mongodバイナリを9.0バイナリに置き換えます。ノードを再起動します。
下位互換性のない 9.0 機能を有効にする
Tip
下位互換性のないこうした機能を有効にすると、ダウングレード前に保持されていた下位互換性のない機能をすべて削除する必要があるため、ダウングレード プロセスが複雑になる場合があります。
ダウングレードの可能性を最小限に抑えるには、アップグレード後、バーンイン期間中にこれらの機能を有効にせずにデプロイを運用することをお勧めします。ダウングレードの可能性を最小限に抑えられたと確信できたら、これらの機能を有効にします。
この時点で、 8.0と互換性のない9.0機能を使わずに9.0バイナリを実行できます。
これらの 9.0 機能を有効にするには、機能の互換性バージョン(FCV)を 9.0 に設定します。また、confirm を true に設定する必要があります。
Tip
最初の同期が進行中でないことを確認します。最初の同期の進行中に setFeatureCompatibilityVersion コマンドを実行すると、最初の同期がリスタートされます。
プライマリノードの admin データベースでsetFeatureCompatibilityVersionコマンドを実行します。
db.adminCommand( { setFeatureCompatibilityVersion: "9.0", confirm: true } )
featureCompatibilityVersion (FCV) : "9.0 " に設定します暗黙的に を実行して構成ドキュメントにreplSetReconfig termフィールドを追加し、新しい構成がレプリカセットノードの過半数に伝播するまでブロックします。
このコマンドは、内部 システムコレクションへの書込みを実行する必要があります。コマンドが完了しない場合は、操作が冪等であるため、プライマリで安全にコマンドを再試行できます。
トラブルシューティング
アップグレード後にスタートアップの問題が発生した場合は、 MongoDBサポート にお問い合わせください。
追加のアップグレード手順
スタンドアロンをアップグレードするには、 8.0 スタンドアロンの 9.0 へのアップグレード を参照してください。
シャーディングされたクラスターをアップグレードするには、 8.0 のクラスターを9.0 にアップグレードする を参照してください。