技术分享
GBase 8a MPP Cluster 备份恢复 手册
2017-05-08
目 录
前言 ............................................................. 1
手册简介 ..................................................... 1
公约 ......................................................... 1
1 简介 ......................................................... 3
1.1 功能 ................................................. 3
1.2 语法格式 ............................................. 3
1.3 参数说明 ............................................. 4
1.3.1 help ............................................. 4
1.3.2 version .......................................... 5
1.3.3 path ............................................. 5
1.3.4 execute .......................................... 6
1.3.5 ospassword........................................ 7
1.3.6 dbpassword........................................ 8
1.3.7 parallel ......................................... 9
1.3.8 diskestimate ...................................... 9
1.3.9 checksum_database ................................ 10
1.3.10 checksum_backup_data ......................... 10
1.3.11 timeout...................................... 11
1.4 执行模式 ............................................ 11
1.5 注意事项 ............................................ 12
1.5.1 使用备份命令注意事项 ............................. 13
1.5.2 使用恢复命令注意事项 ............................. 14
1.5.3 使用删除命令注意事项 ............................. 14
2 集群的备份 .................................................. 15
2.1 查看备份记录 ........................................ 15
2.2 备份集群数据 ........................................ 16
2.3 表级备份 ............................................ 18
2.4 异地备份 ............................................ 19
3 集群的恢复 .................................................. 23
3.1 恢复数据库中的备份数据 ............................... 23
3.2 表级备份数据恢复 ..................................... 26
4 集群备份的删除和清除 ........................................ 29
4.1 删除集群备份记录 ..................................... 29
4.2 清除集群的无效备份数据 ............................... 32
GBase 8a MPP Cluster 备份恢复手册
南大通用数据技术股份有限公司 - 1 -
前言
手册简介
GBase 8a MPP Cluster 备份恢复手册主要介绍如何使用备份恢复工具进行
数据的备份与恢复,具体包括:
1、 实例级全量备份。将当前数据库的数据(全集群 gclusterd,gnode 存储
的所有数据)全量备份至指定的备份目录中(用户保证创建好)。
2、 实例级增量备份。在指定备份目录中的全量或增量备份数据的基础上,
将当前数据库的数据增量备份至该备份目录。
3、 表级全量备份。将某一个表的数据全量备份至备份目录中。
4、 表级增量备份。将某一个表的数据增量备份至备份目录中。
5、 实例级恢复。将备份目录中的指定备份数据,恢复至当前的数据库中。
6、 表级恢复。将备份目录中的单个表的数据,恢复至当前数据库中。
7、 查看备份数据。数据备份后,查看已经备份了哪些数据。
8、 删除备份数据。删除用户指定的备份数据。
9、 删除垃圾数据。由于异常或者用户中断,残留的垃圾备份数据,用户
可以通过工具删除。
公约
下面的文本约定用于本文档:
约 定 说 明
加粗字体 表示文档标题
大写英文(SELECT) 表示 GBase 8a MPP Cluster 关键字
等宽字体 表示代码示例
GBase 8a MPP Cluster 备份恢复手册
2 - 南大通用数据技术股份有限公司 约 定 说 明 … 表示被省略的内容。 GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 3 - 1 1 简介 1.1 功能 GBase 8a MPP Cluster 提供专用的备份恢复工具(gcrcman),用户使用它 可以方便地对整个集群中的数据进行集群的备份和恢复。集群的备份、恢复工 具随集群的安装自动安装,该工具被安装在/opt/gcluster/server/bin 目录 下。 一次全量备份开启一个新的周期。一次增量备份则续写最后一个备份周期, 使其增加一个备份点。 备份恢复工具会对磁盘空间进行检查,如果存放备份数据的磁盘空间不足, 会报告错误信息。 1.2 语法格式 $ python /opt/gcluster/server/bin/gcrcman.py - -h h 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 GBase 8a MPP Cluster 备份恢复手册
4 - 南大通用数据技术股份有限公司 Specify parallel level. Parallel level is digital in range [1,128], 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.backup table <dbname.tablename> level <0|1> backup single table 4.recover [<cycle_id> [point_id]] recover instance 5.recover table <dbname.tablename> [<cycle_id> [point_id]] recover single table 6.delete <cycle_id | last> delete backup data 7.cleanup clean invalid backup data 8.quit exit 9.help show help info gcrcman.py 的特别说明: 执行 gcrcman.py 命令时,必须是 Linux 中的 gbase 用户。 1.3 参数说明 1.3.1 help GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 5 - 功能: 该参数用于查看 gcrcman.py 命令参数的帮助信息。 示例: --help 说明: 参数全称 参数简称 取值范围 默认值 help h - - 1.3.2 version 功能: 该参数用于查看 gcrcaman.py 命令参数的版本信息。 示例: --version 说明: 参数全称 参数简称 取值范围 默认值 version V - - 1.3.3 path 功能: 该参数用于设定备份数据的存放路径。 该路径必须是绝对路径,路径中支持“~”的使用。但是,不要将 /opt/gcluser 或者/opt/gnode 这两个目录及子目录设置为 path 的路径。 在每个节点下面都要有 path 参数指定的路径,且该路径要求有写权限。 如果使用全称参数时,采用--path=BACKUP_DIR 的写法。 GBase 8a MPP Cluster 备份恢复手册
6 - 南大通用数据技术股份有限公司 如果使用简称参数时,采用-d BACKUP_DIR 的写法。 示例: --path=/home/gbase/backuptest 或者 -d/home/gbase/backuptest 说明: 参数全称 参数简称 取值范围 默认值 path d - - 1.3.4 execute 功能: 该参数用于指定执行的备份恢复命令。 -e 是可选择,有则为命令行模式, 无则为交互模式 1) 交互式方式: python gcrcman.py -d /home/gbase/backuptest 即可在 gcrcman> 这样的 shell 下,进行备份恢复的交互 2) 命令行模式: python gcrcman.py -d /home/gbase/backuptest -e "show backup",指 定命令,gcrcman 的启动仅执行该命令,执行完自动退出 如果使用全称参数时,采用--execute=command 的写法。 如果使用简称参数时,采用-ecommand 的写法。 示例: --execute="show backup" GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 7 - 或者 -e"show backup" 备注:-e 和后面的参数之间使用一个空格,提高可读性。 说明: 参数全称 参数简称 取值范围 默认值 Execute e - - command 支持的命令列表如下: show backup backup level <0|1> backup table dbname.tablename recover [<cycle_id> [point_id]] recover table <dbname.tablename> [<cycle_id> [point_id]] delete <cycle_id | last> cleanup 1.3.5 ospassword 功能: 该参数要求用户输入操作系统 gbase 用户的密码,如果不指定,默认为 gbase。如果默认密码没有修改,则可以省略该参数。 安装完 GBase 8a MPP Cluster 产品后,系统会在 Linux 操作系统中自动创 建一个 gbase 用户,其密码为 gbase。 如果使用全称参数时,采用--ospassword=HOST_PASSWD 的写法。 如果使用简称参数时,采用-PHOST_PASSWD 的写法。 GBase 8a MPP Cluster 备份恢复手册
8 - 南大通用数据技术股份有限公司 示例: --ospassword=gbase 或者 -Pgbase 备注:-P 和后面的参数之间使用一个空格,提高可读性。 说明: 参数全称 参数简称 取值范围 默认值 ospassword P Linux 操作系统中 gbase 用户的密码 gbase 1.3.6 dbpassword 功能: 该参数要求用户输入 GBase 8a MPP Cluster 产品中数据库 gbase 用户的密 码,默认为 gbase20110531,如果该密码被修改,请使用修改后的密码。如果 默认密码没有修改,则可以省略该参数。 安装完 GBase 8a MPP Cluster 产品后,会在 GBase 8a MPP Cluster 的数 据库系统中自动创建一个 gbase 用户,其密码为 gbase20110531。 如果使用全称参数时,采用--dbpassword= DATABASE_PASSWD 的写 法。 如果使用简称参数时,采用-pDATABASE_PASSWD 的写法。 示例: --dbpassword= gbase20110531 或者 -pgbase20110531 备注:-p 和后面的参数之间使用一个空格,提高可读性。 GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 9 - 说明: 参数全称 参数简称 取值范围 默认值 dbpassword p GBase 8a MPP Cluster 中 gbase 用户的密码 gbase20110531 1.3.7 parallel 功能: 该参数用于设置备份恢复工具执行的并行度。必须为数字,范围为[1-128]。 不指定该参数时,默认为 4。 示例: --parallel=8 说明: 参数全称 参数简称 取值范围 默认值 parallel r 1-128 4 1.3.8 diskestimate 功能: 该参数用于设定是否进行空间预估。默认不使用此参数,即在备份时进行 空间预估。 示例: --diskestimate 说明: 参数全称 参数简称 取值范围 默认值 GBase 8a MPP Cluster 备份恢复手册
10 - 南大通用数据技术股份有限公司 参数全称 参数简称 取值范围 默认值 diskestimate D - - 1.3.9 checksum_database 功能: 该参数用于设定是否进行 DC 的 checksum 的校验。默认不使用此参数,即 在备份时进行 DC 的 checksum 校验。 示例: --checksum_database 说明: 参数全称 参数简称 取值范围 默认值 checksum_database c - - 1.3.10 checksum_backup_data 功能: 该参数用于设定是否进行备份数据的校验。默认不使用此参数,即进行备 份数据的校验。 示例: --checksum_backup_data 说明: 参数全称 参数简称 取值范围 默认值 checksum_backup_data C - - GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 11 - 1.3.11 timeout 功能: 该参数用于设定等待读、写事务的时长,备份时需要等待集群中没有写事 务,恢复备份数据时,需要等待集群中没有读和写事务,才可进行后面的操作。 该参数值的单位为秒,取值范围为[0,3600],不指定该参数则默认值为 300 秒。 0,表示无限等待,如果超时,则报错退出,表示此次备份或恢复失败。 示例: --checksumBackup 说明: 参数全称 参数简称 取值范围(秒) 默认值(秒) checksumBackup t [0,3600] 300 1.4 执行模式 gcrcman 支持两种执行模式,即交互式模式和命令行模式: 1) 交互式模式,进入 gcrcman>提示符下,进行备份恢复的相关操作,具 体命令如下:
su - - gbase
$ $ gcrcman.py - - d/home/gbase/backuptest/
gcrcman> show backup
cycle point level time
0 0 0 2017-06-10 21:20:52
1 0 0 2017-06-10 21:20:54
1 1 1 2017-06-10 21:20:56
1 2 1 2017-06-10 21:20:59
1 3 1 2017-06-10 21:21:01
1 4 1 2017-06-10 21:21:03
1 5 1 2017-06-10 21:21:05
GBase 8a MPP Cluster 备份恢复手册12 - 南大通用数据技术股份有限公司 2 0 0 2017-06-10 21:21:09 3 0 0 2017-06-10 21:21:23 4 0 0 2017-06-10 21:21:40 5 0 0 2017-06-10 21:21:43 6 0 0 2017-06-10 21:21:58 7 0 0 2017-06-10 21:22:00 2) 命令行模式,使用-e 参数,gcrcman 启动后,仅执行-e 指定的命令, 执行完毕后自动退出,具体命令如下:
su - - gbase
$ cd /opt/gcluster/server/bin
$ pyth on gcrcman.py - - d /home/gbase/backuptest - - e "show backup"
cycle point level time
0 0 0 2017-06-10 21:20:52
1 0 0 2017-06-10 21:20:54
1 1 1 2017-06-10 21:20:56
1 2 1 2017-06-10 21:20:59
1 3 1 2017-06-10 21:21:01
1 4 1 2017-06-10 21:21:03
1 5 1 2017-06-10 21:21:05
2 0 0 2017-06-10 21:21:09
3 0 0 2017-06-10 21:21:23
4 0 0 2017-06-10 21:21:40
5 0 0 2017-06-10 21:21:43
6 0 0 2017-06-10 21:21:58
7 0 0 2017-06-10 21:22:00
$
1.5 注意事项
基本注意事项:
集群各节点网络连接正常。
集群的各个节点上,必须都存在 gcrcman.py 中参数 path 指定的路径,
且 gbase 用户对该路径具备读写操作权限。注意,不要将/opt/gcluser
GBase 8a MPP Cluster 备份恢复手册
南大通用数据技术股份有限公司 - 13 -
或者/opt/gnode 这两个目录及子目录设置为 path 的路径。
必须使用 gbase 用户执行 gcrcman.py 命令。
无论是多个会话连接,还是一个会话连接,每次只能运行一个
gcrcman.py 程序。
1.5.1 使用备份命令注意事项
集群各项状态正常。
由于 gcrcman 需要与 gcware 有交互,因此,需要在 coordinator 上执
行。
集群拓扑结构不能发生改变。拓扑结构包括, coordinator 节点,
datanode 节点,distribution, distribution 的各个 segment 与
datanode 的对应关系。
备份时,由于 gcrcman 工具运行节点获取当前时间作为备份点的备份
时间,因此集群务必保持各节点时间一致,才能保证在不同节点上进
行持续备份。
备份时,需要使用 gbase 用户,执行 gcadmin switch mode readlonly,
将集群设置为只读状态,备份完毕后,执行 gcadmin switchmode
normal,将集群恢复为正常状态。
否则会报告错误信息,例如:
gcrcman>backup level 0
11.13 09:52:43 [ERROR]: (GBA-02BR-0065) The gcware not in 'READONLY' mode,
please switch this mode by hand!
备份时,程序连同数据库中所有的用户和它的密码同时备份,因此恢
复时,也是备份时的用户和密码,因此建议客户,备份前记录好集群
中默认的 root 用户的密码,以免恢复时忘记。
当集群进行了扩容或者缩容操作时,集群的结构会发生变化。因此,
原先的备份记录将会失效,无法完成恢复操作。正确的做法,就是在
GBase 8a MPP Cluster 备份恢复手册14 - 南大通用数据技术股份有限公司 集群扩容、缩容后,进行新的备份操作,这样的备份记录,可以进行 数据的恢复。 1.5.2 使用恢复 命令注意事项 集群各项状态正常。 在进行备份数据的恢复前,各节点数据状态正常。 各节点备份数据保持一致,即各节点均有恢复时所需要的备份数据。 恢复前的集群拓扑结构必须与备份时一致。 要使用数据恢复命令,必须保证集群处于 RECOVERY 模式:使用 gbase 用户,执行 gcadmin switchmode recovery,将集群设置为恢复状态, 即可启动集群备份恢复命令,进行恢复操作。 对数据恢复后,需要切换到 root 用户,执行 service gcware restart 命令重启 gcware 服务。 1.5.3 使用删除命令注 意事项 如果仅仅存在一个“全-增”的备份记录,将不能使用该命令进行备份记录 的删除。因为为了保证备份数据的安全,备份恢复工具会拒绝删除最后一个备 份周期的数据。 删除备份点时,节点上的备份记录删除主要为如下情况: 各组主分片节点按命令要求,删除某一个周期或者最后一个备份点. GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 15 - 2 2 集群的备份 2.1 查看备份记录 语法: show backup 功能: 该命令可以查看集群的备份信息,包括备份周期号(从 0 开始排序),备份 点号(从 0 开始排序),备份的类型(全备份或增量备份)以及备份的日期时间。 通过下面的示例,用户可以查看集群数据库的备份记录,便于用户,尤其 是数据库管理员,及时有效的了解集群的备份情况。 说明: 此命令只能查看正确的备份记录,如果在备份过程中,发生错误,例如: 集群每个节点备份记录不一致时,会产生一些无效的备份记录,这样的记录不 会显示出来。 示例 1:交互模式查看备份记录。
su – gbase
$ gcrcman.py - - d/home/gbase/backuptest/
gcrcman>show backup
cycle point level time
0 0 0 2017-05-31 14:16:04
0 1 1 2017-05-31 14:16:11
0 2 1 2017-05-31 14:16:16
1 0 0 2017-05-31 14:16:23
1 1 1 2017-05-31 14:16:28
1 2 1 2017-05-31 14:16:32
2 0 0 2017-05-31 14:16:42
2 1 1 2017-05-31 14:16:48
2 2 1 2017-05-31 14:16:52
GBase 8a MPP Cluster 备份恢复手册16 - 南大通用数据技术股份有限公司 3 0 0 2017-05-31 14:17:00 3 1 1 2017-05-31 14:17:41 示例 2:命令行模式查看备份记录。
su - - gbase
$ python /opt/gcluster/server/bin/gcrcman.py - - d/home/gbase/backuptest - - e"show
backup"
cycle point level time
0 0 0 2017-05-31 14:16:04
0 1 1 2017-05-31 14:16:11
0 2 1 2017-05-31 14:16:16
1 0 0 2017-05-31 14:16:23
1 1 1 2017-05-31 14:16:28
1 2 1 2017-05-31 14:16:32
2 0 0 2017-05-31 14:16:42
2 1 1 2017-05-31 14:16:48
2 2 1 2017-05-31 14:16:52
3 0 0 2017-05-31 14:17:00
2.2 备份集群 数据
语法:
backup level < 0 | 1 >
参数值说明如下:
0 代表对集群数据进行全备份。
1 代表对集群数据进行基于上次备份的增量备份。
使用交互模式或者命令方式运行 backup level [0 | 1],即可完成数据备
份。进行备份操作时,必须保证集群在 READONLY 模式下。
首先使用 gcadmin switchmode readonly 命令将集群置为 READONLY 模式,
此命令仅在一个节点上执行一次即可。执行完毕后,启动集群备份恢复命令,
GBase 8a MPP Cluster 备份恢复手册
南大通用数据技术股份有限公司 - 17 -
即可进行备份操作了。
示例:查看集群状态
$ gcadmin
CLUSTER STATE: ACTIVED
CLUSTER MODE: NORMAL
+===========================================================+
| GBASE COORDINATOR CLUSTER INFORMATION |
+===========================================================+
| NodeName | IpAddress |gcware |gcluster |DataState |
+--------------+----------- ---+-------+---------+----------+
| coordinator1 | 192.168.6.187 | OPEN | OPEN | 0 |
+--------------+---------------+-------+---------+----------+
| coordinator2 | 192.168.6.188 | OPEN | OPEN | 0 |
+--------------+---------------+-------+---------+----------+
| coordinator3 | 192.168.6.189 | OPEN | OPEN | 0 |
+--------------+---------------+-------+---------+----------+
+=======================================================+
| GBASE DATA CLUSTER INFORMATION |
+=======================================================+
|NodeName | IpAddress |gnode |syncserver |DataState |
+---------+---------------+------+-----------+----------+
| node1 | 192.168.6.188 | OPEN | OPEN | 0 |
+---------+---------------+------+-----------+----------+
| node2 | 192.168.6.189 | OPEN | OPEN | 0 |
+---------+---------------+------+-----------+----------+
| node3 | 192.168.6.195 | OPEN | OPEN | 0 |
+---------+---------------+------+-----------+----------+
| node2 | 192.168.6.196 | OPEN | OPEN | 0 |
+---------+---------------+------+-----------+----------+
在上面的 gcadmin 执行结果中,sg01 的主分片节点为 dpname=n1 的节点机
器。sg02 的主分片节点为 dpname=n3 的节点机器。
GBase 8a MPP Cluster 备份恢复手册18 - 南大通用数据技术股份有限公司 示例 1:使用交互模式进行全备份。 $ python /opt/gcluster/server/bin/gcrcman.py - - d /home/gbase/backuptest gcrcman>backup level 0 06.12 16:06:51 check cluster topology begin 06.12 16:06:51 node (192.168.6.187) check topology begin 06.12 16:06:54 node (192.168.6.187) check topology success 06.12 16:06:54 check cluster topology end 06.12 16:06:54 BackUp start
06.12 16:06:54 node (192.168.6.187) backup begin 06.12 16:06:54 node (192.168.6.188) backup begin 06.12 16:06:54 node (192.168.6.189) backup begin 06.12 16:06:54 node (192.168.6.195) backup begin 06.12 16:06:54 node (192.168.6.196) backup begin 06.12 16:07:27 node (192.168.6.187) backup success 06.12 16:07:27 node (192.168.6.188) backup success 06.12 16:07:27 node (192.168.6.189) backup success 06.12 16:07:27 node (192.168.6.195) backup success 06.12 16:07:27 node (192.168.6.196) backup success
06.12 16:07:27 BackUp end 2.3 表级备份 将 GBase 8a MPP 数据库中的某个表全量备份至指定路径中。 命令: backup table <dbname>.<tablename> level < 0 | 1 > 参数说明如下: 参数 描述 -d , --path 备份目录 GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 19 - -P, --ospassword 该用户在各节点的 ssh登录密码,各节点要保证 相同 -p, --dbpassword Gbase8a MPP dba 用户(通常为 gbase,用户不可 指定)在数据库中的密码 -r, --parallel 执行备份的并行度,范围[1,8],默认 4 -D, --disk_space_estimate 备份前,不执行磁盘空间预估 -c , --checksum_database 备份中,不执行数据库中数据的 checksum 校验 -C , --checksum_backup_data 备份后,不执行备份成功的数据的 checksum 回读 校验 示例 1:使用命令行模式进行表级备份。 $ python /opt/gcluster/server/bin/gcrcman.py - - d /home/gbase/backuptest_table - - e "backup table test.test level 0" 06.12 16:19:48 check cluster topology begin 06.12 16:19:48 node (192.168.6.187) check topology begin 06.12 16:19:50 node (192.168.6.187) check topology success 06.12 16:19:50 check cluster topology end 06.12 16:19:51 BackUp table test.test start
06.12 16:19:51 node (192.168.6.187) backup table begin 06.12 16:19:51 node (192.168.6.188) backup table begin 06.12 16:19:51 node (192.168.6.189) backup table begin 06.12 16:19:51 node (192.168.6.195) backup table begin 06.12 16:19:51 node (192.168.6.196) backup table begin 06.12 16:20:14 node (192.168.6.187) backup table success 06.12 16:20:14 node (192.168.6.188) backup table success 06.12 16:20:14 node (192.168.6.189) backup table success 06.12 16:20:14 node (192.168.6.195) backup table success 06.12 16:20:14 node (192.168.6.196) backup table success
06.12 16:20:14 BackUp table test.test end
2.4 异地备份
GBase 8a MPP Cluster 备份恢复手册20 - 南大通用数据技术股份有限公司 为了保证备份文件的安全性,我们建议用户在实际项目中,选取专门的文 件服务器保存备份记录。 用户在文件服务器上设定共享路径,然后在集群主分片节点上,通过 mount 命令,以 nfs 方式进行共享路径的挂载,这样,就可以将备份记录保存在远程 的文件服务器上。这样做的好处如下: 备份记录文件可以存储在远程的文件服务器上; 备份记录文件的安全性可以得到保证; 假如整个集群内共计包含 2 个主分片节点,我们选取 2 台文件服务器,分 别用于保存每个主分片上的备份记录。 主分片节点及挂载路径如下: 主分片 IP 主分片上的路径(将来做为挂载点) 192.168.103.209 /home/gbase/backuptest 192.168.103.211 /home/gbase/backuptest 文件服务器及共享如下: 文件服务器 IP 共享路径 192.168.103.222 /home/safegroup1 192.168.103.223 /home/safegroup2 下面我们为用户介绍,如何以 nfs 方式进行文件共享,具体如下: 在每台文件服务器上,使用 root 用户查看是否安装了nfs 的 rpm 包,如果 没有安装,请自行安装。
rpm - - qa | grep nfs
nfs-utils-lib-1.1.5-4.el6.x86_64
nfs-utils-1.2.3-15.el6.x86_64
nfs4-acl-tools-0.3.3-5.el6.x86_64
在每台文件服务器上,如果不存在 gbase 用户,创建 gbase 用户,并设定
密码。
GBase 8a MPP Cluster 备份恢复手册
南大通用数据技术股份有限公司 - 21 -useradd gbase
passwd gbase
Changing password for user gbase.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
在每台文件服务器上,切换到 gbase 用户,创建共享路径。su – gbase
-- 每台文件服务器创建的共享路径
$ mkdir safegroup1
在每台文件服务器上,使用 gbase 用户,为共享路径设定权限和用户组。
$ chmod - - R 777 /home/gbase/safe group1
$ chown - - R gbase:gbase /home/gbase/safegroup1
在每台文件服务器上,使用 root 用户,设定 nfs 服务开机后自行启动chkconfig nfs on
使用 root 用户,在 192.168.103.222 上设定共享
vi /etc/exports
/home/gbase/safegroup1 *(rw)
~
~
~
使用 root 用户,在 192.168.103.223 上设定共享vi /etc/exports
/home/safegroup2 *(rw)
~
~
~
在每台文件服务器上,使用 root 用户,启动 nfs 服务。service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额:[确定]
启动 NFS 守护进程:[确定]
GBase 8a MPP Cluster 备份恢复手册22 - 南大通用数据技术股份有限公司 启动 NFS mountd:[确定] 在 192.168.103.209 这个主分片上,使用 root 用户,执行 mount 挂载共享
mount - - t nfs - - o rw 192.168.103.222:/home/safegroup1 /home/gbase/backuptest
在 192.168.103.211 这个主分片上,使用 root 用户,执行 mount 挂载共享
mount - - t nfs - - o rw 192.168.103.223:/home/safegroup2 /home/gbase/backuptest
设定好主分片上的挂载,其余集群节点上,也创建了和主分片上挂载点相
同的路径后,用户就可以按照本地集群备份的方法,进行备份操作了,这样备
份记录都保存在各自的文件服务器上了。
备注:
如果希望取消 mount 的挂载,例如:取消主分片 192.168.103.211 上
的 mount 挂载,可以使用 root 用户,执行 umount 命令,具体如下:umount /home/gbase/backuptest
如果集群的主分片机器重新启动了,则重新启动后,在每台主分片机
器上使用 root 用户,执行 mount 命令,如下:mount - - t nfs - - o rw 192.168.103.223: /home/safegroup2 /home/gbase/backuptest
GBase 8a MPP Cluster 备份恢复手册
南大通用数据技术股份有限公司 - 23 -
3 3 集群的恢复
3.1 恢复数据库 中的备份数据
功能:
对集群数据库的备份数据进行恢复。
语法:
recover [<cycle_id> [point_id]]
参数说明如下:
cycle_id:备份周期的 ID。
point_id:备份点的 ID。
recover 命令有以下三种形式:
recover:将数据库恢复到最新周期的最新备份点。
recover cycle_id:将数据库恢复到指定周期 cycle_id 内的最新备份
点。
recover cycle_id point_id:将数据库恢复到指定周期 cycle_id 内
的指定备份点 point_id。
示例 1:对数据库中所有备份数据进行恢复。
$ python /op t/gcluster/server/bin/gcrcman.py - - d /home/gbase/backuptest
gcrcman>recover
06.12 16:08:32 check cluster topology begin
06.12 16:08:32 node (192.168.6.187) check topology begin
06.12 16:08:35 node (192.168.6.187) check topology success
06.12 16:08:35 check cluster topology end
06.12 16:08:35 check BackUp start
GBase 8a MPP Cluster 备份恢复手册24 - 南大通用数据技术股份有限公司
06.12 16:08:35 node (192.168.6.187) check backup begin 06.12 16:08:35 node (192.168.6.188) check backup begin 06.12 16:08:35 node (192.168.6.189) check backup begin 06.12 16:08:35 node (192.168.6.195) check backup begin 06.12 16:08:35 node (192.168.6.196) check backup begin 06.12 16:08:49 node (192.168.6.187) check backup success 06.12 16:08:49 node (192.168.6.188) check backup success 06.12 16:08:49 node (192.168.6.189) check backup success 06.12 16:08:49 node (192.168.6.195) check backup success 06.12 16:08:49 node (192.168.6.196) check backup success
06.12 16:08:49 check BackUp success 06.12 16:08:49 Recover start
06.12 16:08:49 node (192.168.6.187) Recover begin 06.12 16:08:49 node (192.168.6.188) Recover begin 06.12 16:08:49 node (192.168.6.189) Recover begin 06.12 16:08:49 node (192.168.6.195) Recover begin 06.12 16:08:49 node (192.168.6.196) Recover begin 06.12 16:09:17 node (192.168.6.187) Recover success 06.12 16:09:17 node (192.168.6.188) Recover success 06.12 16:09:17 node (192.168.6.189) Recover success 06.12 16:09:17 node (192.168.6.195) Recover success 06.12 16:09:17 node (192.168.6.196) Recover success
06.12 16:09:17 Recover success gcrcman>quit 示例 2:对数据库中第三个备份周期的数据进行恢复。 gcrcman>recover 2 02.26 17:41:59 check BackUp start
02.26 17:41:59 node (192.168.103.209) check backup begin 02.26 17:41:59 node (192.168.103.210) check backup begin 02.26 17:41:59 node (192.168.103.211) check backup begin GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 25 - 02.26 17:41:59 node (192.168.103.212) check backup begin 02.26 17:42:01 node (192.168.103.209) check backup success 02.26 17:42:01 node (192.168.103.210) check backup success 02.26 17:42:01 node (192.168.103.211) check backup success 02.26 17:42:01 node (192.168.103.212) check backup success
02.26 17:42:01 check BackUp success 02.26 17:42:01 Recover start
02.26 17:42:01 node (192.168.103.209) Recover begin 02.26 17:42:01 node (192.168.103.210) Recover begin 02.26 17:42:01 node (192.168.103.211) Recover begin 02.26 17:42:01 node (192.168.103.212) Recover begin 02.26 17:42:14 node (192.168.103.209) Recover success 02.26 17:42:14 node (192.168.103.210) Recover success 02.26 17:42:14 node (192.168.103.211) Recover success 02.26 17:42:14 node (192.168.103.212) Recover success
02.26 17:42:14 Recover success 示例 3:对数据库中第二个备份周期的第一个备份点的数据进行恢复。 gcrcman>recover 1 0 02.26 17:47:30 check BackUp start
02.26 17:47:30 node (192.168.103.209) check backup begin 02.26 17:47:30 node (192.168.103.210) check backup begin 02.26 17:47:30 node (192.168.103.211) check backup begin 02.26 17:47:30 node (192.168.103.212) check backup begin 02.26 17:47:32 node (192.168.103.209) check backup success 02.26 17:47:32 node (192.168.103.210) check backup success 02.26 17:47:32 node (192.168.103.211) check backup success 02.26 17:47:32 node (192.168.103.212) check backup success
02.26 17:47:32 check BackUp success 02.26 17:47:32 Recover start
GBase 8a MPP Cluster 备份恢复手册
26 - 南大通用数据技术股份有限公司 02.26 17:47:32 node (192.168.103.209) Recover begin 02.26 17:47:32 node (192.168.103.210) Recover begin 02.26 17:47:32 node (192.168.103.211) Recover begin 02.26 17:47:33 node (192.168.103.212) Recover begin 02.26 17:47:44 node (192.168.103.209) Recover success 02.26 17:47:44 node (192.168.103.210) Recover success 02.26 17:47:44 node (192.168.103.211) Recover success 02.26 17:47:44 node (192.168.103.212) Recover success
02.26 17:47:44 Recover success 注意事项: 对于实例级别恢复。仍然要求拓扑严格对等。包括 distribution ID。 当 用户重装集群后,即使用户保证了 coordinator, datanode 的个数,datanode 与 distribution 之间的关系,也可能因为 distribution ID 的变化而导致不能 恢复。可以按以下方式解决: 一,查看备份恢复日志/opt/gcluster/log/gcluster/gcrcman.log,查看 备份恢复需要的 distribution ID 及集群拓扑; 二,按照备份恢复工具记录的拓扑,安装集群,构造 distribution; 三,停止集群; 四,切入到每一个coordinator上,进入/var/lib/gcware目录。 执行 head -n 10 REDOLOG.m.n,查看当前的有效版本,如果是 A,则打开 DISTRIBUTION; 如果是 B,则打开 DISTRIBUTION.bak。将里边的 distribution ID 修改为备份 恢复工具期望的 ID。 五,启动集群,执行恢复。 3.2 表级 备份数据 恢复 功能: GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 27 - 将备份目录中指定的表的备份数据,恢复至 GBase8a MPP 数据库中。 恢复命令: recover table <dbname>.<tablename> [<cycle_id> [point_id]]。 recover table dbname.tbname: 恢复到最大备份周期的最后一个备份点 recover table dbname.tbname cycle_id: 恢复到指定备份周期的最后一 个备份点 recover table dbname.tbname cycle_id point_id: 恢复到指定的备份点 示例 1:对数据库中表级备份数据进行恢复。 $ python /opt/gcluster/server/bin/gcrcman.py - - d /home/gbase/backuptest_table - - e "recover table test.test" 06.12 16:14:19 check cluster topology begin 06.12 16:14:19 node (192.168.6.187) check topology begin 06.12 16:14:22 node (192.168.6.187) check topology success 06.12 16:14:22 check cluster topology end 06.12 16:14:22 check Table BackUp start
06.12 16:14:22 node (192.168.6.187) check table backup begin 06.12 16:14:22 node (192.168.6.188) check table backup begin 06.12 16:14:22 node (192.168.6.189) check table backup begin 06.12 16:14:22 node (192.168.6.195) check table backup begin 06.12 16:14:22 node (192.168.6.196) check table backup begin 06.12 16:14:27 node (192.168.6.187) check table backup success 06.12 16:14:27 node (192.168.6.188) check table backup success 06.12 16:14:27 node (192.168.6.189) check table backup success 06.12 16:14:27 node (192.168.6.195) check table backup success 06.12 16:14:27 node (192.168.6.196) check table backup success
06.12 16:14:27 check table BackUp success
06.12 16:14:27 recreate table test.test start
06.12 16:14:27 node (192.168.6.187) recreate table begin
06.12 16:14:30 node (192.168.6.187) recreate table success
GBase 8a MPP Cluster 备份恢复手册28 - 南大通用数据技术股份有限公司 06.12 16:14:30 recreate table test.test end 06.12 16:14:30 Recover table test.test start
06.12 16:14:30 node (192.168.6.187) Recover table begin 06.12 16:14:30 node (192.168.6.188) Recover table begin 06.12 16:14:30 node (192.168.6.189) Recover table begin 06.12 16:14:30 node (192.168.6.195) Recover table begin 06.12 16:14:30 node (192.168.6.196) Recover table begin 06.12 16:14:46 node (192.168.6.187) Recover table success 06.12 16:14:46 node (192.168.6.188) Recover table success 06.12 16:14:46 node (192.168.6.189) Recover table success 06.12 16:14:46 node (192.168.6.195) Recover table success 06.12 16:14:46 node (192.168.6.196) Recover table success
06.12 16:14:46 Recover table test.test success, please refresh it!
GBase 8a MPP Cluster 备份恢复手册
南大通用数据技术股份有限公司 - 29 -
4 4 集群备份的删除和清除
4.1 删除集群备份记录
功能:
对备份的数据进行删除。
语法:
delete <cycle_id | last>
参数说明如下:
cycle_id:备份周期的 id。
last:最后一个备份点 id。
使用场景:
由于在实际应用中,一般会采用“全-增-全-增……”的模式,首先进行一
次全备,之后进行若干次增备,再进行全备,之后进行若干此增备,依次循环
备份操作过程。
在备份过程累计操作一段时间后,会积累大量的陈旧备份记录,因此,用
户可以通过该命令进行备份记录的清除。
delete 命令有以下两种形式:
1、 delete cycle_id:删除一个周期内的全部备份记录。按此选项执行后,
将删除周期为 cycle_id 的所有备份点的备份记录。
2、 delete last:删除备份记录中的最后一个备份点。按此选项执行后,
将删除最后一个周期内的最后一个备份点的备份记录。
删除的备份记录规则如下:
GBase 8a MPP Cluster 备份恢复手册30 - 南大通用数据技术股份有限公司 删除主分片节点中 path 中对应的备份记录文件。 如果其他节点中的gcrcman.py指定的path,曾经从主分片节点的path 中进行过拷贝操作,那么这些非主分片节点集群中 path 内的备份文件 将会全部被删除。 示例 1:删除最后一个周期内的最后一个备份点的备份记录。 gcrcman>show backup cycle point level time 0 0 0 2017-06-12 10:49:06 0 1 1 2017-06-12 11:05:51 0 2 1 2017-06-12 13:43:57 1 0 0 2017-06-12 13:44:07 1 1 1 2017-06-12 13:52:57 1 2 1 2017-06-12 14:14:57 2 0 0 2017-06-12 14:15:06 2 1 1 2017-06-12 14:26:31 2 2 1 2017-06-12 14:26:39 3 0 0 2017-06-12 14:26:47 gcrcman>delete last 02.26 18:05:12 Delete BackUp Points start
02.26 18:05:12 node (192.168.103.209) delete begin 02.26 18:05:12 node (192.168.103.211) delete begin 02.26 18:05:12 node (192.168.103.209) delete success 02.26 18:05:12 node (192.168.103.211) delete success 02.26 18:05:12 node (192.168.103.210) delete begin 02.26 18:05:13 node (192.168.103.212) delete begin 02.26 18:05:14 node (192.168.103.210) delete success 02.26 18:05:14 node (192.168.103.212) delete success
02.26 18:05:14 Delete BackUp Points end 查看删除后的备份记录。 gcrcman>show backup GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 31 - cycle point level time 0 0 0 2017-06-12 10:49:06 0 1 1 2017-06-12 11:05:51 0 2 1 2017-06-12 13:43:57 1 0 0 2017-06-12 13:44:07 1 1 1 2017-06-12 13:52:57 1 2 1 2017-06-12 14:14:57 2 0 0 2017-06-12 14:15:06 2 1 1 2017-06-12 14:26:31 2 2 1 2017-06-12 14:26:39 示例 2:删除周期 cycle_id 为 2 的全部备份记录。 gcrcman>delete 2 02.26 18:05:58 Delete BackUp Points start
02.26 18:05:58 node (192.168.103.209) delete begin 02.26 18:05:58 node (192.168.103.211) delete begin 02.26 18:05:59 node (192.168.103.209) delete success 02.26 18:05:59 node (192.168.103.211) delete success 02.26 18:05:59 node (192.168.103.210) delete begin 02.26 18:05:59 node (192.168.103.212) delete begin 02.26 18:06:00 node (192.168.103.210) delete success 02.26 18:06:00 node (192.168.103.212) delete success
02.26 18:06:00 Delete BackUp Points end
查看删除后的备份记录。
gcrcman>show backup
cycle point level time
0 0 0 2017-06-12 10:49:06
0 1 1 2017-06-12 11:05:51
0 2 1 2017-06-12 13:43:57
1 0 0 2017-06-12 13:44:07
1 1 1 2017-06-12 13:52:57
1 2 1 2017-06-12 14:14:57
GBase 8a MPP Cluster 备份恢复手册32 - 南大通用数据技术股份有限公司 4.2 清除集群的无效备份数据 功能: 对集群中的无效备份数据进行清除。 语法: cleanup 使用场景: 在实际的备份过程中,由于各种意外原因,会造成主分片节点中的备份记 录不一致的情况。 解决办法: 当存在这种垃圾备份数据时,gcrcman 需要删除它,否则不能进行备份、 恢复等后续操作。执行 cleanup 即可删除这种垃圾备份数据。 如果没有垃圾备份数据,执行 cleanup 时,将会提示“no need to rollback” 信息。 示例 1:清除无效的备份数据。 gcrcman>show backup cycle point level time 0 0 0 2017-06-12 10:49:06 0 1 1 2017-06-12 11:05:51 0 2 1 2017-06-12 13:43:57 1 0 0 2017-06-12 13:44:07 1 1 1 2017-06-12 13:52:57 1 2 1 2017-06-12 14:14:57 gcrcman>cleanup 02.26 18:06:55 cleanup rubbish file or dir start
GBase 8a MPP Cluster 备份恢复手册 南大通用数据技术股份有限公司 - 33 - 02.26 18:06:55 node (192.168.103.209) cleanup rubbish file or dir begin 02.26 18:06:55 node (192.168.103.210) cleanup rubbish file or dir begin 02.26 18:06:55 node (192.168.103.211) cleanup rubbish file or dir begin 02.26 18:06:55 node (192.168.103.212) cleanup rubbish file or dir begin 02.26 18:07:00 node (192.168.103.209) cleanup rubbish file or dir success 02.26 18:07:00 node (192.168.103.210) cleanup rubbish file or dir success 02.26 18:07:00 node (192.168.103.211) cleanup rubbish file or dir success 02.26 18:07:00 node (192.168.103.212) cleanup rubbish file or dir success

- 标签:
-
网络安全