超节点

版本:24.03 LTS SP4

UBSIO-MemStore 配置说明 ​

本文档介绍 UBSIO-MemStore 的配置项及 TLS 认证配置。安装、启动和卸载流程请参见安装部署指南。

mms.conf 配置项 ​

UBSIO-MemStore 默认配置文件为 /etc/mms/mms.conf。修改配置前请备份原文件,并根据实际 CPU、NUMA、网络和集群规划调整示例值。需要在集群各节点保持一致的配置项,应在启动服务前完成同步。

归属模块配置项说明默认值/示例值合法值或要求
Logmms.log.level日志级别infoerror、warn、info、debug、trace
Tracemms.trace.switch统计日志开关falsetrue、false
CRCmms.crc.switch数据完整性校验开关falsetrue、false
Sequencemms.sequence.switch消息序列化收发开关falsetrue、false
Multicastmms.multicast.switch组播开关truetrue、false
Data change callbackmms.data.change.callback.switch数据变更通知开关;关闭后不建立通知链路,也不触发回调falsetrue、false
Notify SHMmms.notify.shm.queue.depth共享内存通知队列深度655361024~1048576 范围内的 2 的幂,且除以 worker 数后不小于 1024
Notify SHMmms.notify.shm.worker.num共享内存通知 worker 数11~16
Notify SHMmms.notify.shm.worker.cpuset共享内存通知 worker 绑核范围54-54有效的 x-y CPU 范围,包含的 CPU 数不少于 worker 数
Notify SHMmms.notify.shm.busy_polling共享内存通知 worker 是否使用 busy pollingtruetrue、false
CRBmms.crb.send.cpusetCRB 故障恢复发送线程绑核范围54-55有效的 x-y CPU 范围;多节点场景生效
Deploymentmms.deployment.mode部署模式separateseparate、converge
Memorymms.mem.numa.id分配内存的 NUMA ID 列表0,1机器上有效的 NUMA ID,多个值用英文逗号分隔
Memorymms.mem.numa.size每个 NUMA 节点分配的内存大小,单位 GB8,8与 mms.mem.numa.id 一一对应,不超过对应 NUMA 的可用内存
Memorymms.mem.value.unit.sizeValue 内存分配单元大小,单位 KB11~64
Networkmms.net.rpc.ip_maskRPC 网卡 IPv4 地址和掩码192.168.100.100/24IPv4 CIDR 格式
Networkmms.net.rpc.listen_portRPC 监听端口75007201~7800
Networkmms.net.multicast.listen_port组播监听端口75017201~7800
Networkmms.net.rpc.protocolRPC 通信协议rdmatcp、rdma
Networkmms.net.multicast.protocol组播通信协议rdmatcp、rdma;UB 通信场景配置为 tcp
Networkmms.net.rpc.connect.count每个 RPC channel 的连接数11~16
Networkmms.net.rpc.busy_polling_modeRPC worker 是否使用 busy pollingtruetrue、false
Networkmms.net.rpc.worker.groupsRPC worker group 配置1,1多个 group 用英文逗号分隔,每个值为对应 group 的 worker 数
Networkmms.net.rpc.worker.groups.cpusetRPC worker 绑核配置10-10,50-50与 RPC worker group 一一对应,每段使用 x-y 格式
Networkmms.net.ipc.busy_polling_modeIPC worker 是否使用 busy pollingtruetrue、false
Networkmms.net.ipc.worker.groupsIPC worker group 配置1,1多个 group 用英文逗号分隔,每个值为对应 group 的 worker 数
Networkmms.net.ipc.worker.groups.cpusetIPC worker 绑核配置12-12,52-52与 IPC worker group 一一对应,每段使用 x-y 格式
Networkmms.net.request.executor.thread.num网络请求处理线程数88~256
Networkmms.net.request.executor.queue.size网络请求处理队列大小10241024~65535
Networkmms.net.publisher.worker.cpuset组播 publisher worker 绑核配置10-17有效的 CPU 范围;可按 group 使用英文逗号分段
Networkmms.net.subscriber.worker.cpuset组播 subscriber worker 绑核配置18-18有效的 x-y CPU 范围
Networkmms.net.subscriber.connect.count每个 subscriber 的连接数11~16
Networkmms.net.message.max_buff_size单次消息的最大 buffer 大小,单位 KB701~4096,建议不超过 256
TLSmms.net.tls.enableServer 端 TLS 开关truetrue、false
TLSmms.net.tls.certification.pathServer 端证书路径空TLS 开启时配置真实有效的文件路径
TLSmms.net.tls.ca.cert.pathCA 证书路径空TLS 开启时配置真实有效的文件路径
TLSmms.net.tls.ca.crl.path证书吊销列表路径空可为空;非空时配置真实有效的文件路径
TLSmms.net.tls.private.key.pathServer 端私钥路径空TLS 开启时配置真实有效的文件路径
TLSmms.net.tls.private.key.password.pathServer 端私钥口令密文文件路径空TLS 开启时配置真实有效的文件路径
TLSmms.net.tls.decrypter.lib.path安全解密函数动态库路径空TLS 开启时配置真实有效的文件路径
TLSmms.net.tls.openssl.lib.pathOpenSSL 动态库目录空为空时使用系统路径;非空时目录必须有效
Cluster managermms.cm.node.num集群节点数31~8
Cluster managermms.cm.node.id集群节点 ID未配置0~65535;未配置时由集群自动分配
Cluster managermms.cm.register_timeout_sec集群注册超时时间,单位秒1010~60
Cluster managermms.cm.zk_hostZooKeeper 服务地址192.168.100.100:2181IPv4:端口 格式,多个地址按 ZooKeeper 连接串格式配置

