注册
DMDCR_LINK_CHECK_IP参数
技术分享/ 文章详情 /

DMDCR_LINK_CHECK_IP参数

打工人小赵 2025/09/26 60 0 0

1.1参数解析
第三方确认机器的 IP。可选参数,Linux 专用。确认机器为DMDSC 集群各节点均可访问到的、DMDSC 集群环境之外的、一台独立外网机器。用于在 DMDSC 节点故障时,各DMSERVER 节点通过联通确认机器 IP 来检测外网是否畅通。配置了 DMDCR_LINK_CHECK_IP 之后,需要为 DMSERVER、DMASMSVR(非 DMASM 镜像)和 DMASMSVRM(DMASM镜像)赋予 ping 权限来完成联通功能。
使用 ROOT 权限执行以下语句分别进行赋权:
DMSERVER 权限:
sudo setcap cap_net_raw,cap_net_admin=eip /opt/dmdbms/bin/dmserver
DMASMSVR 权限:
sudo setcap cap_net_raw,cap_net_admin=eip /opt/dmdbms/bin/dmasmsvr
DMASMSVRM 权限:
sudo setcap cap_net_raw,cap_net_admin=eip /opt/dmdbms/bin/dmasmsvrm
其中,/opt/dmdbms/bin 为 dmserver、dmasmsvr、dmasmsvrm 所在目录。
如果 DMDCR_LINK_CHECK_IP 配置成功,在 DMSERVER、DMASMSVR 或 DMASMSVRM 的事件日志中,会记录一条“comm_self_link_check success”日志,否则记录一条“comm_self_link_check create socket failed, ……” 日志
1.2使用场景

  • 当2节点 DSC 集群节点间出现 MAL 网络异常时,如果两个节点实例都正常运行,DMCSS 的处理逻辑是主动 HALT 节点号大的 DSC1 节点,保留节点号小的 DSC0 节点。如果真实情况是 DSC0 和应用的网络断了,而 DSC1 和应用的网络是好的,那么 DMCSS 这种保留节点号小的逻辑就不合适。因此,须配置 DMDCR_LINK_CHECK_IP 参数来解决上述问题。
  • DMDCR_LINK_CHECK_IP 成功配置之后,当集群中出现节点间 MAL 网络异常时,节点还需要尝试联通一下 DMDCR_LINK_CHECK_IP 配置的 IP(类似于 ping 功能),DMCSS将联通结果共同作为处理网络异常的参考依据。例如:上述场景下,DSC0 和第三方确认 IP无法联通,DSC1 和第三方确认 IP 可以联通,那么 DMCSS 综合判断之后主动 HALT 掉 DSC0节点,保留了正常的 DSC1 节点
  • 如果没有配置 DMDCR_LINK_CHECK_IP,或者配置错误,或者没有赋予进程权限,集群所有节点尝试联通 DMDCR_LINK_CHECK_IP 时都会失败,那么 DMCSS 依然是保留节点号小的逻辑

1.3 配置过程
dmdcr.ini添加参数
image.png
两节点DMSERVER 和 DMASMSVR 赋予ping 权限。
image.png

验证 0号节点故障
1.未配置DMDCR_LINK_CHECK_IP
0号节点网络不通,1号节点被踢出,不断尝试重启ASM
image.png

image.png

image.png

2.配置DMDCR_LINK_CHECK_IP
0号节点网络不通,0号节点被踢出,1号节点变为控制节点
image.png

image.png
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服