为 vSRX 虚拟防火墙实例提供多节点高可用性支持
多节点高可用性通过提供机箱间弹性来满足私有和公共云部署的高可用性要求。
我们支持瞻博网络上的多节点高可用性 vSRX 虚拟防火墙,以及专用(基于内核的虚拟机 [KVM] 和 VMware ESXi)和公共云 (AWS) 部署的虚拟防火墙。
您可以使用与私有云部署的物理 SRX 系列防火墙相同的方法在 vSRX 实例上配置多节点高可用性。
要在 VMware ESXi 和 KVM 中配置多节点高可用性:
- 在私有云中部署两个 vSRX 虚拟防火墙实例。请参阅 使用 vSRX 虚拟防火墙和 KVM 安装 vSRX 虚拟防火墙 或安装带有 VMware vSphere Web Client 的 vSRX 虚拟防火墙。
-
使用以下主题中的说明设置多节点高可用性:
要在公共云部署中配置多节点高可用性:
- 请参阅 AWS 部署中的多节点高可用性。
ICL 加密和灵活的数据路径故障检测支持
部署在私有云(KVM 和 VMware ESXi)中的多节点高可用性 vSRX 虚拟防火墙支持 ICL 加密和灵活的数据路径故障检测。
- ICL 加密使用 IPsec 协议来保护高可用性节点之间的同步消息,确保数据隐私。有关配置详细信息,请参阅 示例:在第 3 层网络中配置多节点高可用性 。
- 灵活的数据路径故障检测通过加权功能提供路径监控,并可通过加权功能进行精细化控制,支持 IP、双向转发检测 (BFD) 和接口监控。
有关更多详细信息,请参阅灵活路径监控 。
了解多节点高可用性双路径机箱之间链路 (ICL)
多节点高可用性 (MNHA) 支持通过聚合以太网 (AE) 和环路接口的双路径机箱间链路 (ICL)。此增强功能可在 AWS、Azure 和 Google Cloud Platform (GCP) 等公共云以及使用 KVM 和 VMware 的私有云之间实现高效的流量分配并提高高可用性可靠性。要配置 ICL,请注意:
- 在 AWS、Azure 和 GCP 等公共云环境中,由于 AE 接口受到限制,首选环路接口。
- 在使用 KVM 和 VMware 的私有云环境中,您可以使用 AE 接口来建立双路径 ICL,其特点是配置灵活,允许您使用各种网络接口卡。
双路径 ICL 在 MNHA 中的好处
-
增强与 AWS、Azure 和 GCP 等公共云环境的兼容性,实现高效的第 3 层高可用性部署。
-
通过使用 AE 和环路接口改善流量分配和负载平衡,确保公共和私有云设置中的最佳性能。
支持 AE 接口作为私有云环境中的双路径 ICL
在使用 KVM 或 VMware 的私有云设置中,您可以将聚合以太网 (AE) 接口配置为双路径 ICL。这得到以下支持:
- 用于 KVM 的 Virtio NIC
- 面向 VMware 的 VMXNET3 NIC
对于使用 SR-IOV NIC(如 Intel I40E、E810 或 Mellanox MLX5)的设置,AE 接口必须支持虚拟 MAC (vMAC) 功能。
AE 的每个成员(子)接口都必须是一个千兆以太网 (GE) 接口,并且必须驻留在不同的物理功能 (PF) 上,通常意味着它们应该位于不同的线卡上。
高效分配 ICL 流量
通过聚合以太网 (AE) 管理 vSRX 中的流量:使用 LACP 和虚拟机管理程序网桥配置
在 vSRX 设置中,确保可靠高效的流量至关重要,尤其是在处理聚合以太网 (AE) 接口时。如果 AE 组中的一个子接口无序或发生故障,则可能导致流量丢失。为了缓解此风险,您可以采用链路聚合控制协议 (LACP) 或将子接口配置为在虚拟机管理程序中共享同一网桥。
在 AE 接口上使用 LACP
LACP 是一种有助于动态管理链路聚合的协议,可确保所有子接口协同工作。通过配置 LACP,无需手册干预,即可自动处理接口故障并维持流量。以下是在 AE 接口上配置 LACP 的方法:
[edit] user@host# set interfaces ae0 aggregated-ether-options lacp active user@host# set interfaces ae0 aggregated-ether-options lacp periodic fast
- 活动:此设置启用活动 LACP 模式,在该模式下,vSRX 会主动向对等方发送 LACP 数据包,以形成和维护 LACP 链路。
- 定期快速:此设置可缩短 LACP 超时间隔,从而更快地检测链路故障并加快响应速度,以保持流量。
在同一网桥上配置子接口
在难以支持或实施 LACP 的情况下,另一种方法是确保 AE 组中的所有子接口都连接到虚拟机管理程序中的同一网桥。此配置有助于保持一致的连接,并避免在一个接口出现故障时出现流量丢失。
以下是在 KVM 虚拟机管理程序中使用同一网桥 (bridge-vsrx-mnha-icl) 的两个子接口(ge-0/0/0 和 ge-0/0/3)的 XML 配置示例:
<interface type='bridge'>
<mac address='52:54:00:c2:76:70'/>
<source bridge='bridge-vsrx-mnha-icl'/> <<<< here bridge bridge-vsrx-mnha-icl
<model type='virtio'/>
<driver name='vhost' queues='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface>
<interface type='bridge'>
<mac address='52:54:00:5f:65:9f'/>
<source bridge='bridge-vsrx-mnha-icl'/> <<<< here same bridge bridge-vsrx-mnha-icl
<model type='virtio'/>
<driver name='vhost' queues='4'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </interface>
在此配置中: 两个接口都连接到 bridge-vsrx-mnha-icl 网桥,确保它们在虚拟机管理程序中共享相同的网段。即使其中一个接口遇到问题,此设置也有助于有效管理流量。
在 MNHA 配置中使用 AE 接口
以下配置代码段使用 AE 接口设置 MNHA 环境:
[edit] user@host# set chassis high-availability local-id 2 user@host# set chassis high-availability local-id local-ip 11.1.1.11 user@host# set chassis high-availability peer-id 1 peer-ip 11.1.1.12 user@host# set chassis high-availability peer-id 1 interface ae0 user@host# set interfaces ge-0/0/0 ether-options 802.3ad ae0 user@host# set interfaces ge-0/0/1 ether-options 802.3ad ae0 user@host# set interfaces ae0 unit 0 family inet address 10.10.10.1/24
以上示例显示了如何为高可用性通信配置本地和对等机箱 ID 和 IP,使用 LACP 将物理接口与聚合以太网接口 (ae0) 相关联,以及为聚合接口的逻辑单元分配 IP 地址。在此示例中:
- AE 接口 (ae0) 用作节点之间的 ICL。
- 物理接口
ge-0/0/0,并ge-0/0/1捆绑到ae0使用 802.3ad 链路聚合中。
跨 PFE 的均衡 ICL 流量分配
我们对系统进行了改进,以确保在 MNHA 设置中接收侧的所有 PFE 处理单元之间均衡分配 ICL 流量。
在我们的 MNHA 设置中,通过 ICL 的流量得到高效管理,以确保高性能。传出流量会自动分布在多个流处理单元之间,这是 MNHA 架构的内置功能。为了改进传入流量处理,我们在 ICL 端口上使用了五元组散列方法。这将在所有数据包转发引擎 (PFE) 处理单元之间均匀分配流量,从而实现更好的负载平衡和整体网络效率。
该命令 set chassis high-availability peer-id <id_num> interface <interface-name> 支持 GE、AE 和环路接口,可实现根据特定部署需求量身定制的高可用性配置。
在发送端,确定哪个端口用于数据包转发引擎中的 ICL 流量并不仅仅依赖于此配置。相反,这取决于 IP 和路由查找结果。对于 SRX 系列防火墙,默认情况下,所有端口都启用优先级队列,以帮助管理流量,特别是对于聚合接口和环路接口。但是,vSRX3.0 无法使用这种方法。
对于 vSRX3.0 中的接收端分布,需要新的 CLI 配置来指定 ICL 端口以启用五元组散列。这是通过以下命令完成的:
user@host# set security forwarding-options receive-side-scaling nic-rss hash five-tuple ports [port_ids]
示例:
[edit] user@host# set security forwarding-options receive-side-scaling nic-rss hash five-tuple ports 0 user@host# set security forwarding-options receive-side-scaling nic-rss hash five-tuple ports 1
在此配置中,端口 0 和端口 1 配置为使用五元组散列进行接收端扩展。这可确保根据源和目标 IP 地址、端口和协议有效分配传入流量。