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.  
      NetBackupParallel 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 服务器上启动还原操作。您可以将对象还原到同一位置或备用位置。在还原过程中,只使用一台备份主机。请参见使用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,将调用 5 次 aapi_create_object API;为层次结构中的每个对象调用一次。

    • /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的还原进程

请参见关于示例插件