NetBackup™ for MongoDB 管理者ガイド

Last Published:
Product(s): NetBackup & Alta Data Protection (10.4)
  1. NetBackup を使用した MongoDB の保護の概要
    1.  
      NetBackup を使用したシャード、レプリカセット、スタンドアロン MongoDB クラスタの保護について
    2.  
      NetBackup を使用した MongoDB データの保護
    3.  
      NetBackup for MongoDB の用語
    4.  
      制限事項
    5.  
      MongoDB を保護するための前提条件とベストプラクティス
  2. MongoDB Plug-in for NetBackup の前提条件の検証
    1.  
      オペレーティングシステムとプラットフォームの互換性
    2.  
      MongoDB プラグイン構成の前提条件
  3. NetBackup for MongoDB の構成
    1.  
      MongoDB 構成ツールについて
    2.  
      mongodb.conf ファイルを手動で作成するための前提条件
    3. mongodb.conf ファイルを使用する MongoDB のためのバックアップオプションの設定
      1.  
        NetBackup プライマリサーバーの許可リストに構成ファイルのパスを含める
    4.  
      MongoDB ノードの RSA 鍵の取得
    5. NetBackup での MongoDB クレデンシャルの追加
      1.  
        クレデンシャル設定ファイルについて
      2.  
        MongoDB クレデンシャルを NetBackup に追加するには
      3.  
        データを保護するための MongoDB 役割について
    6.  
      ホストユーザーの要件
    7. バックアップホストの管理
      1.  
        NetBackup プライマリサーバーの許可リストに NetBackup クライアントを含める
  4. NetBackup を使用した MongoDB のバックアップ
    1. MongoDB データのバックアップについて
      1.  
        MongoDB クラスタのバックアップ
    2.  
      MongoDB クラスタをバックアップするための前提条件
    3. MongoDB プラグイン用の NetBackup ポリシーの構成
      1.  
        Web UI を使用した、MongoDB クラスタ用 BigData バックアップポリシーの作成
  5. NetBackup を使用した MongoDB データのリストアまたはリカバリ
    1.  
      MongoDB データのリストアについて
    2.  
      MongoDB のリストアおよびリカバリの前提条件
    3.  
      同じクラスタへの MongoDB データのリストア
    4.  
      代替クラスタへの MongoDB データのリストア
    5.  
      高可用性の設定にある MongoDB データの代替クライアントへのリストア
    6.  
      リカバリプロセス後の手動の手順
  6. トラブルシューティング
    1.  
      NetBackup for MongoDB のデバッグログについて
    2.  
      NetBackup を使用した MongoDB の保護に関する既知の制限事項
  7. 付録 A. 追加情報
    1.  
      MongoDB のクレデンシャルを追加および更新するための MongoDB 構成ユーティリティのサンプルワークフロー

mongodb.conf ファイルを使用する MongoDB のためのバックアップオプションの設定

メモ:

MongoDB 構成ツールを使用する場合、これらの手動の手順は必要ありません。

NetBackup はデフォルトのオプションを使用して、MongoDB データをバックアップします。バックアップ操作中に使用するカスタムオプションを指定するには、UNIX の場合 /usr/openv/var/global/ ディレクトリに mongodb.conf ファイルを作成し、Windows プライマリサーバーの場合 <Install_Dir>\NetBackup\var\global\ を作成する必要があります。

注意:

ファイル名 mongodb.conf は大文字と小文字が区別されます。

mongodb.conf ファイル内のすべてのオプションを指定する必要はありません。NetBackup はカスタム値が設定されていないオプションに対してデフォルト値を使用します。

mongodb.conf ファイルで JSON 形式が使用されていることを確認し、ファイルパスを許可リストに追加します。(bp.confbpcd_allowed_path オプションを使用します。)

NetBackup プライマリサーバーの許可リストに構成ファイルのパスを含めるを参照してください。

mongodb.conf ファイルのバックアップオプション

次のバックアップオプションとその値を、mongodb.confファイルで指定できます。

注意:

ファイルのオプションでは、大文字と小文字が区別されます。

オプション

詳細

application_servers

プライマリ設定サーバーの完全修飾ドメイン名 (FQDN) またはホスト名、またはその短縮名とポート番号、mongodmongos ポートを次の形式で指定します。

clientFQDN_OR_hostname_OR_shortname:portnumber

application_server が、MongoDB 環境で使用され、db.hostInfo() コマンドを使用して検証されたホスト名の値と一致することを確認します。

たとえば、db.hostInfo() ではホスト名の値は次のように表示されます:

"hostname" : "<hostname_value>:<port>"

警告:

MongoDB 用のアービターノードとして動作するノードは入力しないでください。

alternate_config_server

セカンダリまたは代替設定サーバーの完全修飾ドメイン名 (FQDN) またはホスト名、またはその短縮名とポート番号。1 つのクラスタには、代替設定サーバーを 1 つだけ追加できます。

