用Veritas NetBackup备份数据库

    上级主题: 备份和恢复数据库

    NetBackup包括下列服务器和客户端软件:

    • NetBackup的主服务器管理NetBackup备份、归档和恢复。主服务器负责NetBackup的媒介和设备选择。
    • NetBackup的媒介服务器是NetBackup的设备主机,它通过允许NetBackup使用附加到其上的存储设备来提供额外的存储。

    有关NetBackup的信息请见Veritas NetBackup入门指南。

    限制

    • NetBackup与DDBoost不兼容。不能在单次的备份或恢复操作中同时使用NetBackup和DDBoost。
    • 对于增量备份集(一个完全备份和相关的增量备份),备份集必须在单个设备上。例如,一个备份集必须都在一个NetBackup系统上。备份集不能有一些备份在NetBackup系统上而其他备份在本地文件系统或者Data Domain系统上。

    用户在Greenplum数据库的Master主机和所有Segment主机上安装并且配置NetBackup的客户端软件。NetBackup客户端软件必须能够与NetBackup服务器软件通信。

    1. 在Greenplum数据库主机上安装NetBackup客户端软件。在UNIX系统上安装NetBackup客户端的信息请见NetBackup安装文档。
    2. 在Greenplum数据库的Master和Segment主机上的NetBackup配置文件/usr/openv/netbackup/bp.conf中设置参数。在每台Greenplum数据库主机上设置下列参数。

      有关bp.conf文件的信息请见Veritas NetBackup管理员指南。

    3. 为Greenplum数据库主机设置LD_LIBRARY_PATH环境变量以使用NetBackup客户端。Greenplum数据库会安装用于NetBackup客户端的NetBackup SDK库文件。要配置Greenplum数据库使用对应于主机上安装的NetBackup客户端版本的库文件,在文件$GPHOME/greenplum_path.sh增加下面的行:

      将NN替换为安装在该主机上的NetBackup客户端版本(例如对NetBackup 7.7.x使用77)。

      LD_LIBRARY_PATH行应该被加在$GPHOME/greenplum_path.sh中这一行的前面:

    4. 执行这个命令来移除当前的LD_LIBRARY_PATH值:

    5. 执行这个命令为Greenplum数据库更新环境变量:

    有关配置NetBackup服务器的信息请见Veritas NetBackup管理员指南。

    1. 确保Greenplum数据库主机被列为NetBackup服务器的NetBackup客户端。

      在NetBackup管理控制台中,NetBackup客户端、媒介服务器和主服务器的信息在Host Properties节点的NetBackup Management节点中。

    2. 配置一个NetBackup存储单元。这个存储单元必须被配置为指向一个可写的磁盘位置。

    3. 配置一种NetBackup备份策略以及策略中的计划。

      在NetBackup管理控制台中,Master Server节点下面的Policy节点就是用户创建策略和策略的计划的地方。

      • 在Policy Attributes页面中,这些值是Greenplum数据库必需的:

        Policy type域中的值必须是DataStore

        Policy storage域中的值是前一步中创建的存储单元。

        Limit jobs per policy域中的值必需至少为3。

      • 在Policy Schedules页面中,为该策略创建一个NetBackup计划。

    为Greenplum数据库配置NetBackup

    有关配置NetBackup服务器的信息请见Veritas NetBackup管理员指南。

    1. 配置一个NetBackup存储单元。这个存储单元必须被配置为指向一个可写的磁盘位置。

      在NetBackup管理控制台中,NetBackup存储单元的信息在Storage节点的NetBackup Management节点中。

    2. 配置一种NetBackup备份策略以及策略中的计划。

      在NetBackup管理控制台中,Master Server节点下面的Policy节点就是用户创建策略和策略的计划的地方。

      • 在Policy Attributes页面中,这些值是Greenplum数据库必需的:

        Policy storage域中的值是前一步中创建的存储单元。

        Limit jobs per policy域中的值必需至少为3。

      • 在Policy Schedules页面中,为该策略创建一个NetBackup计划。

    Greenplum数据库的gpcrondump和gpdbrestore工具支持备份或者恢复数据到NetBackup存储单元的选项。在执行备份时,Greenplum数据库直接把数据文件传输到NetBackup存储单元。没有备份数据文件被创建在Greenplum数据库主机上。备份元数据文件同时被存储在主机上以及被被分到NetBackup存储单元。

    在执行恢复时,文件从NetBackup服务器检索出来,然后被恢复。

    下列是用于NetBackup的gpcrondump工具选项:

    gpdbrestore工具为NetBackup提供了下列选项:

    注意: 在执行操作从NetBackup恢复时,用户必须用gpdbrestore工具的-t选项指定备份时间戳。

    策略名和计划名被定义在NetBackup的主服务器上。有关策略名和计划名的信息请见。有关Greenplum数据库工具的信息请见Greenplum数据库工具指南。

    注意: 用户必须在为NetBackup计划定义的时间窗口期间运行gpcrondump或者gpdbrestore命令。

    在备份或恢复操作期间,会为下列类型的Greenplum数据库数据创建一个单独的NetBackup任务:

    • 每个Segment实例的Segment数据
    • C数据库数据
    • 元数据
    • Master的Post数据
    • 状态文件全局对象(gpcrondump -G选项)
    • Master和Segment的配置文件(gpcrondump -g选项)
    • 报告文件(gpcrondump -h选项)

    在NetBackup管理控制台中,活动监视器会列出NetBackup任务。对每个任务,任务详情会显示Greenplum数据库的备份信息。

    注意: 在备份或者恢复大量数据时,将NetBackup的CLIENT_READ_TIMEOUT选项设置为一个至少两倍于预期操作时长(以秒为单位)的值。CLIENT_READ_TIMEOUT的默认值是300秒(5分钟)。

    例如,如果一次备份要用3小时,那么将CLIENT_READ_TIMEOUT设置为21600(2 x 3 x 60 x 60)。用户可以在NetBackup服务器上使用NetBackup的nbgetconfig和nbsetconfig命令来查看并改变该选项值。

    有关CLIENT_READ_TIMEOUT以及nbgetconfig和nbsetconfig命令的信息请见NetBackup文档。

    NetBackup备份和恢复命令例子

    这个gpdbrestore命令从由NetBackup主服务器nbu_server1管理的数据中恢复Greenplum数据库数据。选项-t 20170530090000指定创建备份时gpcrondump生成的时间戳。-e选项指定在恢复目标数据库之前先删除它。