当前位置: 首页 > news >正文

真机二阶段之堆叠技术

堆叠技术 --- 可以将多台真实的物理设备逻辑上抽象成一台

思科 -- VPC
华为 -- iStack和CSS
华三 -- IRF
锐捷 -- VSU

iStack和CSS的区别:
CSS --- 集群 --- 它仅支持将两台支持集群的交换机逻辑上整合成一台设备。
iStack --- 堆叠 --- 可以将多台支持堆叠的交换机逻辑上整合成一台。
集群和堆叠的主要区别 --- 1.数量  2.设备

1.堆叠的优势
       1.提高可靠性
          961a26c74e574d3f8ee3f4b07b8e2063.png
          堆叠实际上实现的是一个1:N的备份,任意一台设备出现故障,堆叠系统中剩余的N台设备都相当于是备份。
       2.简化组网
          14948bb180a44a72b5c7dc0ce6576371.png
          因为多台设备逻辑上被抽象成为了一台设备,且可以实现跨设备的链路聚合,极大的简化了组网。
       3.简化管理
          因为堆叠了之后,多台交换机相当于变成了一台交换机,所以,我们可以通过任意一台交换机登录到堆叠系统中,并对整个堆叠系统进行统一的管理。
       4.强大的网络拓展能力
          89d135f206174500a1f1f457fd0a3d7a.png
          堆叠系统可以通过增加堆叠系统中的成员设备,从而达到增加端口数量,提高带宽,提升整个堆叠系统的处理能力。

2.堆叠的方式
       参与堆叠的设备首先需要保证直连。
       根据中间链接介质不同,可以将堆叠方式分为两种:
              堆叠卡堆叠
              b9f032604378471cac32b77a3195f01a.png
              0bf5367c5ef346cb8a277b1d5f910ad8.png
              注意:堆叠卡中有两个堆叠口,一个1口,应该2口。在链接成为堆叠系统时,一定注意,需要使用本端设备的1口去链接对端设备的2口,实现交叉互联。
              业务口堆叠
                     逻辑堆叠端口 --- Stack-port --- 一种虚拟接口 --- 最多也只能创建两个。也需要遵循交叉互联的原则。
                     物理成员端口 --- 逻辑口只是定义了功能,真实的数据传递还是需要通过物理接口实现。所以,我们需要将物理成员接口划入到逻辑端口中。不同设备型号和接口类型可以划入的接口数量可能不同,需要结合具体的产品文档来判断。
                     f3d001a2025048abad27f68a000cc1f3.png
       优点:
               堆叠卡堆叠 --- 配置简单,不用占用业务口。
               业务口堆叠 --- 无额外成本。
       缺点:
               堆叠卡堆叠 --- 需要购买专用的堆叠卡,成本上升。
               业务口堆叠 --- 需要占用业务口,配置麻烦。