値には次の形式を使用します。

clientFQDN_OR_hostname_OR_shortname:portnumber

alternate_config_server が、MongoDB 環境で使用され、db.hostInfo() コマンドを使用して検証されたホスト名の値と一致することを確認します。

たとえば、db.hostInfo() ではホスト名の値は次のように表示されます:

"hostname" : "<hostname_value>:<port>"

プライマリ設定サーバーへの接続が失敗した場合は、最初の有効な代替設定サーバーが使用されます。

シャード MongoDB クラスタの場合、mongod プロセスと mongos プロセスの両方が代替構成サーバーで実行される必要があります。

すべての application_servers エントリに対して、alternate_config_server の値を個別に入力する必要があります。

cleanup_time_in_min

取り消されたジョブのために作成された古いスナップショットまたは oplogstore をクリーンアップする時間を分単位で指定できます。

値は、整数で指定する必要があります。

free_space_percentage_snapshot

このオプションでは、スナップショットを作成するために使用できるボリュームグループ上の空き領域の割合を指定します。このオプションは完全バックアップの場合にのみ使用されます。

デフォルト値 (指定されていない場合) は 20% です。値は 0 から 100 の間である必要があります。パーセント記号 (%) は使用しないでください。

たとえば、vgdisplay コマンドを実行して、"Free PE / Size" フィールドの値を確認します。この free_space_percentage_snapshot 値は、データパスが存在するボリュームグループの Free PE / Size の割合です。

バックアップ操作時の MongoDB インスタンスのデータ変更率と、ボリュームグループで利用可能な空き容量に基づいて、 free_space_percentage_snapshot 値を調整します。

たとえば、次の場合に実行します。

  • データ変更率は 250 MB

  • ボリュームグループに 1 GB Free PE / Size がある

  • データ変更率は空き PE/サイズの 25%

この場合、free_space_percentage_snapshot の最小値を 25% として指定します。

空き領域スナップショットの割合の値を小さくしすぎると、スナップショット (およびその後のバックアップ) にエラーが発生する可能性があります。

空き領域のスナップショットの割合の値を大きくしすぎると、ボリュームグループの利用可能な領域の量が減る可能性があります。

一般的な方法について詳しくは lvcreateコマンドについて Linux のマニュアルページを参照してください。

data_channel_tls

このパラメータを使用して、MongoDB クラスタとバックアップホスト間のデータチャネルの暗号化を無効または有効にします。

たとえば、"data_channel_tls": false を使用して、データチャネルの暗号化を無効にします。

デフォルトでは、NetBackup バックアップホストとシンクライアント (mdbserver) 間のすべてのトラフィックが TLS チャネルを介します。シンクライアント (mdbserver) からバックアップホストへのデータ移動に対してこの TLS を無効にして、パフォーマンスを向上させることができます。

メモ:

このオプションが無効になっている場合でも、クレデンシャルなどの制御データと機密データは TLS チャネルを介して転送されます。

logdir

MongoDB ノードでシンクライアント (mdbserver) ログが生成される場所。

デフォルトの場所は /tmp です。ディレクトリパスを指定しても、ディレクトリがサーバー上に存在しない場合は、NetBackup はディレクトリを作成します。

loglevel

ログレベルを指定します。

デフォルト値は 3 です。

ログレベルの値については、次のオプションを参照してください。

  • ESERROR = 1

  • ESWARN = 2

  • ESINFO = 3

  • ESDEBUG = 4

  • ESTRACE = 5

  • ESCRITICAL = 6

max_log_mbsize

NetBackup シンクライアントログファイルの最大ファイルサイズを MB 単位で指定します。

デフォルトサイズは 10 MB です。新しいログファイルは毎日作成されるか、既存のログファイルが最大サイズを超える場合に作成されます。ログファイルの作成は進行中のジョブに影響せず、mdbserver によって実行される次回のジョブの間にログのロールオーバーが行われます。

ログは 30 日後にクリーンアップされます。

max_streams

メモ:

このパラメータは、シャード MongoDB クラスタにのみ適用されます。

バックアップホストごとの並列データストリームの数を定義します。最小値は 32 です。

max_streams が定義されない場合、デフォルト値は、バックアップホストごとに 32 個の並列データストリームになります。

mongodb.conf ファイルに次のエントリを追加します。

max_streams:
      {
       "global_default":<set_value>,
       "<backup_host>":<set_value>
      }

ここで示された文字列については、次のとおりです。

  • global_default

    すべてのバックアップホストの並列データストリームのデフォルトの上限。

  • backup_host

    指定したバックアップホストの並列データストリームのデフォルトの上限を設定します。

    backup_host は、バックアップポリシーで指定されているものと同じである必要があります。複数のバックアップホストがある場合は、このエントリをすべてのバックアップホストに対して繰り返すことができます。バックアップホストを指定しない場合は、global_default 値が使用されます。

