灾备集群安装

环境准备

集群节点准备

  1. 准备1个主节点、1个同城辅节点
  • PRIMARY:10.197.167.136
  • HAC:10.197.167.137
  1. 硬件要求

GBase 8s同城灾备集群支持一个辅节点,GBase 8s异地灾备集群支持多个辅节点,以下为单节点推荐配置:

硬件 最低配置 推荐配置
处理器 1×2核 2.0GHz 4×4核 3.0GHz
内存 4GB 64GB或更多
硬盘 100GB 1TB
光驱 CD-ROM CD-ROM
  1. 平台要求:

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. 以root用户身份创建gbasedbt组和用户
[root@PRIMARY ~]# groupadd gbasedbt
[root@PRIMARY ~]# useradd -g gbasedbt gbasedbt
  1. 为gbasedbt用户设置密码,建议设置为复杂密码
[root@PRIMARY ~]# passwd gbasedbt

安装和配置

安装数据库

GBase 8s详细安装步骤请参考[单机版安装](https://www.gbase.cn/docs/gbase-8s/03 安装指南/01 单机版安装/01 安装环境检查),集群环境建议选择Custom installation,并使用各缺省选项,不创建实例,主节点准备创建的实例名为gbaseserver。

配置数据库

创建数据目录

进入安装目录,创建数据目录

# 进入gbasesbt用户
su - gbasedbt
cd /opt/GBASE/gbase

mkdir gbaseserver_dbs
cd gbaseserver_dbs

touch rootdbs
chmod 660 rootdbs
配置profile.gbaseserver环境变量文件
# 进入gbasesbt用户
su - gbasedbt
cd /home/gbasedbt/

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

为了gbasedbt用户在登录后自动应用这些环境变量,可以修改.bash_profile文件,在文件后添加如下内容:

source /home/gbasedbt/profile.gbaseserver
配置sqlhosts.gbaseserver文件
# 进入gbasesbt用户
su - gbasedbt
cd /opt/GBASE/gbase/etc
vim sqlhosts.gbaseserver

sqlhosts文件中需要将本次的2个节点的实例名、连接方式、IP、端口配置正确。

gbaseserver onsoctcp 10.197.167.136 9088
gbaseserver_hac onsoctcp 10.197.167.137 9088
配置onconfig.gbaseserver参数文件

以gbasedbt用户身份,将/opt/GBASE/gbase/etc/目录中的onconfig.std文件复制一份,命名为profile.gbaseserver中$ONCONFIG变量指定的名称onconfig.gbaerserver。

-- 【gbasesbt用户】 --
cp onconfig.std onconfig.gbaseserver
vim onconfig.gbaseserver
# 修改以下参数
ROOTNAME rootdbs
ROOTPATH $GBASEDBTDIR/gbaseserver_dbs/rootdbs
ROOTSIZE 500000
PHYSFILE 100000
MSGPATH $GBASEDBTDIR/gbaseserver.log
DBSPACETEMP dbspacetemp
SBSPACETEMP sbspacetemp
SBSPACENAME sbspace
SERVERNUM 1
DBSERVERNAME gbaseserver
DRAUTO 3

主要参数说明如下:

参数 说明
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 指定由连接管理器控制
配置节点互信任

集群中节点都需要vim /home/gbasedbt/.rhosts,内容如下(如果没有自动创建):

10.197.167.136 gbasedbt
10.197.167.137 gbasedbt
10.197.167.138 gbasedbt
10.197.167.139 gbasedbt
调优操作系统参数

根据节点硬件和软件具体情况,调整默认操作系统参数,包括但不限于:

  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 使修改的核心参数动态生效
  1. /etc/security/limits.conf
#永久修改ulimit的nofiles参数
#使用root用户在 /etc/security/limits.conf 中加入
* soft nofile 102400
* hard nofile 102400
#然后重新登录用户
  1. 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
配置完成

通过上述步骤完成了PRIMARY:10.197.167.136节点的准备工作。

配置同城灾备辅节点

配置集群内其他节点

同城灾备集群只支持一个辅节点,重复上述步骤准备HAC:10.197.167.137节点,这个节点与主节点设置上有如下不同:

  1. 实例名

PRIMARY:10.197.167.136节点实例名为gbaseserver, HAC:10.197.167.137192.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 ONCONFIG=onconfig.gbaseserver_hac
# 其他的不变

注意:

这里不只是修改参数,先对应的文件名也要改

/opt/GBASE/gbase/etc/onconfig.gbaseserver_hac:

SERVERNUM 10
DBSERVERNAME gbaseserver_hac
# 在onconfig.gbaseserver_hac文件中设置
FULL_DISK_INIT 1
# 其他的不变
  1. SERVERNUM

PRIMARY节点的SERVERNUM配置的是1,建议HAC节点的SERVERNUM配置为10。

原则:保证唯一。

关闭防火墙

--[root]--
systemctl stop firewalld

关闭SELinux

# 立刻关闭
/usr/sbin/setenforce 0
# 永久更改
[root@PRIMARY ~]# vim /etc/selinux/config
#SELINUX=enforcing
#SELINUXTYPE=targeted
SELINUX=disabled

以gbasedbt用户身份登录

可以直接切换到gbasedbt用户,也可以:

su - gbasedbt
source /home/gbasedbt/.bash_profile
source /home/gbasedbt/profile.gbaseserver


初始化实例

  1. 在PRIMARY:10.197.167.136节点执行,并确认不报错
oninit -ivwy

其中的-i选项表示初始化磁盘空间并使数据库服务器进入联机方式,-w选项表示在返回至shell提示符并返回代码0之前迫使服务器等待直到成功初始化为止。

  1. 在PRIMARY:10.197.167.136节点执行,并确认不报错
onmode -d primary gbaseserver_hac

其中gbaseserver_hac是辅节点实例名

  1. HAC:10.197.167.137节点确保可正常启动数据库服务但是不需要启动数据库服务。然后在主节点进行0级全备,并使用管道恢复到辅节点。备份及恢复结束后HAC:10.197.167.137节点执行:onstat -,状态应为Fast Recovery
# 现在备节点执行也就是137
oninit -ivy
# 没有报错后输入
onstat -

[gbasedbt@ssd1-nzl etc]$ onstat -
Your evaluation license will expire on 2027-06-30 00:00:00
gbaseserver_hac: On-Line -- Up 00:00:43 -- 1036224 Kbytes
# 关闭
onmode -ky

# 确认没有报错后
# 136上执行
ontape -s -L 0 -t STDIO | ssh 10.197.167.137 "source /home/gbasedbt/profile.gbaseserver_hac && ontape -p -t STDIO "
# 137 执行
onstat -
# 出现Fast Recovery则成功
  1. HAC:10.197.167.137节点执行,并确认不报错
onmode -d secondary gbaseserver

查看节点状态

在PRIMARY:10.197.167.136节点执行onstat -g dri,可以看到On-Line(Prim)状态。

[gbasedbt@pri-nzl log]$ onstat -g dri
Your evaluation license will expire on 2027-06-30 00:00:00
gbaseserver: On-Line (Prim) -- Up 00:49:40 -- 1047540 Kbytes


Data Replication at 0x81f99040: 
  Type           State        Paired server        Last DR CKPT (id/pg)    Supports Proxy Writes   
  primary        off          gbaseserver_hac              -1 / -1         NA

  DRINTERVAL   0 
  DRTIMEOUT    30 
  DRAUTO       3 
  DRLOSTFOUND  /opt/GBASE/gbase/etc/dr.lostfound 
  DRIDXAUTO    0 
  ENCRYPT_HDR  0 
  Catchup Backlog 1311 
  Last Send    2026/07/01 10:57:45 
  Last Receive 2026/07/01 10:57:46 
  Last Ping    2026/07/01 10:57:46 
  Last log page applied(log id,page): 0,0

在HAC:10.197.167.137节点执行onstat -g dri 可以看到Read-Only(Sec)状态 。

[gbasedbt@ssd1-nzl etc]$ onstat -g dri
Your evaluation license will expire on 2027-06-30 00:00:00
gbaseserver_hac: Read-Only (Sec) -- Up 00:09:13 -- 1027192 Kbytes


Data Replication at 0x80bba040: 
  Type           State        Paired server        Last DR CKPT (id/pg)    Supports Proxy Writes   
  HDR Secondary  on           gbaseserver                   8 / 6          N 

  DRINTERVAL   0 
  DRTIMEOUT    30 
  DRAUTO       3 
  DRLOSTFOUND  /opt/GBASE/gbase/etc/dr.lostfound 
  DRIDXAUTO    0 
  ENCRYPT_HDR  0 
  Backlog      0 
  Last Send    2026/07/01 10:58:34 
  Last Receive 2026/07/01 10:58:34 
  Last Ping    2026/07/01 10:58:14 
  Last log page applied(log id,page): 0,0

至此同城灾备集群安装成功。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