同城灾备
1 环境准备
1.1 节点准备
主节点primary: 172.16.3.72
辅节点hac: 172.16.3.78
1.2 组和用户
以root用户身份创建gbasedbt组和用户
[root@PRIMARY ~]# groupadd gbasedbt
[root@PRIMARY ~]# useradd -g gbasedbt gbasedbt
2 安装和配置
2.1 安装数据库
GBase 8s详细安装步骤请参考《GBase 8s 安装手册》,集群环境建议选择Custom
installation,并使用各缺省选项,不创建实例,主节点准备创建的实例名为gbaseserver。
2.2 配置数据库
2.2.1 创建数据目录
进入安装目录,创建数据目录
[root@PRIMARY ~]# cd /opt/GBASE/gbase
[root@PRIMARY gbase]# su gbasedbt
[gbasedbt@PRIMARY gbase]$ mkdir gbaseserver_dbs
[gbasedbt@PRIMARY gbase]$ cd gbaseserver_dbs
[gbasedbt@PRIMARY gbaseserver_dbs]$ touch rootdbs
[gbasedbt@PRIMARY gbaseserver_dbs]$ chmod 660 rootdbs
2.2.2 配置profile.gbaseserver环境变量文件
[root@PRIMARY ~]# cd /home/gbasedbt/
[root@PRIMARY gbasedbt]# su gbasedbt
[gbasedbt@PRIMARY ~]$ vim profile.gbaseserver
内容如下:
export GBASEDBTSERVER=gbaseserver
export GBASEDBTDIR=/opt/GBASE/gbase
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.gbaseserver
export ONCONFIG=onconfig.gbaseserver
export PATH=/opt/GBASE/gbase/bin:$PATH
export DB_LOCALE=zh_CN.GB18030-2000
export CLIENT_LOCALE=zh_CN.GB18030-2000
export GL_USEGLU=1
2.2.3 配置onconfig.gbaseserver参数文件
以gbasedbt用户身份,将/opt/GBASE/gbase/etc/目录中的onconfig.std文件复制一份,
命名为profile.gbaseserver中$ONCONFIG变量指定的名称onconfig.gbaerserver。
[gbasedbt@PRIMARY etc]$ cp onconfig.std onconfig.gbaseserver
[gbasedbt@PRIMARY etc]$ vim onconfig.gbaseserver
2.2.4 配置节点互信
创建一个/etc/hosts.equiv文件
写两个加号,中间隔一个半角空格
主节点和辅节点都要做
2.2.5 调优操作系统参数
根据节点硬件和软件具体情况,调整默认操作系统参数,包括但不限于:
1. /etc/sysctl.conf
#操作系统核心参数设置
#使用root用户在 /etc/sysctl.conf 中加入
kernel.shmmax = 4398046511104
kernel.shmall = 4294967296
kernel.sem = 250 32000 32 4096
vm.swappiness = 0
#使用root用户执行 sysctl -p 使修改的核心参数动态生效
2. /etc/security/limits.conf
#永久修改ulimit的nofiles参数
#使用root用户在 /etc/security/limits.conf 中加入
* soft nofile 102400
* hard nofile 102400
#然后重新登录用户
2.2.6 配置完成
通过上述步骤完成了PRIMARY:172.16.3.72节点的准备工作
3 配置同城灾备辅节点
同城灾备集群只支持一个辅节点,重复上述步骤准备HAC:172.16.3.78节点,这个
节点与主节点设置上有如下不同:
1. 实例名
PRIMARY:172.16.3.72节点实例名为gbaseserver, HAC:172.16.3.78节点实例名建
议为gbaseserver_hac。
请依次修改下面几个文件中的实例名和文件名,建议加_hac后缀区分,例如:
/home/gbasedbt/profile.gbaseserver_hac:
export GBASEDBTSERVER=gbaseserver_hac
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.gbaseserver_hac
export ONCONFIG=onconfig.gbaseserver_hac
/opt/GBASE/gbase/etc/onconfig.gbaseserver_hac:
SERVERNUM 10
DBSERVERNAME gbaseserver_hac
2. SERVERNUM
PRIMARY节点的SERVERNUM配置的是1,建议HAC节点的SERVERNUM配置为10。
原则:保证唯一。
3.1 关闭各个节点防火墙
3.2 初始化实例
1.在主节点执行oninit -ivwy,并确认不报错
其中的-i选项表示初始化磁盘空间并使数据库服务器进入联机方式,-w选项表示在返
回至shell提示符并返回代码0之前迫使服务器等待直到成功初始化为止。
在主节点执行onmode -d primary gbaseserver_hac,并确认不报错,其中gbaseserver_hac是辅节点实例名。
2.HAC:172.16.3.78节点确保可正常启动数据库服务但是不需要启动数据库服务。然
后在主节点进行0级全备,并使用管道恢复到辅节点。备份及恢复结束后HAC:
172.16.3.78节点执行:onstat -,状态应为Fast Recovery
[gbasedbt@PRIMARY ~]$ ontape -s -L 0 -t STDIO | ssh 172.16.3.78 "source
/home/gbasedbt/profile.gbaseserver_hac && ontape -p -t STDIO "
3.HAC:172.16.3.78节点执行,并确认不报错
[gbasedbt@HAC ~]$ onmode -d secondary gbaseserver
3.3 查看节点状态
在PRIMARY节点执行onstat -g dri,可以看到On-Line(Prim)状态。
在HAC节点执行onstat -g dri 可以看到Read-Only(Sec)状态 。
至此同城灾备集群安装成功。
异地灾备
说明:环境原因,暂时只有两台服务器,只能用两个节点搭建异地灾备;
多节点异地灾备可参考《GBase 8s V8.8 灾备集群安装手册》
4 配置节点
1.使用命令onmode -d standard将上面配置的主节点与辅节点切换为标准节点才可以做异地灾备。(也可以重新初始化)
2.onconfig配置文件中需修改LOG_INDEX_BUILDS的值:
PRIMARY节点和HAC节点此参数均需要配置为1
3. PRIMARY节点oninit -v启动数据库服务后使用onmode命令把HAC节点加入到主服务器,即在PRIMARY节点执行,并确认不报错:
[gbasedbt@PRIMARY ~]$ onmode -d add RSS gbaseserver_hac
4.HAC节点确保可正常启动数据库服务但是不需要启动数据库服务。
然后在主节点进行0级全备,并使用管道恢复到HAC点:
[gbasedbt@PRIMARY ~]$ ontape -s -L 0 -t STDIO | ssh 172.16.3.78 "source
/home/gbasedbt/profile.gbaseserver_hac && ontape -p -t STDIO "
5.备份及恢复结束后HAC节点执行:onstat -,状态应为Fast Recovery
6. HAC节点执行onmode -d RSS gbaseserver,状态变为Read-Only(RSS)
4.1 查看节点状态
在PRIMARY节点执行onstat -g rss verbose,可以看到On-Line(Prim)状态。
在HAC节点执行onstat -g rss verbose,可以看到Read-Only(RSS)状态。
至此异地灾备集群安装成功。
4.2 验证HAC
对PRIMARY节点执行insert、update、delete操作,主节点对数据的修改可以同步到HAC节点。默认情况下HAC节点不支持写操作,如需支持,可通过onconfig文件的UPDATABLE_SECONDARY参数进行配置。




