使用动态重新配置 (dynamic reconfiguration, DR) 功能,可以在系统运行的同时重新配置系统硬件(如接口)。本节介绍 DR 如何与 IPMP 交互操作。
在支持 NIC 的 DR 的系统上,可以使用 IPMP 保持连通性和防止断开现有的连接。在支持 DR 并使用 IPMP 的系统上,可以安全地连接、拆离或重新连接 NIC。这是因为 IPMP 已集成到重新配置调整管理器 (Reconfiguration Coordination Manager, RCM) 框架中。RCM 用于管理系统组件的动态重新配置。
通常使用 cfgadm 命令执行 DR 操作。但是,一些平台可提供其他方法。有关详细信息,请参阅平台文档。可以从以下资源中找到有关 DR 的特定文档。
表 30–1 动态重新配置的文档资源
说明 |
参考 |
---|---|
有关 cfgadm 命令的详细信息 |
cfgadm(1M) 手册页 |
有关 Sun Cluster 环境中 DR 的特定信息 |
《Sun Cluster 3.1 System Administration Guide》 |
有关 Sun Fire 环境中 DR 的特定信息 |
《Sun Fire 880 Dynamic Reconfiguration Guide》 |
有关 DR 和 cfgadm 命令的介绍性信息 | |
在支持 DR 的系统上管理 IPMP 组的任务 |
可以随时使用 ifconfig 命令将接口添加到 IPMP 组,如如何配置具有多个接口的 IPMP 组所述。因此,可以检测在系统引导后连接的系统组件上的任何接口并将其添加到现有的 IPMP 组。或者,如果适当,可以将新添加的接口配置到其 IPMP 组中。
这些接口和其上配置的数据地址可供 IPMP 组立即使用。但是,为了使系统在重新引导后自动配置和使用这些接口,必须为每个新接口创建 /etc/hostname.interface 文件。有关说明,请参阅如何在安装系统后配置物理接口。
如果在连接接口时 /etc/hostname.interface 文件已存在,则 RCM 将根据此文件的内容自动配置接口。这样,该接口接收的配置与系统引导后其将接收的配置相同。
首先检查拆离包含 NIC 的系统组件的所有请求以确保可以保持连通性。例如,缺省情况下,无法拆离不在 IPMP 组中的 NIC。也无法拆离包含 IPMP 组中仅有的工作接口的 NIC。但是,如果必须移除系统组件,则可以使用 cfgadm 的 -f 选项覆盖此行为,如 cfgadm(1M) 手册页中所述。
如果检查成功,则与已拆离的 NIC 关联的数据地址将故障转移到同一组中的工作 NIC,如同被拆离的 NIC 出现了故障。拆离 NIC 时,会取消 NIC 接口上配置的所有测试地址。然后,从系统中取消检测 NIC。如果其中的任一步骤失败,或者同一系统组件上其他硬件的 DR 失败,则会将先前的配置恢复到其原始状态。您应接收到有关此事件的状态消息。否则,拆离请求成功完成。可以从系统中移除组件。未断开任何现有连接。
RCM 记录与从正在运行的系统拆离的任何 NIC 关联的配置信息。因此,RCM 会像连接新的 NIC 一样,重新连接以前拆离的 NIC。即,RCM 仅执行检测。
但是,重新连接的 NIC 通常具有现有的 /etc/hostname.interface 文件。在这种情况下,RCM 会根据现有 /etc/hostname.interface 文件的内容自动配置接口。此外,RCM 会通知 in.mpathd 守护进程最初在重新连接的接口上承载的每个数据地址。因此,在重新连接的接口正常工作后,其所有数据地址都将故障恢复到重新连接的接口,如同已修复该接口。
如果重新连接的 NIC 没有 /etc/hostname.interface 文件,则没有可用的配置信息。RCM 没有有关如何配置接口的信息。此情况的一个结果是,不会故障恢复以前故障转移到其他接口的地址。
系统引导时不存在的 NIC 是特殊的故障检测实例。在引导时,启动脚本会跟踪所有具有无法检测的 /etc/hostname.interface 文件的接口。在这类接口的 /etc/hostname.interface 文件中的所有数据地址将自动驻留在 IPMP 组中的替换接口上。
在此类事件中,会收到与以下内容类似的错误消息:
moving addresses from failed IPv4 interfaces: hme0 (moved to hme1) moving addresses from failed IPv6 interfaces: hme0 (moved to hme1) |
如果不存在备用接口,则收到与以下内容类似的错误消息:
moving addresses from failed IPv4 interfaces: hme0 (couldn't move; no alternative interface) moving addresses from failed IPv6 interfaces: hme0 (couldn't move; no alternative interface) |
在此故障检测实例中,只有在缺少的接口的 /etc/hostname.interface 文件中显式指定的数据地址才会移动到备用接口。不会获取或移动通常通过其他方法(如通过 RARP 或 DHCP)获取的任何地址。
如果使用 DR 重新连接与在系统引导时缺少的接口同名的另一接口,则 RCM 将自动检测该接口。然后,RCM 根据接口的 /etc/hostname.interface 文件内容配置接口。最后,RCM 故障恢复所有数据地址,如同已修复接口。因此,最终的网络配置与在该接口存在的情况下引导系统时进行的配置完全相同。