GBase 8s数据库灾备集群(同城灾备辅节点)详细搭建

GBase 8s数据库灾备集群(同城灾备辅节点)详细搭建 文章目录灾备集群安装环境准备集群节点准备组和用户安装和配置安装数据库配置数据库创建数据目录配置profile.gbaseserver环境变量文件配置sqlhosts.gbaseserver文件配置onconfig.gbaseserver参数文件配置节点互信任调优操作系统参数配置完成配置同城灾备辅节点配置集群内其他节点关闭防火墙关闭SELinux以gbasedbt用户身份登录初始化实例查看节点状态灾备集群安装环境准备集群节点准备准备1个主节点、1个同城辅节点PRIMARY10.197.167.136HAC10.197.167.137硬件要求GBase 8s同城灾备集群支持一个辅节点GBase 8s异地灾备集群支持多个辅节点以下为单节点推荐配置硬件最低配置推荐配置处理器1×2核 2.0GHz4×4核 3.0GHz内存4GB64GB或更多硬盘100GB1TB光驱CD-ROMCD-ROM平台要求GBase 8s灾备集群支持安装部署在x86、飞腾、鲲鹏、龙芯等多种平台上支持的操作系统包括RedHat6.x、CentOS6.x等主流OS并包括UOS、麒麟、凝思磐石等国产OS。序号操作系统CPU平台位数1Redhat6.x、CentOS6.x及以上x8664位2麒麟 V10、UOS V20飞腾、鲲鹏平台64位3麒麟 V10、UOS V20龙芯平台64位本手册以Redhat Enterprise Linux 6.5 64位操作系统为例进行讲解对于RHEL后续版本和CentOS等其他Linux内核操作系统请大家做相应调整。组和用户以root用户身份创建gbasedbt组和用户[rootPRIMARY ~]# groupadd gbasedbt [rootPRIMARY ~]# useradd -g gbasedbt gbasedbt为gbasedbt用户设置密码建议设置为复杂密码[rootPRIMARY ~]# 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 GBASEDBTSERVERgbaseserver export GBASEDBTDIR/opt/GBASE/gbase export GBASEDBTSQLHOSTS/opt/GBASE/gbase/etc/sqlhosts.gbaseserver export ONCONFIGonconfig.gbaseserver export PATH/opt/GBASE/gbase/bin:$PATH export DB_LOCALEzh_CN.GB18030-2000 export CLIENT_LOCALEzh_CN.GB18030-2000 export GL_USEGLU1为了gbasedbt用户在登录后自动应用这些环境变量可以修改.bash_profile文件在文件后添加如下内容source /home/gbasedbt/profile.gbaseserver配置sqlhosts.gbaseserver文件# 进入gbasesbt用户 su - gbasedbt cd /opt/GBASE/gbase/etc vim sqlhosts.gbaseserversqlhosts文件中需要将本次的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主要参数说明如下参数值说明ROOTNAMErootdbs指定数据库服务器root dbspace的名称ROOTPATH$GBASEDBTDIR/gbaseserver_dbs/rootdbs指定root dbspace的初始chunk全路径名包括设备或文件ROOTSIZE500000指定以KB为单位的root dbspace的初始chunk的大小500000即500M左右PHYSFILE100000指定物理日志文件大小100000即100M左右MSGPATH$GBASEDBTDIR/gbaseserver.log指定消息日志文件的全路径名DBSPACETEMPdbspacetemp指定临时数据空间的名称SBSPACETEMPsbspacetemp指定临时智能大对象空间的名称SBSPACENAMEsbspace指定智能大对象空间的名称SERVERNUM1指定共享内存中的相对位置取值范围为0-255多个数据库实例时候需要确保SERVERNUM唯一DBSERVERNAMEgbaseserver数据库实例名DRAUTO3指定由连接管理器控制配置节点互信任集群中节点都需要vim /home/gbasedbt/.rhosts内容如下如果没有自动创建10.197.167.136 gbasedbt 10.197.167.137 gbasedbt 10.197.167.138 gbasedbt 10.197.167.139 gbasedbt调优操作系统参数根据节点硬件和软件具体情况调整默认操作系统参数包括但不限于/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 使修改的核心参数动态生效/etc/security/limits.conf#永久修改ulimit的nofiles参数 #使用root用户在 /etc/security/limits.conf 中加入 * soft nofile 102400 * hard nofile 102400 #然后重新登录用户RHEL6.5/etc/security/limits.d/90-nproc.confCentOS7/etc/security/limits.d/20-nproc.conf#增加内容 * soft nproc 4096 root soft nproc unlimited gbasedbt soft nproc unlimited配置完成通过上述步骤完成了PRIMARY10.197.167.136节点的准备工作。配置同城灾备辅节点配置集群内其他节点同城灾备集群只支持一个辅节点重复上述步骤准备HAC10.197.167.137节点这个节点与主节点设置上有如下不同实例名PRIMARY10.197.167.136节点实例名为gbaseserver, HAC10.197.167.137192.168.5.110节点实例名建议为gbaseserver_hac。请依次修改下面几个文件中的实例名和文件名建议加_hac后缀区分例如/home/gbasedbt/profile.gbaseserver_hacexport GBASEDBTSERVERgbaseserver_hac export GBASEDBTSQLHOSTS/opt/GBASE/gbase/etc/sqlhosts.gbaseserver_hac export ONCONFIGonconfig.gbaseserver_hac # 其他的不变注意这里不只是修改参数先对应的文件名也要改/opt/GBASE/gbase/etc/onconfig.gbaseserver_hacSERVERNUM 10 DBSERVERNAME gbaseserver_hac # 在onconfig.gbaseserver_hac文件中设置 FULL_DISK_INIT 1 # 其他的不变SERVERNUMPRIMARY节点的SERVERNUM配置的是1建议HAC节点的SERVERNUM配置为10。原则保证唯一。关闭防火墙--[root]-- systemctl stop firewalld关闭SELinux# 立刻关闭 /usr/sbin/setenforce 0 # 永久更改 [rootPRIMARY ~]# vim /etc/selinux/config #SELINUXenforcing #SELINUXTYPEtargeted SELINUXdisabled以gbasedbt用户身份登录可以直接切换到gbasedbt用户也可以su - gbasedbt source /home/gbasedbt/.bash_profile source /home/gbasedbt/profile.gbaseserver初始化实例在PRIMARY10.197.167.136节点执行并确认不报错oninit -ivwy其中的-i选项表示初始化磁盘空间并使数据库服务器进入联机方式-w选项表示在返回至shell提示符并返回代码0之前迫使服务器等待直到成功初始化为止。在PRIMARY10.197.167.136节点执行并确认不报错onmode -d primary gbaseserver_hac其中gbaseserver_hac是辅节点实例名HAC10.197.167.137节点确保可正常启动数据库服务但是不需要启动数据库服务。然后在主节点进行0级全备并使用管道恢复到辅节点。备份及恢复结束后HAC10.197.167.137节点执行onstat -状态应为Fast Recovery# 现在备节点执行也就是137 oninit -ivy # 没有报错后输入 onstat - [gbasedbtssd1-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则成功HAC10.197.167.137节点执行并确认不报错onmode -d secondary gbaseserver查看节点状态在PRIMARY10.197.167.136节点执行onstat -g dri可以看到On-LinePrim状态。[gbasedbtpri-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在HAC10.197.167.137节点执行onstat -g dri可以看到Read-OnlySec状态 。[gbasedbtssd1-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至此同城灾备集群安装成功。