本帖最后由 新手320096 于 2023-3-14 11:52 编辑
DMP部署sql server alwayson 只读节点无法访问
一、故障情况 背景: 客户sql server alwayon采用了读写分离,主节点写,从节点读 故障情况:应用服务器再调用只读节点时报错,调用主节点正常
二、故障截图
添加自读属性无法连接
去掉只读可以连接 三、故障分析 通过和客户的沟通客户调用代码再去掉只读属性后调用就正常,因此初步判定是只读路由故障,登录主节点查看只读路由状态 经过排查后只读路由正常,三种状态路由都正常,当00为主01、02为只读。尝试更换同子网业务主机测试,客户测试后只读也为正常,再次检查只读路由,发现只读路由基于域名而写,不在一个广播域导致其它子网业务主机无法访问。 四、故障处理 尝试手动添加sql server 只读节点的解析 如图
添加完成后让客户尝试只读业务,客户测试正常,读写分离正常
五、注意事项 DMP 平台部署的sql server 只读路由默认根据域控环境下的域名而写,当没有在一个广播域的应用服务器访问时,无法正常访问导致了只读路由的失败,是目前的sql server 的缺陷,后续有读写分离需求时,需要告知客户应用和sql server 最好在同一个子网。 |