DLMP 聚合故障检测是一种检测聚合端口故障的方法。如果端口无法发送或接收通信,则认为该端口出现故障。端口可能会由于以下原因而出现故障:
电缆损坏或切断
交换机端口关闭
上游网络路径故障
DLMP 聚合对聚合端口执行故障检测,以确保网络可持续用于发送或接收通信流量。如果端口出现故障,与该端口关联的客户机将会故障转移到活动端口。出现故障的聚合端口在修复之前不可用。在根据需要部署任何现有端口时,其余活动端口继续工作。出现故障的端口从故障中恢复之后,来自其他活动端口的客户机可以与其相关联。
DLMP 聚合支持基于链路的故障检测和基于探测器的故障检测。
基于链路的故障检测在电缆切断或交换机端口关闭时检测故障。因此,它只能检测由数据链路和第一中继站交换机之间的直接连接丢失导致的故障。创建 DLMP 聚合时,缺省情况下将启用基于链路的故障检测。
基于探测器的故障检测可检测终端主机与所配置的目标之间的故障。此功能克服了基于链路的故障检测的已知限制。当缺省路由器关闭或网络无法访问时,基于探测器的故障检测非常有用。DLMP 聚合通过发送和接收探测包检测故障。
要在 DLMP 聚合中启用基于探测器的故障检测,必须配置 probe-ip 属性。
创建第一个 DLMP 聚合时,服务 svc:/network/dlmp:default 将自动启用。此服务可启动 in.dlmpd 守护进程,该守护进程在 DLMP 聚合中执行基于探测器的故障检测。如果系统中没有 DLMP 聚合,此服务将处于禁用状态。有关信息,请参见为 DLMP 聚合配置基于探测器的故障检测。
基于探测器的故障检测通过结合使用两种类型的探测器来执行:Internet 控制消息协议 (Internet Control Message Protocol, ICMP (L3)) 探测器和传递式 (L2) 探测器,二者配合使用以确定聚合物理数据链路的运行状况。
可以配置源 IP 地址的逗号分隔列表以及可选目标 IP 地址或主机名。目标 IP 地址必须与指定的源 IP 地址位于相同的子网上。可以通过四种不同的形式指定源 IP 地址。有关更多信息,请参见如何为 DLMP 配置基于探测器的故障检测。
仅当 IP 地址与 VNIC 等客户机相关联时,ICMP 探测才会使用为 probe-ip 属性配置的源 IP 地址。端口仅在以下情况下与 VNIC 等客户机相关联:该端口接收客户机的传入通信并传送其传出通信时。在任何特定时间,客户机的传入或传出通信始终会仅通过 DLMP 聚合的一个底层端口。仅当为 probe-ip 属性配置的 IP 地址与该端口相关联时,才会使用该 IP 地址来监视端口的运行状况。
对于每个配置的源 IP 地址,in.dlmpd 守护程序定期发送指向配置目标的单播 ICMP 包。如果未配置目标 IP 地址,in.dlmpd 将使用路由表来查找与指定源 IP 地址相同的子网上的路由,并使用指定的下一中继站作为目标 IP 地址。
仅通过与该 IP 客户机关联的端口发出 ICMP 探测器通信。如果特定端口的所有目标都无法访问,则会将该端口标记为 ICMP 出现故障。如果从该端口至少有一个目标可通过 ICMP 探测器访问,则会将该端口标记为 ICMP 处于活动状态。
如果无法通过 ICMP 探测确定所有网络端口的运行状况,则会执行传递式探测。因此,如果所有的端口都与针对 probe-ip 属性配置的源 IP 地址不关联,则会执行传递式探测。例如,如果任何端口未与 IP 客户机相关联,或者为 probe-ip 属性配置的 IP 地址数少于聚合端口总数,则会执行传递式探测。探测包从未与任何 IP 客户机关联的端口定期发送到对等端口。如果一个端口可以访问 ICMP 活动端口,则该端口将被视为处于 L2 活动状态。
Oracle Solaris 包括通过网络传输的传递式探测器的专有协议包。有关更多信息,请参见Appendix B, 传递式探测器的包格式。
在全局区域创建了聚合上的 VNIC 并将其指定给非全局区域时,将在该全局区域执行基于探测器的故障检测。但是,可以在 VLAN 的帮助下将探测器通信从非全局区域中分离。例如,当探测器通信在全局区域的一个 VLAN 上运行时,非全局区域通信可以在其他 VLAN 上运行。