AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

MongoDB Enterprise(シャーディングされたクラスター)へのアップグレード

MongoDB Enterpriseは 、次のようなMongoDB Community Editionでは利用できないさまざまな機能を提供しています。

次の手順では、シャーディングされたクラスターを MongoDB Community Edition から MongoDB Enterprise Edition にアップグレードする手順を概説します。 たとえば、次の手順を使用して MongoDB 7.0をアップグレードできます MongoDB 7.0へのコミュニティ Enterprise。

警告

別のリリース バージョンにアップグレードする場合は、以下の手順は使用しないでください。

MongoDB のバージョン番号付け、リリースの種類、アップグレードパスに関する一般的なガイダンスについては、MongoDB のバージョンとアップグレードパス。を参照してください。

オペレーティング システムに応じて、パッケージ マネージャーを使用するか、バイナリを手動でダウンロードして、MongoDB Enterprise バイナリをインストールできます。

パッケージ マネージャーを使用して MongoDB Community をインストールした場合は、ご使用のオペレーティング システムのパッケージ マネージャーの手順に従います。

インストール中に、パッケージ マネージャーはコミュニティ パッケージを削除します。これは再起動するまで実行中の配置には影響しません。

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

1

mongoshmongosシャーディングされたクラスター内のsh.stopBalancer() インスタンスに接続し、 を実行してバランサーを無効にします。

sh.stopBalancer()

注意

移行が進行中の場合、システムは進行中の移行を完了してから、バランサーを停止します。 sh.isBalancerRunning()を実行して、バランサーの現在の状態を確認できます。

バランサーが無効になっていることを確認するには、 sh.getBalancerState()を実行します。バランサーが無効になっている場合は false を返します。

sh.getBalancerState()

MongoDB 6.0.3以降、 自動チャンク分割は実行されません。 これはバランシング ポリシーの改善によるものです。 自動分割コマンドは引き続き存在しますが、操作は実行されません。

MongoDB バージョン 6.0.3 より前では、sh.stopBalancer() によってシャーディングされたクラスターの自動分割も無効になります。

バランサーを無効にする方法の詳細については、「 バランサーを無効にする 」を参照してください。

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

    1. セカンダリmongodインスタンスをシャットダウンします。

    2. 同じ構成mongod (例: 同じデータディレクトリ、構成ファイルなど)。

    3. 次のセカンダリ ノードをアップグレードする前に、ノードがSECONDARY状態に回復するまで待機します。 メンバーの状態を確認するには、rs.status() でmongosh を発行します。

    残りのセカンダリ メンバーごとにを繰り返します。

  2. レプリカセットのプライマリを降格します。

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

    rs.stepDown()
  3. rs.status()でプライマリが降格し、別のノードがプライマリであることが示されたら、降格したプライマリをアップグレードします。

    1. 降格したプライマリをシャットダウンします。

    2. 同じ構成mongod (例: 同じデータディレクトリ、構成ファイルなど)。

3

シャードを一度に 1 つずつアップグレードします。

各シャード レプリカセット:

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

    1. セカンダリmongodインスタンスをシャットダウンします。

    2. 同じ構成mongod (例: 同じデータディレクトリ、構成ファイルなど)。

    3. 次のセカンダリ ノードをアップグレードする前に、ノードがSECONDARY状態に回復するまで待機します。 メンバーの状態を確認するには、rs.status() でmongosh を発行します。

    残りのセカンダリ メンバーごとにを繰り返します。

  2. レプリカセットのプライマリを降格します。

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

    rs.stepDown()
  3. rs.status()でプライマリが降格し、別のノードがプライマリであることが示されたら、降格したプライマリをアップグレードします。

    1. 降格したプライマリをシャットダウンします。

    2. 同じ構成mongod (例: 同じデータディレクトリ、構成ファイルなど)。

4

mongosインスタンスごとに、 mongosをシャットダウンし、Enterprise mongosで再起動し、同じ構成オプションを指定します。

5

mongoshを使用してクラスター内のmongosに接続し、 sh.startBalancer()を実行してバランサーを再度有効にします。

sh.startBalancer()

MongoDB 6.0.3以降、 自動チャンク分割は実行されません。 これはバランシング ポリシーの改善によるものです。 自動分割コマンドは引き続き存在しますが、操作は実行されません。

MongoDB バージョン 6.0.3 より前では、sh.startBalancer() によってシャーディングされたクラスターの自動分割も有効になります。

バランサーの詳細については、「 バランサーを有効にする 」を参照してください。

重要

Enterprise 機能を使用する前に、すべてのメンバーが Enterprise エディションにアップグレードされていることを確認してください。