NetBackup™ for MongoDB 管理者ガイド
- NetBackup を使用した MongoDB の保護の概要
- MongoDB Plug-in for NetBackup の前提条件の検証
- NetBackup for MongoDB の構成
- NetBackup を使用した MongoDB のバックアップ
- NetBackup を使用した MongoDB データのリストアまたはリカバリ
- トラブルシューティング
- 付録 A. 追加情報
MongoDB のリストアおよびリカバリの前提条件
ソース MongoDB クラスタ (バックアップ中) とターゲット MongoDB クラスタ (リカバリ中) が同じであることを確認します。
MongoDB のバージョン
認証タイプ
MongoDB データのリストアに tpconfig コマンドを使用して設定するユーザーに、対象の MongoDB ディレクトリのすべてのファイルとサブフォルダに対する読み取り、書き込み、実行の権限があることを確認します。NetBackup は、MongoDB インスタンスをリカバリして実行するためにこのユーザーアカウントを使用します。
代替クラスタに MongoDB データをリストアする前に、ソースクラスタのクレデンシャルファイルに代替 MongoDB クラスタのクレデンシャルを追加していることを確認します。
NetBackup での MongoDB クレデンシャルの追加を参照してください。
リカバリ操作を開始する前に、宛先クラスタで PEM ファイルまたはセキュリティ証明書が利用可能であることを確認します。
リカバリ処理中のターゲットクラスタの認証形式は、バックアップ中の認証形式と同じである必要があります。
リカバリ処理中に、ターゲットの MongoDB クラスタに、データをリストアするための十分な空きストレージ領域があることを確認します。
リカバリ時には、完全バックアップイメージグループとそれに関連する後続の増分イメージだけが選択されていることを確認します。複数の完全バックアップイメージグループを選択した場合、リストアされたデータが破損する可能性があるため、リカバリが失敗することがあります。
MongoDB 用 NetBackup プラグインでは、クロスプラットフォームのファイルシステムのリストアはサポートされません。たとえば、XFS から ext4、またはその逆はサポートされません。
リストアまたはリカバリ中に、tpconfig コマンドで定義された HostUser の値が、MongoDB クラスタの設定に使用されるホストユーザーアカウント (MongoDB デーモンのホストユーザーアカウント) と同じであることを確認します。
リストアジョブを送信する前に、Web UI の宛先クライアントでバックアップホストを選択していることを確認します。
指定した時点へのリカバリは、増分バックアップからのリカバリにのみ有効です。
複合リストアジョブの親ジョブをキャンセルしても、子リストアジョブはキャンセルされません。子リストアジョブも手動で取り消す必要があります。
Web UI からリストアジョブまたはリカバリジョブを実行した後、[タスクの進捗 (Task Progress)] タブでジョブレコードと状態を検索します。ジョブがリストに表示されるまでに時間がかかる可能性があり、複合ジョブは親のリカバリ前チェックをトリガするのに時間がかかることがあります。[タスクリストの更新 (Update Task List)] をクリックして、タスクリストを更新します。
シャードクラスタのリストアのみ操作では、標準のリストアのみ手順に従います。
リストアを開始する前に、すべての MongoDB プロセス (mongos または mongod) を停止します。
MongoDB ログファイルのパスは元の構成と同じままになります。代替リストアを実行する場合、次のようにします。
リストア時に同じパスが利用可能であることを確認
リカバリが正常に実行された後に、mongod または mongos プロセスの構成ファイルのログファイルパスを変更します。
リカバリ操作が正常に実行されるようにするには、宛先の MongoDB クラスタで、
.pid
ファイルへのパスが利用可能である必要があります。同じサーバー上で複数の MongoDB クラスタが実行され、同じまたは異なるバックアップポリシーを使用してバックアップされるシナリオの場合は、リストアする適切なアプリケーションサーバーを選択していることを確認します。
たとえば、次の構成の複数のクラスタがあるとします。
Replica1 Primary: host1:26050 Secondary: host1:26060 Replica2 Primary: host1:26055 Secondary: host1:26066
Replica1 をリカバリする場合、正しいアプリケーションサーバーとそのポート (host1-26050) をソースクライアントとして Web UI で指定していることを確認します。
リカバリ操作を開始する前に、次のパスの MongoDB インスタンスで古い mdbserver (シンクライアント) プロセスが実行されていないことを確認します。
/<mdbserver_location>/<Host>-<MongodPort>-<mdbserver_port in range>/mdbserver
リカバリ対象の同じ MongoDB インスタンスの MongoDB ホストで古い mdbserver プロセスが実行されている場合、リカバリ操作は MongoDB インスタンスを終了できません。この問題により、リカバリジョブが応答を停止します。
MongoDB クラスタのリストアとリカバリには、バックアップ時に使用されるセキュリティモードと同じモードが必要です。元のクラスタとターゲットクラスタのセキュリティモードが同じであることを確認してください。
たとえば、バックアップ時に SSL を使用した場合、リカバリは SSL を使用して行われ、ターゲットの設定は SSL に変更されます。同様に、バックアップ時に TLS を使用した場合、リカバリは TLS を使用して行われ、ターゲットの設定は TLS に変更されます。
MongoDB クラスタのリストアとリカバリには、バックアップ時に使用される機能の互換性のバージョン (FCV) と同じ値が必要です。元のクラスタとターゲットクラスタの FCV が同じであることを確認してください。
たとえば、バックアップ時の FCV が 4.2 の場合、リストアでは FCV 4.2 を使用し、リカバリ処理の完了後、ターゲットクラスタは FCV 4.2 になります。同様に、バックアップ時の FCV が 4.0 の場合、リストアでは FCV 4.0 を使用し、リカバリ処理の完了後、ターゲットクラスタは FCV 4.0 になります。