MongoDB 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.0インスタンスでは、featureCompatibilityVersion を 8.0 に設定する必要があります。 featureCompatibilityVersion を確認するには、次のコマンドを実行します。
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
"featureCompatibilityVersion" : { "version" : "8.0" }
詳細については、db.adminCommand() を参照してください。
レプリカセットへの変更を検討する
アップグレードする前に、スタンドアロン環境をレプリカセットに変換することを検討してください。レプリカセットは、MongoDB におすすめの配置構成です。
ダウンロード9.0 バイナリ
パッケージ マネージャーの使用
MongoDB を MongoDB apt 、 yum 、 dnf 、またはzypperリポジトリからインストールした場合、パッケージ マネージャーを使用して9.0にアップグレードする必要があります。
Linuxシステムの場合は、9.0 のインストール手順を参照してください。新しいリリース用にリポジトリを追加して、実際にアップグレードする必要があります。
手動
パッケージ マネージャーを使用して MongoDB をインストールしていない場合は、 MongoDB ダウンロード センターから MongoDB バイナリを手動でダウンロードできます。
詳しくは、 9.0インストール手順を参照してください。
アップグレード手順
mongodインスタンスをシャットダウンする
mongod プロセスをシャットダウンするには、mongosh を使用してインスタンスに接続し、次のコマンドを実行します。
db.adminCommand( { shutdown: 1 } )
下位互換性のない 9.0 機能を有効にする
この時点で、 8.0と互換性のない9.0機能を使わずに9.0バイナリを実行できます。
これらの 9.0 機能を有効にするには、機能の互換性バージョン(FCV)を 9.0 に設定します。また、confirm を true に設定する必要があります。
Tip
下位互換性のないこうした機能を有効にすると、ダウングレード前に保持されていた下位互換性のない機能をすべて削除する必要があるため、ダウングレード プロセスが複雑になる場合があります。
ダウングレードの可能性を最小限に抑えるには、アップグレード後、バーンイン期間中にこれらの機能を有効にせずにデプロイを運用することをお勧めします。ダウングレードの可能性を最小限に抑えられたと確信できたら、これらの機能を有効にします。
以下のように、admin データベースに対して setFeatureCompatibilityVersion コマンドを実行します。
db.adminCommand( { setFeatureCompatibilityVersion: "9.0", confirm: true } )
confirm の値を true に設定すると、操作を続行できます。confirm パラメータを省略するか、confirm に true 以外の値を設定すると、コマンドは失敗し、機能の互換性バージョンの変更に関する警告が返されます。
このコマンドは、内部 システムコレクションへの書込みを実行する必要があります。コマンドが正常に完了しない場合は、操作が冪等であるため、安全にコマンドを再試行できます。
トラブルシューティング
mongod が終了した場合、 MongoDB はエラー コードを返します。アップグレードに関する問題をトラブルシューティングするには、エラー コード または 自己管理型配置の終了コードとステータス を参照してください。
アップグレード後にスタートアップの問題が発生した場合は、 MongoDBサポート にお問い合わせください。
追加のアップグレード手順
レプリカセットをアップグレードするには、「 8.0 レプリカセットを 9.0 にアップグレードする 」を参照してください。
シャーディングされたクラスターをアップグレードするには、 8.0 のクラスターを9.0 にアップグレードする を参照してください。