NetBackup™ for MongoDB 管理者ガイド
- NetBackup を使用した MongoDB の保護の概要
- MongoDB Plug-in for NetBackup の前提条件の検証
- NetBackup for MongoDB の構成
- NetBackup を使用した MongoDB のバックアップ
- NetBackup を使用した MongoDB データのリストアまたはリカバリ
- トラブルシューティング
- 付録 A. 追加情報
NetBackup を使用した MongoDB の保護に関する既知の制限事項
次の表に、NetBackup を使用した MongoDB の保護に関する既知の制限事項を示します。
表: 既知の制限事項
制限事項 |
回避方法 |
---|---|
リストアとリカバリ操作を開始する前に、複数の mongos プロセスを含む高可用性シャード MongoDB クラスタでは、構成サーバーレプリカセット (CSRS) イメージのリストア先で mongos プロセスのみが実行されている必要があります。 リストア操作とリカバリ操作を開始する前に、クラスタ内の他の mongos プロセスを手動で停止します。 リカバリ後、リカバリされたクラスタを指すように、mongos サービスを再構成します。 1 つを除くすべてのノードで mongos プロセスが停止していない場合、追加の mongos プロセスがリストアおよびリカバリ操作と競合することがあり、リストアされるデータが mongos への接続を介してアクセス不能になる可能性があります。 |
リストアとリカバリを開始する前に mongos プロセスが停止していない場合は、リカバリ後に、古い mongos プロセスを手動で停止して、クラスタ内のすべてのリカバリされた mongod と mongos プロセスを再起動する必要があります。 |
構成ファイルへの絶対パスを使用して、MongoDB プロセスを開始する必要があります。証明書ファイルと CA ファイルの絶対パスも使用する必要があります。CA ファイル、PEM ファイル、鍵ファイルの絶対パスも指定する必要があります。 |
該当なし |
バックアップの変更中に存在した認証形式を変更し、別の認証を必要とするリカバリジョブを実行すると、リカバリ処理が失敗することがあります。 |
リカバリ中の認証形式が、バックアップ中に使用した形式と同じであることを確認します。 |
ボリュームグループまたは論理ボリュームの名前を変更した場合、バックアップの実行後、後続のバックアップが失敗することがあります。 |
該当なし |
リカバリ時には、1 つの完全バックアップイメージとそれに関連する後続の増分イメージだけが選択されていることを確認します。複数のイメージを選択した場合、リストアされたデータが破損する可能性があるため、リカバリが失敗することがあります。 |
該当なし |
MongoDB クラスタをリカバリした後、リストアされたノードのクラスタ情報のみが利用可能です。 |
リカバリ処理が完了したら、クラスタにセカンダリノードを手動で追加します。 詳しくは、次の記事を参照してください。add-members-to-the-replica-set |
バックアップ処理中に、MongoDB インポート操作が実行されていると、応答しなくなる可能性があります。バックアップまたはリストア処理中は、MongoDB インポート操作を回避します。 |
該当なし |
リストア処理中に、[リストアは正常に開始されました (The restore was successfully initiated)]というポップアップが表示されますが、リストアジョブは開始されません。 この問題は、Web UI でソースクライアントと宛先クライアントの両方にアプリケーションサーバーを入力した場合に発生します。 |
ソースクライアントと宛先クライアントが正しく入力されていることを確認します。ソースクライアントはアプリケーションサーバー、宛先クライアントはバックアップホストである必要があります。 |
環境に DNAT がある場合は、バックアップホストまたはリストアホストとすべての MongoDB ノードが同じプライベートネットワークにあることを確認します。 |
該当なし |
MongoDB 用 NetBackup プラグインでは、コマンドライン bprestore のオプション -w および -print_jobid はサポートされません。 |
該当なし |
MongoDB のリストアは、バックアップホストからはサポートされません。MongoDB のすべてのリストア操作は、NetBackup プライマリから開始する必要があります。 |
該当なし |
リストアジョブの送信にリストアジョブが表示されない場合は、宛先ノードに MongoDB プラグインがインストールされているかどうかを確認します。 |
該当なし |
非 LVM の場所に MongoDB データベースをリストアして、この非 LVM の場所からバックアップを作成しようとすると、バックアップは失敗します。 |
LVM の場所にデータをリストアし、リストアされたデータのバックアップの作成を試行します。 |
MongoDB 用 NetBackup プラグインでは、データパスフォルダ内のハードリンクまたはソフトリンクはサポートされません。異なる論理ボリュームまたは非論理ボリュームの場所を指すハードリンクまたはソフトリンクを追加しないでください。 NetBackup は、データパスフォルダにハードリンクまたはソフトリンクがある場合、バックアップ時にデータが一貫していることを保証できません。リストア処理時に、ハードリンクまたはソフトリンクはリンクではなくフォルダとして作成されます。 |
該当なし |
MongoDB のリストアおよびリカバリ処理中に子のリストアジョブをキャンセルすると、シンクライアント (mdbserver) はすぐには削除されません。シンクライアントは、次のリストア操作の後に削除されます。 |
該当なし |
MongoDB のリストアが失敗し、エラー 2850 が表示されます。 |
次の解決策の 1 つまたは複数を試します。
|
リカバリ後に、MongoDB シャードノードを手動で再起動できず、MongoDB のログに次のエラーが表示されます。 NoSuchKey: Missing expected field "configsvrConnectionString" |
問題が発生した MongoDB シャードで、保守モードで MongoDB を起動し、管理データベースの system.version コレクションで次の方法を実行します。 use admin db.system.version.deleteOne ( { _id: "minOpTimeRecovery" } ) |
1 つ以上のレプリカセットを含むリストア操作とリカバリ操作では、rs.config() によって提供されるデフォルトの "cfg.members[#].host" 値を使用して、レプリカセットメンバーがレプリカセットにリストアされます。 この値が以前にデフォルト値から更新された場合、リストアおよびリカバリが完了した後に、元の構成と一致するようにこの値を更新する (たとえば、短縮名から FQDN など) 必要がある場合があります。 |
回避方法:
|
バックアップジョブが失敗し、次のエラーコードが表示されます。
|
同じ MongoDB クラスタについて、増分バックアップのバックアップ処理時間が異なることを確認します。同じ MongoDB クラスタの増分バックアップでは、バックアップ処理時間が互いに重複しないようにする必要があります。 mdbserver の場所、oplog の場所、スナップショットのマウントの場所に対して権限が適切に設定されていることを確認します。詳しくは、root 以外のユーザーのホストユーザーとしての使用を参照してください。 シャード MongoDB クラスタ環境で、112 エラーは、バックアップポリシーで定義されたクライアントで mongos プロセスが実行されていないことを示す場合があります。 また、エラー 112 は、複数のバックアップホストの同じホスト名が BigData ポリシーに追加されていることを示す場合もあります。バックアップ操作を実行している複数のバックアップホストに対して、一意のホスト名を使用します。 |
リストアおよびリカバリ操作の後に、mongod サービスまたは mongos サービス (service mongod stop または service mongod restart) を停止して再起動しようとすると、コマンドは失敗します。 このエラーは、mongod プロセスまたは mongos プロセスが、service コマンドまたは systemctl コマンドを使用してサービスとして起動され、直接コマンドを使用していない場合に発生します。 |
回避方法: 別の方法を使用して、mongod サービスまたは mongos サービスを停止します。たとえば、mongod -f /etc/mongod.conf --shutdown や kill <PID> などです。サービスを停止した後、service コマンドまたは systemctl コマンドを再び使用できます。 メモ: リストアとリカバリの後でサービスを停止すると、.pid ファイルまたは .sock ファイルは、mongod プロセスまたは mongos プロセスを終了するときにそのまま残ります。mongod サービスまたは mongos サービスがシャットダウン後に開始されない場合は、ファイルを削除する必要があります。 .sock ファイルのデフォルトの場所は /tmp です。 .pid ファイルのデフォルトの場所は /var/run/mongodb/ です。 |
.bashrc で出力を生成するコマンドが追加された場合、バックアップ操作は失敗します。 バックアップはエラー 6646 で失敗し、次のエラーが表示されます。 エラー: サーバーと通信できません。(Unable to communicate with the server.) |
.bashrc (echo またはその他の出力生成コマンド) で出力が生成されないことを確認します。シェルが非対話型である場合、出力に STDERR または STDOUT を返すことはできません。 |
2 つの完全バックアップイメージを選択し、2 つの完全バックアップイメージの間の指定した時点のイメージにリストアしようとすると、最新の完全バックアップイメージがリストアされます。 |
回避方法: リストアおよびリカバリ操作中は、複数の完全バックアップイメージを選択しないでください。 指定した時点へのリカバリを効果的に行うには、より短い期間で差分増分バックアップを実行します。 |
アクティビティモニターでリストアジョブの進行状況を表示できません。 |
回避方法: リストアホストとしてプライマリ以外のサーバーを使用する複合リストアジョブの場合、[タスクリストの更新 (Update Task List)]ボタンを使用して、アクティビティモニターのリストアジョブの進行状況を表示する必要があります。 |
バックアップが次のエラーで失敗します。 (6625) バックアップホストは、操作を実行する権限がないか、アプリケーションサーバーとの接続を確立できません。(The backup host is either unauthorized to complete the operation or it is unable to establish a connection with the application server.) |
回避方法: MongoDB がインストールされたサーバーで、 sudo service sshd restart コマンドを実行します。 |
バックアップが次のエラーで失敗します。 (6646) サーバーと通信できません。(Unable to communicate with the server.) |
回避方法: バックアップホストが、 次の理由により、MongoDB サーバーのシンクライアントファイルのコピー中にエラーが発生する場合があります。
|
次のエラーが mdbserver ログに表示されます。 error-sudo: sorry, you must have a tty to run sudo |
回避方法:
|
nbaapireq_handler ログフォルダが、mklogdir コマンドを実行した後も Flex コンテナに作成されません。 |
回避方法: Flex アプライアンスがバージョン 8.1.2 から 8.2 にアップグレードされ、Flex メディアサーバーがバックアップホストとして使用されている場合、MongoDB プラグインのリストアログにログを記録するために、nbaapireq_handler フォルダが /usr/openv/netbackup/logs/ ディレクトリ内に作成されます。 |
free_space_percentage_snapshot パラメータによって記述されるスナップショットサイズは、MongoDB クラスタサイズに従って設定する必要があり、十分な大きさである必要があります。これらの条件が満たされない場合、バックアップは失敗し、次のエラーが表示されます。 invalid command parameter (20) |
MongoDB クラスタで free_space_percentage_snapshot 値を検証します。 |
バックアップが次のエラーで失敗します。 (13) メディアのファイルの読み込みに失敗しました (file read failed for Media) |
次のことを確認します。
|
mdb_progress_loglevel パラメータが MongoDB 構成ツールから見つかりません。 |
mdb_progress_loglevel パラメータを変更するには、 詳しくは、『MongoDB 管理者ガイド』を参照してください。 |
スナップショットが削除されず、古い mdbserver インスタンスが表示されます。このシナリオでは、バックアップ中に Cannot lstat エラーが発生するか、バックアップが部分的に成功する可能性があります。 |
mongodb.conf ファイル内の次のパラメータの構成設定を変更します。
次回の完全バックアップスケジュールまたは増分バックアップスケジュールの前に、mdbserver の無効なスナップショットと無効なインスタンスが消去されるように値を設定します。 |
バックアップホストに 8.3 より前のバージョンの NetBackup があり、プライマリサーバーとメディアサーバーに NetBackup の最新バージョンがある場合、次の無効なエラーコードが各種シナリオで表示されることがあります。 13302、13303、13304、13305、13306、13307、13308、13309、13310、13311、13312、13313、13314、13315 |
回避方法: 実際のシナリオおよび推奨処置に対して無効なエラーコードが表示された場合は、対応する次の実際のエラーコードのリストを参照してください。
推奨処置について詳しくは、『NetBackup 状態コードリファレンスガイド』を参照してください。 |
インポートされた MongoDB バックアップイメージでは、NetBackup Web UI の[リストア (Restore)]ボタンを無効になる場合があります。 |
回避方法: 元のバックアップに使用されていたのと同じ NetBackup プライマリサーバーにイメージをインポートする場合は、次のいずれかの方法を使用します。
最初にバックアップを作成したときと異なる NetBackup プライマリサーバーにイメージをインポートする場合は、bprestore コマンドを使用してリストア操作を実行します。 |
代替のシャード MongoDB クラスタでリカバリ操作が失敗します。次のエラーが表示されます。 構成パラメータが見つかりません。(Unable to find the configuration parameter.)(6661) |
この問題は、リカバリ前チェックで代替クラスタの mongos ポートが 回避方法: リカバリ処理を開始する前に、 次に例を示します。 既存の "application_servers": { "original.mongodb.cluster.com:26050": { "alternate_config_server": [ { "hostname:port": "alt.mongodb.cluster.com:26000", "mongos_port": "26001" } ], "mongos_port": "26051" } } 更新後の "application_servers": { "original.mongodb.cluster.com:26050": { "mongos_port": "26051" }, "alt.mongodb.cluster.com:26000": { "mongos_port": "26001" } } |
MUI ツールで次のエラーが表示されます。 構成を削除できません。(Unable to delete configuration.) |
推奨処置:
回避方法: /usr/openv/var/global から <hostname-port>.conf ファイルを手動で削除します。 |
MongoDB で証明書ベースの認証が有効になっている場合、差分増分バックアップがエラー 6709「コマンドを実行できません。(Unable to run the command.)」で失敗します。 |
回避方法: エラーコードとコマンドについて詳しくは、
|