GBase 8s 搭建共享存储集群

1、环境准备

1.1、创建共享磁盘并添加

参考https://blog.youkuaiyun.com/weixin_48632512/article/details/138947734

1.2、集群节点准备

准备1个主节点和1个辅节点
PRIMARY:192.168.19.101
SSC1:192.168.19.102

本文章以CENTOS7 64位操作系统,数据库版本为GBase8sV8.8_3.5.1_3_6a4e30_RHEL6_x86_64为例,请大家做相应调整。

1.3、创建组与用户

1、以root用户身份创建gbasedbt组和用户

[root@8s-node1 opt]# groupadd gbasedbt
[root@8s-node1 opt]# useradd -g gbasedbt gbasedbt

2、 为gbasedbt用户设置密码,建议设置为复杂密码

[root@8s-node1 opt]# passwd gbasedbt
更改用户 gbasedbt 的密码 。

1.4、映射裸设备

以root用户身份,在终端通过fdisk -l命令查看当前可用的磁盘分区。为了对磁盘进行分区,在终端执行fdisk /dev/sdb命令,其中sdb是要进行分区的盘符。本次分为8个分区,前3个分区键入n后键入p,并依次键入1、2、3作为Partition number,First sector直接回车使用缺省值,Last sector可以使用+20G的格式。注意:第4个分区键入n后键入e,即分区类型不再是primary partition而是extended,然后First sector和Last sector均使用缺省值,即第4个扩展分区将剩余磁盘空间全部使用。继续键入n将第4个扩展分区进一步细分为5个分区。键入p查看分区情况,确认无误后键入w使分区生效并退出fdisk命令。MBR分区表只支持2T磁盘,大于2T的磁盘请使用GPT分区表,并使用parted命令分区,要注意parted命令是实时生效的。对于主从共享的磁盘,此时可在从共享节点上通过partprobe /dev/xxx命令刷新分区信息。

1.5、创建并映射裸设备

root用户在终端通过raw命令进行映射

raw /dev/raw/raw1 /dev/sdb1
raw /dev/raw/raw2 /dev/sdb2
raw /dev/raw/raw3 /dev/sdb3
raw /dev/raw/raw7 /dev/sdb7
raw /dev/raw/raw5 /dev/sdb5
raw /dev/raw/raw6 /dev/sdb6
raw /dev/raw/raw8 /dev/sdb8
chown gbasedbt:gbasedbt /dev/raw/raw*
chmod 660 /dev/raw/raw*

如果解除裸设备的映射,可执行如下命令

raw /dev/raw/raw1 0 0

1.4、 开机自动挂载裸设备

为了防止重启后裸设备绑定失效,可添加/bin/raw /dev/raw/raw1 /dev/sdb1到
/etc/rc.d/rc.local中,其中sdb4扩展分区不需要映射
以下修改raw文件属性的命令也建议加在/etc/rc.d/rc.local中:

raw /dev/raw/raw1 /dev/sdb1
raw /dev/raw/raw2 /dev/sdb2
raw /dev/raw/raw3 /dev/sdb3
raw /dev/raw/raw7 /dev/sdb7
raw /dev/raw/raw5 /dev/sdb5
raw /dev/raw/raw6 /dev/sdb6
raw /dev/raw/raw8 /dev/sdb8
chown gbasedbt:gbasedbt /dev/raw/raw*
chmod 660 /dev/raw/raw*

CentOS7中官方将/etc/rc.d/rc.local 的开机自启的权限禁止掉了,为了兼容性设置了这
个但是并不默认启动,如果需要的话执行以下代码:

chmod +x /etc/rc.d/rc.local

2、配置数据库

2.1、安装数据库

选择典型安装,然后不自动创建实例

2.2、配置数据目录

进入安装目录,配置数据目录

su - gbasedbt
cd /opt//gbase
mkdir gbaeserver_dbs

2.3、配置profile.gbaseserver环境变量文件

使用gbasedbt用户执行

cd /home/gbasedbt
vim .bash_profile
内容如下:
 export GBASEDBTSERVER=gbase01
export GBASEDBTDIR=/opt/gbase
export GBASEDBTSQLHOSTS=/opt/gbase/etc/sqlhosts.gbase01
export ONCONFIG=onconfig.gbase01
export PATH=/opt/gbase/bin:$PATH
export DB_LOCALE=zh_CN.GB18030-2000
export CLIENT_LOCALE=zh_CN.GB18030-2000
export GL_USEGLU=1

2.4、配置sqlhosts.gbase01文件

使用gbasedbt用户执行

cd /opt/gbase/etc
vim sqlhosts.gbase01
sqlhosts文件中需要将本次的3个节点的实例名、连接方式、IP、端口配置正确。
gbase01 onsoctcp 192.168.19.130 9088
gbase02 onsoctcp 192.168.19.131 9088

2.5、配置onconfig.gbase01参数文件

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

