MongoDB の最新の自己管理型パッチ リリースへのアップグレード
項目一覧
MongoDB のバージョン番号は X.Y.Z
の形式で、Z
はパッチのリリース番号です。パッチ リリースは、セキュリティ パッチ、バグ修正、新機能、変更された機能のいずれかを提供するためのもので、通常下位互換性を損なう変更は含まれません。常にリリース シリーズの最新のパッチ リリースにアップグレードしてください。
バージョン管理について詳しくは、「 MongoDB のバージョン管理」を参照してください。
このタスクについて
このページでは、MongoDB 8.0リリース シリーズのアップグレード手順について説明します。異なるリリース シリーズをアップグレードするには、対応するバージョンのマニュアルを参照してください。
始める前に
アップグレードに向けてご利用の環境の準備が整っているか確認するには、以下のセクションをご覧ください。
バックアップ
データセットのバックアップが最新の状態であることを確認してください。 「自己管理型配置のバックアップ メソッド 」を参照してください。
互換性に関する考慮事項
MongoDB リリース特有の重要な注意点や互換性の問題については、次のドキュメントを参照してください。
メンテナンスウィンドウ
インストールににレプリカセットが含まれている場合は、事前定義されたメンテナンスウィンドウ中にアップグレードが実行されるように設定します。
ステージング環境のチェック
このドキュメントの手順に沿って、本番環境をアップグレードする前に、本番環境と同様のステージング環境をアップグレードしてください。アップグレードする前に、本番環境の構成がすべての変更に対応していることを確認してください。
手順
mongod
バイナリと mongos
バイナリを、それぞれ個別にアップグレードします。次の手順に沿ってアップグレードを行います。
認証を使用する配置の場合は、まずすべての MongoDB ドライバーをアップグレードします。アップグレードするには、「ドライバーのドキュメント」を参照してください。
すべてのスタンドアロン インスタンスをアップグレードします。 「 MongoDB インスタンスのアップグレード 」を参照してください。
「レプリカセットのアップグレード」の説明に従って、シャーディングされたクラスターの一部ではないレプリカセットをアップグレードします。
「 シャーディングされたクラスターのアップグレード 」の説明に従って、シャーディングされたクラスターをアップグレードします。
MongoDB インスタンスのアップグレード
8.0 の mongod
または mongos
インスタンスをアップグレードするには、次のいずれかの方法で行います。
オペレーティング システムのパッケージ管理ツールと公式の MongoDB パッケージを使用して、インスタンスをアップグレードする方法がおすすめです。「MongoDB のインストール」を参照してください。
既存のバイナリを新しいバイナリに置き換えて、 インスタンスをアップグレードします。 「既存のバイナリの置き換え 」を参照してください。
既存のバイナリの置き換え
このセクションでは、既存のバイナリの置き換えによって MongoDB をアップグレードする方法について説明します。オペレーティング システムのパッケージ管理ツールと公式の MongoDB パッケージを使用して、インスタンスをアップグレードする方法がおすすめです。詳しくは、「MongoDB のインストール」を参照してください。
以下は、既存のバイナリを置き換えて、mongod
インスタンスまたは mongos
インスタンスをアップグレードする方法です。
MongoDB ダウンロード ページ から最新の MongoDB パッチ リリースのバイナリをダウンロードし、一時的な場所に保存します。バイナリは圧縮ファイルとしてダウンロードされ、MongoDB インストールで使用されるディレクトリ構造に解凍されます。
インスタンスをシャットダウンします。
既存の MongoDB バイナリをダウンロードしたバイナリに置き換えます。
必要に応じて、構成ファイルを変更します。
インスタンスを再起動します。
レプリカセットのアップグレード
8.0 レプリカセットをアップグレードするには、セカンダリからプライマリまで、各メンバーを個別にアップグレードします。事前に決定されたメンテナンスウィンドウ中にアップグレードが実行されるように計画します。
重要
レプリカセットをアップグレードまたはダウングレードする前に、すべてのレプリカセット ノードが実行されていることを確認してください。そうしないと、すべてのノードが起動されるまでアップグレードまたはダウングレードは完了しません。
セカンダリのアップグレード
各セカンダリを以下のように個別にアップグレードします。
mongod
MongoDB インスタンスのアップグレード の手順に従って、セカンダリの バイナリをアップグレードします。セカンダリをアップグレードした後、次のインスタンスをアップグレードする前に、セカンダリが
SECONDARY
状態に回復するまで待機します。メンバーの状態を確認するには、mongosh
でrs.status()
を発行します。セカンダリは一時的に
STARTUP2
またはRECOVERING
になる場合がありますが、これは正常です。セカンダリが完全にSECONDARY
に回復してから、アップグレードを続行します。
プライマリのアップグレード
プライマリを降格して、通常のフェイルオーバー手順を開始します。次のいずれかを使用します。
mongosh
のrs.stepDown()
ヘルパーreplSetStepDown
データベース コマンド
セットは、フェイルオーバー中は書き込みを受け付けません。通常、これには 10 秒から 20 秒かかります。事前定義されたメンテナンスウィンドウ中にアップグレードが実行されるように計画します。
注意
プライマリを直接シャットダウンするより、プライマリを降格することをおすすめします。降格により、フェイルオーバー プロセスが迅速化します。
プライマリが退場したら、別のメンバーが
PRIMARY
状態になったことを確認するまで、mongosh
からrs.status()
メソッドを呼び出します。元のプライマリをシャットダウンし、「MongoDB インスタンスのアップグレード」の手順に従ってインスタンスをアップグレードします。
シャーディングされたクラスターのアップグレード
8.0のシャーディングされたクラスターをアップグレードするには、以下を実行します。
「バランサーの無効化」の説明に沿って、クラスターのバランサーを無効にします。
コンフィギュレーションサーバーをアップグレードします。
コンフィギュレーションサーバーのレプリカセットをアップグレードするには、「レプリカセットのアップグレード 」の手順に従います。
各シャードをアップグレードします。
シャードがレプリカセットである場合は、「レプリカセットのアップグレード」という手順を使用してシャードをアップグレードします。
シャードがスタンドアロン インスタンスの場合は、「 MongoDB インスタンスのアップグレード 」という手順を使用してシャードをアップグレードします。
構成サーバーおよびシャードがアップグレードされたら、「MongoDB インスタンスのアップグレード」の手順に従って、各
mongos
インスタンスをアップグレードします。mongos
インスタンスは任意の順序でアップグレードできます。「バランサーの有効化」の説明に沿って、バランサーを再度有効にします。