使用Data Domain Boost备份数据库

使用Data Domain Boost备份数据库

Dell EMC Data Domain Boost(DD Boost)是Dell EMC的软件,它能被用于gpcrondumpgpdbrestore工具以更快地备份到Dell EMC Data Domain存储装置。Data Domain对其存储的数据执行去重,因此在初始的备份操作之后,该装置只存储未改变数据的指针。这能降低备份在磁盘上的尺寸。当DD Boost和gpcrondump一起使用时,Greenplum数据库会参与到这一去重操作中,降低通过网络传送的数据量。当用户从带有Data Domain Boost的Data Domain系统恢复文件时,一些文件会被拷贝到Master的本地磁盘并且从那里进行恢复,而其他文件会被直接恢复。

通过Data Domain Boost托管的文件复制,用户可以复制存储在一个Data Domain系统上的Greenplum数据库备份映像用于灾难恢复目的。gpmfr工具管理位于主要和远程Data Domain系统上的Greenplum数据库备份集。有关gpmfr的信息请见Greenplum数据库工具指南

当两个Data Domain系统之间使用一个复制网络时,托管文件复制要求网络配置:

  • Greenplum数据库系统要求配置Data Domain登录证书以使用gpcrondump。必须为本地和远程Data Domain系统都创建证书。
  • 当Data Domain系统上的复制使用非管理网络接口时,在系统上必须配置静态路由以便把复制数据流量传递到正确的接口。

不要将Data Domain Boost用于pg_dumppg_dumpall

详情请参考Data Domain Boost文档。

重要: 对于增量备份集,一个完全备份和相关的增量备份必须在一个单一设备上。例如,一个备份集必须都在同一个文件系统上。备份集中不能有一些备份在本地文件系统上而其他在一个Data Domain系统的单个存储单元上。对于Data Domain系统上的备份,备份集必须在同一个存储单元中。
注意: 用户可以把一台Data Domain服务器用作一个NFS文件系统(不带Data Domain Boost)来执行增量备份。

Data Domain Boost要求

使用Data Domain Boost有下列要求。

  • 只有商业发行的Pivotal Greenplum数据库才包括Data Domain Boost。
  • 购买并且在Data Domain系统上安装Dell EMC Data Domain Boost以及复制器许可证。
  • 从Data Domain Boost获得尺寸推荐。确保Data Domain系统对Greenplum集群中Segment主机的数量支持充足的读写流。

联系Dell EMC Data Domain客户代表以得到支持。

一次性Data Domain Boost证书设置

需要一个一次性过程以设置使用Data Domain Boost要用的证书。证书设置把一个Greenplum数据库实例连接到一个Data Domain实例。如果用户正在把gpcrondump --replicate选项或者DD Boost托管文件复制功能用于灾难恢复目的,用户必须为本地和远程Data Domain系统设置证书。

要设置证书,用下列选项运行gpcrondump

--ddboost-host ddboost_hostname --ddboost-user ddboost_user
--ddboost-backupdir backup_directory --ddboost-storage-unit storage_unit_ID

--ddboost-storage-unit是可选的。如果没有指定,存储单元ID是GPDB

要移除证书,用--ddboost-config-remove选项运行gpcrondump

要为用于备份复制的远程Data Domain系统管理证书,将--ddboost-remote选项与其他gpcrondump选项包括在一起。例如,下面的选项为一个用于备份复制的Data Domain系统设置证书。该系统的IP地址是192.0.2.230,用户ID是ddboostmyuser,而备份在该系统上的位置是GPDB/gp_production

--ddboost-host 192.0.2.230 --ddboost-user ddboostmyuser
--ddboost-backupdir gp_production --ddboost-remote

详情请见Greenplum数据库工具指南中的gpcrondump

如果使用两个或者更多网络连接将Data Domain系统连接在一起,使用gpcrondump为与网络接口相关的Data Domain主机名设置登录证书。要为两个网络连接执行这种设置,用下列选项运行gpcrondump

--ddboost-host ddboost_hostname1
--ddboost-host ddboost_hostname2 --ddboost-user ddboost_user
--ddboost-backupdir backup_directory

关于DD Boost证书文件

