暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase8a数据备份恢复故障处理

VV_刺头王 2022-03-25
1262

1.常用方法分析

    使用集群的备份恢复工具/opt/gcluster/server/bin/gcrcman.py 执行数据备份恢复操作时出现错误,要根据具体错误信息分析错误原因,一般出错原因从以下两方面分析:

    一如果是网络备份,确定网络连接是否正常。可使用scp 命令测试备份目录是否可用。

    二确定集群的模式。当备份集群时,要求集群处于Readonly 模式;当恢复集群时,要求集群处于Recovery 模式。使用gcadmin 查看集群模式,使用gcadmin switchmode readonly|recovery命令设置集群模式。

    下面详细介绍备份恢复命令各阶段可能发生的错误。

2.gcrcman 启动时目录不存在

现象:

$ /opt/gcluster/server/bin/gcrcman.py

--path=/home/myuser/backup

[ERROR]: n1(ip=192.168.11.221) don't have the path

/home/myuser/backup

[ERROR]: backup dir not exits

原因:

    备份路径不存在。第一个错误信息为n1(ip=192.168.11.221)节点上没有指定的备份目录;第二个错误信息为存在没有该备份路径的节点。在集群备份时,每个节点都应存在相同的备份路径。检查各节点是否都实际存在备份目录,并确定备份用户是否具有可读写权限。

对策:

    在无备份目录的节点上,使用gbase 用户,创建相应的备份目录。

3.出现Unknow Command 错误

现象:

$ /opt/gcluster/server/bin/gcrcman.py --path=/tmp/backup

gcrcman>show point 1

[ERROR]: Unknow Command

原因:

    gcrcman 启动后,输入了未知的命令。

对策:

    输入正确的备份恢复命令,如忘记,可键入help 命令进行查看

gcrcman>help

SYNOPSIS

gcrcman.py [options] <-d|--path BACKUP_PATH>

OPTIONS:

-h,--help

Print this help

-V,--version

Print version

-d BACKUP_PATH,--path=BACKUP_PATH

Specify backup path, it must be absolute path

-e COMMAND,--execute=COMMAND

Specify backup or recover command

-P HOST_PASSWD,--ospassword=HOST_PASSWD

Specify operation system user gbase's password

-p DATABASE_PASSWD,--dbpassword=DATABASE_PASSWD

Specify database user gbase's password

-r PARALLEL_LEVEL,--parallel=PARALLEL_LEVEL

Specify parallel level. Parallel level is digital

in range [1,8], default 4

-D,--disk_space_estimate

Skip estimate disk space before backup or recover

-c,--checksum_database

Skip database data checksum

-C,--checksum_backup_data

Skip backup data checksum

-t SECOND,--timeout=SECOND

Block on read, write or both transaction timeout,

should be integar value

in range [0,3600], default[300 secs]. if zero then

block indefinitely

backup or recover commands:

1.show backup

show backup data

2.backup level <0|1>

backup instance

3.recover [<cycle_id> [point_id]]

recover instance

4.recover safegroup <group_name> [<cycle_id> [point_id]]

recover single safegroup

5.delete <cycle_id | last>

delete backup data

6.cleanup

clean invalid backup data

7.quit

exit

8.help

show help info

4.实例集备份故障

(1) 备份级别参数错误

现象:

$ /opt/gcluster/server/bin/gcrcman.py --path=/tmp/backup

gcrcman>backup level 2

[ERROR]: level must be 0 or 1

原因:

    备份级别错误,0 代表全量备份,1 代表增量备份,只能选这两个值。

对策:

    修改值为0 或1。

(2) 集群备份模式不对

现象:

$ /opt/gcluster/server/bin/gcrcman.py --path=/tmp/backup

gcrcman>backup level 1

--------------------------------------------

[INFO]: backup start

[ERROR]: The gcware not in 'READONLY' mode, please switch this

mode by hand!

原因:

    进行备份操作时,集群模式不是在readonly 模式下。

对策:

    通过gcadmin switchmode readonly 命令,将集群模式调整为只读,方可进行备份。

5.实例级恢复故障

(1) 集群恢复模式不对

现象:

$ /opt/gcluster/server/bin/gcrcman.py --path=/tmp/backup

gcrcman>recover 1

[ERROR]: The gcware not in 'RECOVERY' mode, please switch this mode by hand!

原因:

    集群恢复模式不对,集群必须在“RECOVERY”模式下,才能进行恢复。

对策:

    通过gcadmin switchmode recovery 命令,将集群模式调整为恢复模式。

(2) 备份点不存在

现象:

