网络新增接入交换机引发故障应对经验

网管对某一栋楼的汇聚交换机进行配置变更,要增加一台接入交换机,因为人员变多了,终端也就变多了,所以现有的网络和接入设备不能满足需求,需要新增一台接入层的交换机。
现网中新增一台接入交换机,这个配置是非常简单的。一般只需要将接入交换机上到机架,两根光纤连到汇聚交换机就搞定了。配置上都是将这个接入交换机所需要VLAN配上,再将接入交换机连接汇聚交换机的两个接口,或者一个接口配置成Trunk,搞定就好了。
然后为了保证这个链路的可靠性,需要从接入交换机到汇聚交换机配置一个链路聚合,配置也很简单。
刷完配置之后就回到了工位休息,而这个故障并没有马上出现。
不久后上班的人使用网络的时候才发觉,“啊?楼层交换机出现了故障!”,或者说才发觉当时“不能上网了!”
只是新增了一台设备,新增了一些配置,可这时候网络却出现了故障。
怎么分析这个故障?
展开来看下它的网络架构,网络架构其实就是传统的三层架构,核心连接汇聚,汇聚连接楼层接入交换机,简单吧?
只是说它的网络架构会用到堆叠这个技术。
它的核心交换机连接汇聚的时候,汇聚是两台做了堆叠,这边抛开核心交换机不看,两台汇聚交换机做堆叠,堆叠完成后,接入交换机上行两条链路,分别连到2台汇聚交换机。
虽然这边有2台汇聚交换机,但汇聚交换机在逻辑上是一台设备,因为他这两条链路上做了链路捆绑。链路捆绑也是堆叠的基本技术。因为用了堆叠这个技术,这样的一个拓扑,它其实就是一个无环的网络。
而汇聚是两台设备,那接入交换机只需要在连接下行的接口配上VLAN,连接下行终端——PC,只要做个VLAN划分,然后我们的上行接口,配置链路聚合,同时将这个上行的链路聚合口配置成trunk口,就这么简单的三个配置。
那这么简单的三个配置,为什么会导致这个网络出现环路?
当然,当时还不知道是环路。
网管第一反应不是怀疑环路的问题。
此时再看我们的第一个线索:无环网络。
以及第二线索:配置及其简单,只配了vlan,trunk、链路聚合这三个。
往下看第三个线索:设备无法远程登录。这该怎么理解?
实际上一般出现网络故障之后,一般人会采取应对做的第一步动作肯定是要远程登录到网络设备,进行配置查看,要看下配置对不对。因为都是刷上去的配置,所以第一步就是远程登录这台设备,可以登录汇聚交换机也可以登录接入交换机。但是试图登录的时候发现,上不去。没有办法登录到这两台设备上……
设备无法远程登录,通常会是什么情况?
它无法被ping通,无法对它talent,这应该有同学在工作中遇到过吧?
通常发生这种情况,如果设备没有办法ping通,你只要保证被路由没有问题,而设备却无法ping通,无法远程管理,这就说明它的CPU已经满了。
因为所有需要ping这台设备,需要直接访问这台设备的IP地址的所有报文,都是需要CPU来处理的。
ping或者talent这台设备,所有的远程报文都是需要CPU来处理的,这时候如果CPU飙到100%了,就会造成无法远程登录和管理。
这时候终于开始怀疑是不是网络环路了……
因为在二层网络里面,能够导致CPU 100%的情况,大概率是由环路导致的,所以基本上可以判断是一个环路。
但是为什么?为什么会出现环路?我命名配置的无环的!哪来的环路?
这时候要怎么办?只能跑现场了。
去现场一般来说你需要带上console和笔记本。
去设备的现场,一般通过console线远程或者直接连接到这个设备上,登录这个设备查看配置。
由于设备CPU 100%爆掉了,你如果通过console线登录设备,也会非常的卡,基本上你敲命令,过几秒钟才会有反应。
所以一般遇到环路这种问题,设备本身CPU满了,因为你很难对这个设备进行配置查看,也就很难排查。
所以当时用了个最笨的办法——拔线。
在汇聚交换机上,汇聚交换机所有连接接入交换机的这个口,一条条去拔线。
最后拔到新增的这台设备时发现网络恢复了,这时候基本上就可以定位到新增的这台交换机设备,它是存在问题的。
可配置明明这么简单,却出现环路了,离谱。
这个地方唯一有可能出现环路的是什么场景?
这里我直接告诉你,这是因为这里链路聚合的配置不对。他们在配置链路聚合的时候,只配了一端,只在汇聚交换机上刷了链路聚合的配置。
这里可以看出,汇聚交换机这两个口是捆绑在一起的,但下行的这台接入交换机,他的链路聚合没有配,也就是说,它是2个独立的口。
所以当时拔线拔到了网络恢复,我就登录进了设备查看配置。发现非常简单,只是漏了两条配置而已,在物理接口下漏配了两条链路聚合的命令,就这么简单。而就是这么简单的一个问题,就导致了这次的网络环路,这时候生成树是不生效的。

