暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kingbase V9R9 RAC安装过程记录

97

1、环境准备

(1)为了实现多节点数据共享的功能,需要提供多节点共享的存储设备,在当前版本下(V009R009)共享存储通常需要两块SAN设备分别作为数据存储及投票存储(如果是一块存储,数据存储的磁盘io耗尽会导致影响投票存储进而重启服务器)。投票存储一般需要100M以上的空间。

(2)操作系统的hostname不可以有特殊字符

--设置主机名

--(db1)(root#)

hostnamectl set-hostname szjh1

--(db2)(root#)

hostnamectl set-hostname szjh2

IMG_256

(3)需要事前申请好vip

2、配置 /etc/hosts(所有节点)

--(root#)

cat<<-EOF>>/etc/hosts

172.27.130.51 szjh1

172.27.130.52 szjh2

EOF

3、关闭防火墙(所有节点)

--(root#)

systemctl stop firewalld

systemctl disable firewalld

4、关闭 SELNUX(所有节点)

--(root#)

查询:getenforce

IMG_257

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

5、创建主机用户(所有节点)

--为了使共享磁盘在节点间迁移时不会因改变属主而失去访问权限,我们需要保证共享磁盘的属主(也就是拥有 KingbaseES 实例的用户)在每个节点上的 uid 一致。

--(root#)

useradd -u 2000 kingbase

echo "Kbase@4202" | sudo passwd --stdin kingbase

6、系统参数配置(所有节点)

--为了避免在 KingbaseES 安装和使用过程中出现问题,官方建议调整系统内核参数:

--(root#)

shmall=$(echo "$(free -b | grep Mem | awk '{print $2}') / 4096" | bc)

shmmax=$(echo "$(free -b | grep Mem | awk '{print $2}') * 8 / 10" | bc)

cat<<-EOF>>/etc/sysctl.conf

fs.aio-max-nr= 1048576

fs.file-max= 6815744

kernel.shmall = $shmall

kernel.shmmax = $shmmax

kernel.shmmni= 4096

kernel.sem= 50100 64128000 50100 1280

net.ipv4.ip_local_port_range= 9000 65500

net.core.rmem_default= 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

vm.swappiness=1

vm.overcommit_memory=2

EOF

7、资源配置(所有节点)

--限制用户可使用的资源数量对系统的稳定性非常重要,可以通过调整资源限制数量改进系统性能:

--(root#)

cat<<-EOF>>/etc/security/limits.conf

kingbase soft nofile 655360

kingbase hard nofile 655360

kingbase soft nproc 655360

kingbase hard nproc 655360

kingbase soft memlock unlimited

kingbase hard memlock unlimited

kingbase soft core unlimited

kingbase hard core unlimited

kingbase soft stack unlimited

kingbase hard stack unlimited

EOF

8、配置时间同步(所有节点)

这个不是必须配置,但是建议配置,用于在系统中配置 NTP 实现时间同步。

--(root#)

--RHEL7默认启用的chronyd不好用

systemctl stop chronyd

systemctl disable chronyd

yum -y install ntp

sed -i '/^server/ s/\(.*\)/# \1/' /etc/ntp.conf

sed -i '$ a server 127.127.1.0 iburst' /etc/ntp.conf

systemctl restart ntpd

systemctl enable ntpd

--注

--设置客户端IP限制

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

--server 127.127.1.0 iburst

server 指定NTP服务器

127.127.1.0 是服务器主板晶体芯片上的地址

iburst 表示加速同步

--查看NTP监听端口

ss -lntup | grep ntpd

监听UDP的123端口

--Linux防火墙放行

firewall-cmd --add-service=ntp --permanent

firewall-cmd --reload

+2 NTP Client

ntpdate 192.168.1.4

根据NTP服务器(例如1.1.1.1)修改自己的时间

不能同步chronyd服务器

hwclock -w

将系统时间同步到BIOS中

vi /etc/ntp.conf

server 192.168.1.4 iburst

systemctl restart ntpd

systemctl enable ntpd

timedatectl

NTP enabled: yes

NTP synchronized: yes

chronyc sources -v

MS中有*表示已同步,MS中有?表示没有同步

9、修改IPC(所有节点)

--(root#)

vim /etc/systemd/logind.conf

RemoveIPC=no

生效方式

systemctl daemon-reload

systemctl restart systemd-logind

sudo sed -i 's/^#\?RemoveIPC=.*/RemoveIPC=no/' /etc/systemd/logind.conf && \

sudo systemctl daemon-reload && \

sudo systemctl restart systemd-logind

查询:

loginctl show-session | grep RemoveIPC

10、配置system.conf文件

--(root#)

--全局修改

vim /etc/systemd/system.conf 修改参数

DefaultTasksAccounting=no 注:所有服务不再有此限制

sudo sed -i 's/^#\?DefaultTasksAccounting=.*/DefaultTasksAccounting=no/' /etc/systemd/system.conf && sudo systemctl daemon-reexec

注:修执行命令后 service sshd status 观察是否生效(无Limit那一行),若无生效,重启。

查询:

systemctl show -p DefaultTasksAccounting

11、修改磁盘IO调度策略

--(root#)

echo deadline > /sys/block/vdb/queue/scheduler

此命令添加到rc.local

注:deadline综合测试性能表现更稳定。

12、安装kingbaseRAC软件

mkdir -p /home/kingbase/install

mkdir -p /home/kingbase/kingbaseES

chown -R kingbase:kingbase /home/kingbase

mkdir /iso

mount -o loop /root/KingbaseES_V008R006C009B0014_Lin64_install.iso /iso

cp -rp /iso/* /home/kingbase/install

cp -rp /root/license.dat /home/kingbase/install

chmod -R 775 /home/kingbase/install/license.dat

su - kingbase

cd /home/kingbase/install/

bash setup.sh -i console

13、创建集群部署目录(所有节点)

--(root#)

cd /home/kingbase/kingbaseES/install/script

sh rootDeployClusterware.sh

--执行前需要检查 rootDeployClusterware.sh 脚本中的 INSTALLDIR 变量,需要修改为 KingbaseES 软件安装目录

检查有没有生成/opt/KingbaseHA/目录

ll /opt/KingbaseHA/

IMG_258

14、配置 cluster_manager.conf(所有节点)

[Part 1]

cluster_name=kclusterrac --可改可不改

node_name=(szjh1 szjh2) --主机名

node_ip=(172.27.130.51 172.27.130.52) --物理ip

[Part 2]

votingdisk=/dev/vdb1 --投票盘

[Part 3]

sharedata_disk=/dev/vdb2--数据盘

sharedata_dir=/data

[Part 4]

kingbase_install_dir=/home/kingbase/KingbaseRAC/Server--rac软件安装目录

[Part 5]

database="test"

db_user="system"

db_port=54321

db_mode="oracle"

db_auth="scram-sm3"

password="Kbase@4202"

initdb_options="-A $db_auth -U $db_user -m $db_mode -E GB18030 --locale='zh_CN.GB18030'"

[Part 7]

enable_vip=1

virtual_ip=(172.27.130.233/24)

net_device=(enp4s3 enp4s3)

net_device_ip=(172.27.130.51 172.27.130.52)

[Part 8]

heuristics_ping_gateway="网关" --查询网关:route -n

[Part 9]

rac_local_data=/home/kingbase

[Part 10]

use_scmd=1

scmd_install_dir=/home/kingbase/securecmdd--securecmdd安装目录

15、安装免密securecmdd

root用户执行如下命令安装securecmdd

cp /home/kingbase/kingbaseES/ClientTools/guitools/DeployTools/zip/securecmdd.zip /home/kingbase/

unzip securecmdd.zip

cd /home/kingbase/securecmdd/bin

./sys_HAscmdd.sh init

./sys_HAscmdd.sh start

./sys_HAscmdd.sh stop

ps -ef|grep secure

16、初始化仲裁盘(节点一)

[root]

./cluster_manager.sh --qdisk_init

IMG_259

17、初始化数据盘(节点一)

[root]

./cluster_manager.sh --cluster_disk_init

IMG_260

18、初始化所有基础组件(所有节点)

--使用 root 用户在所有节点执行,初始化所有基础组件,如:corosync,pacemaker,corosync-qdevice:

[root]

./cluster_manager.sh --base_configure_init

IMG_261

--初始化之后,查看环境变量cat /root/.bashrc,并source /root/.bashrc

--检查 corosync 和 pacemaker 进程:

[root]

IMG_262

--查看集群资源:

[root]

IMG_263

19、初始化gfs2(所有节点)

[root]

./cluster_manager.sh --init_gfs2

IMG_264

20、配置集群相关资源(fence、dlm、gfs2资源)(节点一)

[root]

./cluster_manager.sh --config_gfs2_resource

IMG_265

--查看集群资源,要等待 dlm 和 gfs2 全都启动到 Started 才算完成

IMG_266

IMG_267

21初始化数据库集簇(节点一)

[root]

./cluster_manager.sh --init_rac

IMG_268

22、配置数据库资源,初始化 PINGD、FIP、DB 资源(节点一)

--推荐使用 pacemaker 管理数据库的启动和停止,这样可以获得更好的可用性。

[root]

./cluster_manager.sh --config_rac_resource

IMG_269

--查看资源配置信息:

[root]

crm config show

IMG_270

--查看当前数据库状态:

[root]

crm resource status clone-DB

IMG_271

23、一些运维命令

关闭、开启数据库资源、查看数据库状态(rac不能使用sys_ctl来单独启停数据库)

[root]

crm resource stop clone-DB

crm resource start clone-DB

crm resource status clone-DB

IMG_272

查看集群状态

[root]

crm status

IMG_273

关闭集群:

[root]

./cluster_manager.sh stop

IMG_274

启动集群

[root]

./cluster_manager.sh start

IMG_275

最后修改时间:2026-04-29 12:28:17
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论