Veritas NetBackup 並列ストリームフレームワーク SDK 開発者ガイド

Last Published:
Product(s): NetBackup & Alta Data Protection (8.1.2)
  1. NetBackup Parallel Streaming Framework を使用したワークロードの保護
    1.  
      NetBackup Parallel Streaming Framework について
    2.  
      Parallel Streaming Framework SDK について
    3.  
      Parallel Streaming Framework を使用したバックアップ処理
    4.  
      Parallel Streaming Framework を使用したリストア処理
    5.  
      NetBackup Parallel Streaming Framework の用語
  2. NetBackup Parallel Streaming Framework プラグインアーキテクチャ
    1.  
      プラグインの操作
    2.  
      NetBackup Parallel Streaming Framework API アーキテクチャ
    3.  
      サポート対象の NetBackup 機能
  3. NetBackup Parallel Streaming Framework SDK の配備
    1.  
      オペレーティングシステムとプラットフォームの互換性
    2.  
      NetBackup Parallel Streaming Framework SDK のライセンス
    3.  
      NetBackup Parallel Streaming Framework SDK のダウンロード
    4.  
      NetBackup Parallel Streaming Framework SDK のインストール
  4. プラグイン開発の準備
    1.  
      NetBackup 環境の準備
    2. バックアップホストの管理
      1.  
        NetBackup マスターサーバー上の NetBackup クライアントのホワイトリスト
    3.  
      BigData バックアップポリシーの作成
    4.  
      認証機構の処理
    5.  
      NetBackup での作業負荷クレデンシャルの追加
    6.  
      セキュリティの考慮事項
    7.  
      プラグインを利用できるようにするために必要な認証
  5. サンプルプラグインの使用
    1.  
      サンプルプラグインについて
    2.  
      サンプルプラグインの開発
  6. 作業負荷プラグインの開発
    1.  
      プラグインの開発フェーズについて
    2.  
      プラグインの初期化フェーズについて
    3.  
      プラグインの要求フェーズについて
    4.  
      プラグインのアンロードフェーズについて
    5. 作業負荷検出フェーズについて
      1.  
        作業負荷ファイルについて
    6.  
      データバックアップフェーズについて
    7.  
      リストアフェーズについて
    8.  
      リカバリフェーズについて
    9.  
      API の実行時間の管理
    10.  
      開発中のプラグインの検証およびテスト
    11.  
      作業負荷プラグインのパッケージ化
  7. ワークロードプラグインの配備
    1.  
      NetBackup File Checksum Validator ツールを使用したプラグインの検証
    2.  
      バックアップホストへの作業負荷プラグインのインストール
    3.  
      作業負荷向けの NetBackup の構成
    4.  
      作業負荷のバックアップとリストアの実行
  8. NetBackup Parallel Streaming Framework API リファレンス
    1.  
      aapi_close_object
    2.  
      aapi_close_server
    3.  
      aapi_create_object
    4.  
      aapi_delete_object
    5.  
      aapi_discovery
    6.  
      aapi_flush
    7.  
      aapi_get_object_prop
    8.  
      aapi_get_object_prop_byname
    9.  
      aapi_get_server_prop
    10.  
      aapi_get_snappath_from_realpath
    11.  
      aapi_open_object
    12.  
      aapi_open_server
    13.  
      aapi_pgn_claim
    14.  
      aapi_pgn_init
    15.  
      aapi_postprocess
    16.  
      aapi_read_object
    17.  
      aapi_set_object_utimes
    18.  
      aapi_terminate
    19.  
      aapi_write_object
    20.  
      aapi_restore_preprocess
    21.  
      aapi_restore_postprocess
    22.  
      NetBackup Parallel Streaming Framework API の戻り値
  9. ログとトラブルシューティング
    1.  
      プラグインのログの有効化

リストアフェーズについて

リストアジョブに対して、ユーザーは、オブジェクトのリストア元となる NetBackup サーバーと、バックアップデータをリストアする必要があるクライアントを選択します。これにより、メディアサーバー上で bpbrm プロセスが実行されて、オブジェクトのリストア元の NetBackup サーバーでリストア操作が開始されます。オブジェクトは、同じ場所または代替の場所にリストアできます。リストアに使用されるのは、1 つのバックアップホストのみです。Parallel Streaming Framework を使用したリストア処理を参照してください。

リストア処理

リストアタスクは、次の図に示すように nbtar プロセス主導で進められます。

図: リストアフェーズの処理