图片

其实也开了生成树,那为什么生成树不起作用?
因为对于汇聚交换机来说,只有一个口;而对于接入交换机来说,却存在独立的2个口。
只是从接入交换机发出的生成树BPDU报文,发到上行接口之后,汇聚交换机不会再从接口发出来。因为只有一个口,它是不会从这个接口再发出来的,所以这时候设备本身就不会认为网络有环路。于是就导致了,生成树这时候是没有作用的,即使你开了生成树也检测不到环路的。
后来把链路聚合的配置重新配上了,网络就恢复了。
其实就是一个非常简单的一个小的疏忽,就在刷配置的时候漏刷了2条命令,从而导致的网络故障。
实际上在现网中的网络故障里,50%以上都是人为的,基本上都是人为疏忽、配置变更导致的故障。由于设备本身的软件或者硬件出现问题而导致的故障是比较少见的。大部分都是人为的,要么配置配的不合理,要么规划不合理,才会导致这样或那样的问题。
对于环路来说,如果你的网络设备没有办法登录,那你只能用最笨的办法一根根去拔线,因为设备无法查看,非常卡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Day 15] 區塊鏈與人工智能的聯動應用:理論、技術與實踐

區塊鏈的數字身份認證 1. 概述 數字身份認證是當今數字世界中的關鍵問題之一。傳統的身份驗證方法面臨著安全性、隱私性和可信度等方面的挑戰。區塊鏈技術通過其去中心化、不可篡改和可追溯的特性,為解決這些問題提供了新的可能性。本文將深入探討區塊鏈在數字身份…

经典游戏案例:unity官方推荐3d跑酷

学习目标&#xff1a;实现跑酷核心算法 游戏画面 项目结构目录 部分核心代码 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 游戏管理器是一个状态机&#xff0c;根据当前的游戏状态&#xff0c;它…

cJSON解析数组

