配置虚拟机箱检测信号连接
您必须在虚拟机箱中的主路由器和备份路由器之间配置基于 IP 的双向“心跳”数据包连接。检测信号连接确定虚拟机箱中成员路由器的运行状况和可用性。构成此 检测信号连接 的成员路由器交换 检测信号数据包,这些数据包 提供有关每个成员路由器的可用性和运行状况的关键信息。在虚拟机箱配置中断或拆分期间,检测信号连接可防止成员路由器不必要地更改主角色角色。如果没有心跳连接,在这种情况下更改主角色角色可能会产生不良结果,例如有两个虚拟机箱主路由器或没有虚拟机箱主路由器。
配置虚拟机箱检测信号连接的好处
配置虚拟机箱检测信号连接可为虚拟机箱提供以下优势:
提高故障场景期间的弹性
在虚拟机箱端口接口故障或其中一台成员路由器停止服务时,发生邻接中断或拆分时,配置心跳连接可以提高虚拟机箱的弹性。如果检测信号连接检测到虚拟机箱主路由器 (VC-P) 仍在运行并且能够在拆分期间做出响应,则软件将保留现有 VC-P 的主要角色,隔离虚拟机箱备份路由器 (VC-B),直到虚拟机箱恢复,并在虚拟机箱再次形成时恢复 VC-B 上的备份角色。因此,心跳连接可防止成员路由器不必要地更改主角色角色,进而耗费系统资源并导致意外和不良结果。
当 VC-B 在中断期间被隔离时,软件会立即重新启动所有线卡并关闭所有网络端口,直到中断得到解决并再次形成虚拟机箱。此行为支持具有外部设备的网络应用,这些设备需要物理链路关闭条件才能将流量路径切换到其他连接。
增强型主要角色选举流程
虚拟机箱控制协议 (VCCP) 控制虚拟机箱中的主要角色选择。在虚拟机箱中配置检测信号连接时,VCCP 软件会评估从检测信号连接收集的运行状况信息,以帮助确定在邻接中断或拆分时哪个成员路由器应成为全局主路由器 (VC-P)。当检测信号连接检测到对等成员路由器具有响应性时,VCCP 软件会抑制对主要角色角色进行不必要的更改。
相反,如果 未 配置检测信号连接,则在中断或拆分后确定相应的主要角色角色时,VCCP 软件不会提供此附加运行状况信息。
能够轻松查看和清除与心跳连接相关的统计信息
通过虚拟机箱的作命令,您可以显示心跳连接的状态,查看与心跳连接相关的详细统计信息和延迟测量值,并清除一个或两个成员路由器的心跳相关统计信息计数器和时间戳字段。
心跳连接的配置要求
要为虚拟机箱建立心跳连接,您必须在主路由器和备份路由器之间配置安全可靠的路由,以便交换 TCP/IP 心跳数据包。具体而言,必须确保虚拟机箱备份路由器 (VC-Bp) 中的主路由引擎可以与虚拟机箱主路由器 (VC-PP) 中主路由引擎的 IP 地址建立 master-only TCP/IP 连接。
配置检测信号连接时,以下附加要求适用:
仅在有资格成为虚拟机箱主路由器(也称为协议主路由器或全局主路由器)之间配置虚拟机箱成员路由器之间的检测信号连接。
在双成员虚拟机箱配置中,您可以将角色作为
routing-engine预配置配置的一部分分配给每个路由器。该routing-engine角色使路由器能够根据需要充当虚拟机箱的主路由器或备份路由器。因此,您可以在双成员虚拟机箱配置中配置两个成员路由器之间的心跳连接。使用路由器的以太网管理接口 (
fxp0) 作为心跳路径。管理接口通常比线卡接口更早可用,并且通常比其他接口连接到更安全的网络。
为管理接口配置一个
master-onlyIP 地址fxp0,以确保对 VC-PP 的一致访问,无论当前处于活动状态如何路由引擎。该
master-only地址仅在 VC-PP 的管理接口上处于活动状态。在切换期间,地址master-only将移动到当前用作 VC-PPP 的新路由引擎。确保 VC-PP 和 VC-Bp 成员路由器之间的 TCP 连接
虚拟机箱检测信号连接会在 VC-Pp 上打开编号为 33087 的专用 TCP 端口,以侦听检测信号消息。如果您的网络设计包括防火墙或过滤器,请确保网络允许 VC-PP 上的 TCP 端口 33087 与 VC-Bp 上动态分配的 TCP 端口之间的流量传输。
使用检测信号连接时,请勿将语句配置
no-split-detection为预调配虚拟机箱配置的一部分。当在虚拟机箱中检测到拆分时,该
no-split-detection语句会抑制任何作。配置心跳连接时,禁止使用no-split-detection该语句,并且软件会阻止同时配置 andheartbeat-address语no-split-detection句。如果尝试这样做,软件将显示一条错误消息,并导致提交作失败。
在双成员虚拟机箱中,您可以配置与同一子网中的两个成员路由器的检测信号连接,也可以配置与不同子网中的每个成员路由器的检测信号连接。 表 1 总结了同一子网中的成员路由器与不同子网中的成员路由器的配置过程之间的重要区别。
任务 |
同一子网中成员路由器的心跳连接 |
不同子网中成员路由器的心跳连接 |
|---|---|---|
配置 |
为所有四个成员路由引擎配置相同的 |
为 |
为检测信号连接配置网络路径。 |
通过 TCP/IP 连接为成员路由器提供相互访问的路径。 例如,在成员路由器位于同一子网的虚拟机箱中,您可以使用路由器的默认网关。或者,您可以创建全局静态路由,如 示例:使用与同一子网中的成员路由器建立 MX 系列虚拟机箱心跳连接来确定成员运行状况。 |
通过 TCP/IP 连接为成员路由器提供相互访问的路径。在成员路由器位于不同子网的虚拟机箱中,您必须确保两个成员路由器都可以访问彼此的网络。 例如,您可以在每个成员路由引擎上创建到两个子网的静态路由,如示例:使用与不同子网中的成员路由器建立 MX 系列虚拟机箱心跳连接来确定成员运行状况中所述。 |
配置心跳地址以建立心跳连接。 |
为管理接口配置 |
为每个成员路由引擎配置心信号地址,以交叉连接到 例如,假设 |
心跳连接的工作原理
当虚拟机箱正常运行时,心跳连接会定期通过虚拟机箱主路由引擎中的主路由引擎与虚拟机箱备份路由器中的主路由引擎之间的 TCP/IP 路径发送心跳数据包。
当在虚拟机箱中检测到邻接中断或拆分时,每个成员路由器都会发送最终检测信号消息以确定其他成员是否能够响应,并停止发送其他定期消息,直到虚拟机箱再次形成。另一个成员必须在默认心跳超时时间段(2 秒)内或在 1 到 60 秒范围内配置的心跳超时时间段内响应心跳消息。要确定在网络中从传输心跳请求消息到收到心跳响应消息之间经过的时间段,可以发出命令show virtual-chassis heartbeat detail来查看 和 Minimum latency 字段中Maximum latency报告的秒数。
如果网络拥塞或往返延迟超过 2 秒,建议增加心跳超时期的值,以考虑虚拟机箱邻接中断或拆分期间的此延迟。
心跳连接和虚拟机箱故障情况
当发生邻接中断或拆分时,配置心跳连接可防止虚拟机箱成员路由器之间不必要的主角色更改。 表 2 描述了在双成员虚拟机箱中启用心跳连接时,常见故障情况对主要角色的影响。
故障条件 |
虚拟机箱主路由器 (VC-P) 上的结果 |
虚拟机箱备份路由器 (VC-B) 上的结果 |
|---|---|---|
虚拟机箱端口接口关闭。 |
保留 VC-P 角色。 |
如果 VC-P 处于服务状态,但虚拟机箱端口接口关闭,则 VC-B 将在心跳超时期限到期后脱机,因为路由引擎状态无效。 |
VC-P 机箱故障。 |
停止服务。 |
变为 VC-P。 |
VC-B 机箱故障。 |
保留 VC-P 角色。 |
停止服务。 |
心跳连接失败。 |
保留 VC-P 角色。 |
保留 VC-B 角色。 |
在所有情况下,除 VC-P 机箱发生故障外,如果心跳连接检测到 VC-P 仍在运行并且能够在拆分期间做出响应,则 虚拟机箱 的主要角色将保留在现有 VC-Pp 上。防止不必要的角色更改可以最大程度地减少由协议主角色切换引起的系统负载,并降低出现不可预测结果的可能性。
缺乏虚拟机箱心跳连接和 VCP 邻接丢失是一种双重故障情况,可有效地返回到“无拆分检测”行为。两个成员无法验证其对等成员路由器的状况。虚拟机箱检测使用“无拆分检测”反应,这要求 VC-P 保持在协议主角色中,而 VC-B 作为 VC-P。这种“主设备拆分”情况不适用于路由协议和其他拓扑管理机制。在这种情况下,主设备分离条件比在没有任何协议主设备的情况下运行要好。
只有当虚拟机箱已正确形成并成功选择 VC-P 和 VC-B 成员机箱角色时,虚拟机箱心跳通信才会处于活动状态。在 VCP 邻接丢失期间确定的角色将保留,直到虚拟机箱再次正确形成为止。在“拆分”条件的持续时间内,虚拟机箱心跳连接中断不会影响虚拟机箱中的协议角色。
心跳连接与拆分检测的比较
在某些虚拟机箱故障情况下,拆分检测设置(默认启用或显式禁用)可能会导致不可预测和不良的结果,例如虚拟机箱具有两个主路由器,或虚拟机箱没有主路由器。
您必须使用心跳连接,而不是虚拟机箱中的拆分检测功能,以避免在邻接中断或拆分期间发生不必要的主角色更改,并为主角色选择过程提供额外的成员运行状况信息。
表 3 比较了拆分检测和心跳连接在两种常见故障情况下的影响:虚拟机箱端口接口故障和 VC-B 机箱故障。
故障条件 |
使用心跳连接的结果 |
裂口检测结果 |
|---|---|---|
虚拟机箱端口接口关闭。 |
|
禁用拆分检测时:
|
VC-B 机箱故障。 |
|
启用拆分检测后:
|