3.堆叠的原理
       1.角色
       只要加入到堆叠系统中的设备,都被称为成员交换机。

       Master --- 主交换机 --- 一个堆叠系统中,有且仅有一个主交换机。
       Standby --- 备交换机 --- 如果主交换机出现故障,则由备交换机承担主交换机的职责,一个堆叠系统中,只有一个备交换机。
       slave --- 从交换机 --- 一个堆叠系统中,除了主和备交换机外,剩余所有成员交换机都是从交换机。
 
       2.单机堆叠
             仅由一台交换机组建的堆叠系统
             注意:华为设备默认使能了堆叠

       3.堆叠ID
             用来区分和标定堆叠系统中不同的交换机。堆叠ID在一个堆叠系统中是唯一的。堆叠ID的取值范围0-8。

             G 0/0/0 --- 槽位号/子卡号/端口号 --- 槽位号一般默认为0,但是如果设备定义了堆叠ID,则槽位号会变成对应的堆叠ID。

             注意:堆叠ID的唯一性可以由网络管理员手工配置保证,但是,如果配置存在冲突或者多台设备没有配置,堆叠系统中的主交换机会对多有成员交换机的堆叠ID进行管理,会对ID冲突设备从最小的ID进行遍历,找到第一个空闲的ID分配给该设备。

             一台设备如果从一个堆叠系统中退出,他将继承堆叠系统中的堆叠ID,除非手工更改,或者他加入到其他堆叠系统中,存在冲突备主交换机修改。
 
       4.堆叠的优先级
             附加在每一个成员交换机上,用来进行角色选举的属性。提供手工干涉选举的一个参数。优先级越大,成为主交换机的几率越大,其取值1-255。其默认初始值为100。

             堆叠角色的选举是非抢占模式的。抢占时间20S。

       堆叠的建立过程:
       1.物理连接
             首先,需要根据网络需求,选择适当的连接方式和连接拓扑,来组建堆叠网络。
             ace30c7a487346068a7e8e57e0a2c455.png
             链形连接 --- 1.其首尾不用相连,更适合远距离堆叠。
                                  2.图形结构简单,容错较低,任何一条链路断开都将引起堆叠分裂。
             环形连接 --- 1.可靠性更高,对堆叠分裂具有一定的容错。
                                  2,因为首尾需要相连,所以,不太适合远距离的堆叠。
     
             总结:近距离堆叠,推荐使用环形拓扑,其稳定性更好;远距离堆叠,推荐使用链形拓扑,部署成本更低。
       
       2.主交换机的选举
             1.堆叠成员的加入 --- 因为堆叠系统时非抢占模式的,所以,如果一个完成的堆叠系统中需要加入一台成员设备,该设备将直接以从交换机的身份加入,不影响原系统的角色。
             2.堆叠合并 --- 两个堆叠系统中的主交换机进行竞选。竞选成功的主设备所在的堆叠系统其角色不会发生变化,竞选失败的主所对应的堆叠系统,所有设备将重新启动,以从交换机的身份加入到胜利堆叠系统中,并同步主交换机的配置。

             因为华为交换机默认使能了堆叠,而且超时时间只有20S。所以,想要区分这两种场景,只能通过控制设备的启停进行区分,如果交换机关机再加入,则为堆叠成员加入场景;若开机加入,则为堆叠合并场景。

             竞选规则(逐条比较)
             1.设备的运行状态比较,已经运行的交换机比处于启动状态的交换机优先竞选为主交换机。如果是堆叠合并时两个系统的主进行竞争,则需要比较设备的运行时间,,运行时间长的为主。
             2.如果第一条相同时,则比较设备堆叠的优先级,优先级高的为主。
             3.若优先级相同,则比较设备的MAC地址,优选MAC地址小的作为主交换机。
                
       3.堆叠ID的分配和备交换机的选举
             主交换机竞选完成后,主设备会收集所有成员交换机的拓扑信息;之后将拓扑信息同步给所有成员交换机,并分配堆叠ID。之后进行备交换机的选举。
          
             备交换机的选举规则
             1.所有设备除了主交换机外最先完成启动的设备作为备交换机。
             2.若启动时间相同,则比较优先级,除主交换机外最高的为备交换机。
             3.若优先级相同,则比较MAC地址,除主交换机外MAC地址最小的为备交换机。

       4.软件版本和配置文件的同步
             因为堆叠系统要作为一个整体,所以,若备或从交换机和主交换机的软件版本不一样,则将自动同步主系统的软件版本,并且,为了保证整体功能一致,也需要同步主的配置信息。
       
       堆叠MAC地址问题
             因为整个堆叠系统需要被看作是一个整体,所以需要一个统一的MAC地址。堆叠系统的MAC地址默认使用主交换机的MAC地址。这个MAC地址一旦发生变化,可能会导致流量的中断。如果主交换机发生故障,理论上需要切换成新主的MAC地址。但是为了防止MAC地址变换引起的震荡,华为设定,主退出10分钟(默认值,可以改)内依然使用其MAC地址,如果超时未归,则使用新主的MAC地址。

       堆叠分裂
             堆叠分裂:指因为堆叠线缆故障导致原来一个堆叠系统分裂成为多个堆叠系统。
             堆叠一旦分裂,意味着多个堆叠系统将具有完全相同的配置,IP地址,包括10分钟内MAC地址也完全相同,相当于整个网络中出现了两台完全相同的设备,就可能会造成冲突,导致流量中断。
             
             1.原系统中的主和备分裂到了一个堆叠系统中
             381a17c87eab4e61b49fbc0c9e2c54b1.png

 

             2.原堆叠系统中的主和备分裂到不同的系统中
             628dec0ca2aa43e2916da8fc6bbf1c86.png
             MAD --- 多主检测
             1.直连检测
             048cb4794c784158b8482d6e768fd495.png
             工作逻辑 --- 在堆叠发生之前,检测线缆不传递报文。堆叠分裂一旦发生,分裂的两台设备自身可以检测到,则将通过MAD检测链路默认为1S为周期发送MAD报文,通知分裂的发生,并采取后续处理。

             两种直连方式,相对而言,全连的方式可靠性更高,但是需要占用更多的接口。而且,如果设备相距较远,全连成本较高。
             
             2.代理检测
             99831a139b274217a746e379ceaf055e.png
             代理检测,必须通过聚合链路来实现检测,不过,聚合链路可以是业务通道,不用占用额外的接口。
             工作逻辑:成员交换机默认会以30S为周期沿着聚合链路发生检测报文,正常情况下,收到检测报文,不需要做任何处理;如果分裂发生,则和直连检测相同,分裂设备会以1S为周期发送检测报文,通知分裂的产生并实施冲突处理。

       冲突处理
             其逻辑就是需要将分裂出来的系统进行一次竞选,规则和之前相同,竞选成功的系统将保留配置;竞选失败,则被置为Recovery状态 --- 除了配置保留的接口外,所有接口将被关闭。

