大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和经验。
社群交流
本章目标:掌握本章核心知识点
前置要求:完成前序章节学习
预计时长:60 分钟
为了给大家提供一些技术交流的平台,目前已成立的技术交流群:
- Oracle 数据库交流群
- 国产数据库交流群
- Linux 技术交流群
- ChatGPT 4o 免费体验群
需要进群(均已超过 200 人,需要邀请)可以添加号主微信:Lucifer-0622,备注对应的群名即可。
前言
前文介绍了 KES RAC 的一些基础架构和概念,具体可参考:金仓 KingbaseES RAC 入门指南。
实战才是王道,玩玩才知道好不好,本文记录一下在麒麟 V10 上安装部署 KES RAC 2 节点的详细过程。
环境准备
本文演示环境:
| 主机名 | IP | 版本 | CPU | 内存 | 硬盘 |
|---|
| kesrac01 | 192.168.6.60 | 银河麒麟 Kylin V10 | x86 | 8G | 100G |
| kesrac02 | 192.168.6.61 | 银河麒麟 Kylin V10 | x86 | 8G | 100G |
安装前配置
检查操作系统版本(所有节点)
检查操作系统版本信息:
1## 以节点一为例
2[root@kesrac01 ~]# cat /etc/os-release
3NAME="Kylin Linux Advanced Server"
4VERSION="V10 (Halberd)"
5ID="kylin"
6VERSION_ID="V10"
7PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
8ANSI_COLOR="0;31"
配置 /etc/hosts(所有节点)
建议配置主机名解析:
1## 以节点一为例
2cat<<-EOF>>/etc/hosts
3192.168.6.60 kesrac01
4192.168.6.61 kesrac02
5EOF
关闭防火墙(所有节点)
数据库安装均建议关闭防火墙:
1## 以节点一为例
2[root@kesrac01 ~]# systemctl stop firewalld
3[root@kesrac01 ~]# systemctl disable firewalld
4Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
5Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
禁用 selinux(所有节点)
所有节点建议关闭 SELNUX,防止造成一些不必要的问题:
1## 以节点一为例
2## 这里使用 setenforce 0 临时生效
3[root@kesrac01 ~]# /usr/sbin/setenforce 0
4/usr/sbin/setenforce: SELinux is disabled
5[root@kesrac01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
6[root@kesrac01 ~]# sestatus
7SELinux status: disabled
将 SELINUX 参数设置为 disabled,即 SELINUX=disabled 保存退出后,需要重新启动才能生效。
创建主机用户(所有节点)
建议在所有服务器上创建 KES 产品的安装用户 kingbase,而非使用 root 身份执行安装部署:
1## 以节点一为例
2[root@kesrac01 ~]# useradd -u 2000 -d /home/kingbase -m kingbase
3[root@kesrac01 ~]# echo "kingbase:kingbase" | chpasswd
4[root@kesrac01 ~]# id kingbase
5用户id=2000(kingbase) 组id=2000(kingbase) 组=2000(kingbase)
如果有密码复杂性要求,不想设置密码太复杂的话,可以取消密码复杂度:
1## 以节点一为例
2[root@kesrac01 ~]# sed -i 's/^password\+[[:space:]]\+requisite[[:space:]]\+pam_pwquality.so/#&/g' /etc/pam.d/system-auth
3[root@kesrac01 ~]# sed -i 's/use_authtok$//' /etc/pam.d/system-auth
为了使共享磁盘在节点间迁移时不会因改变属主而失去访问权限,我们需要保证共享磁盘的属主(也就是拥有 KingbaseES 实例的用户)在每个节点上的 uid 一致。
创建目录(所有节点)
为了利于数据库的日常运维、持续使用、存储扩容等,我们在安装前必须做好选项、存储目录规划。
创建安装所需目录并且授权:
1## 以节点一为例
2[root@kesrac01 ~]# mkdir -p /KingbaseES/V8 /backup /archive /install
3[root@kesrac01 ~]# chown -R kingbase:kingbase {/KingbaseES,/backup,/archive,/install}
4[root@kesrac01 ~]# chmod -R 775 {/KingbaseES,/backup,/archive,/install}
系统参数配置(所有节点)
为了避免在 KingbaseES 安装和使用过程中出现问题,官方建议调整系统内核参数:
| 参数 | 参考值 | 所在文件 |
|---|
| semmsl | 250 | /proc/sys/kernel/sem |
| semmns | 32000 | /proc/sys/kernel/sem |
| semopm | 100 | /proc/sys/kernel/sem |
| semmni | 128 | /proc/sys/kernel/sem |
| shmall | 2097152 | /proc/sys/kernel/shmall |
| shmmax | 最小: 536870912 最大: 物理内存值减去1字节 建议: 大于物理内存的一半 | /proc/sys/kernel/shmmax |
| shmmin | 4096 | /proc/sys/kernel/shmmni |
| file-max | 6815744 | /proc/sys/fs/file-max |
| aio-max-nr | 1048576 注意: 本参数限制并发发出的请求数量。应该设置以避免IO子系统的失败。 | /proc/sys/fs/aio-max-nr |
| ip_local_port_range | 最小:9000 最大:65500 | /proc/sys/net/ipv4/ip_local_port_range |
| rmem_default | 262144 | /proc/sys/net/core/rmem_default |
| rmem_max | 4194304 | /proc/sys/net/core/rmem_max |
| wmem_default | 262144 | /proc/sys/net/core/wmem_default |
| wmem_max | 1048576 | /proc/sys/net/core/wmem_max |
注意:这里关于 shmmax 和 shmall 参数值的计算,我们可以参考 oracle 来设置:
1# 物理内存(KB)
2os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo)
3# 获取系统页面大小,用于计算内存总量
4pagesize=$(getconf PAGE_SIZE)
5((shmall = (os_memory_total - 1) * 1024 / pagesize))
6((shmmax = os_memory_total * 1024 - 10))
7# 如果 shmall 小于 2097152,则将其设为 2097152
8((shmall < 2097152)) && shmall=2097152
9# 如果 shmmax 小于 4294967295,则将其设为 4294967295
10((shmmax < 4294967295)) && shmmax=4294967295
复制以上命令,直接执行即可计算得出这两个参数值:
1## 以节点一为例
2[root@kesrac01 ~]# echo $shmall
32097152
4[root@kesrac01 ~]# echo $shmmax
57008071670
根据官方建议值,配置系统参数文件:
1## 以节点一为例
2[root@kesrac01 ~]# cat<<-EOF>>/etc/sysctl.conf
3fs.aio-max-nr= 1048576
4fs.file-max= 6815744
5kernel.shmall= 2097152
6kernel.shmmax= 7008071670
7kernel.shmmni= 4096
8kernel.sem= 250 32000 100 128
9net.ipv4.ip_local_port_range= 9000 65500
10net.core.rmem_default= 262144
11net.core.rmem_max= 4194304
12net.core.wmem_default= 262144
13net.core.wmem_max= 1048576
14EOF
15
16## 生效配置
17[root@kesrac01 ~]# sysctl -p
资源配置(所有节点)
限制用户可使用的资源数量对系统的稳定性非常重要,可以通过调整资源限制数量改进系统性能:
1## 以节点一为例
2[root@kesrac01 ~]# cat<<-EOF>>/etc/security/limits.conf
3kingbase soft nofile 65536
4kingbase hard nofile 65536
5kingbase soft nproc 65536
6kingbase hard nproc 65536
7kingbase soft core unlimited
8kingbase hard core unlimited
9EOF
配置 RemoveIPC(所有节点)
systemd-logind 服务中引入的一个特性 RemoveIPC,会造成程序信号丢失等问题,只有Redhat7 及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes),需要设置 RemoveIPC=no:
1## 以节点一为例
2[root@kesrac01 ~]# sed -i 's/#RemoveIPC=no/RemoveIPC=no/' /etc/systemd/logind.conf
3[root@kesrac01 ~]# grep RemoveIPC /etc/systemd/logind.conf
4RemoveIPC=no
5# 重新加载 systemd 守护进程并重启 systemd-logind 服务生效
6[root@kesrac01 ~]# systemctl daemon-reload
7[root@kesrac01 ~]# systemctl restart systemd-logind.service
检查 /tmp 目录(所有节点)
KES 安装对于 /tmp 目录有一定要求,至少需要 10G 空间,否则安装时会报警并使用 kingbase 用户家目录作为替代:
1Now launch installer...
2正在准备进行安装
3警告:/tmp 磁盘空间不足!正在尝试将 /home/kingbase 用于安装基础和 tmp dir。
手动挂载 /tmp 目录空间:
1## 以节点一为例
2[root@kesrac01 ~]# cat<<-EOF>>/etc/fstab
3tmpfs /tmp tmpfs size=10G 0 0
4EOF
5[root@kesrac01 ~]# mount -o remount /tmp
6[root@kesrac01 ~]# df -h | grep /tmp
7tmpfs 10G 16K 10G 1% /tmp
配置时间同步(所有节点)
这个不是必须配置,但是建议配置,用于在系统中配置 NTP 实现时间同步。
本文未配置时间同步。
配置软件源(所有节点)
Linux 系统安装软件需要配置本地软件源。
配置本地软件源的方式需要先挂载本地 ISO 安装镜像:
一键配置 KylinV10 本地软件源:
1## 以节点一为例
2## 备份软件源初始配置
3[root@kesrac01 ~]# mkdir -p /etc/yum.repos.d/bak
4[root@kesrac01 ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
5mv: 无法将目录'/etc/yum.repos.d/bak' 移动至自身的子目录'/etc/yum.repos.d/bak/bak' 下
6## 配置软件源
7[root@kesrac01 ~]# cat<<-EOF>/etc/yum.repos.d/local.repo
8[server]
9name=server
10baseurl=file:///mnt
11enabled=1
12gpgcheck=0
13EOF
14## 查看软件源内容
15[root@kesrac01 ~]# cat /etc/yum.repos.d/local.repo
16[server]
17name=server
18baseurl=file:///mnt
19enabled=1
20gpgcheck=0
确保软件源配置完成,就可以安装软件了。
挂载共享盘(所有节点)
构建 KingbaseES RAC 架构,需要准备好两块共享存储:
- 投票盘:大小不小于 100MB;
- 数据盘:大小可根据实际环境设置。
可以采用 iSCSI 设备或其他多点可见存储设备作为共享存储。如果只有一块共享存储,可采用分区方式来对投票盘和数据盘进行区分,可以采用 fdisk 或 parted 命令进行分区。
本文通过 iscsi 共享存储作为数据库存储文件系统。
1、Linux 客户端安装 iscsi 软件
1## 以节点一为例
2## 如果遇到报错 -bash: iscsiadm:未找到命令,就需要安装 iscsi 软件
3[root@kesrac01 ~]# yum install -y iscsi-initiator-utils*
4[root@kesrac01 ~]# systemctl start iscsid.service
5[root@kesrac01 ~]# systemctl enable iscsid.service
2、搜索服务端 iscsi target
1## 以节点一为例
2## 192.168.6.43 为 iscsi 服务端 IP 地址
3[root@kesrac01 ~]# iscsiadm -m discovery -t st -p 192.168.6.43
4192.168.6.43:3260,-1 iqn.2008-08.com.starwindsoftware:lpc-matebook-lucifer
3、连接服务端 iscsi 共享存储
1## 以节点一为例
2## iqn.2008-08.com.starwindsoftware:lpc-matebook-lucifer 为上一步搜索出的 target 名称
3[root@kesrac01 ~]# iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:lpc-matebook-lucifer -p 192.168.6.43 -l
4Logging in to [iface: default, target: iqn.2008-08.com.starwindsoftware:lpc-matebook-lucifer, portal: 192.168.6.43,3260]
5Login to [iface: default, target: iqn.2008-08.com.starwindsoftware:lpc-matebook-lucifer, portal: 192.168.6.43,3260] successful.
4、配置开机自动挂载
1## 以节点一为例
2[root@kesrac01 ~]# iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:lpc-matebook-lucifer -p 192.168.6.43 --op update -n node.startup -v automatic
5、查看挂载成功的共享盘
1## 以节点一为例,sdb 和 sdc 为挂载的共享盘
2[root@kesrac01 ~]# lsblk
3NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
4sda 8:0 0 100G 0 disk
5├─sda1 8:1 0 1G 0 part /boot
6└─sda2 8:2 0 99G 0 part
7 ├─klas-root 253:0 0 91.1G 0 lvm /
8 └─klas-swap 253:1 0 7.9G 0 lvm [SWAP]
9sdb 8:16 0 10G 0 disk
10sdc 8:32 0 20G 0 disk
11sr0 11:0 1 4.4G 0 rom /mnt
挂载好共享盘之后就可以配置 UDEV 绑盘了。
UDEV 绑盘(所有节点)
如果共享盘是多路径,建议可以先使用 multipath 进行绑盘,便于管理。
我这里只有一条路径,查看节点磁盘 wwid:
1## 以节点一为例
2[root@kesrac01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdb
322d5116c157b61795
4[root@kesrac01 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
52f055a2b742fd0cc9
执行 udev 绑定:
1## 以节点一为例
2## 防止规则冲突,建议使用 99-persist-iscsi.rules,以确保此规则在最后生效
3[root@kesrac01 ~]# cat<<-EOF>/etc/udev/rules.d/99-persist-iscsi.rules
4KERNEL=="sd*",ENV{ID_SERIAL}=="22d5116c157b61795",SYMLINK+="qdisk%n",MODE:="0644"
5KERNEL=="sd*",ENV{ID_SERIAL}=="2f055a2b742fd0cc9",SYMLINK+="kdata%n",MODE:="0644"
6EOF
生效 udev:
1## 以节点一为例
2[root@kesrac01 ~]# udevadm control --reload-rules
3[root@kesrac01 ~]# udevadm trigger --type=devices --action=change
查看绑定后的盘:
1## 以节点一为例
2[root@kesrac01 ~]# ll /dev/qdisk
3lrwxrwxrwx 1 root root 3 11月 18 11:38 /dev/qdisk -> sdb
4[root@kesrac01 ~]# ll /dev/kdata
5lrwxrwxrwx 1 root root 3 11月 18 11:38 /dev/kdata -> sdc
确保两个节点都绑定成功。配置方面到这就结束了。
部署 KingbaseES RAC 集群
安装数据库软件(所有节点)
安装 KES RAC 之前需要现在各个节点安装 KingbaseES RAC 数据库软件。
在所有节点都分别上传 KES RAC 安装包:KingbaseES_V008R006B1108_Lin64_install.iso 到 /install 目录下,目前暂不开放下载,如有需要可向官方申请试用。
以节点一为例:
1## 挂载 iso 文件需要使用 root 用户,安装包上传在 /install 目录,挂载到 /mnt 目录下
2[root@kesrac01 ~]# umount /mnt
3[root@kesrac01 ~]# mount -o loop /install/KingbaseES_V008R006B1108_Lin64_install.iso /mnt/
4## 将挂载出来的安装文件拷贝到 /install 目录下
5[root@kesrac01 ~]# cp -r /mnt/* /install
6## 复制完成后取消安装 iso 的挂载
7[root@kesrac01 ~]# umount /mnt
8## 由于之前 root 复制的安装文件权限为 root,所以需要重新授权 kingbase 用户
9[root@kesrac01 ~]# chown -R kingbase:kingbase /install
10[root@kesrac01 ~]# su - kingbase
11[kingbase@kesrac01 ~]$ cd /install/
12## 命令行安装
13[kingbase@kesrac01 install]$ sh setup.sh -i console
14Now launch installer...
15正在准备进行安装
16正在从安装程序档案中提取 JRE...
17正在解包 JRE...
18正在从安装程序档案中提取安装资源...
19配置该系统环境的安装程序...
20 Verifying JVM........
21正在启动安装程序...
22
23===============================================================================
24KingbaseES V8 (使用 InstallAnywhere 创建)
25-------------------------------------------------------------------------------
26
27正在准备控制台模式安装...
28
29许可协议不分省略....
30
31是否接受此许可协议条款? (Y/N): Y
32
33
34
35===============================================================================
36选择安装集
37-----
38
39请选择将由本安装程序安装的“安装集”。
40
41 ->1- 完全安装
42 2- 客户端安装
43
44 3- 定制安装
45
46输入“安装集”的号码,或按 <ENTER> 键以接受缺省值
47
48===============================================================================
49选择服务器类型
50-------
51
52请选择服务器类型:
53
54 ->1- default
55 2- rac
56
57输入您选择的号码,或按 <ENTER> 键以接受缺省值: 2
58
59===============================================================================
60选择授权文件
61------
62
63不选择授权文件,则使用软件自带试用版授权
64提示:请在有效期内及时更换正式授权文件。
65
66文件路径 :
67
68
69
70===============================================================================
71选择安装目录
72------
73
74请选择一个安装目录。
75
76您想在哪一位置安装?
77
78 缺省安装文件夹: /opt/Kingbase/ES/V8
79
80输入一个绝对路径,或按 <ENTER> 键以接受缺省路径
81 : /KingbaseES/V8
82
83安装文件夹为: /KingbaseES/V8
84 是否正确? (Y/N): Y
85
86
87
88===============================================================================
89预安装摘要
90-----
91
92在继续执行前请检查以下信息:
93
94产品名:
95 KingbaseES V8
96
97安装文件夹:
98 /KingbaseES/V8
99
100产品功能部件:
101 数据库服务器,
102 接口,
103 数据库部署工具,
104 高可用组件,
105 数据库开发管理工具,
106 数据库迁移工具
107
108安装空间磁盘信息
109 所需磁盘空间: 5378 MB 空闲磁盘空间: 79279 MB
110
111请按 <ENTER> 键继续:
112
113===============================================================================
114准备就绪,可以安装
115---------
116
117本安装程序已准备完毕,可在下列位置安装 KingbaseES V8:
118
119/KingbaseES/V8
120
121按 <ENTER> 键进行安装:
122
123===============================================================================
124正在安装...
125-------
126
127 [==================|==================|==================|==================]
128 [------------------|------------------|------------------|--------
129
130===============================================================================
131安装完成
132----
133
134恭喜!KingbaseES V8 已成功地安装到:
135
136 /KingbaseES/V8
137
138按 <ENTER> 键以退出安装程序:
139Complete.
📢 注意:服务器类型要选择 rac,密钥为空直接回车试用即可。
创建集群部署目录(所有节点)
安装完 KingbaseES 后,进入安装后的数据库 install/script 目录,执行 rootDeployClusterware.sh 脚本:
1## 以节点一为例
2[root@kesrac01 script]# vi rootDeployClusterware.sh
3## 执行前需要检查 rootDeployClusterware.sh 脚本中的 INSTALLDIR 变量,需要修改为 KingbaseES 软件安装目录,本教程正常无需修改
4## INSTALLDIR=/KingbaseES/V8
5
6## 使用 root 用户执行脚本
7[root@kesrac01 script]# sh rootDeployClusterware.sh
8[root@kesrac01 ~]# ll /opt/KingbaseHA/
9-rw-r--r-- 1 root root 4150 11月 18 14:14 cluster_manager.conf
10-rwxr-xr-x 1 root root 64786 11月 18 14:14 cluster_manager.sh
11drwxr-xr-x 9 root root 130 11月 18 14:14 corosync
12drwxr-xr-x 7 root root 130 11月 18 14:14 corosync-qdevice
13drwxr-xr-x 8 root root 74 11月 18 14:14 crmsh
14drwxr-xr-x 7 root root 70 11月 18 14:14 dlm-dlm
15drwxr-xr-x 5 root root 42 11月 18 14:14 fence_agents
16drwxr-xr-x 7 root root 140 11月 18 14:14 gfs2
17drwxr-xr-x 6 root root 57 11月 18 14:14 gfs2-utils
18drwxr-xr-x 5 root root 42 11月 18 14:14 ipmi_tool
19-rwxr-xr-x 1 root root 2962 11月 18 14:14 keep_cluster_alive.sh
20drwxr-xr-x 7 root root 89 11月 18 14:14 kingbasefs
21drwxr-xr-x 5 root root 45 11月 18 14:15 kronosnet
22drwxr-xr-x 2 root root 4096 11月 18 14:15 lib
23drwxr-xr-x 2 root root 29 11月 18 14:15 lib64
24drwxr-xr-x 7 root root 68 11月 18 14:15 libqb
25drwxr-xr-x 10 root root 146 11月 18 14:15 pacemaker
26drwxr-xr-x 6 root root 56 11月 18 14:15 python2.7
执行完成后会将 INSTALLDIR 目录下的 KingbaseHA 软件包拷贝到 /opt 目录下。
配置 cluster_manager.conf(所有节点)
进入 KingbaseHA 目录,修改集群搭建必要参数:

查看 cluster_manager.conf 默认配置:
1[root@kesrac01 ~]# cd /opt/KingbaseHA/
2[root@kesrac01 KingbaseHA]# cat cluster_manager.conf |grep -v ^$|grep -v ^#
3cluster_name=kcluster
4node_name=(node1 node2)
5node_ip=(192.168.5.1 192.168.5.2)
6enable_qdisk=1
7votingdisk=/dev/sde
8sharedata_dir=/sharedata/data_gfs2
9sharedata_disk=/dev/sdb
10install_dir=/opt/KingbaseHA
11env_bash_file=/root/.bashrc
12keep_cluster_alive=0
13pacemaker_daemon_group=haclient
14pacemaker_daemon_user=hacluster
15kingbaseowner=kingbase
16kingbasegroup=kingbase
17kingbase_install_dir=/home/kingbase/V8/Server
18database="test"
19username="system"
20password="123456"
21initdb_options="-A trust -U $username"
22enable_fence=1
23enable_esxi=0
24esxi_server=192.168.4.5
25esxi_user=root
26esxi_passwd="Kingbase@99"
27enable_ipmi=0
28ipmi_server=(192.168.2.100 192.168.2.101)
29ipmi_user=(Administrator Administrator)
30ipmi_passwd=("Admin@9000" "Admin@9000")
31enable_qdisk_fence=1
32qdisk_watchdog_dev=/dev/watchdog
33qdisk_watchdog_timeout=30
34enable_fip=0
35fip=(192.168.4.139 192.168.4.140)
36fip_interface=(bond0 bond0)
37fip_netmask=24
38enable_heuristics=1
39heuristics_interval=1000
40heuristics_timeout=10000
41heuristics_ping_gateway=""
42heuristics_reskey_attempts=1
43heuristics_exec="exec_ping: /bin/ping -q -c $heuristics_reskey_attempts $heuristics_ping_gateway"
44install_rac=1
45rac_port=54321
46rac_lms_port=53444
47rac_lms_count=7
48install_ssma=0
49ssma_data_disk=("-U f0c8f59d-0cc8-473c-970d-d19b30d87f5e" "-U 7075f361-f3ad-48cf-87cc-ecc3db4a063a")
50ssma_data_dir=(/sharedata/data1 /sharedata/data2)
51ssma_port=(36321 36322)
52ssma_fstype=ext4
需要修改参数为:
1## 集群名称
2cluster_name=krac
3## 集群节点主机名
4node_name=(kesrac01 kesrac02)
5## 集群节点 IP
6node_ip=(192.168.6.60 192.168.6.61)
7## 仲裁磁盘和 votedisk
8votingdisk=/dev/sdb
9## 数据库共享存储磁盘
10sharedata_disk=/dev/sdc
11## KingbaseES 软件安装路径
12kingbase_install_dir=/KingbaseES/V8/Server
13## 不启用 heuristics
14enable_heuristics=0
配置修改完之后即可,后续需要调用。
磁盘初始化(节点一)
本文基于 SAN 的部署,所以需要初始化仲裁和 votedisk 磁盘(iscsi 共享存储)。
初始化仲裁盘:
1## root 用户执行
2[root@kesrac01 ~]# cd /opt/KingbaseHA/
3[root@kesrac01 KingbaseHA]# ./cluster_manager.sh --qdisk_init
4votingdisk init start
5disk /dev/sdb has already initialized as label 'krac'
6Are you sure you want to initialize again? [Y/N]:
7Y
8/dev/block/8:16:
9/dev/disk/by-id/scsi-22d5116c157b61795:
10/dev/disk/by-path/ip-192.168.6.43:3260-iscsi-iqn.2008-08.com.starwindsoftware:lpc-matebook-lucifer-lun-0:
11/dev/qdisk:
12/dev/sdb:
13 Magic: eb7a62c2
14 Label: krac
15 Created: Mon Nov 18 14:23:16 2024
16 Host: kesrac01
17 Kernel Sector Size: 512
18 Recorded Sector Size: 512
19
20votingdisk init success
初始化数据盘:
1[root@kesrac01 KingbaseHA]# ./cluster_manager.sh --cluster_disk_init
2sharedata disk init start
3It appears to contain an existing filesystem (gfs2)
4This will destroy any data on /dev/sdc
5Are you sure you want to proceed? (Y/N):
6Y
7Adding journals: Done
8Building resource groups: Done
9Creating quota file: Done
10Writing superblock and syncing: Done
11Device: /dev/sdc
12Block size: 4096
13Device size: 20.00 GB (5242880 blocks)
14Filesystem size: 20.00 GB (5242876 blocks)
15Journals: 3
16Journal size: 512MB
17Resource groups: 77
18Locking protocol: "lock_dlm"
19Lock table: "krac:gfs2"
20UUID: b8f79ae5-5d80-4596-aab8-1ecda4eaf685
21sharedata disk init success
基础组件初始化(所有节点)
使用 root 用户在所有节点执行,更新操作系统内核的 gfs2 模块:
1## 以节点一为例
2[root@kesrac01 KingbaseHA]# ./cluster_manager.sh --init_gfs2
3init gfs2 start
4current OS kernel version does not support updating gfs2, please confirm whether to continue? (Y/N):
5Y
6init the OS native gfs2 success
使用 root 用户在所有节点执行,初始化所有基础组件,如corosync,pacemaker,corosync-qdevice:
1## 以节点一为例
2[root@kesrac01 KingbaseHA]# ./cluster_manager.sh --base_configure_init
3init kernel soft watchdog start
4init kernel soft watchdog success
5config host start
6config host success
7add env varaible in /root/.bashrc
8add env variable success
9config corosync.conf start
10config corosync.conf success
11Starting Corosync Cluster Engine (corosync): [WARNING]
12add pacemaker daemon user start
13add pacemaker daemon user success
14config pacemaker success
15Starting Pacemaker Cluster Manager[ OK ]
16config qdevice start
17config qdevice success
18clean qdisk fence flag start
19clean qdisk fence flag success
20Starting Qdisk Fenced daemon (qdisk-fenced): [ OK ]
21Starting Corosync Qdevice daemon (corosync-qdevice): [ OK ]
22config kingbase rac start
23config kingbase rac success
24add_udev_rule start
25add_udev_rule success
26check and mknod for dlm start
27/opt/KingbaseHA/corosync/etc/corosync/uidgid.d
28/opt/KingbaseHA/corosync/etc/corosync/uidgid.d
29/opt/KingbaseHA/corosync/etc/corosync/uidgid.d
30check and mknod for dlm success
初始化之后,查看环境变量:
1[root@kesrac01 KingbaseHA]# cat /root/.bashrc
2# .bashrc
3
4# User specific aliases and functions
5
6alias rm='rm -i'
7alias cp='cp -i'
8alias mv='mv -i'
9
10# Source global definitions
11if [ -f /etc/bashrc ]; then
12 . /etc/bashrc
13fi
14export install_dir=/opt/KingbaseHA
15export PATH=/opt/KingbaseHA/python2.7/bin:/opt/KingbaseHA/pacemaker/sbin/:$PATH
16export PATH=/opt/KingbaseHA/crmsh/bin:/opt/KingbaseHA/pacemaker/libexec/pacemaker/:$PATH
17export PATH=/opt/KingbaseHA/corosync/sbin:/opt/KingbaseHA/corosync-qdevice/sbin:$PATH
18export PYTHONPATH=/opt/KingbaseHA/python2.7/lib/python2.7/site-packages/:/opt/KingbaseHA/crmsh/lib/python2.7/site-packages:$PYTHONPATH
19export COROSYNC_MAIN_CONFIG_FILE=/opt/KingbaseHA/corosync/etc/corosync/corosync.conf
20export CRM_CONFIG_FILE=/opt/KingbaseHA/crmsh/etc/crm/crm.conf
21export OCF_ROOT=/opt/KingbaseHA/pacemaker/ocf
22export HA_SBIN_DIR=/opt/KingbaseHA/pacemaker/sbin/
23export QDEVICE_SBIN_DIR=/opt/KingbaseHA/corosync-qdevice/sbin/
24export LD_LIBRARY_PATH=/opt/KingbaseHA/lib64/:$LD_LIBRARY_PATH
25export HA_INSTALL_PATH=/opt/KingbaseHA
26export PATH=/opt/KingbaseHA/dlm-dlm/sbin:/opt/KingbaseHA/gfs2-utils/sbin:$PATH
27export LD_LIBRARY_PATH=/opt/KingbaseHA/corosync/lib/:$LD_LIBRARY_PATH
检查 corosync 和 pacemaker 进程:
1## corosync
2[root@kesrac01 KingbaseHA]# ps -ef|grep corosync
3root 43300 1 1 14:41 ? 00:00:00 /opt/KingbaseHA/corosync/sbin/corosync -c /opt/KingbaseHA/corosync/etc/corosync/corosync.conf -p /opt/KingbaseHA/corosync/var/
4root 43436 1 0 14:41 ? 00:00:00 corosync-qdevice -p /opt/KingbaseHA/corosync-qdevice/var/run/corosync-qdevice/corosync-qdevice.sock
5root 43437 1 0 14:41 ? 00:00:00 corosync-qdevice -p /opt/KingbaseHA/corosync-qdevice/var/run/corosync-qdevice/corosync-qdevice.sock
6root 43588 9128 0 14:42 pts/0 00:00:00 grep --color=auto corosync
7## pacemaker
8[root@kesrac01 KingbaseHA]# ps -ef|grep pacemaker
9root 43341 1 0 14:41 pts/0 00:00:00 /opt/KingbaseHA/pacemaker/sbin/pacemakerd -d /opt/KingbaseHA/pacemaker
10haclust+ 43344 43341 0 14:41 ? 00:00:00 /opt/KingbaseHA/pacemaker/libexec/pacemaker/pacemaker-based -d /opt/KingbaseHA/pacemaker
11root 43345 43341 0 14:41 ? 00:00:00 /opt/KingbaseHA/pacemaker/libexec/pacemaker/pacemaker-fenced -d /opt/KingbaseHA/pacemaker
12root 43346 43341 0 14:41 ? 00:00:00 /opt/KingbaseHA/pacemaker/libexec/pacemaker/pacemaker-execd -d /opt/KingbaseHA/pacemaker
13haclust+ 43347 43341 0 14:41 ? 00:00:00 /opt/KingbaseHA/pacemaker/libexec/pacemaker/pacemaker-attrd
14haclust+ 43348 43341 0 14:41 ? 00:00:00 /opt/KingbaseHA/pacemaker/libexec/pacemaker/pacemaker-schedulerd -d /opt/KingbaseHA/pacemaker
15haclust+ 43349 43341 0 14:41 ? 00:00:00 /opt/KingbaseHA/pacemaker/libexec/pacemaker/pacemaker-controld -d /opt/KingbaseHA/pacemaker
16root 43598 9128 0 14:42 pts/0 00:00:00 grep --color=auto pacemaker
查看集群资源:
1## 需要生效环境变量
2[root@kesrac01 KingbaseHA]# source /root/.bashrc
3[root@kesrac01 KingbaseHA]# crm status
4Cluster Summary:
5 * Stack: corosync
6 * Current DC: kesrac01 Pacemaker (Kingbase) V008R006B1108 (2.0.3.0.0 4b1f869f0f:1268c00dfa83) - partition with quorum
7 * Last updated: Mon Nov 18 14:44:06 2024
8 * Last change: Mon Nov 18 14:41:35 2024 by hacluster via crmd on kesrac01
9 * 2 nodes configured
10 * 0 resource instances configured
11
12Node List:
13 * Online: [ kesrac01 kesrac02 ]
14
15Full List of Resources:
16 * No resources
确保两个节点的进程均已正常启动。
gfs2 相关资源初始化(节点一)
配置 fence、dlm 和 gfs2 资源:
1[root@kesrac01 KingbaseHA]# ./cluster_manager.sh --config_gfs2_resource
2config dlm and gfs2 resource start
3b8f79ae5-5d80-4596-aab8-1ecda4eaf685
4
5config dlm and gfs2 resource success
查看集群资源:
1## 注意 gfs2 一直在 Starting 状态
2[root@kesrac01 KingbaseHA]# crm status
3Cluster Summary:
4 * Stack: corosync
5 * Current DC: kesrac01 Pacemaker (Kingbase) V008R006B1108 (2.0.3.0.0 4b1f869f0f:1268c00dfa83) - partition with quorum
6 * Last updated: Mon Nov 18 14:47:00 2024
7 * Last change: Mon Nov 18 14:44:23 2024 by root via cibadmin on kesrac01
8 * 2 nodes configured
9 * 6 resource instances configured
10
11Node List:
12 * Online: [ kesrac01 kesrac02 ]
13
14Full List of Resources:
15 * fence_qdisk_0 (stonith:fence_qdisk): Started kesrac02
16 * fence_qdisk_1 (stonith:fence_qdisk): Started kesrac01
17 * Clone Set: clone-dlm [dlm]:
18 * Started: [ kesrac01 kesrac02 ]
19 * Clone Set: clone-gfs2 [gfs2]:
20 * gfs2 (ocf::heartbeat:Filesystem): Starting kesrac01
21 * gfs2 (ocf::heartbeat:Filesystem): Starting kesrac02
22
23## 要等待 dlm 和 gfs2 全都启动到 Started 才算完成
24[root@kesrac01 KingbaseHA]# crm status
25Cluster Summary:
26 * Stack: corosync
27 * Current DC: kesrac01 Pacemaker (Kingbase) V008R006B1108 (2.0.3.0.0 4b1f869f0f:1268c00dfa83) - partition with quorum
28 * Last updated: Mon Nov 18 14:47:38 2024
29 * Last change: Mon Nov 18 14:44:23 2024 by root via cibadmin on kesrac01
30 * 2 nodes configured
31 * 6 resource instances configured
32
33Node List:
34 * Online: [ kesrac01 kesrac02 ]
35
36Full List of Resources:
37 * fence_qdisk_0 (stonith:fence_qdisk): Started kesrac02
38 * fence_qdisk_1 (stonith:fence_qdisk): Started kesrac01
39 * Clone Set: clone-dlm [dlm]:
40 * Started: [ kesrac01 kesrac02 ]
41 * Clone Set: clone-gfs2 [gfs2]:
42 * Started: [ kesrac01 kesrac02 ]
确保集群状态正常。
初始化数据库集簇(节点一)
创建 RAC 数据库实例,初始化数据库:
1[root@kesrac01 KingbaseHA]# ./cluster_manager.sh --init_rac
2init KingbaseES RAC start
3create_rac_share_dir start
4create_rac_share_dir success
5数据库簇将使用本地化语言 "zh_CN.utf8"进行初始化.
6默认的数据库编码已经相应的设置为 "UTF8".
7属于此数据库系统的文件宿主为用户 "kingbase".
8此用户也必须为服务器进程的宿主.
9initdb: could not find suitable text search configuration for locale "zh_CN.utf8"
10缺省的文本搜索配置将会被设置到"simple"
11
12字符串的比较区分大小写.
13禁止为数据页生成校验和.
14
15输入新的超级用户口令:
16再输入一遍:
17
18创建目录 /sharedata/data_gfs2/kingbase/data ... 成功
19正在创建子目录 ... 成功
20选择动态共享内存实现 ......posix
21选择默认最大联接数 (max_connections) ... 100
22选择默认共享缓冲区大小 (shared_buffers) ... 128MB
23选择默认时区...Asia/Shanghai
24创建配置文件 ... 成功
25开始设置加密设备
26正在初始化加密设备...成功
27正在运行自举脚本 ...成功
28正在执行自举后初始化 ...成功
29创建安全数据库...成功
30加载安全数据库...成功
31同步数据到磁盘...成功
32
33成功。您现在可以用下面的命令开启数据库服务器:
34
35 ./sys_ctl -D /sharedata/data_gfs2/kingbase/data -l 日志文件 start
36
37init KingbaseES RAC success
托管数据库(节点一)
推荐使用 pacemaker 管理数据库的启动和停止,这样可以获得更好的可用性。
初始化 PINGD、FIP、DB 资源:
1[root@kesrac01 KingbaseHA]# ./cluster_manager.sh --config_rac_resource
2crm configure DB resource start
3crm configure DB resource end
查看资源配置信息:
1[root@kesrac01 KingbaseHA]# crm config show
2node 1: kesrac01
3node 2: kesrac02
4primitive DB ocf:kingbase:kingbase \
5 params sys_ctl="/KingbaseES/V8/Server/bin/sys_ctl" ksql="/KingbaseES/V8/Server/bin/ksql" sys_isready="/KingbaseES/V8/Server/bin/sys_isready" kb_data="/sharedata/data_gfs2/kingbase/data" kb_dba=kingbase kb_host=0.0.0.0 kb_user=system kb_port=54321 kb_db=template1 logfile="/KingbaseES/V8/Server/log/kingbase1.log" \
6 op start interval=0 timeout=120 \
7 op stop interval=0 timeout=120 \
8 op monitor interval=9s timeout=30 on-fail=restart \
9 meta failure-timeout=5min
10primitive dlm ocf:pacemaker:controld \
11 params daemon="/opt/KingbaseHA/dlm-dlm/sbin/dlm_controld" dlm_tool="/opt/KingbaseHA/dlm-dlm/sbin/dlm_tool" args="-s 0 -f 0" \
12 op start interval=0 \
13 op stop interval=0 \
14 op monitor interval=60 timeout=60
15primitive fence_qdisk_0 stonith:fence_qdisk \
16 params qdisk_path="/dev/sdb" qdisk_fence_tool="/opt/KingbaseHA/corosync-qdevice/sbin/qdisk-fence-tool" pcmk_host_list=kesrac01 \
17 op monitor interval=60s \
18 meta failure-timeout=5min target-role=Started
19primitive fence_qdisk_1 stonith:fence_qdisk \
20 params qdisk_path="/dev/sdb" qdisk_fence_tool="/opt/KingbaseHA/corosync-qdevice/sbin/qdisk-fence-tool" pcmk_host_list=kesrac02 \
21 op monitor interval=60s \
22 meta failure-timeout=5min target-role=Started
23primitive gfs2 Filesystem \
24 params device="-o noatime -U b8f79ae5-5d80-4596-aab8-1ecda4eaf685" directory="/sharedata/data_gfs2" fstype=gfs2 \
25 op start interval=0 timeout=7200 \
26 op stop interval=0 timeout=60 \
27 op monitor interval=30s timeout=60 OCF_CHECK_LEVEL=10 \
28 meta failure-timeout=5min
29clone clone-DB DB \
30 meta interleave=true target-role=Started
31clone clone-dlm dlm \
32 meta interleave=true target-role=Started
33clone clone-gfs2 gfs2 \
34 meta interleave=true target-role=Started
35colocation cluster-colo1 inf: clone-gfs2 clone-dlm
36order cluster-order1 clone-dlm clone-gfs2
37order cluster-order2 clone-dlm clone-gfs2 clone-DB
38location fence_qdisk_0-on-kesrac02 fence_qdisk_0 1800: kesrac02
39location fence_qdisk_1-on-kesrac01 fence_qdisk_1 1800: kesrac01
40property cib-bootstrap-options: \
41 have-watchdog=false \
42 dc-version=2.0.3.0.0-4b1f869f0f \
43 cluster-infrastructure=corosync \
44 cluster-name=krac \
45 cluster-recheck-interval=3min \
46 load-threshold="0%"
查看当前数据库状态:
1[root@kesrac01 ~]# crm resource status clone-DB
2resource clone-DB is running on: kesrac01
3resource clone-DB is running on: kesrac02
配置完成后,尝试关闭数据库资源:
1[root@kesrac01 ~]# crm resource stop clone-DB
2## 需要等待几秒后,再次查看发现数据库已经关闭
3[root@kesrac01 ~]# crm resource status clone-DB
4resource clone-DB is NOT running
5resource clone-DB is NOT running
开启数据库资源:
1[root@kesrac01 ~]# crm resource start clone-DB
2## 启动成功
3[root@kesrac01 ~]# crm resource status clone-DB
4resource clone-DB is running on: kesrac01
5resource clone-DB is running on: kesrac02
查看集群状态:
1[root@kesrac01 ~]# crm status
2Cluster Summary:
3 * Stack: corosync
4 * Current DC: kesrac01 Pacemaker (Kingbase) V008R006B1108 (2.0.3.0.0 4b1f869f0f:1268c00dfa83) - partition with quorum
5 * Last updated: Mon Nov 18 16:11:55 2024
6 * Last change: Mon Nov 18 16:11:35 2024 by root via cibadmin on kesrac01
7 * 2 nodes configured
8 * 8 resource instances configured
9
10Node List:
11 * Online: [ kesrac01 kesrac02 ]
12
13Full List of Resources:
14 * fence_qdisk_0 (stonith:fence_qdisk): Started kesrac02
15 * fence_qdisk_1 (stonith:fence_qdisk): Started kesrac01
16 * Clone Set: clone-dlm [dlm]:
17 * Started: [ kesrac01 kesrac02 ]
18 * Clone Set: clone-gfs2 [gfs2]:
19 * Started: [ kesrac01 kesrac02 ]
20 * Clone Set: clone-DB [DB]:
21 * Started: [ kesrac01 kesrac02 ]
使用 pacemaker 托管数据库是推荐的做法,这样可以获得更好的可用性。
启停集群
启动停止集群需要在 root 用户下执行,使用 cluster_manager.sh 脚本。
关闭集群:
1## 在任意节点均可以执行,只会关闭当前执行节点的集群资源
2[root@kesrac02 ~]# cd /opt/KingbaseHA/
3[root@kesrac02 KingbaseHA]# ./cluster_manager.sh stop
4Signaling Pacemaker Cluster Manager to terminate[ OK ]
5Waiting for cluster services to unload..........[ OK ]
6Signaling Qdisk Fenced daemon (qdisk-fenced) to terminate: [ OK ]
7Waiting for qdisk-fenced services to unload:[ OK ]
8Signaling Corosync Qdevice daemon (corosync-qdevice) to terminate: [ OK ]
9Waiting for corosync-qdevice services to unload:.[ OK ]
10Signaling Corosync Cluster Engine (corosync) to terminate: [ OK ]
11Waiting for corosync services to unload:..[ OK ]
此时查看当前节点集群状态:
1[root@kesrac02 KingbaseHA]# crm status
2
3Error: cluster is not available on this node
4ERROR: status: crm_mon (rc=102):
5## 查看集群各服务状态
6[root@kesrac02 KingbaseHA]# ./cluster_manager.sh status
7corosync is stopped
8pacemakerd is stopped
9corosync-qdevice is stopped
10qdisk-fenced is stopped
11
12## 也可以分别查看各个资源状态
13[root@kesrac02 KingbaseHA]# ./cluster_manager.sh --status_pacemaker
14pacemakerd is stopped
15[root@kesrac02 KingbaseHA]# ./cluster_manager.sh --status_corosync
16corosync is stopped
17[root@kesrac02 KingbaseHA]# ./cluster_manager.sh --status_qdevice
18corosync-qdevice is stopped
19[root@kesrac02 KingbaseHA]# ./cluster_manager.sh --status_qdisk_fenced
20qdisk-fenced is stopped
查看另一个节点的集群状态:
1[root@kesrac01 install]# crm status
2Cluster Summary:
3 * Stack: corosync
4 * Current DC: kesrac01 Pacemaker (Kingbase) V008R006B1108 (2.0.3.0.0 4b1f869f0f:1268c00dfa83) - partition with quorum
5 * Last updated: Mon Nov 18 16:38:57 2024
6 * Last change: Mon Nov 18 16:11:35 2024 by root via cibadmin on kesrac01
7 * 2 nodes configured
8 * 8 resource instances configured
9
10Node List:
11 * Online: [ kesrac01 ]
12 * OFFLINE: [ kesrac02 ]
13
14Full List of Resources:
15 * fence_qdisk_0 (stonith:fence_qdisk): Started kesrac01
16 * fence_qdisk_1 (stonith:fence_qdisk): Started kesrac01
17 * Clone Set: clone-dlm [dlm]:
18 * Started: [ kesrac01 ]
19 * Stopped: [ kesrac02 ]
20 * Clone Set: clone-gfs2 [gfs2]:
21 * Started: [ kesrac01 ]
22 * Stopped: [ kesrac02 ]
23 * Clone Set: clone-DB [DB]:
24 * Started: [ kesrac01 ]
25 * Stopped: [ kesrac02 ]
26
27## 节点 1 的集群各服务状态正常
28[root@kesrac01 install]# cd /opt/KingbaseHA/
29[root@kesrac01 KingbaseHA]# ./cluster_manager.sh status
30corosync (pid 43300) is running...
31pacemakerd (pid 43341) is running...
32corosync-qdevice (pid 43437) is running...
33qdisk-fenced (pid 43379) is running...
可以发现节点 2 集群已经关闭,对应的集群和数据库资源均已关闭。
启动集群:
1[root@kesrac02 KingbaseHA]# ./cluster_manager.sh start
2Waiting for node failover handling:[ OK ]
3Starting Corosync Cluster Engine (corosync): [WARNING]
4clean qdisk fence flag start
5clean qdisk fence flag success
6Starting Qdisk Fenced daemon (qdisk-fenced): [ OK ]
7Starting Corosync Qdevice daemon (corosync-qdevice): [ OK ]
8Waiting for quorate:..................[ OK ]
9Starting Pacemaker Cluster Manager[ OK ]
查看集群状态:
1[root@kesrac02 KingbaseHA]# crm status
2Cluster Summary:
3 * Stack: corosync
4 * Current DC: kesrac01 Pacemaker (Kingbase) V008R006B1108 (2.0.3.0.0 4b1f869f0f:1268c00dfa83) - partition with quorum
5 * Last updated: Mon Nov 18 16:53:09 2024
6 * Last change: Mon Nov 18 16:11:35 2024 by root via cibadmin on kesrac01
7 * 2 nodes configured
8 * 8 resource instances configured
9
10Node List:
11 * Online: [ kesrac01 kesrac02 ]
12
13Full List of Resources:
14 * fence_qdisk_0 (stonith:fence_qdisk): Started kesrac02
15 * fence_qdisk_1 (stonith:fence_qdisk): Started kesrac01
16 * Clone Set: clone-dlm [dlm]:
17 * Started: [ kesrac01 kesrac02 ]
18 * Clone Set: clone-gfs2 [gfs2]:
19 * Started: [ kesrac01 kesrac02 ]
20 * Clone Set: clone-DB [DB]:
21 * Started: [ kesrac01 kesrac02 ]
集群启动成功。
访问数据库
访问数据库需要使用 kingbase 主机用户,(为了方便)配置 kingbase 用户环境变量:
1## 以节点一为例
2[kingbase@kesrac01 ~]$ cat<<-\EOF>>/home/kingbase/.bash_profile
3export KES_HOME=/KingbaseES/V8/Server
4export LD_LIBRARY_PATH=$KES_HOME/lib:/lib:/usr/lib
5export PATH=$KES_HOME/bin:/usr/sbin:$PATH
6export PS1="[`whoami`@`hostname`:"'$PWD]$ '
7alias ksystem='ksql test system'
8alias ksso='ksql test sso'
9EOF
两个节点都需要配置,配置完成后生效环境变量:
1[kingbase@kesrac01 ~]$ source ~/.bash_profile
配置好环境变量之后就可以不需要到指定路径下执行命令了。
访问 RAC 数据库:
1[kingbase@kesrac01:/home/kingbase]$ ksql -U system test -p 54321
2授权类型: TEST-企业版.
3输入 "help" 来获取帮助信息.
4
5## 查看数据库存储目录 data(存储在 gfs2 的共享文件系统上)
6test=# show data_directory;
7 data_directory
8------------------------------------
9 /sharedata/data_gfs2/kingbase/data
10
11test=# \conninfo
12以用户 "system" 的身份,通过套接字"/tmp"在端口"54321"连接到数据库 "test"
13test=# create database lucifer;
14CREATE DATABASE
15test=# \c lucifer
16您现在以用户名"system"连接到数据库"lucifer"。
17lucifer=# create table test (id int,name varchar2(20));
18CREATE TABLE
19lucifer=# insert into test values (1,'lucifer');
20INSERT 0 1
21lucifer=# select * from test;
22 id | name
23----+---------
24 1 | lucifer
25(1 行记录)
26
27lucifer=# quit;
KES RAC 是默认本地免密登录的:
1[kingbase@kesrac02:/home/kingbase]$ ksql test system
2授权类型: TEST-企业版.
3输入 "help" 来获取帮助信息.
4
5test=#
查看对应的配置文件 sys_hba.conf:
1[kingbase@kesrac02:/home/kingbase]$ vi /sharedata/data_gfs2/kingbase/data/sys_hba.conf
2
3# "local" 只能用于UNIX域套接字
4local all all trust
数据库连接正常。
写在最后
KES RAC 的部署到此结束,后续会继续分享 KES RAC 的运维管理以及数据库使用技巧,敬请期待。
如果有遗漏或者不足的地方,欢迎评论区补充或者投稿,感谢阅读!
往期精彩文章
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」