Veritas NetBackup 并行流框架 SDK 开发人员指南
- 使用 NetBackup Parallel Streaming Framework保护工作负载
- NetBackup Parallel Streaming Framework插件体系结构
- 部署 NetBackup Parallel Streaming Framework SDK
- 插件开发准备
- 使用示例插件
- 开发工作负载插件
- 部署工作负载插件
- NetBackup Parallel Streaming Framework API 参考
- 日志记录和故障排除
关于还原阶段
对于还原作业,用户选择从中还原对象的 NetBackup 服务器以及需要还原其备份数据的客户端。这将在介质服务器上执行 bpbrm 进程,以在要从中还原对象的 NetBackup 服务器上启动还原操作。您可以将对象还原到同一位置或备用位置。在还原过程中,只使用一台备份主机。请参见使用Parallel Streaming Framework的还原进程。
还原任务由 nbtar 进程驱动,如下所示:
在备用还原的情况下,对象的还原路径将从备份对象路径更改为备用还原路径。
例如,如果备份对象路径为
/obj-container1/obj-container2/file.txt
,它将更改为/mnt/vol-1/obj-container1/obj-container2/file.txt
,其中备用位置为mnt/vol-1
使用对象还原路径调用 aapi_get_object_prop_byname API 以获取对象属性。
例如,aapi_get_object_prop_byname API 将为
/mnt/vol-1/obj-container1/obj-container2/file.txt
提供元属性4. 如果对象还原路径已存在,且:
“重写”选项设置为 false,将跳过对象还原。
“重写”选项设置为 true,将调用 aapi_delete_object API 以删除现有对象。
会使用 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 - 数据容器
通过从备份映像读取其备份内容并通过调用 aapi_write_object API 进行还原来还原对象。
以迭代方式并按顺序执行此过程,直到读取整个对象为止。
调用 aapi_set_object_utimes API 以还原对象的访问时间和修改时间
还原所有对象之后,将再次调用 aapi_set_object_utimes API,以还原对象容器访问时间和修改时间。
通过调用 aapi_close_object API 关闭数据对象,以执行对象相关的清理。
在还原阶段中,将按顺序触发以下 NetBackup 进程:
bpbrm 进程在介质服务器上运行。
nbtar 在所有备份主机上运行备份。
在还原阶段中,将按顺序调用以下 API:
表:还原阶段 API 调用的序列
阶段 |
API 调用 |
插件引用示例 |
---|---|---|
插件初始化 |
| |
PSF 声明插件 |
| |
设置连接 |
| |
还原阶段 |
| |
插件卸载 |
|
除了现有错误之外,还可以在关联的调试日志文件中填充自定义日志。
请参见启用插件的日志记录。
在开发期间测试插件时,请查看相应开发阶段的日志。在构建整个插件之前,作业可能会失败。您需要验证特定阶段的成功日志。
例如,如果完成发现阶段的开发,则备份可能会失败,但发现必须成功。
请参见在开发期间验证和测试插件。
请参见使用Parallel Streaming Framework的还原进程。
请参见关于示例插件。