4.堆叠的配置

  1.创建虚拟的堆叠端口
       [Stack1]interface stack-port 0/1 --- 创建堆叠口
       [Stack1-stack-port0/1]

       2.将物理接口拉入堆叠口
       [Stack1-stack-port0/1]port interface GigabitEthernet 0/0/1 GigabitEthernet 0/0/2 enable

       3.修改堆叠优先级
       [Stack1]stack slot 0 priority 200
 
       4.修改堆叠ID
       [Stack2]stack slot 1 renumber 2

       5.MAD代理检测
             堆叠系统配置
             [Stack1]interface Eth-Trunk 0 --- 进入聚合口
             [Stack1-Eth-Trunk0]mad ?
               detect  Specify  detect action
               relay  Relay  config
             [Stack1-Eth-Trunk0]mad detect mode relay

             代理设备
             [D1]interface Eth-Trunk 0 --- 进入聚合口
             [D1-Eth-Trunk0]mad relay

堆叠小贴士
因为堆叠的配置是通过普通的重置手段是没有办法清除的,需要使用专门的命令来清除
华为设备清除堆叠配置的命令:[Huawei]reset stack configuration
执行该命令将清除堆叠的所有配置
包括:交换机槽位号,堆叠优先级,堆叠保留VLAN,系统MAC切换时间,堆叠口配置,堆叠口速率配置
例如,交换机插入专用的堆叠线缆进行堆叠时,为了根据专用线缆的连线顺序生成槽位号,需要先执行该命令清除堆叠的配置
执行该命令后会导致原有堆叠系统分

 

 

相关文章:

真机二阶段之堆叠技术

堆叠技术 --- 可以将多台真实的物理设备逻辑上抽象成一台 思科 -- VPC 华为 -- iStack和CSS 华三 -- IRF 锐捷 -- VSU iStack和CSS的区别: CSS --- 集群 --- 它仅支持将两台支持集群的交换机逻辑上整合成一台设备。 iStack --- 堆叠 --- 可以将多台支持堆叠的交换…...

简单、快速、无需注册的在线 MockJs 工具

简单、快速、无需注册的 MockJs 工具。通过参数来返回数据,传入什么参数就返回什么数据。 使用 接口只支持返回文本类数据,不支持图片、流数据等。 json 调用接口 https://mock.starxg.com/?responseBody{“say”:“hello”}&contentTypeapplic…...

【Linux取经路】探索进程状态之僵尸进程 | 孤儿进程

文章目录 一、进程状态概述1.1 运行状态详解1.2 阻塞状态详解1.3 挂起状态详解 二、具体的Linux操作系统中的进程状态2.1 Linux内核源代码2.2 查看进程状态2.3 D磁盘休眠状态(Disk sleep)2.4 T停止状态(stopped) 三、僵尸进程3.1 僵尸进程危害总结 四、孤儿进程五、结语 一、进…...

第十二章MyBatis动态SQL

if标签与where标签 if标签 test如果为true就会拼接查询条件&#xff0c;否则不会 当没有使用Param&#xff0c;test出现arg0/param1当使用Param&#xff0c;test为Param指定的值当使用Pojo&#xff0c;test为对象的属性名 select * from car where <if test"name!n…...

redis--发布订阅

redis的发布和订阅 在Redis中&#xff0c;发布-订阅&#xff08;Publish-Subscribe&#xff0c;简称Pub/Sub&#xff09;是一种消息传递模式&#xff0c;用于在不同的客户端之间传递消息&#xff0c;允许一个消息发布者将消息发送给多个订阅者。这种模式适用于解耦消息发送者和…...

链表2-两两交换链表中的节点删除链表的倒数第N个节点链表相交环形链表II

今天记录的题目&#xff1a; ● 24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II 两两交换链表中的节点 题目链接&#xff1a;24. 两两交换链表中的节点 这题比较简单&#xff0c;记录好两个节点&#xff0c;交换其nex…...

数据结构之并查集

并查集 1. 并查集原理2. 并查集实现3. 并查集应用3.1 省份数量3.2 等式方程的可满足性 4. 并查集的优缺点及时间复杂度 1. 并查集原理 并查表原理是一种树型的数据结构&#xff0c;用于处理一些不相交集合的合并及查询问题。并查集的思想是用一个数组表示了整片森林&#xff0…...

[element-ui] el-date-picker a-range-picker type=“daterange“ rules 校验

项目场景&#xff1a; 在项目中表单提交有时间区间校验 问题描述 想当然的就和其他单个输入框字符串校验&#xff0c;导致提交保存的时候 &#xff0c;初次日期未选择&#xff0c;规则提示。后续在同一表单上继续提交时&#xff0c;校验失效。走进了死胡同&#xff0c;一直以…...

