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