gpcrondump工具被用来调度DD Boost备份操作。这个工具也被用来设置、更改或者移除一次性证书以及DD Boost的存储单元ID。gpcrondumpgpdbrestoregpmfr工具使用这些DD Boost证书来访问Data Domain系统。DD Boost信息被存储在这些文件中。
  • DDBOOST_CONFIGgpdbrestoregpcrondump用于使用Data Domain系统的备份和恢复操作。当用户用--ddboost-host选项指定Data Domain信息时,gpdbrestore工具创建或者更新该文件。
  • DDBOOST_MFR_CONFIGgpmfr用于使用远程Data Domain系统的远程复制操作。当用户用--ddboost-remote选项指定Data Domain信息时,gpdbrestore工具创建或者更新该文件。
配置文件被创建在当前用户(gpadmin)位于Greenplum数据库的Master和Segment主机上的主目录中。路径和文件名不能被更改。这些配置文件中的信息包括:
  • Data Domain主机名或IP地址
  • DD Boost用户名
  • DD Boost口令
  • 默认的Data Domain备份目录(只在DDBOOST_CONFIG中)
  • Data Domain存储单元ID:默认是GPDB(只在DDBOOST_CONFIG中)
  • Data Domain默认日志级别:默认是WARNING
  • Data Domain默认日志尺寸:默认是50

使用gpcrondump的选项--ddboost-show-config可以从Greenplum数据库的Master配置文件显示当前的DD Boost配置信息。指定--remote选项可以为远程Data Domain系统显示该配置信息。

关于Data Domain存储单元

当用户通过gpcrondumpgpdbrestoregpmfr工具使用一个Data Domain系统执行备份、存储或者远程复制操作时,该操作会使用Data Domain系统上的一个存储单元。在执行这些操作时可以指定这个存储单元ID:

  • 在用gpcrondump工具的--ddboost-host选项设置DD Boost证书时。

    如果用户指定--ddboost-storage-unit选项,这个存储单元ID会被写入到Greenplum数据库的DD Boost配置文件DDBOOST_CONFIG。如果没有指定存储单元ID,默认值是GPDB

    如果用户指定--ddboost-storage-unit选项和--ddboost-remote选项为远程Data Domain服务器设置DD Boost证书,存储单元ID信息会被忽略。DDBOOST_CONFIG文件中的存储单元ID是用于远程复制操作的默认ID。

  • 当用户使用gpcrondumpgpdbrestoregpmfr执行备份、恢复或者远程复制操作时。

    当用户指定--ddboost-storage-unit选项时,该工具使用指定的Data Domain存储单元来执行操作。配置文件中的值不会被改变。

Greenplum数据库工具按照如下从高到低的优先顺序使用存储单元ID:
  • --ddboost-storage-unit指定的存储单元ID
  • 配置文件中指定的存储单元ID
  • 默认存储单元ID GPDB

在执行备份、恢复或远程复制操作时,Greenplum数据库的Master和Segment实例使用一个单一存储单元ID。

重要: Greenplum数据库的Master和Segment主机配置文件中的存储单元ID必须相同。Data Domain的存储单元由gpcrondump工具从Greenplum数据库的Master主机创建。
如果Master和Segment主机的配置文件中存储单元ID不同,则会发生下列后果:
  • 如果所有的存储单元还没有被创建,则操作失败。
  • 如果所有的存储单元已经被创建,备份操作会完成。但是,备份文件在不同的存储单元中而恢复操作会失败,因为备份文件的完整集合不在任何一个单一存储单元中。

在执行完全备份操作(不是增量备份)时,如果存储单元不存在,会在Data Domain系统上创建它。

如果指定了这些gpcrondump选项则不会创建存储单元: --incremental--list-backup-file--list-filter-tables-o或者 --ddboost-config-remove

Greenplum数据库复制操作在两个系统上使用相同的存储单元ID。例如,如果用户为通过gpmfr--replicate--recover或者来自gpcrondump--replicate指定--ddboost-storage-unit选项,这个存储单元ID会被应用到本地和远程Data Domain系统。

在用gpmfr执行复制或者回复操作时,目标Data Domain系统(要把备份拷贝到其上)上的存储单元如果不存在会被创建。

为Greenplum数据库配置Data Domain Boost

在Greenplum数据库上为Data Domain Boost设置好证书之后,在Data Domain中执行下列任务以允许Data Domain Boost与Greenplum数据库一起工作:

在Data Domain中配置分布式Segment处理

在Data Domain系统上配置分布式Segment处理选项。该配置适用于所有安装了Data Domain Boost插件的Greenplum数据库服务器。这个选项默认被启用,但是在使用Data Domain Boost备份前还是应该验证它是否被启用:

# ddboost option show

要启用或禁用分布式Segment处理:

# ddboost option set distributed-segment-processing {enabled | disabled}

在Data Domain中配置高级负载均衡和链路故障转移

