openGauss高级特性:资源池化(2)
SCRLock使用示例
介绍
SCRLock,全称smart cached remote lock,是一个带有本地锁缓存的分布式锁SDK。本章节主要介绍openGauss数据库SCRLock特性的安装使用,指导用户顺利完成操作。在资源池化场景下使用SCRLock提供分布式锁能力,提高分布式锁性能。
安装准备
获取安装包
请通过openGauss社区获取UWAL安装包:Link。
环境要求
表 1 环境要求
|
需要支持RDMA和以太网并开启RDMA协议,开启RDMA协议的具体步骤请参见《RDMA网络指导》。 |
||
|
同一SP版本,因内核小版本不一致,或存在内核组件安装时报不兼容错误,需要修改OS weak-modules脚本,具体修改方法请参见《OS兼容性weak-modules脚本修改方法》。 |
||
|
开启RDMA协议,需要安装RDMA网卡驱动。OS和OFED的配套关系请参见表2。 |
||
|
SCRLock安装包。openEuler-22.03-LTS-SP1、openEuler-22.03-LTS表示操作系统,aarch64、x86_64表示服务器架构,具体SCRLock安装包请用户根据实际情况选择。 |
表 2 OS和OFED配套关系
安装卸载
一键部署SCRLock特性
SCRLock提供简易部署脚本,输入安装路径、安装用户和安装的节点信息,即可一键部署。
-
前置条件
- 开启RDMA功能依赖CX4/CX5网卡。
- openGauss已部署完成。
- 获取对应操作系统和CPU架构的SCRLock安装包,例如:OCK_scrlock_openEuler-20.03-LTS-SP1-aarch64.tar.gz。
- 主备节点已存在“${GAUSSHOME}/lib“目录。
- 所有需要部署SCRLock的服务器,需要相同的用户和密码,并且该用户需要具备执行rmmod、rpm、depmod、modprobe命令权限。
-
操作步骤
-
以<SCRLock-install-user>登录节点并上传安装包,在安装包所在目录执行以下命令解压缩安装包。
tar -xzvf OCK_scrlock_openEuler-20.03-LTS-SP1-aarch64.tar.gz解压目录内的文件如下。
-
解压源文件压缩包。
tar -xzvf OCK_scrlock_openEuler_aarch64.tar.gz解压后得到如下文件。
-
使用“bin“目录下的verification二进制,进行软件包签名验证。
./bin/verification OCK_scrlock_openEuler_aarch64.tar.gz OCK_scrlock_openEuler_aarch64.tar.gz.cms OCK_scrlock_openEuler_aarch64.tar.gz.txt
说明: verification可执行二进制需要三个参数,按先后顺序分别是:源文件、签名文件、描述文件。-
验证成功控制台会输出:
Starting to verify OCK_scrlock_openEuler_aarch64.tar.gz... Verify the source file passed. Verify the sha file passed. -
验证失败控制台会输出:
Starting to verify OCK_scrlock_openEuler_aarch64.tar.gz... ... Verify the source file failed.或者
Starting to verify OCK_scrlock_openEuler_aarch64.tar.gz... ... Verify the sha file failed.
说明: 校验失败说明此安装包已被篡改,建议重新获取安装包后再次校验。
-
-
安装包验证成功后,进入“scripts“目录,准备执行部署脚本。
cd scripts -
执行部署脚本,并根据提示输入<SCRLock-install-user>密码。
sh scrlock_install.sh -H '192.168.4.164 192.168.4.165 192.168.4.166' -U omm -G dbgrp -D /home/omm/lib
说明:- -H:集群IP地址。例如:'192.168.4.164 192.168.4.165 192.168.4.166'
- -U:数据库管理用户名。例如:omm
- -G:数据库管理用户组。例如:dbgrp
- -D:“${GAUSSHOME}/lib“库路径。例如:“/home/omm/lib“
- -h:查看帮助信息。 由于部署脚本的操作需要高权限用户,请在操作执行完成后关闭高权限用户SSH远程登录服务器的权限,以提升系统安全性。
-
su - omm -
(可选)kill om_monitor进程。
gs_om -t killmonitor -
source ~/.bashrc
-
启用SCRLock特性
启用SCRLock特性,需要通过修改配置文件,重启数据库使其生效。
- 前提条件
- 主备节点已安装包含SCRLock特性的openGauss版本。
- 已完成SCRLock特性的一键部署。
- 操作步骤
-
以数据库管理用户登录管理节点。
-
配置数据库的postgresql.conf文件。
-
打开postgresql.conf文件。
vim postgresql.conf -
按“i”进入编辑模式,找到如下参数,根据实际情况进行修改。参数说明请参见表1。
ss_enable_scrlock = off ss_enable_srclock_sleep_mode = off ss_scrlock_server_port = 8000 ss_scrlock_worker_count = 2 ss_scrlock_worker_bind_core = '' ss_scrlock_server_bind_core = ''表 1 SCRLock的配置参数
- on,表示开启SCRLock。
- off,表示关闭SCRLock。
- on,表示开启睡眠模式。
- off,表示关闭睡眠模式。
-
按“Esc”键,输入 :wq!,按“Enter”保存并退出编辑。
-
-
重启数据库使SCRLock特性生效。
-
停止openGauss。
cm_ctl stop -
启动openGauss。
cm_ctl start
说明: 如果启动失败请根据openGauss日志目录下的“postgresql-YYYY-MM-DD_HHMMSS.log”日志信息排查错误。
-
-
验证SCRLock特性是否启用成功。
gsql -d postgres -p 16600 -c "show ss_enable_scrlock"如果回显如下内容,则启用成功。
ss_enable_scrlock ------------------- on (1 row)
说明:- -p 16600:16600为数据库端口号,请根据实际情况修改。
- 如需查看启用SCRLock特性的日志文件,可以执行以下命令动态查看最后20行。
tail -fn20 ${GAUSSLOG}/pg_log/scrlock*.log
-
关闭SCRLock特性
关闭SCRLock特性,需要重启数据库使配置生效。
- 操作步骤
-
配置数据库根目录下的postgresql.conf文件。
-
打开postgresql.conf文件。
vim postgresql.conf -
按“i”进入编辑模式。将参数“ss_enable_scrlock“的值改为“off“,关闭SCRLock特性。
ss_enable_scrlock = off -
按“Esc”键,输入 :wq!,按“Enter”保存并退出编辑。
-
-
停止openGauss。
cm_ctl stop -
(可选)如需卸载SCRLock特性可执行此步骤。删除SCRLock动态库文件,并清除环境变量。
rm -f /home/omm/lib/libscrlock.so unset OCK_SCRLOCK_LIB_PATH其中,“/home/omm/lib/”表示libscrlock.so所在目录的绝对路径。
-
重启openGauss。
cm_ctl start
-

浙公网安备 33010602011771号