目录
1.概述
前面提到的HAC主备也叫同城备份
为了保证主备双库的数据一致性,HAC的主库备库一般都很近,为了防止出现大型灾难导致主备双库同时宕机导致数据丢失,GBase8s提供了异地灾备(RSS)
可以将同城灾备和异地灾备结合起来构建一套两地三中心的灾备方案
两地指的是HAC主备库的同城所在地,RSS异地灾备库的所在地
三中心之的是主库中心,同城备库中心,RSS异地灾备中心
2.安装
需要先配置在两个新节点安装GBase8s,具体步骤可以参考:
GBase 8s v8.8数据库的安装(安装准备)_Kael Z的博客-CSDN博客
GBase 8s v8.8数据库的安装_Kael Z的博客-CSDN博客
3.配置环境
配置环境之前需要先对数据库进行实例化,可以参考前面hac的实例化:
GBase 8s灾备集群HAC (二) 环境准备_Kael Z的博客-CSDN博客
需要注意的是实例名需要根据自己的需要命名成不同的,IP地址也要根据当前的节点IP进行
例如HAC1:192.168.200.191节点实例名为gbaseserver_hac1,HAC2:192.168.200.192节点实例名为gbaseserver_hac2。
分别在主库,备库,异地灾备的这4个节点的/home/gbasedbt/.rhosts分别重新编辑成:
192.168.200.180 gbasedbt
192.168.200.190 gbasedbt
192.168.200.191 gbasedbt
192.168.200.192 gbasedbt
分别在主库,备库,异地灾备的这4个节点的/opt/gbase/etc/sqlhosts.*分别进行编辑:
gbaseserver onsoctcp 192.168.58.100 9088
gbaseserver_hac onsoctcp 192.168.58.110 9088
gbaseserver_hac1 onsoctcp 192.168.58.111 9088
gbaseserver_hac2 onsoctcp 192.168.58.112 9088
编辑onconfig.gbaseserver_hac1中的SERVERNUM,DBSERVERNAME,LOG_INDEX_BUILDS,
其中需要将4个节点的参数:LOG_INDEX_BUILDS均设置为1
vim /opt/gbase/etc/onconfig.gbaseserver_hac1
SERVERNUM 11
DBSERVERNAME gbaseserver_hac1
LOG_INDEX_BUILDS 1
4.连接主库
在主库执行命令onmode -d add RSS gbaseserver_hac1连接RSS节点1:
onmode -d add RSS gbaseserver_hac1
如果没报错继续在主库执行:
ontape -s -L 0 -t STDIO | ssh 192.168.200.191 "source /home/gbasedbt/profile.gbaseserver_hac1 && ontape -p -t STDIO "
如果没报错可以去异地备库使用onstat -查看状态变成Fast Recovery说明成功
[gbasedbt@localhost ~]$ onstat -
Your evaluation license will expire on 2023-08-23 00:00:00
Fast Recovery -- Up 00:00:51 -- 597864 Kbytes
在异地备库执行命令onmode -d RSS gbaseserver连接主库:
onmode -d RSS gbaseserver
分别在主库和异地备库执行onstat -g rss verbose查看状态:
主库执行onstat -g rss verbose状态变成On-Line (Prim):
[gbasedbt@localhost ~]$ onstat -g rss verbose
Your evaluation license will expire on 2023-08-18 00:00:00
On-Line (Prim) -- Up 5 days 01:21:40 -- 597864 Kbytes
Local server type: Primary
Index page logging status: Enabled
Index page logging was enabled at: 2022/08/23 11:27:48
Number of RSS servers: 2
RSS Server information:
RSS Server control block: 0x49c6a170
RSS server name: gbaseserver_hac1
RSS server status: Active
RSS connection status: Connected
RSS flow control:6144/5632
Log transmission status: Active
Next log page to send(log id,page): 5,2349
Last log page acked(log id,page): 5,2348
Last log page applied(log id,page): 5,2348
Time of Last Acknowledgement: 2022-08-23.16:48:56
Pending Log Pages to be ACKed: 0
Approximate Log Page Backlog:0
Sequence number of next buffer to send: 122
Sequence number of last buffer acked: 121
Supports Proxy Writes: N
RSS Server control block: 0x4a455e40
RSS server name: gbaseserver_hac2
RSS server status: Active
RSS connection status: Connected
RSS flow control:6144/5632
Log transmission status: Active
Next log page to send(log id,page): 5,2349
Last log page acked(log id,page): 5,2348
Last log page applied(log id,page): 5,2348
Time of Last Acknowledgement: 2022-08-23.16:49:00
Pending Log Pages to be ACKed: 0
Approximate Log Page Backlog:0
Sequence number of next buffer to send: 75
Sequence number of last buffer acked: 74
Supports Proxy Writes: N
两个异地备库分别执行备库为onstat -g rss verbose状态都变成Read-Only (RSS)说明成功:
[gbasedbt@localhost ~]$ onstat -g rss verbose
Your evaluation license will expire on 2023-08-23 00:00:00
Read-Only (RSS) -- Up 00:01:49 -- 1135464 Kbytes
RSS Server control block: 0x47fd9e60
Local server type: RSS
Server Status : Active
Source server name: gbaseserver
Connection status: Connected
Last log page received(log id,page): 5,2348
Sequence number of last buffer received: 74
Sequence number of last buffer acked: 74
Delay Apply: Not configured.
Stop Apply: Not configured.
Delay or Stop Apply not active.
5.功能测试:
在主库中创建数据库和表,并且插入数据:
[gbasedbt@localhost ~]$ dbaccess - -
Your evaluation license will expire on 2023-08-18 00:00:00
> create database kael with log;
Database created.
> database kael;
Database closed.
Database selected.
> create table kael_t (id int);
Table created.
> insert into kael_t values(1);
1 row(s) inserted.
> select * from kael_t;
id
1
1 row(s) retrieved.
>
Database closed.
分别在同城备库:gbaseserver_hac,异地RSS备库:gbaseserver_hac1,gbaseserver_hac2查看结果数据库,表以及插入的数据均已同步:
[gbasedbt@localhost etc]$ dbaccess - -
Your evaluation license will expire on 2023-08-18 00:00:00
> database kael;
Database selected.
> select * from kael_t;
id
1
1 row(s) retrieved.
>
Database closed.
6.可能出现的异常error:
如果主库已经使用oninit -ivwy启动了,修改的onconfig.gbaseserver参数不能立即生效,如果不想重启数据库可以通过onmode -wf命令进行修改:
[gbasedbt@localhost etc]$ onmode -wf LOG_INDEX_BUILDS=1
Your evaluation license will expire on 2023-08-18 00:00:00
Value of LOG_INDEX_BUILDS has been changed to 1.