如果在一个网络子网中有多个网络连接,可以创建一个接口组在Data Domain系统上提供负载均衡和更高的网络吞吐。当一个接口组上的Data Domain系统从多个服务器客户端接收数据时,数据传输会被负载均衡并且被分布为私有网络上的不同任务。用户可以用多个10 GbE连接实现最优吞吐。

注意: 要确保接口组功能正常,只有在同一网络子网上使用多个网络连接时才用接口组。

要在Data Domain系统上创建一个接口组,使用net命令创建接口。如果接口不是已经存在,将接口加入到组中,并且用备份应用注册该Data Domain系统。

  1. 增加接口到组中:
    # ddboost ifgroup add interface 192.0.2.1
    # ddboost ifgroup add interface 192.0.2.2
    # ddboost ifgroup add interface 192.0.2.3
    # ddboost ifgroup add interface 192.0.2.4
    
    注意: 只能创建一个接口组并且这个组不能被命名。
  2. 在要用备份应用注册的Data Domain系统上选择一个接口。创建一个故障转移聚集接口并且用备份应用注册该接口。
    注意: 用户不必用备份应用注册ifgroup接口中的一个。用户可以用备份应用注册一个不属于ifgroup的接口。
  3. 在Data Domain系统上启用ddboost:
    # ddboost ifgroup enable
  4. 按下面的方式验证Data Domain系统配置:
    # ddboost ifgroup show config
    与下面类似的结果会被显示。
    Interface
    -------------
    192.0.2.1
    192.0.2.2
    192.0.2.3
    192.0.2.4
    -------------
    

用户可以在任何时候在该组中增加或者删除接口。

注意: 可以使用ddboost ifgroup命令或者从Enterprise Manager Data Management > DD Boost视图管理高级负载均衡和链路故障转移(一个接口组)。

将Data Domain路径导出到Greenplum数据库主机

这个主题中的命令和选项适用于DDOS 5.0.x和5.1.x。详见Data Domain文档。

使用下列Data Domain命令将/backup/ost目录导出到一台Greenplum数据库主机用于Data Domain Boost备份。
# nfs add /backup/ost 192.0.2.0/24, 198.51.100.0/24 (insecure)
注意: 这些IP地址指向与Data Domain Boost系统一起工作的Greenplum数据库系统。

为Greenplum数据库主机创建Data Domain登录证书

为要在备份和恢复时访问DD Boost Storage Unit (SU)的主机创建一个用户名和口令:

# user add user [password password] [priv {admin | security | user}]

Data Domain Boost的备份选项

指定gpcrondump选项以匹配该设置。

Data Domain Boost备份文件到Data Domain系统中的存储单元。状态和报告文件保留在本地磁盘上。如果需要,用--ddboost-storage-unit选项指定Data Domain系统的存储单元。这个DD Boost命令显示一个Data Domain系统上的所有存储单元的名称
ddboost storage-unit show

要配置Data Domain Boost以便在开始一次备份操作前移除旧的备份目录,可以指定一个gpcrondump备份过期选项:

  • -c选项可以清除所有备份目录。
  • -o选项可以清除最旧的备份目录。

要移除最旧的转储目录,为gpcrondump --ddboost指定-o选项。例如,如果用户的保留时限是30天,在第31天使用带-o选项的gpcrondump --ddboost

使用带有-c选项的gpcrondump --ddboost来清除db_dumps中所有的旧转储目录。-c选项删除存在时间至少一年以上的所有转储目录。

使用CRON调度Data Domain Boost备份

  1. 确保一次性Data Domain Boost证书设置已完成。
  2. gpcrondump命令增加选项--ddboost
    gpcrondump -x mydatabase -z -v --ddboost 

    如果需要,用--ddboost-storage-unit选项指定Data Domain系统存储单元。

重要: 不要对Data Domain Boost备份使用压缩。-z选项可以关闭备份压缩。

一些gpcrondump中可用的选项在使用Data Domain Boost时有不同的含义。详情请见Greenplum数据库工具指南中的gpcrondump

从带有Data Domain Boost的Data Domain系统恢复

  1. 确保一次性Data Domain Boost证书设置已完成。
  2. gpdbrestore命令增加选项--ddboost
    $ gpdbrestore -t backup_timestamp -v -ddboost

    如果需要,用--ddboost-storage-unit选项指定Data Domain系统存储单元。

注意:

一些gpdbrestore中可用的选项在使用Data Domain时有不同的含义。详情请见Greenplum数据库工具指南中的gpdbrestore