修改主要参数说明如下:
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/gbase01.log指定消息日志文件的全路径名
DBSPACETEMP dbspacetemp 指定临时数据空间的名称
SBSPACETEMP sbspacetemp 指定临时智能大对象空间的名称
SBSPACENAME sbspace 指定智能大对象空间的名称
SERVERNUM 1 指定共享内存中的相对位置,取值范围为0-255,多个数据库实例时候需要确保SERVERNUM唯一
DBSERVERNAME gbase01 数据库实例名
DRAUTO 3 指定由连接管理器控制
SDS_ENABLE 0,从节点的值修改为1 是否启用辅助服务器功能
SDS_TEMPDBS sdsdbspacetemp,$GBASEDBTDIR/sds_dbs/sdsdbspacetemp,2,0,51200  指定共享磁盘辅助服器用于动态地创建临时数据空间的信息
SDS_PAGING $GBASEDBTDIR/sds_dbs/paging1,$GBASEDBTDIR/sds_dbs/paging2 指定两个作为缓冲区的文件信息

注意:相关参数中用到的文件不存在的需要以gbasedbt用户身份touch。

 cd /opt/gbase/
 mkdir sds_dbs
cd sds_dbs
touch sdsdbspacetemp paging1 paging2
 chmod 660 sdsdbspacetemp paging1 paging2
由于默认权限高为了安全需要chown为660

2.6、链接数据chunk文件到裸设备上

以gbasedbt用户身份执行:

ln -s /dev/raw/raw1 $GBASEDBTDIR/gbaseserver_dbs/rootdbs
ln -s /dev/raw/raw2 $GBASEDBTDIR/gbaseserver_dbs/llogdbs
ln -s /dev/raw/raw3 $GBASEDBTDIR/gbaseserver_dbs/plogdbs
ln -s /dev/raw/raw5 $GBASEDBTDIR/gbaseserver_dbs/dbspace
ln -s /dev/raw/raw6 $GBASEDBTDIR/gbaseserver_dbs/dbspacetemp
ln -s /dev/raw/raw7 $GBASEDBTDIR/gbaseserver_dbs/sbspace
ln -s /dev/raw/raw8 $GBASEDBTDIR/gbaseserver_dbs/sbspacetemp

之前8个分区对应的裸设备中的raw9暂时还没用到,raw4是扩展分区跳过。
注意:2个节点均需要链接数据chunk文件到裸设备。

2.7、配置节点互信任

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

192.168.19.130 gbasedbt
192.168.19.131 gbasedbt

2.8、调优操作系统参数

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

  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

2.9、准备集群内其他节点

通过上述步骤完成了PRIMARY:192.168.19.130节点的准备工作,本次我们的集群由2个
节点组成,因此重复上述步骤再准备SSC1:192.168.19.131,这1个节点与第1个节点设置上有如下不同:

  1. 实例名
    PRIMARY:192.168.19.130节点实例名为gbase01, SSC1:192.168.19.131节点实例名建
    议为gbase02,
    请依次修改下面几个文件中的实例名(文件名无需修改),例如:
/home/gbasedbt/.bash_profile:
export GBASEDBTSERVER=gbase02
export GBASEDBTSQLHOSTS=/opt/gbase/etc/sqlhosts.gbase01
export ONCONFIG=onconfig.gbase01
/opt/gbase/etc/sqlhosts.gbase02
/opt/gbase/etc/onconfig.gbase02中的DBSERVERNAME gbase02
  1. SDS_ENABLE
/opt/gbase/etc/onconfig.gbase02:SDS_ENABLE 1,从节点的值修改为1启动数据库

2.10、以root用户身份关闭各个节点防火墙

systemctl stop firewalld

2.11、以gbasedbt用户身份登录

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

 su gbasedbt
source /home/gbasedbt/.bash_profile

如果想在切换用户之后使用新用户的工作环境,也可以在su和用户名之间加-:

su - gbasedbt

2.12、初始化实例

  1. 在PRIMARY:192.168.19.130节点执行,并确认不报错
 oninit -ivwy
 其中的-i选项表示初始化磁盘空间并使数据库服务器进入联机方式,-w选项表示在返
回至shell提示符并返回代码0之前迫使服务器等待直到成功初始化为止。

  1. 在PRIMARY:192.168.19.130节点执行,并确认不报错
 onmode -d set SDS primary gbase01
 
 其中gbase01是实例名,SDS大写
  1. 从节点不需要初始化实例,在SSC1:192.168.19.131节点执行oninit -vy启动数据库服务,并确认不报错。
oninit -vy

2.12、查看节点状态

当从节点没有启动时,在PRIMARY:192.168.19.131节点执行onstat -g sds,可以看到On
Line状态。在SSC1:192.168.19.131节点执行oninit -vy启动数据库服务。此时在PRIMARY:
192.168.19.131节点执行onstat -g sds可以看到SSC1已经加入。

2.13、验证SSC

SSC集群安装成功后,客户端可以通过JDBC访问服务端。例如使用GBaseDataStudio连
接到PRIMARY:192.168.19.130节点、SSC1:192.168.19.131节点
对PRIMARY节点执行insert、update、delete操作,主节点对数据的修改可以在其他SSC节点
体现。默认情况下SSC节点不支持写操作,如需支持,可通过onconfig文件的
UPDATABLE_SECONDARY参数进行配置。

DRAUTO=3 是由CM完成自动执行服务器故障转移,如何配置见下篇
连接管理器是一种守护程序实用程序,它可以在高可用性集群中监视所有节点的工作负载和状态。此实用程序可将客户机应用程序连接请求引导到集群中的相应服务器,并可在主节点发生故障时自动执行服务器故障转移

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值