TLS 认证配置 ​

配置 Server 端 TLS 认证 ​

注意事项 ​

  • 开启 TLS 时,UBSIO-MemStore 集群中的所有计算节点必须同时开启 TLS。
  • 生成加密口令前,建议暂时关闭命令历史记录;生成完成后再恢复。
  • 私钥必须加密,私钥口令应使用安全工具生成密文文件,不得在配置文件或命令行中填写明文口令。
  • 证书应使用业界认可的算法、密钥长度、Hash 算法和证书格式,并处于有效期内。

前提条件 ​

UBSIO-MemStore 已安装完成,并已准备表 1所列文件。

表 1 Server 端 TLS 认证所需文件

文件说明对应配置项
CA 证书用于签发其他证书的 CA 证书,PEM 格式mms.net.tls.ca.cert.path
证书吊销列表PEM CRL 格式;无吊销证书时可不提供mms.net.tls.ca.crl.path
Server 端证书由 CA 签发且处于有效期内的 PEM chain 文件mms.net.tls.certification.path
Server 端加密私钥与 Server 端证书匹配的 PEM encrypted 文件mms.net.tls.private.key.path
私钥口令密文文件加密后的私钥口令存储文件,长度不超过 10000 字节mms.net.tls.private.key.password.path
安全解密函数动态库可选;配置后使用用户提供的实现mms.net.tls.decrypter.lib.path
OpenSSL 动态库可选;配置后使用用户指定的版本mms.net.tls.openssl.lib.path

将 mms.net.tls.enable 配置为 true,并填写对应文件路径。所有节点的 TLS 开关必须保持一致。

配置 Client 端 TLS 认证 ​

注意事项 ​

  • 本节仅适用于分离部署模式。
  • Client 端与所有 Server 端必须同时开启或关闭 TLS,否则连接失败。
  • 多个用户访问 UBSIO-MemStore 时可以使用不同证书,但证书必须由同一个 CA 签发。

前提条件 ​

UBSIO-MemStore 已安装完成,并已准备表 2所列文件。Client 端 TLS 参数通过 MmsOptions 传入。

表 2 Client 端 TLS 认证所需文件

文件说明MmsOptions 对应字段
CA 证书用于签发其他证书的 CA 证书,PEM 格式caCerPath
证书吊销列表PEM CRL 格式;无吊销证书时可不提供caCrlPath
Client 端证书由 CA 签发且处于有效期内的 PEM chain 文件certificationPath
Client 端加密私钥与 Client 端证书匹配的 PEM encrypted 文件privateKeyPath
私钥口令密文文件加密后的私钥口令存储文件,长度不超过 10000 字节privateKeyPasswordPath
安全解密函数动态库可选;配置后使用用户提供的实现decrypterLibPath
OpenSSL 动态库目录可选;配置后使用用户指定的版本opensslLibDir