恢复命令
功能
restore命令用于从磁盘或NBU恢复集群数据。
命令格式
python GaussRoach.py -t restore --backup-key backup-key --master-port master-port --media-type media-type --media-destination media-destination-path --metadata-destination metadata-path --clean [--archivelog] [--restore-target-time YYYY-MM-DD hh:mm:ss] [--nbu-policy policy_name] [--nbu-schedule schedule_name] [--nbu-backup-host hostname] [--group]
参数说明
表1 恢复命令行参数 完整选项
数据类型
说明
取值类型
缺省值
应用实例
-t
字符串
Roach接口支持多种功能。恢复期间指定该参数为restore,表示调用恢复功能。
- -t backup
- -t stop
- -t delete
- -t restore
- -t show
- -t start
- -t version
- -t help
不涉及
-t restore
--backup-key
字符串
执行恢复操作使用的backup key。
不涉及
不涉及
--backup-key 20150315-16103
--master-port
整数
Roach主代理进程的执行端口。该参数仅需配置一个无业务冲突的端口即可。取值范围是[1024,65535]。
[1024,65535]
6812
--master-port 8808
--media-type
字符串
介质类型。
- NBU
- DISK(磁盘)
- DISK
- NBU
- OBS
不涉及
- 对于NBU:--media-type NBU
- 对于磁盘:--media-type DISK
--media- destination
字符串
指定介质的目的路径。
- OBS
- NBU:
绝对路径
- Disk(磁盘):
绝对路径
- DISK
- NBU
- OBS
不涉及
--media-destination /home/cam/backup
--metadata-destination
字符串
元数据文件位置。
不涉及
不涉及
--metadata-destination /home/username
--clean
布尔型
恢复前是否清除数据。
如果命令中指定了该参数,则参数值为true。否则值为false。
不涉及
False
--clean
--restore-target-time
日期
指定目标日期/时间格式为YYYY-MM-DD hh:mm:ss。
有效日期和时间。
不涉及
--restore-target-time 2018-03-31 08:00:00
--archivelog
布尔型
指定是否恢复归档日志。
不涉及
False
--archivelog
--group
布尔型
单机/主备模式下备份DN组时使用。暂不支持。
不涉及
False
不涉及
--nbu-policy
字符串
设置NBU恢复的策略。
不涉及
不涉及
sample_policy
--nbu-schedule
字符串
设置NBU恢复的schedule。
不涉及
不涉及
sample_schedule
--nbu-backup-host
字符串
执行NBU备份的主机名称。在恢复操作中,此参数仅在从NBU备份集恢复到新集群时使用。
不涉及
不涉及
不涉及
说明:
如果执行恢复归档日志,则所使用的backup key和它的下一个key都必须是备份了归档日志,在执行恢复到时间点的时候,所选的时间点前后的备份集都必须备份归档日志。
使用指南
- 对于集群级恢复,必须提供介质类型、目标介质、备份秘钥和主代理端口。如果用户没有指定这些参数,Roach工具会报错。
- 对于PITR(时间点)恢复,必须保证所选时间点前后都有可使用备份集,或者所选时间是最后一次备份后的时间。
- 如果终端断连引起Roach恢复异常退出,用户可再次执行恢复,此时建议用户在后台执行恢复操作。
命令示例
- 从OBS恢复集群
python GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media --media-type OBS --backup-key 20160121_190923 --metadata-destination /home/userA/metadata
- 从NBU恢复集群
python GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media--media-type NBU --backup-key 20160121_190923 --metadata-destination /home/userA/metadata --nbu-policy sample_policy
- 从磁盘恢复集群
python GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media --media-type Disk --backup-key 20160121_190548 --metadata-destination /home/userA/metadata
- 恢复集群到时间点
python GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media --media-type Disk --metadata-destination /home/userA/metadata --restore-target-time "2016-01-21 19:05:48"
- 增量恢复集群
python GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media --media-type disk --backup-key 20170630_220442 --metadata-destination /home/userA/metadata
- 将集群恢复到新集群
python GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media --media-type Disk --backup-key 20160621_190548 --restore-new-cluster --metadata-destination /home/userA/metadata
说明:
将集群恢复到新集群的前提条件:
- 新集群与备份集群的拓扑相似。
- 新集群与备份集群的平台、操作系统相同。
- 确保新集群节点ID与备份文件所在原节点ID相同。
- 确保运行Roach的主代理ID与备份集群的Roach主代理ID相同。
- 用户可对将数据备份到磁盘集群执行恢复操作。
- 对数据备份到磁盘的集群执行此操作时,必须将备份内容(包括backup.in文件)从源集群复制到目标集群。
- 源集群的节点必须1对1映射到目标集群的节点,并且备份内容必须复制到其各自的节点。
- 在恢复集群之前用户需要执行文件清理操作,建议用户在执行恢复命令时增加--clean参数来完成该操作。这样系统会先检测是否满足恢复条件,只有满足时才会清理集群数据。
相关命令
备份命令
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论