配置 IPMI 支持

安装 ipmitool 命令

为了启用使用 IPMI 协议进行电源和管理操作的驱动程序之一(例如,ipmi),ipmitool 命令必须存在于运行 ironic-conductor 的服务节点上。在大多数发行版中,它作为 ipmitool 包的一部分提供。源代码可在 http://ipmitool.sourceforge.net/ 获取。

警告

某些发行版,特别是 Mac OS X 和 SLES,默认情况下会安装 openipmi 而不是 ipmitool。此驱动程序与 openipmi 不兼容,因为它依赖于此工具未提供的错误处理选项。

请参阅 IPMI 驱动程序,了解有关如何配置和使用基于 IPMItool 的驱动程序的信息。

配置硬件

IPMI 是一种相对较旧的协议,可能需要在硬件端进行额外的设置,而裸机服务无法自动执行这些设置

  1. 确保已启用 IPMI,并且您使用的帐户具有更改电源和启动设备的权限。默认情况下,预计具有管理员权限,您可以更改它:请参阅 使用不同的权限级别

  2. 确保配置了密码套件以实现最大安全性。建议使用套件 17,如果不可用,可以使用套件 3。必须禁用密码套件 0,因为它提供对 BMC 的未经验证访问。

    参见

    密码套件

  3. 确保启动模式与节点上预期的启动模式相对应(请参阅 启动模式支持)。某些硬件能够将启动模式更改为 Ironic 请求的模式,而有些则不能。

验证和故障排除

通过运行 ipmitool 来检查您是否可以连接到并验证您的裸机服务器中的 IPMI 控制器

ipmitool -I lanplus -H <ip-address> -U <username> -P <password> chassis power status

其中 <ip-address> 是您要访问的 IPMI 控制器的 IP 地址。这不是裸机节点的主 IP 地址。IPMI 控制器应该有其自己唯一的 IP 地址。

如果上述命令未返回裸机服务器的电源状态,请检查

  • ipmitool 是否已安装,并且是否可通过 $PATH 环境变量访问。

  • 您的裸机服务器上的 IPMI 控制器已打开。

  • 在命令中传递的 IPMI 控制器凭据和 IP 地址是否正确。

  • Conductor 节点是否可以访问 IPMI 控制器。可以通过从 Conductor 节点 ping IPMI 控制器 IP 来检查此问题。

IPMI 配置

如果环境中存在速度慢或无响应的 BMC,则可能需要在 [ipmi] 部分提高 min_command_interval 配置选项。默认值相当保守,因为将此超时设置得太低会导致较旧的 BMC 崩溃并需要硬重置。

收集传感器数据

裸机服务支持将 IPMI 传感器数据发送到 Telemetry,硬件类型包括 ipmiiloirmc 等。默认情况下,禁用将 IPMI 传感器数据发送到 Telemetry 的支持。如果您想启用它,您应该在 ironic.conf 中进行以下两个更改

[conductor]
send_sensor_data = true
[oslo_messaging_notifications]
driver = messagingv2

如果您想自定义将发送到 Telemetry 的传感器类型,请更改 send_sensor_data_types 选项。例如,以下设置会将有关温度、风扇、电压的传感器信息发送到 Telemetry 服务

send_sensor_data_types=Temperature,Fan,Voltage

支持的传感器类型由 Telemetry 服务定义,当前这些类型为 TemperatureFanVoltageCurrent。特殊值 All(默认值)表示所有受支持的传感器类型。