系统管理指南:IP 服务

Procedure如何配置具有多个接口的 IPMP 组

将 VLAN 配置到 IPMP 组时,以下用于配置 IPMP 组的步骤也适用。

开始之前

需要已经配置将来的 IPMP 组中所有接口的 IPv4 地址,如果适用,还需配置 IPv6 地址。


注意 – 注意 –

只能为每个子网或 L2 广播域配置一个 IPMP 组。有关详细信息,请参见IPMP 的基本要求


  1. 在要配置接口的系统上,承担主管理员角色或成为超级用户。

    主管理员角色拥有主管理员配置文件。有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 将每个物理接口放入 IPMP 组。


    # ifconfig interface group group-name
    

    例如,要将 hme0hme1 放入组 testgroup1 中,应键入以下命令:


    # ifconfig hme0 group testgroup1
    # ifconfig hme1 group testgroup1
    

    请避免在组名中使用空格。ifconfig 状态显示不会显示空格。因此,请勿创建两个类似的组名,其中唯一的区别是一个名称还包含空格。如果其中一个组名包含空格,则这些组名在状态显示中看起来是相同的。

    在双栈环境中,如果将某个接口的 IPv4 实例放入特定组中,则 IPv6 实例会自动放入同一组中。

  3. (可选)在一个或多个物理接口上配置 IPv4 测试地址。

    仅当要在特定接口上使用基于探测器的故障检测时,才需要配置测试地址。测试地址将配置为在 ifconfig 命令中指定的物理接口的逻辑接口。

    如果组中的一个接口将成为待机接口,请勿在此时配置该接口的测试地址。作为如何为 IPMP 组配置待机接口的一部分,可以为待机接口配置一个测试地址。

    请使用 ifconfig 命令的以下语法配置测试地址:


    # ifconfig interface addif ip-address parameters -failover deprecated up
    

    例如,可以为主网络接口 hme0 创建以下测试地址:


    # ifconfig hme0 addif 192.168.85.21 netmask + broadcast + -failover deprecated up
    

    此命令可为主网络接口 hme0 设置以下参数:

    • 设置为 192.168.85.21 的地址

    • 设置为缺省值的网络掩码和广播地址

    • 设置的 -failoverdeprecated 选项


      注 –

      必须将 IPv4 测试地址标记为 deprecated,才能防止应用程序使用该测试地址。


  4. 检查特定接口的 IPv4 配置。

    通过键入 ifconfig interface,始终可以查看接口的当前状态。有关查看接口状态的更多信息,请参阅如何获取有关特定接口的信息

    通过指定分配给测试地址的逻辑接口,可以获取有关物理接口的测试地址配置的信息。


    # ifconfig hme0:1
    	hme0:1: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER>
        mtu 1500 index 2 
        inet 192.168.85.21 netmask ffffff00 broadcast 192.168.85.255
  5. (可选)如果适用,请配置 IPv6 测试地址。


    # ifconfig interface inet6 -failover

    具有 IPv6 地址的物理接口会放入与接口的 IPv4 地址相同的 IPMP 组中。如果将具有 IPv4 地址的物理接口配置到 IPMP 组中,则会出现此情况。如果首先将具有 IPv6 地址的物理接口放入 IPMP 组中,则具有 IPv4 地址的物理接口也会隐式放入同一 IPMP 组中。

    例如,要使用 IPv6 测试地址配置 hme0,可键入以下内容:


    # ifconfig hme0 inet6 -failover
    

    无需将 IPv6 测试地址标记为 deprecated 即可防止应用程序使用该测试地址。

  6. 检查 IPv6 配置。


    # ifconfig hme0 inet6
    	hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2
            	inet6 fe80::a00:20ff:feb9:17fa/10 
            	groupname test

    IPv6 测试地址是指接口的链路本地地址。

  7. (可选)重新引导后保留 IPMP 组配置。

    • 对于 IPv4,请将以下行添加到 /etc/hostname.interface 文件:


      interface-address <parameters> group group-name up \
      	addif logical-interface -failover deprecated <parameters> up

      在此情况下,测试 IPv4 地址仅在下次重新引导时配置。如果要在当前会话中调用配置,请执行步骤 1、2 和 3(可选)。

    • 对于 IPv6,请将以下行添加到 /etc/hostname6.interface 文件:


      -failover group group-name up

      此测试 IPv6 地址仅在下次重新引导时配置。如果要在当前会话中调用配置,请执行步骤 1、2 和 5(可选)。

  8. (可选)通过重复步骤 1 至 6,将更多接口添加到 IPMP 组中。

    可以将新接口添加到实时系统上的现有组中。但是,重新引导后更改会丢失。


示例 31–1 配置具有两个接口的 IPMP 组

假定您要执行以下操作:

可键入以下命令:


# ifconfig hme0 addif 192.168.85.21 netmask + broadcast + -failover deprecated up

必须将 IPv4 测试地址标记为 deprecated,才能防止应用程序使用该测试地址。请参见如何配置具有多个接口的 IPMP 组

要启用地址的故障转移属性,可使用不带连字符的 failover 选项。

IPMP 组中的所有测试 IP 地址都必须使用相同的网络前缀。测试 IP 地址必须属于单个 IP 子网。



示例 31–2 重新引导后保留 IPv4 IPMP 组配置

假定您要创建一个名为 testgroup1 的具有以下配置的 IPMP 组:

可将以下行添加到 /etc/hostname.hme0 文件:


192.168.85.19 netmask + broadcast + group testgroup1 up \
	addif 192.168.85.21 deprecated -failover netmask + broadcast + up

同样,要将第二个接口 hme1 放入同一组 testgroup1 中并且配置测试地址,可添加以下行:


192.168.85.20 netmask + broadcast + group testgroup1 up \
	addif 192.168.85.22 deprecated -failover netmask + broadcast + up


示例 31–3 重新引导后保留 IPv6 IPMP 组配置

要为具有 IPv6 地址的接口 hme0 创建测试组,可将以下行添加到 /etc/hostname6.hme0 文件:


-failover group testgroup1 up

同样,要将第二个接口 hme1 放入组 testgroup1 中并且配置测试地址,可将以下行添加到 /etc/hostname6.hme1 文件:


-failover group testgroup1 up

故障排除

在 IPMP 组的配置过程中,in.mpathd 向系统控制台或 syslog 文件输出大量消息。这些消息实质是提示性消息,表示 IPMP 配置工作正常。

另请参见

如果希望 IPMP 组具有活动-待机配置,请转到如何为 IPMP 组配置待机接口