跳过导航链接 | |
退出打印视图 | |
管理 Oracle Solaris 11.1 网络性能 Oracle Solaris 11.1 Information Library (简体中文) |
基于探测器的故障检测涉及目标系统的使用,如基于探测器的故障检测中所述。在确定基于探测器的故障检测的目标时,in.mpathd 守护进程在两种模式下运行:路由器目标模式或多播目标模式。在路由器目标模式中,守护进程探测在路由表中定义的目标。如果没有定义目标,则守护进程在多播目标模式下运行,其中发出多播包以探测 LAN 上的相邻主机。
您最好设置供 in.mpathd 守护进程探测的目标系统。对于一些 IPMP 组,缺省路由器作为目标就足够了。但是,对于另一些 IPMP 组,则可能需要为基于探测器的故障检测配置特定目标。要指定目标,请将路由表中的主机路由设置为探测器目标。在路由表中配置的任何主机路由会列在缺省路由器的前面。IPMP 使用显式定义的主机路由来选择目标。因此,您应设置主机路由以配置特定的探测器目标,而不是使用缺省路由器。
要在路由表中设置主机路由,请使用 route 命令。您可以将此命令与 -p 选项结合使用来添加持久性路由。例如,使用 route -p add 添加的路由在您重新引导系统后仍保留在路由表中。因此,您可以使用 -p 选项添加持久性路由,从而无需使用任何特殊脚本在每次系统启动时重新创建这些路由。要以最佳方式使用基于探测器的故障检测,确保您设置多个目标来接收探测器。
如何为基于探测器的故障检测手动指定目标系统过程显示了为基于探测器的故障检测将持久性路由添加到目标的确切语法。有关 route 命令的选项的更多信息,请参阅 route(1M) 手册页。
本节包含以下主题:
在评估网络中哪些主机可以用作合适的目标时,请遵循以下条件列表:
确保将来的目标可用并且正在运行。建立其 IP 地址的列表。
确保目标接口与要配置的 IPMP 组位于同一网络中。
目标系统的网络掩码和广播地址必须与 IPMP 组中的地址相同。
目标主机必须能够应答使用基于探测器的故障检测的接口发出的 ICMP 请求。
以下任务列表列出了为 IPMP 组配置基于探测器的故障检测的过程。
|
缺省情况下,使用测试地址运行基于探测器的故障检测。如果 NIC 驱动程序支持基于链路的故障检测,还将自动启用它。
如果 NIC 驱动程序支持基于链路的故障检测,您无法禁用此方法。但是,您可以选择要实现哪种类型的基于探测器的故障检测。
开始之前
确保您的探测器目标满足为基于探测器的故障检测选择目标的要求中列出的要求。
# svccfg -s svc:/network/ipmp setprop config/transitive-probing=true # svcadm refresh svc:/network/ipmp:default
有关设置此属性的更多信息,请参见 in.mpathd(1M) 手册页。
# ipadm delete-addr address addrobj
其中,addrobj 必须是承载测试地址的底层接口。
# svccfg -s svc:/network/ipmp setprop config/transitive-probing=false # svcadm refresh svc:/network/ipmp:default
# ipadm create-addr -a address under-interface
其中,address 可以采用 CIDR 表示法,而 under-interface 是 IPMP 组的底层接口。
此过程介绍了在使用测试地址执行基于探测器的故障检测时如何添加特定目标。
开始之前
确保您的探测器目标满足为基于探测器的故障检测选择目标的要求中列出的要求。
$ route -p add -host destination-IP gateway-IP -static
其中 destination-IP 和 gateway-IP 是要用作目标的主机的 IPv4 地址。例如,可以键入以下内容指定目标系统 192.168.10.137,该目标系统与 IPMP 组 ipmp0 中的接口位于同一子网中:
$ route -p add -host 192.168.10.137 192.168.10.137 -static
每次重新启动系统时,将自动配置此新路由。如果只想为基于探测器的故障检测定义一个到目标系统的临时路由,请不要使用 -p 选项。
可使用 IPMP 配置文件 /etc/default/mpathd 为 IPMP 组配置以下系统范围的参数。
FAILURE_DETECTION_TIME
FAILBACK
TRACK_INTERFACES_ONLY_WITH_GROUPS
更改这三个参数中的一个或多个参数的缺省值。
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
守护进程将重新启动,新参数值生效。