gcrcman>RECOVER 6

--------------------------------------------

[INFO]: recover start

[ERROR]: backup point 6 not exits

原因:

    要恢复的xxx 备份点不存在;或者输入的备份点大于指定目录保存的最大备份点。

对策:

    使用show backup 命令对指定目录所保存的备份点进行查看,选择存在的、合适的备份点后,再重新执行本命令。

(3) 恢复完集群需重启

现象:

gcrcman>RECOVER 1

--------------------------------------------

[INFO]: recover start

[INFO]: sync gcluster node bkpoint

[INFO]: sync backup point in group

[INFO]: sync point 1 data from n1 (ip =192.168.11.221) to n2 (ip

= 192.168.12.237) start

[INFO]: sync point 1 data from n1 (ip =192.168.11.221) to n2 (ip

= 192.168.12.237) end

[INFO]: recover n1 (ip = 192.168.11.221) start

......

[INFO]: recover n2 (ip = 192.168.12.237) end

--------------------------------------------

[INFO]: recover end

[NOTICE] Pelease restart server use: service gcware restart!

原因:

    恢复完之后,集群需重启,刷新数据库缓存,以保证数据库状态正常。还要手工把集群的恢复模式改为正常模式。

对策:

    重启数据库。使用root 用户执行service gcware restart 命令重启。重启成功后将集群的恢复模式改为正常模式。

(4) 备份点输入错误

现象:

gcrcman>RECOVER BACKUP POINT -3

[ERROR]: The backup point must integer, range[0, max poit]

原因:

     输入的备份点不正确,必须是0 到最大备份点及它们之间的整数。

对策:

    输入正确的备份点,可使用show backup 查看目前已有的备份点。

6.查看备份点故障

(1) 出现网络错误

现象:

gcrcman>SHOW BACKUP

[ERROR]: network error

原因:

    操作机和其他节点交互失败。

对策:

    检查网络连接。

7.组恢复故障

(1) 备份点不存在

现象:

gcrcman>RECOVER SAFEGROUP sg01 1

[ERROR]: backup point 1 not exits

原因:

    输入的备份点不存在。

对策:

    使用show backup 命令对指定目录所保存的备份点进行查看,选择存在的、合适的备份点后,再重新执行本命令。

(2) 组名不存在

现象:

gcrcman>RECOVER SAFEGROUP sg03 0

check name begin fail to find group, group name 'sg03' may be invalid or network error

原因:

    所输入的组名称不存在。

对策:

    使用gcadmin 查看集群组的情况,使用正确的组名再重新使用本命令。

8 备份点拷贝故障

(1) 备份目录不存在

现象:

gcrcman>CP POINT 0 TO gbase@192.168.12.237:/home/aaa

Enter Password:*****

[ERROR]: remote host(ip=192.168.12.237) don't have the path /home/aaa

原因:

    指定的远程机器,没有指定的备份目录。

对策:

    检查远程机器备份目录,指定正确的备份目录再尝试。

 (2) 不能连接远程机器

现象:

gcrcman>CP POINT 2 FROM gbase@192.169.9.16:/home/gbase/tmp

Enter Password:******

[ERROR]: Can't connect the remote addr: 192.169.9.16

原因:

    不能连接远程主机IP,检查网络。

对策:

    检查网络连接。

(3) 远程用户密码错误

现象:

gcrcman>CP POINT 0 TO linda@192.168.12.237:/tmp/backup

Enter Password:***

[ERROR]: The user and password don't match

原因:

    连接远程主机用户名或密码有错误。

对策:

    使用远程主机的正确的用户名及密码再次尝试。

9 删除备份点故障

(1) 出现网络错误

现象:

gcrcman>DELETE 3

[ERROR]: network error

原因:

    操作机和其他节点交互失败。

对策:

    检查网络连接。

(2) 备份点不存在

现象:

gcrcman>DELETE -3

[ERROR]: Don't exits backup point -3

原因:

    备份点不存在

对策:

    使用show backup 命令对指定目录所保存的备份点进行查看,选择存在的、合适的备份点后,再重新执行本命令。

10. 集群备份异常情况处理

 (1) 问题:在备份或恢复过程中,出现断电或硬件损坏等突发异常情况导致备份或恢复失败,怎么办?

答复:要先排除硬件故障,集群正常启动后,然后重新进行备份或恢复。

(2) 问题:当集群备份文件发生损坏,无法进行恢复时,如何处理?能否利用日志恢复?

答复:建议用户将数据进行异地备份,如选取专门的文件服务器保存备份记录。目前没有日志恢复功能。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论