跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris 管理:网络接口和网络虚拟化 Oracle Solaris 11 Information Library (简体中文) |
基于探测器的故障检测涉及目标系统的使用,如基于探测器的故障检测中所述。在确定基于探测器的故障检测的目标时,in.mpathd 守护进程在两种模式下运行:路由器目标模式或多播目标模式。在路由器目标模式中,多路径守护进程探测在路由表中定义的目标。如果没有定义目标,则守护进程在多播目标模式下运行,其中发出多播数据包以探测 LAN 上的相邻主机。
您最好设置目标主机以供 in.mpathd 守护进程来探测。对于一些 IPMP 组,缺省路由器作为目标就足够了。但是,对于另一些 IPMP 组,则可能需要为基于探测器的故障检测配置特定目标。要指定目标,请将路由表中的主机路由设置为探测器目标。在路由表中配置的任何主机路由会列在缺省路由器的前面。IPMP 使用显式定义的主机路由来选择目标。因此,您应设置主机路由以配置特定的探测器目标,而不是使用缺省路由器。
要在路由表中设置主机路由,请使用 route 命令。您可以将此命令与 -p 选项结合使用来添加持久性路由。例如,使用 route -p add 添加的路由在您重新引导系统后仍保留在路由表中。因此,您可以使用 -p 选项添加持久性路由,而无需使用任何特殊脚本在每次系统启动时重新创建这些路由。要以最佳方式使用基于探测器的故障检测,确保您设置多个目标来接收探测器。
以下示例过程显示为基于探测器的故障检测将持久性路由添加到目标的确切语法。有关 route 命令的更多信息,请参阅 route(1M) 手册页。
在评定网络中的哪些主机可能成为合适的目标时,请考虑以下标准。
确保将来的目标可用并且正在运行。建立其 IP 地址的列表。
确保目标接口与要配置的 IPMP 组位于同一网络中。
目标系统的网络掩码和广播地址必须与 IPMP 组中的地址相同。
目标主机必须能够应答使用基于探测器的故障检测的接口发出的 ICMP 请求。
$ route -p add -host destination-IP gateway-IP -static
其中 destination-IP 和 gateway-IP 是要用作目标的主机的 IPv4 地址。例如,可以键入以下内容指定目标系统为 192.168.10.137,该目标系统与 IPMP 组 itops0 中的接口位于同一子网中:
$ route -p add -host 192.168.10.137 192.168.10.137 -static
每次重新启动系统时,将自动配置此新路由。如果您要为基于探测器的故障检测只定义一个到目标系统的临时路由,请不要使用 -p 选项。
缺省情况下,只能通过使用测试地址执行基于探测器的故障检测。如果 NIC 驱动程序支持基于链路的故障检测,还将自动启用它。
如果 NIC 驱动程序支持基于链路的故障检测,您无法禁用此方法。但是,您可以选择要实现哪种类型的基于探测器的故障检测。
# svccfg -s svc:/network/ipmp setprop config/transitive-probing=true # svcadm refresh svc:/network/ipmp:default
有关设置此属性的更多信息,请参见 in.mpathd(1M) 手册页。
# svccfg -s svc:/network/ipmp setprop config/transitive-probing=false # svcadm refresh svc:/network/ipmp:default
使用 IPMP 配置文件 /etc/default/mpathd 为 IPMP 组配置以下系统范围的参数。
FAILURE_DETECTION_TIME
TRACK_INTERFACES_ONLY_WITH_GROUPS
FAILBACK
有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"。
更改这三个参数中的一个或多个参数的缺省值。
FAILURE_DETECTION_TIME=n
其中 n 是 ICMP 探测器用来检测是否发生接口故障的时间(以秒为单位)。缺省值是 10 秒。
FAILBACK=[yes | no]
yes – yes 值是 IPMP 的故障恢复行为的缺省值。当检测到故障接口修复时,网络访问故障恢复到已修复的接口,如检测物理接口修复中所述。
no – no 值表示数据通信流量不移回已修复的接口。当检测到某个故障接口已修复时,会为此接口设置 INACTIVE 标志。此标志表示该接口当前不用于数据通信。但该接口仍可用于探测器通信。
例如,IPMP 组 ipmp0 包含两个接口,net0 和 net1。在 /etc/default/mpathd 文件中,已设置 FAILBACK=no 参数。如果 net0 出现故障,则它被标记为 FAILED 并变得不可用。修复后,接口标记为 INACTIVE,但由于 FAILBACK=no 设置,它仍保持不可用状态。
如果 net1 出现故障并且只有 net0 处于 INACTIVE 状态,则会清除 net0 的 INACTIVE 标志并且接口变为可用。如果 IPMP 组中还有其他接口也处于 INACTIVE 状态,则当 net1 出现故障时,这些处于 INACTIVE 状态的任一接口(不一定是 net0)会被清除标志并变为可用。
TRACK_INTERFACES_ONLY_WITH_GROUPS=[yes | no]
yes – yes 值是 IPMP 行为的缺省值。此参数使 IPMP 忽略未配置到 IPMP 组中的网络接口。
no – no 值为所有网络接口设置故障和修复检测,无论它们是否配置到 IPMP 组中。不过,在未配置到 IPMP 组中的接口上检测到故障或修复时,在 IPMP 中不触发操作以维持该接口的网络功能。因此,no 值仅用于报告故障,并不能直接提高网络可用性。
# pkill -HUP in.mpathd