使用Data Domain Boost备份数据库
使用Data Domain Boost备份数据库
Dell EMC Data Domain Boost(DD Boost)是Dell EMC的软件,它能被用于gpcrondump和gpdbrestore工具以更快地备份到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_dump或pg_dumpall。
详情请参考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证书文件
- DDBOOST_CONFIG被gpdbrestore和gpcrondump用于使用Data Domain系统的备份和恢复操作。当用户用--ddboost-host选项指定Data Domain信息时,gpdbrestore工具创建或者更新该文件。
- DDBOOST_MFR_CONFIG被gpmfr用于使用远程Data Domain系统的远程复制操作。当用户用--ddboost-remote选项指定Data Domain信息时,gpdbrestore工具创建或者更新该文件。
- 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存储单元
当用户通过gpcrondump、gpdbrestore或gpmfr工具使用一个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。
-
当用户使用gpcrondump、gpdbrestore或gpmfr执行备份、恢复或者远程复制操作时。
当用户指定--ddboost-storage-unit选项时,该工具使用指定的Data Domain存储单元来执行操作。配置文件中的值不会被改变。
- 用--ddboost-storage-unit指定的存储单元ID
- 配置文件中指定的存储单元ID
- 默认存储单元ID GPDB
在执行备份、恢复或远程复制操作时,Greenplum数据库的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系统。
- 增加接口到组中:
# 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
注意: 只能创建一个接口组并且这个组不能被命名。 -
在要用备份应用注册的Data Domain系统上选择一个接口。创建一个故障转移聚集接口并且用备份应用注册该接口。注意: 用户不必用备份应用注册ifgroup接口中的一个。用户可以用备份应用注册一个不属于ifgroup的接口。
-
在Data Domain系统上启用ddboost:
# ddboost ifgroup enable
-
按下面的方式验证Data Domain系统配置:
# ddboost ifgroup show config
与下面类似的结果会被显示。Interface ------------- 192.0.2.1 192.0.2.2 192.0.2.3 192.0.2.4 -------------
用户可以在任何时候在该组中增加或者删除接口。
将Data Domain路径导出到Greenplum数据库主机
这个主题中的命令和选项适用于DDOS 5.0.x和5.1.x。详见Data Domain文档。
# nfs add /backup/ost 192.0.2.0/24, 198.51.100.0/24 (insecure)
为Greenplum数据库主机创建Data Domain登录证书
为要在备份和恢复时访问DD Boost Storage Unit (SU)的主机创建一个用户名和口令:
# user add user [password password] [priv {admin | security | user}]
Data Domain Boost的备份选项
指定gpcrondump选项以匹配该设置。
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备份
- 确保一次性Data Domain Boost证书设置已完成。
-
对gpcrondump命令增加选项--ddboost:
gpcrondump -x mydatabase -z -v --ddboost
如果需要,用--ddboost-storage-unit选项指定Data Domain系统存储单元。
一些gpcrondump中可用的选项在使用Data Domain Boost时有不同的含义。详情请见Greenplum数据库工具指南中的gpcrondump。
从带有Data Domain Boost的Data Domain系统恢复
- 确保一次性Data Domain Boost证书设置已完成。
-
对gpdbrestore命令增加选项--ddboost:
$ gpdbrestore -t backup_timestamp -v -ddboost
如果需要,用--ddboost-storage-unit选项指定Data Domain系统存储单元。
一些gpdbrestore中可用的选项在使用Data Domain时有不同的含义。详情请见Greenplum数据库工具指南中的gpdbrestore。