json串: {"list":[ "hello","world"]} 代码 : int func(char *sn) { int ret = 0; cJSON *root, *list; FILE *fp = fopen("a.txt", "r"); if(!fp) { printf("open sn file failed!\n"); …

图解Attention学习笔记

教程是来自https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/ 图解Attention Attention出现的原因是&#xff1a;基于循环神经网络&#xff08;RNN&#xff09;一类的seq2seq模型&#xff0c;在处理长文本时遇到了挑战&#xff0c;而对长文本中…

华北水利水电大学-C程序设计作业

目录 基础题 1-1 分析 代码实现 1-2 分析 代码实现 1-3 分析 代码实现 1-4 ​编辑 分析 代码实现 1-5 分析 代码实现 1-6 分析 代码实现 基础题 1-1 从键盘输入10个学生的有关数据&#xff0c;然后把它们转存到磁盘文件上去。其中学生信息包括学号、姓名…

Redis变慢了?

Redis变慢了&#xff1f; 什么是Redis&#xff1f;测定Redis变慢&#xff1f;最大响应延迟平均响应延迟设置Redis慢日志 分析Redis变慢bigkeysbigkey的危害bigkey优化 写在最后 什么是Redis&#xff1f; 作为一个技术人员来说&#xff0c;大家用的最多的可能就是Redis了&#…

EMQX集群搭建

1. 什么是 MQTT&#xff1f; MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级、基于发布-订阅模式的消息传输协议&#xff0c;适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎&#xff0c;能够实现传感器、…

防火墙中的NAT

防火墙的NAT NAT分类 源NAT 基于源IP地址进行转换。 我们之前接触过的静态NAT&#xff0c;动态NAT&#xff0c;NAPT都属于源NAT&#xff0c;都是针对源IP地址进行转换的。源NAT主要目的是为了保证内网用户可以访问公网。 先执行安全策略&#xff0c;后执行NAT 目标NAT 基于…

【数学】什么是最大似然估计?如何求解最大似然估计

背景 最大似然估计&#xff08;Maximum Likelihood Estimation, MLE&#xff09;是一种估计统计模型参数的方法。它在众多统计学领域中被广泛使用&#xff0c;比如回归分析、时间序列分析、机器学习和经济学。其核心思想是&#xff1a;给定一个观测数据集&#xff0c;找到一组…

git的分支管理

✨前言✨ &#x1f4d8; 博客主页&#xff1a;to Keep博客主页 &#x1f646;欢迎关注&#xff0c;&#x1f44d;点赞&#xff0c;&#x1f4dd;留言评论 ⏳首发时间&#xff1a;20246月19日 &#x1f4e8; 博主码云地址&#xff1a;博主码云地址 &#x1f4d5;参考书籍&#x…

【TB作品】MSP430G2553,单片机,口袋板, 单相交流电压、电流计设计

题5 单相交流电压、电流计设计 设计基于MSP430的单相工频交流电参数检测仪。交流有效值0-220V&#xff0c;电流有效值0-40A。电压、电流值经电压、电流传感器输出有效值为0-5V的交流信号&#xff0c;传感器输出的电压、电流信号与被测电压、电流同相位。 基本要求如下 &#xf…

Linux实时查看Java接口数据

1.Linux实时查看Java接口数据的方法 在Linux系统中实时查看Java接口数据通常涉及几个步骤&#xff1a; &#xff08;1&#xff09;编写Java应用程序&#xff1a;首先&#xff0c;你需要有一个Java应用程序&#xff0c;它暴露了一个或多个HTTP接口。这些接口应该返回你想要实时…

php百度云账户余额查询API示例

1、官方文档地址&#xff1a;账户余额查询 请求结构 POST /v{version}/finance/cash/balance HTTP/1.1 Host: billing.baidubce.com ContentType: application/json; charsetutf-8 Content-Length: <Content_Length> Authorization: authorization string 请求头域 …

ubuntu安装本地版overleaf并配置Docker

安装Docker 参考https://blog.csdn.net/2201_76100073/article/details/137025119 更新软件包 sudo apt update sudo apt upgradedocker依赖 sudo apt-get install ca-certificates curl gnupg lsb-release添加docker密钥 curl -fsSL http://mirrors.aliyun.com/docker-ce…

05、部署 YUM 仓库及NFS 共享服务

目录 5.1 部署YUM软件仓库 5.1.1 准备网络安装源&#xff08;服务器端&#xff09; 1、准备软件仓库目录 2、安装并启用vsftpd服务 5.1.2 配置软件仓库位置&#xff08;客户端&#xff09; 5.2 使用yum工具管理软件包 5.2.1 查询软件包 1、yum list——查询软件包列表 …

Python 3 函数

Python 3 函数 函数是Python编程语言的核心组成部分&#xff0c;它们允许我们封装代码块&#xff0c;使其可重用&#xff0c;模块化&#xff0c;并易于维护。在Python 3中&#xff0c;函数的使用和定义都有一些特定的语法和规则。本文将详细介绍Python 3中的函数&#xff0c;包…

DGit的使用

将Remix连接到远程Git仓库 1.指定克隆的分支和深度 2.清理&#xff0c;如果您不在工作区上工作&#xff0c;请将其删除或推送至 GitHub 或 IPFS 以确保安全。 为了进行推送和拉取&#xff0c;你需要一个 PAT — 个人访问令牌 当使用 dGIT 插件在 GitHub 上推送、拉取、访问私…

网关助力边缘物联网

网关助力边缘物联网 在探讨网关如何助力边缘物联网&#xff08;IoT&#xff09;的议题时&#xff0c;我们不得不深入分析这一技术交汇点的复杂性与潜力。边缘计算与物联网的融合&#xff0c;通过将数据处理与分析能力推向网络边缘&#xff0c;即数据生成的地方&#xff0c;极大…

高企如何提高通过率?2024年成都市高新技术企业认定条件和申报提前规划

一、知识产权 1.知识产权布局“前置化” 公司申报高新技术企业在知识产权上要注意知识产权数量和质量双达标。 注&#xff1a;知识产权是高企申报的重要条件&#xff0c;同时也是认定评审的主要得分项。总分100分&#xff0c;其中60分与知识产权相关&#xff08;知识产权情况…

【JVM】常⽤的命令⾏性能监控和故障处理⼯具

在Java应用程序的开发和维护过程中&#xff0c;性能监控和故障处理是至关重要的环节。为了更好地进行这些任务&#xff0c;Java生态系统提供了多种命令行工具。以下是一些常用的性能监控和故障处理工具的详细介绍&#xff1a; 1. jps (Java Virtual Machine Process Status To…