介绍Manager模块的功能参数。
参数含义
DMDRS网络通信时固定客户端端口的最大值。
参数说明
该参数必须与bind_port_min参数结合使用。
如果配置bind_port_min为6500,bind_port_max为6600,则固定客户端端口的范围为:[6500,6600],表示固定端口共有101个。
注意配置bind_port_min和bind_port_max范围时,需要将mgr_port排除在范围外。
参数值
取值范围:1000~65535。无默认值,不配置时表示不固定客户端的端口。
参数语法
<bind_port_max></bind_port_max>
参数示例
<bind_port_max>6600</bind_port_max>
参数含义
DMDRS网络通信时固定客户端端口的最小值。
参数说明
DMDRS网络通信时没有固定客户端的连接端口,客户端的连接端口默认由操作系统自动分配。如果需要固定客户端的端口,则需要配置bind_port_min和bind_port_max参数,用于固定端口的范围。该参数必须与bind_port_max参数结合使用。
参数值
取值范围:1000~65535。无默认值,不配置时表示不固定客户端的端口。
参数语法
<bind_port_min></bind_port_min>
参数示例
<bind_port_min>6500</bind_port_min>
参数含义
DMDRS在异常情况下生成核心转储文件的方式。
参数说明
仅支持Linux平台。
参数值
0:不生成核心转储文件。
1:生成精简版核心转储文件。默认值为1。
2:生成完整核心转储文件。
3:生成包含共享内存的核心转储文件。
参数语法
<core_dump_flag></core_dump_flag>
参数示例
<core_dump_flag>1</core_dump_flag>
参数含义
是否启用主备决策DMDRS服务。
参数说明
该参数的原名为is_arbiter。
当目标数据库为Kafka,使用目标DMDRS主备服务时需要配置该参数。主备决策DMDRS服务可以持久化目标DMDRS主备节点信息,处理目标DMDRS主备存取主备节点信息的请求。
参数值
0:禁用。默认值为0。
1:启用。
参数语法
<enable_arbiter></enable_arbiter>
参数示例
<enable_arbiter>1</enable_arbiter>
参数含义
是否启用数据库登录密码的加密功能。
参数说明
该参数的原名为pwd_encipher。
禁用数据库登录密码的加密功能后,数据库的登录密码需配置为明文密码。
如需使用DES算法对密码进行加密,启用数据库登录密码的加密功能后,需通过./drcsl -encrypt_old "<pwd>"命令或者./drcsl登录后再输入encrypt_old "<pwd>"命令的方式获取密文密码,将数据库的登录密码配置为该密文密码。
如需使用AES256算法对密码进行加密,启用数据库登录密码的加密功能后,需通过./drcsl -encrypt "<pwd>"命令或者./drcsl登录后再输入encrypt "<pwd>"命令的方式获取密文密码,将数据库的登录密码配置为该密文密码。
注意在部分Linux平台中,./drcsl -encrypt "<pwd>"命令实际是通过shell方式执行的。当pwd中含有$等特殊字符时,如:"Aa$#@"等,可能会被部分平台解析为变量符号而导致密码串丢失。因此当密码中含有$等特殊字符时,可采用以下3种方式获取密文密码。
- 先输入./drcsl命令登录,再输入encrypt "Aa$#@"命令。
- 在$符号前加转义字符“\”,输入./drcsl -encrypt "Aa\$#@"命令。
- 将双引号改为单引号,输入./drcsl -encrypt 'Aa$#@'命令。
参数值
0:禁用。默认值为0。
1:启用,使用DES算法。
2:启用,使用AES256算法。
参数语法
<enable_pwd_encipher></enable_pwd_encipher>
参数示例
<enable_pwd_encipher>2</enable_pwd_encipher>
参数含义
是否支持TLS 1.2及以上协议。
参数说明
在DMDRS同步链路中,所有的DMDRS服务(包括源DMDRS、目标DMDRS和DMDSS)都需要配置该参数。配置该参数后,DMDRS服务之间将会启用基于TLS 1.2协议的证书认证及通信功能。
DMDRS使用该功能需要具备如下运行条件:
需要加载OpenSSL的认证证书:作为客户端,需要证书drs_ca.crt;作为服务端,需要证书drs_server.crt和秘钥drs_server.key。可以使用的证书和秘钥包括自签名认证证书和正式证书两种。
当TLS协议为国际版本时,使用OpenSSL生成的自签名认证证书,证书生成时,需要填写名称及接收端服务器IP。生成指令如下:
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout drs_ca.key -out drs_ca.crt -days 3650
openssl req -newkey rsa:2048 -nodes -keyout drs_server.key -out drs_server.csr
openssl x509 -req -in drs_server.csr -CA drs_ca.crt -CAkey drs_ca.key -CAcreateserial -out drs_server.crt -days 365
当TLS协议为国密版本时,使用OpenSSL(基于tongsuo版本)生成的自签名认证证书。将以下内容拷贝到gen_ca.sh脚本中执行即可。脚本内容如下:
#!/bin/bash
# 生成国密SM2自签名证书的脚本
# 使用 TongSuo (铜锁) 生成 SM2 证书
CERT_DIR="./sm2_certs"
CA_KEY="drs_ca.key"
CA_CERT="drs_ca.crt"
SERVER_KEY="drs_server.key"
SERVER_CERT="drs_server.crt"
OPENSSL=/usr/local/tongsuo/bin/openssl
mkdir -p $CERT_DIR
cd $CERT_DIR
# 1. 生成CA私钥 (SM2算法) - 注意曲线名称是大写 SM2
echo "生成CA私钥..."
$OPENSSL genpkey -algorithm EC -pkeyopt ec_paramgen_curve:SM2 -out $CA_KEY
# 2. 生成CA自签名证书
echo "生成CA证书..."
$OPENSSL req -new -x509 -key $CA_KEY -out $CA_CERT -days 3650 \
-subj "/C=CN/ST=Beijing/O=MyOrg/CN=MyCA"
# 3. 生成服务器私钥 (SM2算法)
echo "生成服务器私钥..."
$OPENSSL genpkey -algorithm EC -pkeyopt ec_paramgen_curve:SM2 -out $SERVER_KEY
# 4. 生成服务器自签名证书
echo "生成服务器证书..."
$OPENSSL req -new -key $SERVER_KEY -out temp.csr -subj "/C=CN/ST=Beijing/O=MyOrg/CN=localhost"
$OPENSSL x509 -req -in temp.csr -signkey $SERVER_KEY -out $SERVER_CERT -days 365
rm -f temp.csr
#openssl3.x对自签名证书不再信任,需要使用服务端证书
mv drs_ca.crt drs_ca_old.crt
cp drs_server.crt drs_ca.crt
echo "证书生成完成!"
ls -la *.key *.crt
echo ""
echo "=== 验证CA证书 ==="
$OPENSSL x509 -in $CA_CERT -text -noout | head -20
echo ""
echo "=== 验证服务器证书 ==="
$OPENSSL x509 -in $SERVER_CERT -text -noout | head -20
使用正式的证书,需要修改对应的名称为drs_ca.crt、drs_server.crt和drs_server.key。
证书的存放路径:作为服务端时,在DMDRS运行目录下"server_tls/drs_server.crt"和"server_tls/drs_server.key";作为客户端时,在DMDRS运行目录下"client_tls/[待连接服务IP]/drs_ca.crt"(也可依据程序提示添加证书或者key到上述目录即可),且作为客户端时,可以支持多个服务IP的证书,以IP名称目录区分。
当TLS协议为国际版本时,需要加载OpenSSL的动态依赖库:Windows下为ssleay32.dll和libeay32.dll;Linux下为libssl.so。要求OpenSSL动态依赖库版本为1.0.2k及以上版本时,才能支持TLS 1.2协议。
当TLS协议为国密版本时,需要加载OpenSSL(基于tongsuo版本)的动态依赖库:Linux下为libssl.so、libcrypto.so。必须将动态依赖库复制到DMDRS程序运行目录,防止错误链接到其他系统版本库,协议会自动协商版本,默认为TLS 1.3协议。
参数值
0:禁用。默认值为0。
1:启用,使用国际算法及证书。
2:启用,使用国密算法及证书。
参数语法
<enable_tls></enable_tls>
参数示例
<enable_tls>1</enable_tls>
参数含义
日志语言。
参数说明
服务器、控制台及日志文件的输出语言和字符集,该参数配置需与窗口字符集配置保持一致。
参数值
ch:GB18030编码简体中文。默认值为ch。
ch-utf8:UTF-8编码简体中文。
en:英文。
ch-hk:GB18030编码香港繁体中文。
参数语法
<lang></lang>
参数示例
<lang>ch</lang>
参数含义
服务程序运行环境的网络协议版本。
参数说明
无
参数值
参数值不区分大小写。
ipv4:当前环境网络协议版本为IPv4。默认值为ipv4。
ipv6:当前环境网络协议版本为IPv6。
参数语法
<net_type></net_type>
参数示例
<net_type>ipv6</net_type>
文章
阅读量
获赞
