可以使用活动/活动接口或活动/备用接口配置多接口 IPMP 组。请参见 IPMP 接口配置的类型。以下过程介绍了如何使用 DHCP 配置活动/备用 IPMP 组。
开始之前
在执行以下过程之前,请执行以下操作:
确保即将包含在目标 IPMP 组中的 IP 接口已在系统的网络数据链路上正确配置。有关过程的信息,请参见在 Oracle Solaris 11.2 中配置和管理网络组件 。即使尚未创建底层 IP 接口,您也可以创建一个 IPMP 接口。然而,如果未创建底层 IP 接口,对该 IPMP 接口的后续配置将会失败。
此外,如果您使用的是基于 SPARC 系统,必须每个接口配置一个唯一的 MAC 地址。请参见在 Oracle Solaris 11.2 中配置和管理网络组件 中的如何确保每个接口的 MAC 地址是唯一的。
最后,如果您使用 DHCP,请确保底层接口具有无限租用期。否则,如果 IPMP 组出现故障,测试地址将到期,in.mpathd 守护进程将随后禁用基于探测器的故障检测,而使用基于链路的故障检测。如果基于链路的故障检测发现接口运行正常,守护进程可能会错误地报告接口已修复。有关配置 DHCP 的更多信息,请参见在 Oracle Solaris 11.2 中使用 DHCP 。
# ipadm create-ipmp ipmp-interface
其中,ipmp-interface 指定 IPMP 接口的名称。您可以为 IPMP 接口指定任何有意义的名称。与任何 IP 接口一样,该名称包含一个字符串和一个数字,例如 ipmp0。
# ipadm create-ip under-interface
其中 under-interface 指将添加到 IPMP 组的 IP 接口。
# ipadm add-ipmp -i under-interface1 [-i under-interface2 ...] ipmp-interface
您可以为 IPMP 组添加系统中可用的所有 IP 接口。
# ipadm create-addr -T dhcp ipmp-interface
上一步将 DHCP 服务器提供的地址与地址对象关联。地址对象使用 interface/address-type 格式(例如,ipmp0/v4)唯一标识 IP 地址。有关地址对象的更多信息,请参见在 Oracle Solaris 11.2 中配置和管理网络组件 中的如何配置 IPv4 接口。
# ipadm create-addr -T dhcp under-interface
步骤 6 中自动创建的地址对象使用 under-interface/address-type 格式,例如,net0/v4。
以下示例显示了使用 DHCP 的活动/备用 IPMP 组配置,并且基于以下方案:
一个 IPMP 组中配置了三个底层接口(net0、net1 和 net2)。
IPMP 接口 ipmp0 与 IPMP 组共享相同的名称。
net2 是指定的备用接口。
所有的底层接口均指定了测试地址。
首先创建 IPMP 接口。
# ipadm create-ipmp ipmp0
创建底层 IP 接口并将其添加到该 IPMP 接口。
# ipadm create-ip net0 # ipadm create-ip net1 # ipadm create-ip net2 # ipadm add-ipmp -i net0 -i net1 -i net2 ipmp0
将 DHCP 管理的 IP 地址指定给该 IPMP 接口。指定给该 IPMP 接口的 IP 地址是数据地址。在本示例中,IPMP 接口有两个数据地址。
# ipadm create-addr -T dhcp ipmp0 ipadm: ipmp0/v4 # ipadm create-addr -T dhcp ipmp0 ipadm: ipmp0/v4a
然后,将 DHCP 管理的 IP 地址指定给该 IPMP 组的底层 IP 接口。指定给底层接口的 IP 地址是要用于基于探测器的故障检测的测试地址。
# ipadm create-addr -T dhcp net0 ipadm: net0/v4 # ipadm create-addr -T dhcp net1 ipadm: net1/v4 # ipadm create-addr -T dhcp net2 ipadm net2/v4
最后,将 net2 接口配置为备用接口。
# ipadm set-ifprop -p standby=on net2