メモ:

このオプションは、バックアップホストごとの並列データストリームの数の上限を設定します。バックアップジョブまたはリカバリジョブは、利用可能なすべてのストリームは使用しないことがあります。

mdb_progress_loglevel

アクティビティモニターにリストアされたファイルの進捗ログ情報を出力できます。

デフォルト値は 0 (オフ) です。

有効にするには、"mdb_progress_loglevel": 1 を設定します。

メモ:

このオプションを有効にすると、リカバリ時間が長くなる可能性があります。

mdbserver_location

MongoDB バックアップとリストア操作に必要な MongoDB ノードのシンクライアント (mdbserver) バイナリをコピーする場所を指定します。

ファイルは、保護する必要があるデータが含まれているサーバーにコピーされ、バックアップ操作の完了後に削除されます。

ファイルのコピー先のデフォルトの場所は /tmp です。

メモ:

ディレクトリの権限で競合が発生する可能性があるため、マウントパスまたは高レベルの Linux ディレクトリは指定しないでください。たとえば、/root、/etc、/usr、/bin、/home などのパスを指定しないでください。

mdbserver_port

MongoDB ノードで実行されている NetBackup シンクライアント (mdbserver) に接続するためにバックアップホストによって使用されるポート。

デフォルト値は 11000です。

この値は文字列です。

mdbserver_port_range

このパラメータは、単一の MongoDB ノードで複数の mongod インスタンスが実行される場合に使用します。

このオプションを使用すると、既存のポートが使用中の場合に、バックアップおよびリストア操作の範囲内で次に利用可能なポートを使用できます。

このオプションを使用すると、複数の NetBackup シンクライアント (mdbserver) を配備して、異なるポートで同時に複数のバックアップジョブを実行できます。

値を "mdbserver_port_range":range_value として入力します。ここで、range_value は利用可能なポート番号の範囲を定義する整数です。たとえば、range_value を 10 として追加し、mdbserver_port が 12000 と定義されている場合、ポート範囲は 12000 から 12009 が使用されます。

デフォルトの値は 10 です。

同時にバックアップされる MongoDB ホスト上の mongod インスタンスの数に基づいて、この値を変更します。

mdbserver_timeout_min

NetBackup シンクライアント (mdbserver) プロセスが強制終了するまで待機する時間を分単位で定義します。

デフォルト値は 300 (分) です。

バックアップ処理時間に、より長い時間が必要な場合は、300 分より大きい値を設定します。

理想的には、mdbserver はプラグインが終了した後またはバックアップが完了した後に強制終了します。

mongos_port

mongos プロセスが通信に使用するポート。

このパラメータは、シャード MongoDB クラスタの必須のパラメータです。

alternate_config_server または application_servers エントリにそれぞれこの値を指定する必要があります。

この値は文字列です。

oplog_location

差分増分バックアップの場合は、MongoDB oplog ファイルを格納するためのカスタムディレクトリを指定します。

この場所はバックアップイメージに格納されます。

デフォルトの場所は /tmp/oplogstore です。

この場所には、増分バックアップの oplog データ用に十分な空き領域があることを確認します。

snapshot_mount_path

完全バックアップの間に LVM スナップショットをマウントするための MongoDB ノードのパスを指定します。

デフォルトパスは /tmp です。

メモ:

MongoDB クレデンシャルファイルで構成した HostUser が、mongodb.conf ファイルに記述されているすべてのパスに対する読み取りおよび書き込み権限を持っていることを確認します。

すべてのオプションを追加しない場合は、不足しているオプションについてのエントリがログに追加されます。デフォルト値が、指定されていないオプションに対して使用され、バックアップ操作が続行されます。

mongodb.conf ファイルの内容の例
{
  "application_servers": {
    "FQDN_primary_configuration_server_1:port": {
      "alternate_config_server": [
        {
          "hostname:port": "FQDN_alternate_configuration_server_1:26051",
          "mongos_port": "26051"
        }
      ],
      "mongos_port": "26052"
    },
    "FQDN_primary_configuration_server_2:port": {
      "alternate_config_server": [
        {
          "hostname:port": "FQDN_alternate_configuration_server_2:26053",
          "mongos_port": "26053"
        }
      ],
      "mongos_port": "26054"
    }
  },
  "mdbserver_location": "/path/to/store/mdbserver/",
  "logdir": "/path/to/store/logdir/",
  "mdbserver_port": "21020",
  "loglevel": 5,
  "max_log_mbsize": 4,
  "oplog_location": "/path/to/store/oplog/",
  "free_space_percentage_snapshot": "25",
  "mdb_progress_loglevel": 1,
  "snapshot_mount_path": "/path/to/mount/snapshot/",
		"max_streams":
			{
					"global_default":2,
					"FQDN_backup_host_1":1
			}
}