转 使用带有gpbackup和gprestore的S3存储插件进行异地备份恢复
Tags: GreenPlum备份恢复转载gprestoregpbackup官方文档异地备份
使用gpbackup存储插件
您可以配置Greenplum数据库gpbackup和gprestore工具,以使用存储插件在备份或还原操作期间处理备份文件。 例如,在备份操作期间,插件会将备份文件发送到远程位置。 在还原操作期间,插件从远程位置检索文件。
您还可以使用Greenplum数据库备份/还原存储插件API(Beta)开发自定义存储插件。 参考备份/恢复存储插件API(Beta版)。
Note: 只有备份/还原存储插件API才是Beta功能。存储插件是受支持的功能。
S3存储插件应用程序允许您在运行gpbackup和gprestore时使用Amazon Simple Storage Service(Amazon S3)位置来存储和检索备份。 Amazon S3提供安全,持久,高度可扩展的对象存储。
S3存储插件还可以连接到Amazon S3兼容服务,例如Dell EMC Elastic Cloud Storage和Minio。
要使用S3存储插件应用程序,请在配置文件中指定插件的位置以及S3登录和备份位置。 运行gpbackup或gprestore时,使用选项--plugin-config指定配置文件。 有关配置文件的信息,请参阅S3存储插件配置文件格式。
如果使用gpbackup选项--plugin-config执行备份操作,则还必须在使用gprestore还原备份时指定--plugin-config选项。
S3存储插件配置文件格式
配置文件指定Greenplum数据库S3存储插件可执行文件,连接凭据和S3位置的绝对路径。
S3存储插件配置文件使用YAML 1.1文档格式并实现自己的模式, 以指定Greenplum数据库S3存储插件的位置,连接凭据以及S3位置和登录信息。
配置文件必须是有效的YAML文档。 gpbackup和gprestore工具按顺序处理控制文件文档,并使用缩进(空格)来确定文档层次结构以及这些部分之间的关系。 使用空白区域非常重要。 不应仅将白色空间用于格式化目的,并且根本不应使用制表符。
这是S3存储插件配置文件的结构。
1 2 3 4 5 6 7 8 9 | executablepath: <absolute-path-to-gpbackup_s3_plugin> options: region: <aws-region> endpoint: <S3-endpoint> aws_access_key_id: <aws-user-id> aws_secret_access_key: <aws-user-id-key> bucket: <s3-bucket> folder: <s3-location> encryption: [on|off] |
executablepath
需要。 插件可执行文件的绝对路径。 例如,Pivotal Greenplum数据库安装位置是$GPHOME/bin/gpbackup_s3_plugin。 该插件必须位于每个Greenplum数据库主机上的相同位置。
options
需要。开始S3存储插件选项部分。- region
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | AWS S3必需。如果连接到S3兼容服务,则不需要此选项。 endpoint S3兼容服务所必需的。 指定此选项可连接到S3兼容服务,例如ECS。 该插件连接到指定的S3端点(主机名或IP地址)以访问S3兼容的数据存储。 如果指定了此选项,则插件将忽略region选项,并且不使用AWS来解析端点。 如果未指定此选项,插件将使用region来确定AWS S3端点。 aws_access_key_id 可选的。用于访问存储备份文件的S3存储桶位置的S3 ID。 如果未指定此参数,则使用来自会话环境的S3身份验证信息。见[备注](#topic_ur2_fsn_ndb__s3_notes)。 aws_secret_access_key 仅在指定aws_access_key_id时才需要。S3 ID的S3密码,用于访问S3存储桶位置。 bucket 需要。AWS区域或S3兼容数据存储中的S3存储桶的名称。桶必须存在。 folder 需要。备份的S3位置。在备份操作期间,如果S3存储桶中不存在,则插件会创建S3位置。 encryption 可选的。连接到S3位置时启用或禁用安全套接字层(SSL)。 默认值为on,使用通过SSL保护的连接。将此选项设置为off以连接到未配置为使用SSL的S3兼容服务。 除off之外的任何值都被视为on。 |
示例
这是在下一个gpbackup示例命令中使用的示例S3存储插件配置文件。 该文件的名称是s3-test-config.yaml。
1 2 3 4 5 6 7 | executablepath: $GPHOME/bin/gpbackup_s3_plugin options: region: us-west-2 aws_access_key_id: test-s3-user aws_secret_access_key: asdf1234asdf bucket: gpdb-backup folder: test/backup3 |
这个gpbackup示例使用S3存储插件备份数据库演示。 S3存储插件配置文件的绝对路径是/home/gpadmin/s3-test。
1 | gpbackup --dbname demo --plugin-config /home/gpadmin/s3-test-config.yaml |
S3存储插件将备份文件写入AWS区域us-west-2中的此S3位置。
1 | gpdb-backup/test/backup3/backups/YYYYMMDD/YYYYMMDDHHMMSS/ |
备注
S3存储插件应用程序必须位于每个Greenplum数据库主机上的相同位置。 仅在master主机上需要配置文件。
使用S3存储插件执行备份时,插件会将备份文件存储在S3存储桶中的此位置。
1 | <folder>/backups/<datestamp>/<timestamp> |
其中folder是您在S3配置文件中指定的位置,而datestamp和timestamp是备份日期和时间戳。
使用Amazon S3备份和还原数据需要Amazon AWS账户可以访问Amazon S3存储桶。 这些是备份和还原数据所需的Amazon S3存储桶权限。
- 上传/删除上传文件的S3用户ID
- 打开/下载和查看访问文件的S3用户ID
如果未在配置文件中指定aws_access_key_id和aws_secret_access_key,则S3插件将使用来自运行备份操作的会话的系统环境的S3身份验证信息。 S3插件使用第一个可用源搜索这些源中的信息。
- 环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY。
- 使用AWS CLI命令设置的身份验证信息是aws configure。
- 如果从EC2实例运行备份,则为Amazon EC2 IAM角色的凭据。
有关Amazon S3的信息,参考Amazon S3。
- 有关Amazon S3区域和端点的信息,参考http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region。
- 有关S3存储桶和文件夹的信息,请参阅Amazon S3文档https://aws.amazon.com/documentation/s3/。
参考
https://www.bookstack.cn/read/greenplum-admin_guide-6.0-zh/153957ce5c5ca161.md