技术实践|高斯集群服务器双缺省网关故障分析
  B8ew1S9GHTmR 2023年11月19日 14 0

导语:当前国产化数据库使用范围越来越广泛,在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:管理面。

集群简单拓扑图

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


问题描述

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

问题检查

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

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

技术实践|高斯集群服务器双缺省网关故障分析_三层交换机_03

技术实践|高斯集群服务器双缺省网关故障分析_三层交换机_04

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

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

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

 查看其他CN服务器路由

技术实践|高斯集群服务器双缺省网关故障分析_三层交换机_07

技术实践|高斯集群服务器双缺省网关故障分析_三层交换机_08

 查看CN1服务器路由

技术实践|高斯集群服务器双缺省网关故障分析_三层交换机_09

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

问题分析

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

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

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

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

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

问题总结

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

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

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

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
B8ew1S9GHTmR