• 技术实践|高斯集群服务器双缺省网关故障分析


    导语:当前国产化数据库使用范围越来越广泛,在GaussDB数据库的使用过程中难免会遇到一些问题,有的问题是由于在安装过程中没有注意细节而产生的,多数隐患问题都是在特定场景下才会暴露出来,且暴露的时间未知,这就给数据库的运维工作带来极大的挑战。

    本文就是基于一次数据库安装过程中出现的故障而形成的,文中主要阐述了网络基础知识、数据库环境、故障分析、问题解决、总结等内容,供各位同僚在日后的服务器安装过程中参考借鉴。

    网络基础知识介绍

    路由(Routing):是指IP数据包从源到目的地时,端到端路径的网络范围,通俗解释:数据包由源地址到目的地址所经过的所有路径的集合。

     网关(Gateway):可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的网络设备。要实现这两个网络之间的通信(跨网段访问),则必须通过网关。

     缺省网关(Default Gateway):是一台主机如果想和其他网段的主机通信,但找不到可用的路由,就把数据包发给缺省网关。

     默认路由(Default route):是对IP数据包中的目的地址找不到存在的其他路由时,所选择的最后的路由。

     三层交换机(L3 Switch):具有部分路由器功能的交换机,工作于OSI网络标准模型的第3层(网络层)。三层交换机最重要的目的是加快局域网内部的数据交换,所具有的路由功能也是为这一目的服务的,能够做到一次路由,多次转发。在局域网中一般三层交换机充当网关。

     二层交换机(L2 Switch):工作于OSI网络标准模型的第2层(数据链路层),故而称为二层交换机。二层交换机属数据链路层设备,可以识别数据帧中的MAC地址信息,并根据MAC地址进行转发,同时将这些MAC地址与对应的端口记录在自己内部的一个地址表中。局域网内部(相同网段)主机相互访问需要经过二层交换机。

     双(多)网关主机:一台服务器存在多个网关,访问不同的网段经过不同的网关。

    网络基本示例图

    图片

    基于上面的拓扑图,当网段A的服务器A要访问网段B的服务器B时,就需要经过网关D,如图中的红色虚线所示,这个虚线就是路由,因为服务器A连接2个网关,如果服务器A把IP数据包发送给网关C,那么服务器A和服务器B之间肯定是无法通信的。

    以上内容为对于网络基础知识的介绍,接下来将进入本文的重点——高斯集群服务器的双缺省网关故障分析。

    数据库集群环境描述

    高斯数据库版本A8.0.0.5,共2(管理节点)+21(数据节点)台物理节点,7个安全环,每个安全环3台数据节点。

    CN节点4个,每个数据节点有2个主DN节点、2个备DN节点、2个从DN节点。

    每台物理机有96核心CPU,1TB内存。

    管理面和业务面的网络都为双万兆网口,管理面网段:172.18.10.0/24,业务面网段:172.18.20.0/24,数据库服务器双网口,Bond1:业务面,Bond0:管理面。

    集群简单拓扑图

    图片

    问题描述

    某日重启高斯集群的CN1服务器(一台CN节点)后,当执行跑批作业时收到告警,ETL服务器上跑批作业部分失败,报错中发现ETL服务器在CN1节点执行的作业都失败了,但在其他三个CN节点执行的作业都正常,登录ETL服务器后,手动Telnet CN1节点的25308端口不通,Telnet其他3个CN节点正常。

    问题检查

    根据问题描述,初步判断只有CN1节点出现问题。

     在ETL服务器上抓取数据包,发现数据包可以正常发送,但ETL服务器没有收到CN1节点的回包

    图片

     在CN1节点抓取数据包,可以接收到ETL主机的数据包,也可以正常发送回包

    图片

     查看其他CN服务器路由

    图片

     查看CN1服务器路由

    图片

    问题分析

    检查主机路由发现CN1服务器的默认路由和其他3台CN服务器不同,CN1服务器bond1的Metric值为301,而其他CN服务器bond1的Metric值为300,根据路由选择的优先级规则,Metric值越小优先级越高,所以CN1服务器的缺省网关为bond0,其他CN服务器的缺省网关为bond1。

    分析到此故障原因已经发现,CN1的缺省网关是bond0,默认路由指向管理面的三层交换机,所以返回ETL服务器的IP数据包都发送到管理面网段,导致ETL服务器不能收到回包。

    实际ETL服务器和CN1数据包的路由如下图的红色虚线所示:

    图片

    问题总结

    服务器的缺省网关一般情况下只有一个,当服务器的缺省网关有多个时,就会根据Metric值来进行优先级选择,优先级高(Metric值最小)的即为此时的缺省网关。

    此案例中的解决方法有多种,其中的两种方案如下:

     管理面网段取消默认网关配置,业务面网段配置默认网关,FI控制台网段(10.10.10.0/24)的主机在高斯集群服务器中,均配置静态路由。

     管理面网段取消默认网关配置,业务面网段配置默认网关,管理面三层交换机中做双向NAT转换,把FI控制台主机的IP地址(10.10.10.100)映射为管理面网段(172.18.10.0/24)的IP地址。

  • 相关阅读:
    Ubuntu18.04 ROS与Anaconda兼容并且在python3的虚拟环境下与ROS通信
    黑马旅游案例
    载荷壳聚糖微球的海藻酸钠水凝胶/载壳聚糖微球PVA/SA水凝胶/大豆蛋白复合壳聚糖球状水凝胶
    现代 CSS 解决方案:CSS 原生支持的三角函数
    C++的向上转型
    FrameWork基础案例解析(三)
    【数据库三大范式】让我们来聊一聊数据库的三大范式和反范式设计
    4×30m钢筋混凝土简支T梁桥结构设计与计算
    xf86-video-intel源码分析6 —— intel_device.c和intel_driver.h(1)
    WebGoat 靶场 JWT tokens 四 五 七关通关教程
  • 原文地址:https://blog.csdn.net/zhongdianjinxin/article/details/134463043