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) 问题:当集群备份文件发生损坏,无法进行恢复时,如何处理?能否利用日志恢复?
答复:建议用户将数据进行异地备份,如选取专门的文件服务器保存备份记录。目前没有日志恢复功能。