リストアフェーズの処理
  1. 代替リストアの場合、オブジェクトのリストアパスは、バックアップされたオブジェクトパスから代替リストアパスに変更されます。

    たとえば、バックアップオブジェクトパスが /obj-container1/obj-container2/file.txt の場合、これは /mnt/vol-1/obj-container1/obj-container2/file.txt に変わります (代替の場所は mnt/vol-1)。

  2. aapi_get_object_prop_byname API は、オブジェクトプロパティを取得するために、オブジェクトリストアパスを使用して呼び出されます。

    たとえば、aapi_get_object_prop_byname API は、/mnt/vol-1/obj-container1/obj-container2/file.txt のメタプロパティを提供します。

  3. 4. オブジェクトリストアパスがすでに存在し、次の条件が該当する場合。

    • 上書きオプションが false に設定されている場合、オブジェクトのリストアはスキップされます。

    • 上書きオプションが true に設定されている場合、既存のオブジェクトを削除するために aapi_delete_object API が呼び出されます。

  4. aapi_create_object API の実装を使用して、新しいオブジェクトが作成されます。

    名前、サイズ、アクセス権、u/mtime、所有者などのオブジェクト情報は、オブジェクトプロパティの設定に使用する aapi_create_object の呼び出しに渡されます。

    aapi_create_object API は、リストアパスのすべてのオブジェクト (最初のオブジェクトからリーフオブジェクトまで) に対して呼び出されます。したがって、オブジェクトコンテナが存在しない場合は、これらも作成されます。

    たとえば、/mnt/vol-1/obj-container1/obj-container2/file.txt をリストアする場合、aapi_create_object API は階層ごとに 1 回ずつで合計 5 回呼び出されます。

    • /mnt - オブジェクトコンテナ

    • /mnt/vol-1 - オブジェクトコンテナ

    • /mnt/vol-1/obj-container1 - オブジェクトコンテナ

    • /mnt/vol-1/obj-container1/obj-container2 - オブジェクトコンテナ

    • /mnt/vol-1/obj-container1/obj-container2/file.txt - データコンテナ

  5. オブジェクトは、バックアップイメージからバックアップ済みコンテンツを読み込み、aapi_write_object API を呼び出すことでリストアされます。

    このプロセスは、オブジェクト全体が読み込まれるまで、順番に繰り返し実行されます。

  6. aapi_set_object_utimes API が呼び出されて、オブジェクトのアクセス時刻と修正時刻がリストアされます。

  7. すべてのオブジェクトがリストアされた後、aapi_set_object_utimes API が再び呼び出されて、オブジェクトコンテナのアクセス時刻と修正時刻がリストアされます。

  8. aapi_close_object API を呼び出してオブジェクト関連のクリーンアップを実行して、データオブジェクトが閉じられます。

関連するプロセスと API

リストアフェーズでは、次の NetBackup プロセスが順番に実行されます。

  1. bpbrm プロセスは、メディアサーバー上で実行されます。

  2. nbtar は、すべてのバックアップホストでバックアップを実行します。

リストアフェーズでは、次の API が順番に呼び出されます。

表: リストアフェーズの API 呼び出しの順番

フェーズ

API 呼び出し

サンプルのプラグインの参照

プラグインの初期化

aapi_pgn_init

aapi_pgn_init

PSF によるプラグインの要求

aapi_pgn_claim

samplepgn_claim_v1

接続の設定

aapi_open_server

samplepgn_open_server_v1

リストアフェーズ

  1. samplepgn_get_object_prop_byname_v1

  2. samplepgn_delete_object_v1

  3. samplepgn_create_object_v1

  4. samplepgn_set_object_utimes_v1

  5. samplepgn_write_object_v1

  6. samplepgn_close_object_v1

プラグインのアンロード

  1. samplepgn_close_server_v1

  2. samplepgn_terminate_v1

NetBackup のプラグインの初期化フェーズでのログ情報の追加

既存のエラーとは別に、関連するデバッグログファイルにカスタムログを作成します。

プラグインのログの有効化を参照してください。

開発中のプラグインの検証およびテスト

開発中のプラグインをテストする際に、それぞれの開発フェーズのログを確認します。プラグイン全体を構築するまでは、ジョブが失敗する可能性があります。特定のフェーズの成功ログを確認する必要があります。

たとえば、検出フェーズの開発を完了した場合、バックアップは失敗する可能性がありますが、検出は成功するはずです。

開発中のプラグインの検証およびテストを参照してください。

関連項目

???を参照してください。

Parallel Streaming Framework を使用したリストア処理を参照してください。

サンプルプラグインについてを参照してください。