HAC 概述
GBase 8s 灾备集群 HAC ( High Availability Cluster )是 被广泛使用的 典型的高可用解决方案。 当主节点发生故障时可迅速切换至辅节点,企业的业务不受影响。
² 同步方式:基于逻辑日志的复制;支持同步模式、异步模式和折中模式;
² 高性能:采用缓冲区内存同步方式,然后到备用服务器回放的方式;
² 容灾:同步模式下零数据丢失;
如图,在灾备集群中:
² PRIMARY 为主节点, HAC 为辅节点;
² 支持同城灾备集群和异地灾备集群。异地灾备集群支持多个节点、部署距离更远、对网络带宽要求更低;
² 连接管理器( CM )可部署在一个或多个数据节点上,建议部署在单独的应用服务器或服务器集群上;
1.1 集群节点准备
1. 准备 1 个主节点、 1 个同城辅节点和 2 个异地辅节点
² PRIMARY : 192.168.5.100
² HAC : 192.168.5.110
² HAC1 : 192.168.5.111
² HAC2 : 192.168.5.112
2. 硬件要求
GBase 8s 同城灾备集群支持一个辅节点, GBase 8s 异地灾备集群支持多个辅节点,以下为单节点推荐配置:
|
硬件 |
最低配置 |
推荐配置 |
|
处理器 |
1×2 核 2.0GHz |
4×4 核 3.0GHz |
|
内存 |
4GB |
64GB 或更多 |
|
硬盘 |
100GB |
1TB |
|
光驱 |
CD-ROM |
CD-ROM |
3. 平台要求 :
GBase 8s 灾备集群支持安装部署在 x86 、飞腾、鲲鹏、龙芯等多种平台上,支持的操作系统包括 RedHat6.x 、 CentOS6.x 等主流 OS ,并包括 UOS 、麒麟、凝思磐石等国产 OS 。
|
序号 |
操作系统 |
CPU (平台) |
位数 |
|
1 |
Redhat6.x 、 CentOS6.x 及以上 |
x86 |
64 位 |
|
2 |
麒麟 V10 、 UOS V20 |
飞腾、鲲鹏平台 |
64 位 |
|
3 |
麒麟 V10 、 UOS V20 |
龙芯平台 |
64 位 |
本手册以 Redhat Enterprise Linux 6.5 64 位操作系统为例进行讲解,对于 RHEL 后续版本和 CentOS 等其他 Linux 内核操作系统,请大家做相应调整。
1.2 组和用户
1. 以 root 用户身份创建 gbasedbt 组和用户
[root@PRIMARY ~]# groupadd gbasedbt
[root@PRIMARY ~]# useradd -g gbasedbt gbasedbt
2. 为 gbasedbt 用户设置密码,建议设置为复杂密码
[root@PRIMARY ~]# passwd gbasedbt
安装 和配置
1.3 安装 数据库
GBase 8s 详细安装步骤请参考《 GBase 8s 安装手册》,集群环境建议选择 Custom installation ,并使用各缺省选项,不创建实例,主节点准备创建的实例名为 gbaseserver 。
1.4 配置数据库
1.4.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
1.4.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 >
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
为了 gbasedbt 用户在登录后自动应用这些环境变量,可以修改 .bash_profile 文件,在文件后添加如下内容:
source /home/gbasedbt/profile.gbaseserver
1.4.3 配置 sqlhosts.gbaseserver 文件
[root@PRIMARY ~]# su gbasedbt
[gbasedbt@PRIMARY ~]$ cd /opt/GBASE/gbase/etc
[gbasedbt@PRIMARY etc]$ vim sqlhosts.gbaseserver
sqlhosts 文件中需要将本次的 2 个节点的实例名、连接方式、 IP 、端口配置正确。
gbaseserver onsoctcp 192.168.5.100 9088
gbaseserver_hac onsoctcp 192.168.5.110 9088
1.4.4 配置 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
主要参数说明如下:
|
参数 |
值 |
说明 |
|
ROOTNAME |
rootdbs |
指定数据库服务器 root dbspace 的名称 |
|
ROOTPATH |
$GBASEDBTDIR/gbaseserver_dbs/rootdbs |
指定 root dbspace 的初始 chunk 全路径名,包括设备或文件 |
|
ROOTSIZE |
500000 |
指定以 KB 为单位的 root dbspace 的初始 chunk 的大小, 500000 即 500M 左右 |
|
PHYSFILE |
100000 |
指定物理日志文件大小, 100000 即 100M 左右 |
|
MSGPATH |
$GBASEDBTDIR/gbaseserver.log |
指定消息日志文件的全路径名 |
|
DBSPACETEMP |
dbspacetemp |
指定临时数据空间的名称 |
|
SBSPACETEMP |
sbspacetemp |
指定临时智能大对象空间的名称 |
|
SBSPACENAME |
sbspace |
指定智能大对象空间的名称 |
|
SERVERNUM |
1 |
指定共享内存中的相对位置,取值范围为 0-255 ,多个数据库实例时候需要确保 SERVERNUM 唯一 |
|
DBSERVERNAME |
gbaseserver |
数据库实例名 |
|
DRAUTO |
3 |
指定由连接管理器控制 |
1.4.5 配置节点互信任
集群中节点都需要 vim /home/gbasedbt/.rhosts ,内容如下(如果没有自动创建):
192.168.5.100 gbasedbt
192.168.5.110 gbasedbt
192.168.5.111 gbasedbt
192.168.5.112 gbasedbt
1.4.6 调优操作系统参数
根据节点硬件和软件具体情况,调整默认操作系统参数,包括但不限于:
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
# 然后重新登录用户
3. RHEL6.5 : /etc/security/limits.d/90-nproc.conf , CentOS7 : /etc/security/limits.d/20-nproc.conf
# 增加内容
* soft nproc 4096
root soft nproc unlimited
gbasedbt soft nproc unlimited
1.4.7 配置完成
通过上述步骤完成了 PRIMARY : 192.168.5.100 节点的准备工作。
1.5 配置同城灾备辅节点
1.5.1 配置集群内其他节点
同城灾备集群只支持一个辅节点,重复上述步骤准备 HAC : 192.168.5.110 节点,这个节点与主节点设置上有如下不同:
1. 实例名
PRIMARY : 192.168.5.100 节点实例名为 gbaseserver, HAC : 192.168.5.110 节点实例名建议为 gbaseserver_hac 。
请依次修改下面几个文件中的实例名和文件名,建议加 _hac 后缀区分,例如:
/home/gbasedbt/profile.gbaseserver_hac :
export GBASEDBTSERVER=gbaseserver_hac
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.gbaseserver_hac
export >
/opt/GBASE/gbase/etc/onconfig.gbaseserver_hac :
SERVERNUM 10
DBSERVERNAME gbaseserver_hac
2. SERVERNUM
PRIMARY 节点的 SERVERNUM 配置的是 1 ,建议 HAC 节点的 SERVERNUM 配置为 10 。
原则:保证唯一。
1.5.2 以 root 用户身份关闭各个节点防火墙
RHEL6.5 :
[root@PRIMARY ~]# service iptables stop
CentOS7 :
[root@primary ~]# systemctl stop firewalld
1.5.3 可根据需要以 root 用户身份关闭 SELinux
立刻关闭:
[root@PRIMARY ~]# /usr/sbin/setenforce 0
永久更改:
[root@PRIMARY ~]# vim /etc/selinux/config
#SELINUX=enforcing
#SELINUXTYPE=targeted
SELINUX=disabled
1.5.4 以 gbasedbt 用户身份登录
可以直接切换到 gbasedbt 用户,也可以:
[root@PRIMARY ~]# su gbasedbt
[gbasedbt@PRIMARY root]$ source /home/gbasedbt/.bash_profile
如果想在切换用户之后使用新用户的工作环境,也可以在 su 和用户名之间加 - :
[root@PRIMARY ~]# su - gbasedbt
1.5.5 初始化实例
1. 在 PRIMARY : 192.168.5.100 节点执行,并确认不报错
[gbasedbt@PRIMARY ~]$ oninit -ivwy
其中的 -i 选项表示初始化磁盘空间并使数据库服务器进入联机方式, -w 选项表示在返回至 shell 提示符并返回代码 0 之前迫使服务器等待直到成功初始化为止。
2. 在 PRIMARY : 192.168.5.100 节点执行,并确认不报错
[gbasedbt@PRIMARY ~]$ onmode -d primary gbaseserver_hac
其中 gbaseserver_hac 是辅节点实例名
3. HAC : 192.168.5.110 节点确保可正常启动数据库服务但是不需要启动数据库服务。 然后在主节点进行 0 级全备,并使用管道恢复到辅节点。备份及恢复结束后 HAC : 192.168.5.110 节点执行: onstat - ,状态应为 Fast Recovery
[gbasedbt@PRIMARY ~]$ ontape -s -L 0 -t STDIO | ssh 192.168.5.110 "source /home/gbasedbt/profile.gbaseserver_hac && ontape -p -t STDIO "
4. HAC : 192.168.5.110 节点执行,并确认不报错
[gbasedbt@HAC ~]$ onmode -d secondary gbaseserver
1.5.6 查看节点状态
在 PRIMARY : 192.168.5.100 节点执行 onstat -g dri ,可以看到 On-Line ( Prim )状态。
[gbasedbt@PRIMARY ~]$ onstat -g dri
Your evaluation license will expire on 2021-05-21 00:00:00
GBase Database Server Version 12.10.FC4G1TL -- On-Line (Prim) -- Up 00:08:23 -- 207104 Kbytes
Data Replication at 0x45e11028:
Type State Paired server Last DR CKPT (id/pg) Supports Proxy Writes
primary on gbaseserver_hac 2 / 5 NA
DRINTERVAL 0
DRTIMEOUT 30
DRAUTO 3
DRLOSTFOUND /opt/GBASE/gbase/etc/dr.lostfound
DRIDXAUTO 0
ENCRYPT_HDR 0
Backlog 0
Last Send 2020/05/25 15:35:14
Last Receive 2020/05/25 15:35:14
Last Ping 2020/05/25 15:34:47
Last log page applied(log id,page): 2,6
在 HAC : 192.168.5.110 节点执行 onstat -g dri 可以看到 Read-Only ( Sec )状态 。
[gbasedbt@HAC ~]$ onstat -g dri
Your evaluation license will expire on 2021-05-25 00:00:00
GBase Database Server Version 12.10.FC4G1TL -- Read-Only (Sec) -- Up 00:08:53 -- 198912 Kbytes
Data Replication at 0x45e0c028:
Type State Paired server Last DR CKPT (id/pg) Supports Proxy Writes
HDR Secondary on gbaseserver 2 / 5 N
DRINTERVAL 0
DRTIMEOUT 30
DRAUTO 3
DRLOSTFOUND /opt/GBASE/gbase/etc/dr.lostfound
DRIDXAUTO 0
ENCRYPT_HDR 0
Backlog 0
Last Send 2020/05/25 15:37:37
Last Receive 2020/05/25 15:37:37
Last Ping 2020/05/25 15:37:17
Last log page applied(log id,page): 0,0
至此同城灾备集群安装成功。
1.6 配置异地灾备辅节点
1.6.1 配置集群内其他节点
异地灾备集群支持多个辅节点,重复上述步骤准备 HAC1 : 192.168.5.111 节点和 HAC2 : 192.168.5.112 节点,这 2 个辅节点与主节点设置上有如下不同:
1. 实例名
HAC1 : 192.168.5.111 节点实例名建议为 gbaseserver_hac1 , HAC2 : 192.168.5.112 节点实例名建议为 gbaseserver_hac2 。
HAC1 辅节点请依次修改下面几个文件中的实例名,例如:
/home/gbasedbt/profile.gbaseserver_hac :
export GBASEDBTSERVER=gbaseserver_hac1
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.gbaseserver_hac
export >
/opt/GBASE/gbase/etc/onconfig.gbaseserver_hac :
SERVERNUM 11
DBSERVERNAME gbaseserver_hac1
LOG_INDEX_BUILDS 1
HAC2 辅节点请依次修改下面几个文件中的实例名,例如:
/home/gbasedbt/profile.gbaseserver_hac :
export GBASEDBTSERVER=gbaseserver_hac2
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.gbaseserver_hac
export >
/opt/GBASE/gbase/etc/onconfig.gbaseserver_hac :
SERVERNUM 12
DBSERVERNAME gbaseserver_hac2
LOG_INDEX_BUILDS 1
2. SERVERNUM
PRIMARY 节点的 SERVERNUM 配置的是 1 , HAC 节点的 SERVERNUM 配置的是 10 。
建议 HAC1 节点的 SERVERNUM 配置为 11 ,建议 HAC2 节点的 SERVERNUM 配置为 12 。
原则:保证唯一。
3. LOG_INDEX_BUILDS
PRIMARY 节点和 HAC1 、 HAC2 节点此参数均需要配置为 1 。
1.6.2 以 root 用户身份关闭各个节点防火墙
RHEL6.5 :
[root@PRIMARY ~]# service iptables stop
CentOS7 :
[root@primary ~]# systemctl stop firewalld
1.6.3 可根据需要以 root 用户身份关闭 SELinux
立刻关闭:
[root@PRIMARY ~]# /usr/sbin/setenforce 0
永久更改:
[root@PRIMARY ~]# vim /etc/selinux/config
#SELINUX=enforcing
#SELINUXTYPE=targeted
SELINUX=disabled
1.6.4 以 gbasedbt 用户身份登录
可以直接切换到 gbasedbt 用户,也可以:
[root@PRIMARY ~]# su gbasedbt
[gbasedbt@PRIMARY root]$ source /home/gbasedbt/.bash_profile
如果想在切换用户之后使用新用户的工作环境,也可以在 su 和用户名之间加 - :
[root@PRIMARY ~]# su - gbasedbt
1.6.5 初始化实例
1. 如果是初次使用, 在 PRIMARY : 192.168.5.100 节点执行,并确认不报错:
[gbasedbt@PRIMARY ~]$ oninit -ivwy
其中的 -i 选项表示初始化磁盘空间并使数据库服务器进入联机方式, -w 选项表示在返回至 shell 提示符并返回代码 0 之前迫使服务器等待直到成功初始化为止。
2. 如果同城灾备集群部分已初始化实例,则在 PRIMARY : 192.168.5.100 节点执行,并确认不报错:
[gbasedbt@PRIMARY ~]$ oninit -vwy
3. 启动数据库服务后使用onmode 命令把HAC1 节点加入到主服务器,即在PRIMARY :192.168.5.100 节点执行,并确认不报错:
[gbasedbt@PRIMARY ~]$ onmode -d add RSS gbaseserver_hac1
4. HAC1 :192.168.5.111 节点确保可正常启动数据库服务但是不需要启动数据库服务。然后在主节点进行0 级全备,并使用管道恢复到HAC1 点:
[gbasedbt@PRIMARY ~]$ ontape -s -L 0 -t STDIO | ssh 192.168.5.111 "source /home/gbasedbt/profile.gbaseserver_hac && ontape -p -t STDIO "
5. 备份及恢复结束后HAC1 :192.168.5.111 节点执行:onstat - ,状态应为Fast Recovery
6. HAC1 :192.168.5.111 节点执行onmode -d RSS gbaseserver ,状态变为Read-Only(RSS)
7. 可重复步骤3 至6 ,操作HAC2 辅节点。
1.6.6 查看节点状态
在 PRIMARY : 192.168.5.100 节点执行onstat -g rss verbose ,可以看到 On-Line ( Prim )状态。
[gbasedbt@PRIMARY etc]$ onstat -g rss verbose
Your evaluation license will expire on 2021-05-21 00:00:00
GBase Database Server Version 12.10.FC4G1TL -- On-Line (Prim) -- Up 16:10:57 -- 207104 Kbytes
Local server type: Primary
Index page logging status: Enabled
Index page logging was enabled at: 2020/05/25 17:48:47
Number of RSS servers: 1
RSS Server information:
RSS Server control block: 0x4e323170
RSS server name: gbaseserver_hac1
RSS server status: Active
RSS connection status: Connected
RSS flow control:384/352
Log transmission status: Active
Next log page to send(log id,page): 2,4006
Last log page acked(log id,page): 2,4005
Last log page applied(log id,page): 2,4005
Time of Last Acknowledgement: 2020-05-26.10:14:36
Pending Log Pages to be ACKed: 0
Approximate Log Page Backlog:0
Sequence number of next buffer to send: 163
Sequence number of last buffer acked: 162
Supports Proxy Writes: N
在 HAC1 : 192.168.5.111 节点和 HAC2 : 192.168.5.112 节点执行onstat -g rss verbose , 可以看到 Read-Only ( RSS )状态 。
[gbasedbt@HAC1 ~]$ onstat -g rss verbose
Your evaluation license will expire on 2021-05-25 00:00:00
GBase Database Server Version 12.10.FC4G1TL -- Read-Only (RSS) -- Up 00:55:03 -- 207104 Kbytes
RSS Server control block: 0x45e3ca70
Local server type: RSS
Server Status : Active
Source server name: gbaseserver
Connection status: Connected
Last log page received(log id,page): 2,4005
Sequence number of last buffer received: 162
Sequence number of last buffer acked: 162
Delay Apply: Not configured.
Stop Apply: Not configured.
Delay or Stop Apply not active.
至此异地灾备集群安装成功。
1.7 验证 HAC
HAC 集群安装成功后,客户端可以通过 JDBC 访问服务端。例如使用 GBaseDataStudio 连接到 PRIMARY : 192.168.5.100 节点、 HAC : 192.168.5.110 节点、 HAC1 : 192.168.5.111 节点、 HAC2 : 192.168.5.112 节点。对 PRIMARY 节点执行 insert 、 update 、 delete 操作,主节点对数据的修改可以同步到 HAC 节点、 HAC1 节点、 HAC2 节点。默认情况下 HAC 节点、 HAC1 节点、 HAC2 节点不支持写操作,如需支持,可通过 onconfig 文件的 UPDATABLE_SECONDARY 参数进行配置 。
连接管理器是一种守护程序实用程序,它可以在高可用性集群中监视所有节点的工作负载和状态。此实用程序可将客户机应用程序连接请求引导到集群中的相应服务器,并可在主节点发生故障时自动执行服务器故障转移。
1.8 集群节点准备
本次增加 2 个连接管理器节点
² CM1 : 192.168.5.201
² CM2 : 192.168.5.202
1.9 组和用户
参考 HAC 中介绍部分。
1.10 配置节点互信任
在 Linux 服务器之间建立信任关系,是很多线上服务系统的基础性工作,这样能便于程序在多台服务器之间自动传输数据。服务器级节点信任请参考 HAC 中介绍部分配置。
1.11 安装客户机产品
请安装光盘中的 clientsdk ,详细步骤请参考《 GBase 8s 客户机产品安装指南》,这里只介绍安装后的配置,并对高可用相关细节进行说明。
1.11.1 配置 profile.cm1 环境变量文件
[root@CM1 ~]# cd /home/gbasedbt/
[root@CM1 gbasedbt ]# su gbasedbt
[gbasedbt@CM1 ~]$ vim profile.cm1
内容如下:
export GBASEDBTDIR=/opt/GBASE/gbase
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.cm1
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
为了 gbasedbt 用户在登录后自动应用这些环境变量,可以修改 .bash_profile 文件,在文件后添加如下内容:
source /home/gbasedbt/profile.cm1
1.11.2 配置 sqlhosts.cm1 文件
[root@CM1 ~]# cd /opt/GBASE/gbase/etc/
[root@CM1 etc]# su gbasedbt
[gbasedbt@CM1 etc]$ vim sqlhosts.cm1
内容如下:
db_group group - - i=1
gbaseserver onsoctcp 192.168.5.100 9088 g=db_group
gbaseserver_hac onsoctcp 192.168.5.110 9088 g=db_group
gbaseserver_hac1 onsoctcp 192.168.5.111 9088 g=db_group
gbaseserver_hac2 onsoctcp 192.168.5.112 9088 g=db_group
cm_update group - - i=3,c=0
wcm1 onsoctcp 192.168.5.201 9089 g=cm_update
wcm2 onsoctcp 192.168.5.202 9089 g=cm_update
cm_read group - - i=4,c=0
rcm1 onsoctcp 192.168.5.201 9090 g=cm_read
rcm2 onsoctcp 192.168.5.202 9090 g=cm_read
1.11.3 配置 cm1.cfg 参数文件
[root@CM1 ~]# cd /opt/GBASE/gbase/etc/
[root@CM1 etc]# su gbasedbt
[gbasedbt@CM1 etc]$ vim cm1.cfg
内容如下:
NAME CM1
LOGFILE ${GBASEDBTDIR}/tmp/cm1.log
CM_TIMEOUT 40
SECONDARY_EVENT_TIMEOUT 30
SQLHOSTS LOCAL
EVENT_TIMEOUT 60
LOG 1
DEBUG 0
CLUSTER CLUSTER1
{
GBASEDBTSERVER db_group
SLA wcm1 DBSERVERS=PRI WORKERS=16
SLA rcm1 DBSERVERS=HDR,RSS WORKERS=16
FOC ORDER=ENABLED TIMEOUT=15 RETRY=3 PRIORITY=1
}
1.12 准备集群内其他节点
通过上述步骤完成了 CM1 : 192.168.5.201 节点的准备工作,本次我们的集群由 2 个节点组成,因此重复上述步骤再准备 CM2 : 192.168.5.202 节点,这个节点与第 1 个节点设置上有如下不同:
1.12.1 配置 profile.cm2 环境变量文件
[root@CM2 ~]# cd /home/gbasedbt/
[root@CM2 gbasedbt ]# su gbasedbt
[gbasedbt@CM2 ~]$ vim profile.cm2
内容如下:
export GBASEDBTDIR=/opt/GBASE/gbase
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts.cm2
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
为了 gbasedbt 用户在登录后自动应用这些环境变量,可以修改 .bash_profile 文件,在文件后添加如下内容:
source /home/gbasedbt/profile.cm2
1.12.2 配置 sqlhosts.cm2 文件
内容可同 sqlhosts.cm1
1.12.3 配置 cm2.cfg 参数文件
[root@CM2 ~]# cd /opt/GBASE/gbase/etc/
[root@CM2 etc]# su gbasedbt
[gbasedbt@CM2 etc]$ vim cm2.cfg
内容如下:
NAME CM2
LOGFILE ${GBASEDBTDIR}/tmp/cm2.log
CM_TIMEOUT 40
SECONDARY_EVENT_TIMEOUT 30
SQLHOSTS LOCAL
EVENT_TIMEOUT 60
LOG 1
DEBUG 0
CLUSTER CLUSTER2
{
GBASEDBTSERVER db_group
SLA wcm2 DBSERVERS=PRI WORKERS=16
SLA rcm2 DBSERVERS=HDR,RSS WORKERS=16
FOC ORDER=ENABLED TIMEOUT=15 RETRY=3 PRIORITY=2
}
多 CM 节点时 PRIORITY 依次配置为 1 、 2 、 3 等,数字越大优先级越低。
1.13 启动 CM
[gbasedbt@CM1 ~]$ oncmsm -c /opt/GBASE/gbase/etc/cm1.cfg
参看日志文件,可看到详细启动信息。
1.14 验证
如果 PRIMARY : 192.168.5.100 节点宕机后,可以看到 CM 会将 PRI 切换到 HAC : 192.168.5.110 节点和 HAC1 : 192.168.5.111 节点和 HAC2 : 192.168.5.112 节点。应用对 CM 的访问不受影响。