Dockers搭建个人网盘、私有仓库,Dockerfile制作Nginx、Lamp镜像

目录 1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 &#xff08;1&#xff09;下载mysql:5.6和owncloud镜像 &#xff08;2&#xff09;创建启动mysql:5.6和owncloud容器 &#xff08;3&#xff09;在浏览器中输入网盘服务器的IP地址&#xff0c;进行账…...

2023 CCPC 华为云计算挑战赛 hdu7401 流量监控(树形dp)

题目 流量监控 - HDU 7401 - Virtual Judge 简单来说&#xff0c;T(T<20)组样例&#xff0c;sumn不超过2e4 每次给定一棵n(n<2000)个点的树&#xff0c;两问&#xff1a; ①将n个点恰拆成n/2个pair(u,v)&#xff0c;要求一个点是另一个点的祖先&#xff0c;求方案数 …...

01.Django入门

1.创建项目 1.1基于终端创建Django项目 打开终端进入文件路径&#xff08;打算将项目放在哪个目录&#xff0c;就进入哪个目录&#xff09; E:\learning\python\Django 执行命令创建项目 F:\Anaconda3\envs\pythonWeb\Scripts\django-admin.exe&#xff08;Django-admin.exe所…...

亿赛通电子文档安全管理系统任意文件上传漏洞(2023-HW)

亿赛通电子文档安全管理系统任意文件上传漏洞 一、 产品简介二、 漏洞概述三、 影响范围四、 复现环境五、 漏洞复现小龙POC检测 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果…...

docker限制容器日志大小

文章目录 业务场景问题排查彻底解决 业务场景 我们公司做交通相关业务&#xff0c;我们部门主要负责信控服务&#xff0c;卖信号机的硬件产品和配套的信控平台 由于有部分小项目&#xff0c;可能只有几十个路口&#xff0c;客户预算有限&#xff0c;只给我们老旧的Windows ser…...

底层驱动实现数码管显示温湿度数值功能

开发板&#xff1a;STM32MP157A 温湿度传感器&#xff1a;si7006 显示器&#xff08;数码管&#xff09;&#xff1a;m74hc595 遇到的问题&#xff1a;循环采集温湿度传感器数值&#xff0c;并将数值发送给数码管的时候两者存在竞态关系&#xff0c;导致数码管显示亮度很暗 …...

03架构管理之测试管理

专栏说明&#xff1a;针对于企业的架构管理岗位&#xff0c;分享架构管理岗位的职责&#xff0c;工作内容&#xff0c;指导架构师如何完成架构管理工作&#xff0c;完成架构师到架构管理者的转变。计划以10篇博客阐述清楚架构管理工作&#xff0c;专栏名称&#xff1a;架构管理…...

30、devtools 依赖关于自动重启(自动加载页面)的知识

devtools 依赖关于自动重启的知识 ★ 自动重启 devtools会监控类加载路径中的文件&#xff08;尤其是*.class文件&#xff09;&#xff0c;只要这些文件发生了改变&#xff0c; devtools就会自动重启Spring Boot应用。▲ 不同工具触发自动重启的方式&#xff1a;Eclipse&…...

ES6 Promise/Async/Await使用

Promise应用 在工作中, 我们经常会遇到用异步请求数据, 查询一个结果, 然后把返回的参数放入到下一个执行的异步函数像这样: $.ajax({..., success(resp)>{$.ajax({..., resp.id, success(resp)>{$.ajax({..., resp.name success(resp)>{//多层嵌套的情况, 看着是不…...

Word中对象方法(Methods)的理解及示例(上)

【分享成果&#xff0c;随喜正能量】奋斗没有终点,任何时候都是一个起点&#xff0c;沉潜是为了蓄势待发&#xff0c;沉潜是为了等待因缘。鲸豚沉潜于大海&#xff0c;幽兰深藏于山谷&#xff0c;能够经得起沉潜的人&#xff0c;才会有更高的成就。正如一年的树木只能当柴烧&am…...

AutoDev 1.1.3 登场,个性化 AI 辅助:私有化大模型、自主设计 prompt、定义独特规则...

在过去的半个月里&#xff0c;我们为开源辅助编程工具 AutoDev 添加了更强大的自定义能力&#xff0c;现在你可以&#xff1a; 使用自己部署的开源大模型自己配置 Intellij IDEA 中的行为自定义开发过程中的规范 当然了&#xff0c;如果您自身拥有开发能力的话&#xff0c;建议…...

win11 python 调用edge调试过程

1、下载对应版本的驱动程序&#xff1a; https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver/ 2、和系统版本对应的exe文件(x86、x64要对应)放置的固定的目录&#xff0c;我放到了system32下了&#xff1b; 3、PATH路径添加windows/system32目录&#x…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...