【维护案例】新装、扩容集群通信报错:data/control channel disconnect
【摘要】 维护案例分享
1. 问题描述
版本:GaussDB A-8.0.0.1
服务器:ARM 泰山200 CentOS 7.6
9月24日,用户GDS外表导入报错:ERROR:dn_6063_6064: Failed to connect dn_6001_6002, detail:1047 control channel disconnect,用户入库任务基本都失败,查看日志发现在扩容节点上均存在很多的连接错误。
2. 问题根因分析:
如上图,可以看到可以成功的建立连接,但一去使用就是报错Connection timed out。
优先考虑排查网络环境问题,使用gsar.sh脚本工具检测DN6001和6069的网络状态,发现网络丢包率和重传率都高于正常水平。
使用netstat –anop|grep “on (“|sort –rnk 3|head -50具体查看重传的连接情况,发现TCP重传次数很高,达到12次,数据包丢失。至此,定位到底层网络环境存在问题。
由于使用的是ARM架构的服务器,存在着个别驱动不适配的问题,排查一下网卡驱动,发现hns3板载网卡用的是OS默认驱动,这个驱动存在问题,需要装独立驱动。
打上驱动后,现场反馈问题已经解决。
综上,根原因是扩容机器的网卡驱动不配套,导致TCP一直丢包重传,最终通信库建连后数据传递超时,业务失败。
3. 规避措施 :
重新安装配套的网卡驱动。
4. 后续改进措施 :
1、目前,由于网卡驱动不配套导致的通信问题已出现多次了,此类问题不仅让客户业务受阻,同时多次定位也耗费人力资源。后续有效的处理办法就是将目前已知出过问题的网卡驱动纳入黑名单,在巡检过程中直接排查,在问题出现之前就排查到,遏止其发生。
2、在扩容,新装集群变更中,重点关注一下网卡驱动是否配套,是否出过问题,从而避免后续问题的产生。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)