当前位置: 首页 > 科技观察

如何快速排查数据中心网络

时间:2023-03-22 17:33:57 科技观察

当数据中心的网络规模变得非常大时,不得不增加网络设备,实现多层级联。今天的数据中心通常采用树形结构。几个转发能力大的设备放在核心,然后在上面连接多层设备(因为端口数量不够,可能需要多层),几十个甚至上百个网络设备级一次连接总之,一旦发生故障,如何快速找到故障设备往往困扰着很多网络运维人员。数据中心的网络设备都是冗余的。只要在网络出现故障时找到故障设备,将其隔离即可恢复业务。绝非易事。网络故障往往先从应用端得到故障反馈,然后再开始排查。这时,应用人员往往只描述一个应用访问故障现象,他不会告诉你哪些地址没有连接到哪些地址,有时甚至是错误的信息。这大大延迟了问题定位时间。问题定位的大部分时间花在了对故障现象的梳理上。我应该怎么办?如何快速排查数据中心网络故障?本文将给出答案。如果网络故障还需要从应用端反馈的故障现象来分析,此时为时已晚,很容易被应用人员误导。一些应用人员只看到自己报告的现象,而且该现象很可能只是部分现象。它并不反映整个网络的故障。所以,你要靠自己做好网络监控,通过监控发现问题,才能快速找到故障设备,隔离设备或排除故障。早期的网络监控主要是监控设备的一些日志和端口流量。大多数时候,这些信息不足以及时发现问题。很多网络设备厂商都声称自己的设备日志非常完整,但是在实际使用中还是会出现一些极端的情况,或者是软件bug导致故障而没有日志输出。在这种情况下,就需要对流量进行定位。此时,网络人员需要到应用人员那里了解故障现象,现场找出一些丢包或故障的IP地址,然后进行网络环流,将故障流量经过的所有设备进行环流通过查找故障设备。由于是树状网络,每层设备很多,流量比较大,并不是所有设备都能支持所有特征流量的统计,如果有不支持的设备会统计不准确.,增加了查找故障设备的难度,我在网络运维中也是这样坚持了很多年。显然,以前的网络排查方法是有效的,但是效率太低了。故障定位时间长,对业务影响大。现在的网络监控都是针对数据流,监控网络中具体的数据流,一旦数据流中断,可以第一时间找到故障定位。这里介绍几种新兴的网络监控方法,也叫网络可视化技术,是快速排除故障最有效的方法。首先是INT(带内网络遥测)技术。INT通过收集和报告数据级别的网络状态来监控网络状态。当数据报文进入第一网络设备时,设备设置采样方式对业务流报文进行采样镜像,INT在报文的基础上封装一个INT头,将需要采集的交换机信息填充到INT中数据段,报文经过的所有网络设备都这样处理,直到最后一个连接到服务器的网络设备剥离INT头。消息经过的每个设备都会将收集到的INT消息通过gRPC消息发送给远程监控服务器进行分析和呈现。INT报文携带报文转发时延、设备拥塞等信息,呈现在监控服务器上,一旦数据包出现丢包或故障,监控服务器会立即感知并判断问题范围和故障设备几秒钟之内。二是ERSPAN(EncapsulatedRemoteSwitchPortAnalyzer,一种跨越三层IP传输的远程网络流量监控技术)。ERSPAN报文基于GRE封装,转发到任何IP路由通过以太网可达的地方。ERSPAN是将源端口报文复制一份,通过GRE(GenericRoutingEncapsulation)发送到目的服务器进行解析。采集服务器的物理位置不受限制,这样我们就可以将全网的关键流量转发通过ERSPAN发送给监控服务器,其中哪部分网络流量被丢弃一目了然。三是sFlow和Netstream,都是数据采样技术。Netstream收集的比较完整,但是需要专门的硬件来完成。在网络中部署sFlow和Netstream后,可以通过gRPC将监控数据发送到服务器。它由监控服务器计算和组织,并以图形方式显示结果。一旦网络的任何一部分出现问题,都可以第一时间显示在监控服务器上。sFlow和Netstream都收集包头的主要特征,而不是包的全部内容。这与INT和ERSPAN完全不同。对大多数网络排查来说是没有问题的,除非应用包的特性比较特殊。Netstream抓不到,只能求助于INT和ERSPAN。在一个网络中,我不介意同时部署三种监控方案,这样当出现故障时,可以通过多角度收集的数据来分析问题。尽量将这些数据采集通过管理网络发送到监控服务器也是非常重要的,否则一旦数据网络出现问题,监控的数据可能无法正常到达监控服务器。大多数情况下,数据网络的故障很少影响到管理网络,所有设备仍然可以正常访问。如果出现故障,很多设备无法通过管理网络访问,基本可以确定这个设备是故障点。有了以上网络监控手段,不难在第一时间发现故障,而且可以完全自动化。当发现故障时,监控服务器会自动下发隔离命令,隔离故障设备并自动恢复。这样可以在应用上报故障前,找到网络故障的位置,及时隔离故障设备,恢复服务。这样可以大大缩短故障分析时间,对业务影响很小,甚至业务部分根本感知不到故障。INT、ERSPAN等网络监控技术的实际应用效果如何还不得而知。它们是最近提到的技术,还有待实践检验。SFLOW和Netstream技术相对成熟,但实际用于网络故障排查的并不多,需要在这方面进行更多的推广。依靠这些监控技术,可以快速排除网络故障,对数据中心运维具有重要意义,大大提高运维效率。