Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

レプリカセットから 7.0 へのアップグレード

項目一覧

  • アップグレードの推奨事項とチェックリスト
  • 前提条件
  • ダウンロード7.0 バイナリ
  • アップグレード手順
  • 追加のアップグレード手順

このチュートリアルを使用して、 MongoDB 6.0から MongoDB 7.0にアップグレードします。 同じリリース シリーズ内の新しいパッチ リリースにアップグレードするには、「 MongoDB の最新の自己管理型パッチ リリースへのアップグレード 」を参照してください。

このドキュメントの内容をよく読み、前提条件を十分に確認してから、 MongoDB 7.0にアップグレードしてください。

次の手順では、レプリカセット メンバーである mongodをバージョン 6.0 から 7.0 にアップグレードする手順について説明します。

7.0へのアップグレードに関するガイダンスが必要な場合は、 MongoDB プロフェッショナル サービスがメジャー バージョン アップグレード サポートを提供して、MongoDB アプリケーションを中断することなくスムーズに移行できるようにします。

アップグレードの際には、次の点を考慮してください。

既存の MongoDB デプロイを7.0にアップグレードするには、 6.0シリーズのリリースを実行している必要があります。

6.0シリーズより前のバージョンの場合、最終的に6.0シリーズになるまで、メジャー リリースを順次アップグレードする必要があります。 たとえば、5.0 シリーズを実行している場合、 にアップグレードする6.0 前に 、 まず にアップグレード7 する必要があります。0 。

MongoDB をアップグレードする前に、MongoDB 7.0の互換性があるドライバーを使用していることを確認してください。 MongoDB 7.0との互換性を確認するには、特定のドライバーのドライバー のドキュメントを参照してください。

互換性のないドライバーでアップグレードを実行した場合、予期しないまたは未定義の動作が発生する可能性があります。

アップグレードを開始する前に、ドキュメント「 MongoDB 7.0での互換性の変更 」で、ご利用のアプリケーションとデプロイが MongoDB 7.0と互換性があることを確認してください。 アップグレードを開始する前に、お使いの環境の互換性の問題を解決してください。

MongoDB をアップグレードする際は、アップグレードを本番環境にデプロイする前に、必ずアプリケーションをステージング環境でテストします。

MongoDB 7.0 以降では、デプロイ済みのバイナリ バージョンをダウングレードするには、サポートによる支援が必要です。

詳しくは、「7.0 から 6.0 へのダウングレード」を参照してください。

すべてのレプリカセット ノードはバージョン 6.0 を実行中である必要があります。 レプリカセットを 5.0 シリーズ以前からアップグレードするには、初めに レプリカセットのすべてのノードを最新の 6.0 シリーズ リリースにアップグレードしてから 、次に MongoDB 6.0 から 7.0 にアップグレードする手順に従います。

6.0レプリカセットでは、 featureCompatibilityVersion"6.0"に設定する必要があります。

レプリカセットのすべてのノード featureCompatibilityVersion"6.0"に設定されていることを確認するには、各レプリカセット ノードに接続し、featureCompatibilityVersionを確認します。

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

すべてのノードは "featureCompatibilityVersion" : { "version" : "6.0" } を含む結果を返す必要があります。

featureCompatibilityVersionを設定または更新するには、プライマリで次のコマンドを実行します。データを保持するノードの過半数が利用可能である必要があります。

db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } )

詳細については、setFeatureCompatibilityVersion を参照してください。

replSetGetStatus コマンドを発行して、レプリカセット ノードが ROLLBACK または RECOVERING 状態になっていないことを確認します。

db.adminCommand( { replSetGetStatus: 1 } )

MongoDB を MongoDB aptyumdnf 、またはzypperリポジトリからインストールした場合、パッケージ マネージャーを使用して7.0にアップグレードする必要があります。

Linux システムの場合は、 7.0のインストール手順を参照してください。 新しいリリース用にリポジトリを追加して、実際にアップグレードを行う方法を解説しています。

パッケージ マネージャーを使用して MongoDB をインストールしていない場合は、 MongoDB ダウンロード センターから MongoDB バイナリを手動でダウンロードできます。

詳しくは、 7.0インストール手順を参照してください。

MongoDB 6.0から7.0へのアップグレードは、「ローリング」アップグレードを利用することで、他のノードが利用可能である間に個別にアップグレードを行いダウンタイムを最小限に抑えることができます。

1

mongodプロセスをシャットダウンするには、 mongoshを使用してレプリカセット ノードに接続し、次のコマンドを実行します。

db.adminCommand( { shutdown: 1 } )
2

レプリカセットのセカンダリノードを一度に 1 つずつアップグレードします。

  1. 6.0バイナリを7.0バイナリに置き換えます。

  2. ノードを再起動します。

3

mongoshをプライマリに接続し、 rs.stepDown()を使用してプライマリを降格し、新しいプライマリの選出を強制します。

4

rs.status() でプライマリが降格し、別のノードが PRIMARY 状態になったことが示されたら、降格したプライマリをアップグレードします。

  1. ステップダウンしたプライマリをシャットダウンし、 mongodバイナリを7.0バイナリに置き換えます。

  2. ノードを再起動します。

5

この時点で、 6.0と互換性のない7.0機能を使わずに7.0バイナリを実行できます。

これらの7.0機能を有効にするには、機能の互換性バージョン( fCV )を7.0に設定します。

Tip

下位互換性のないこうした機能を有効にすると、ダウングレード前に保持されていた下位互換性のない機能をすべて削除する必要があるため、ダウングレード プロセスが複雑になる場合があります。

ダウングレードの可能性を最小限に抑えるには、アップグレード後、バーンイン期間中にこれらの機能を有効にせずにデプロイを運用することをお勧めします。ダウングレードの可能性を最小限に抑えられたと確信できたら、これらの機能を有効にします。

Tip

最初の同期が進行中でないことを確認します。最初の同期の進行中に setFeatureCompatibilityVersion コマンドを実行すると、最初の同期がリスタートされます。

プライマリノードの admin データベースでsetFeatureCompatibilityVersionコマンドを実行します。

db.adminCommand( { setFeatureCompatibilityVersion: "7.0" } )

featureCompatibilityVersion (fCV) : "7.0" に設定します 暗黙的にreplSetReconfigを実行して構成ドキュメントにtermフィールドを追加し、新しい構成がレプリカセット ノードの大部分に伝播するまでブロックします。

このコマンドは、内部システム コレクションへの書込みを実行する必要があります。何らかの理由でコマンドが正常に完了しない場合は、操作が冪等であるため、安全にコマンドを再試行できます。

戻る

スタンドアロン