链路的一侧有 POD 分配交换机 - D1 и D2,它们彼此形成一个 MLAG 对(堆栈、VCS 工厂、vPC 对),另一方面有两个链接 - 链接1 и 链接2 - 包含在旧聚合交换机的 MLAG 对中 А。 在开关侧 D 具有名称的聚合接口 端口通道A,在汇聚交换机一侧 А - 具有名称的聚合接口 端口通道D.
聚合接口的工作方式采用LACP协议,即两端交换机定期在两条链路上交换LACPDU报文,以保证链路:
工作;
包含在远程端的一对设备中。
交换报文时,报文携带值 系统 ID,指示包含这些链接的设备。 对于 MLAG 对(堆栈、工厂等),形成聚合接口的设备的 system-id 值是相同的。 转变 D1 发送至 链接1 值 系统 ID D,并切换 D2 发送至 链接2 值 系统 ID D.
开关 A1 и A2 分析通过一个 Po D 接口接收到的 LACPDU 数据包并检查其中的 system-id 是否匹配。 如果通过某些链接收到的系统 ID 突然不同 从目前的经营价值来看,则该链路将从聚合接口中删除,直到情况得到纠正。 现在在我们的交换机端 D 来自 LACP 合作伙伴的当前系统 ID 值 - A,并在开关侧 А — 来自 LACP 合作伙伴的当前系统 ID 值 — D.
如果我们需要切换聚合接口,我们可以通过两种不同的方式来完成:
方法 1 - 简单 禁用来自交换机 A 的两条链路。 在这种情况下,聚合通道不起作用。
将两条链路一一连接到交换机 N,然后将再次协商LACP工作参数并形成接口 波D 在开关上 N 以及在链接上传输值 系统 ID N.
方法 2 - 尽量减少干扰 断开链路 2 与交换机 A2 的连接。 同时,之间的交通 А и D 将继续仅通过其中一条链路进行传输,该链路仍将是聚合接口的一部分。
将 Link 2 连接到交换机 N2。 在开关上 N 聚合接口已经配置 波DN,并切换 N2 将开始传输到 LACPDU 系统 ID N。 在这个阶段我们已经可以检查开关 N2 与用于的收发器正常工作 链接2,表示连接端口已进入状态 Up,并且连接端口在传输LACPDU时不会出现错误。
但事实是开关 D2 用于聚合接口 波A 从侧面看 链路 2 收到与当前操作系统 ID A 值不同的系统 ID N 值, 不允许切换 D 进入 链接2 聚合接口的一部分 波A。 转变 N 无法进入 链接2 投入运行,因为它没有收到交换机 LACP 伙伴的可操作性确认 D2。 得到的流量是 链接2 没有通过。
现在我们从开关 A1 关闭链路 1,从而剥夺开关 А и D 工作聚合接口。 所以在开关侧 D 接口的当前工作系统 ID 值消失 波A.
这允许开关 D и N 同意交换系统 ID 一个 在接口上 波A и 波DN,这样流量就开始沿着链路传输 链接2。 实际上,这种情况下的休息时间最多为 2 秒。
现在我们可以轻松地将 Link 1 切换到 N1、恢复接口冗余的容量和级别 波A и 波DN。 由于当该链路连接时,当前的 system-id 值在任何一方都不会改变,因此不会出现中断。
附加链接
但切换时可以在没有工程师在场的情况下进行切换。 为此,我们需要提前在分配交换机之间铺设额外的链路 D 和新的聚合交换机 N.
我们正在聚合交换机之间铺设新链路 N 以及所有 POD 的分配交换机。 这需要订购和铺设额外的跳线,并安装额外的收发器,如下所示 N和在 D。 我们可以做到这一点,因为在我们的交换机中 D 每个 POD 都有可用端口(或者我们预先释放它们)。 因此,每个 POD 通过两条链路物理连接到旧交换机 A 和新交换机 N。
在开关上 D 已形成两个聚合接口 - 波A 有链接 链接1 и 链接2和 磷氮 - 有链接 链接N1 и 链接N2。 在这个阶段,我们检查接口和链路的连接是否正确,链路两端的光信号电平(通过交换机的DDM信息),甚至可以检查负载下链路的性能或监控链路的状态。光信号和收发器温度几天。