某大大大客户生产环境,云平台+HDR集群。
故障现象:
1、正常情况一切OK;
2、后来突然发现连接数据库异常27001的报错
3、已经建立的连接是OK的
4、此时备节点是可以查询的,建立连接是OK的
5、主节点关闭,备节点接管交易,刚开始正常,过半天也就报出了27001的错误
6、一线工程师无从下手
处理过程:
1、登录主节点之后,确实发现了27001的错误
2、vmstat 1 操作系统IO正常、内存使用正常、CPU状态正常
3、onstat 一通查看,发现数据库各种正常
4、onstat -g ath |grep soc 发现onsoclst线程状态IO wait,而且长时间是这个状态(出鬼了吧)
5、检查DNS /etc/resolve.conf ,发现里面有三个地址,每个都ping一下,发现有一个地址居然不通
6、理论上有一个可用,就应该是可以用啊,但是为什么这么慢呢?建议禁用DNS试试。禁用之后、重启数据库,发现好了,没有了27001的错误
后遗症:
1、DNS地址为什么会间歇性的不通,后来又通了?
2、DNS设置之后到底是以如何顺序来解析的?
3、数据库到底如何使用DNS的顺序和逻辑?