Ironic 的驱动程序、硬件类型和硬件接口¶
通用接口¶
硬件类型¶
更改硬件类型和接口¶
硬件类型和接口在配置中启用,如 启用驱动程序和硬件类型 中所述。通常,硬件类型在注册时配置,如 使用 Ironic 注册硬件 中所述
baremetal node create --driver <hardware type>
任何硬件接口也可以在注册时指定
baremetal node create --driver <hardware type> \
--deploy-interface direct --<other>-interface <other implementation>
对于剩余的接口,默认值将分配,如 硬件接口默认值 中所述。硬件类型和硬件接口都可以通过节点更新 API 稍后更改。
更改硬件接口¶
硬件接口可以通过以下命令更改
baremetal node set <NODE> \
--deploy-interface direct \
--<other>-interface <other implementation>
修改后的接口必须启用,并且与当前节点的硬件类型兼容。
更改硬件类型¶
更改节点的硬件类型可能会出现问题。当 driver 字段更新时,最终结果必须一致,也就是说,生成的硬件接口必须与新的硬件类型兼容。这不起作用
baremetal node create --name test --driver fake-hardware
baremetal node set test --driver ipmi
这是因为 fake-hardware 硬件类型默认对某些或所有接口使用 fake 实现,但 ipmi 硬件类型与它们不兼容。 有三种方法可以处理这种情况
为所有不兼容的接口提供新值,例如
baremetal node set test --driver ipmi \ --boot-interface pxe \ --deploy-interface direct \ --management-interface ipmitool \ --power-interface ipmitool
使用
--reset-<IFACE>-interface系列参数请求重置某些接口到其新的默认值,例如baremetal node set test --driver ipmi \ --reset-boot-interface \ --reset-deploy-interface \ --reset-management-interface \ --reset-power-interface
注意
此功能从 ironic 11.1.0(Rocky 系列,API 版本 1.45)开始可用。
请求将所有接口重置为其新的默认值
baremetal node set test --driver ipmi --reset-interfaces
您可以仍然为某些接口指定显式值
baremetal node set test --driver ipmi --reset-interfaces \ --deploy-interface direct
注意
此功能从 ironic 11.1.0(Rocky 系列,API 版本 1.45)开始可用。
静态启动顺序配置¶
已知某些硬件在通过 BMC 更改启动设备时会发生故障。为了解决这个问题,您可以使用 noop 管理接口实现与 ipmi 和 redfish 硬件类型一起使用。在这种情况下,Bare Metal 服务不会为您更改启动设备,而是保留预配置的启动顺序。
例如,在 PXE 启动 的情况下
通过任何可用方式,按照以下方式配置节点上的启动顺序
从配置了 PXE/iPXE 的置备 NIC 启动。
警告
如果无法将网络启动限制为仅置备 NIC,请确保节点无法访问其他 DHCP/PXE 服务器。
从硬盘启动。
确保
noop管理接口已启用,例如[DEFAULT] enabled_hardware_types = ipmi,redfish enabled_management_interfaces = ipmitool,redfish,noop
更改节点以使用
noop管理接口baremetal node set <NODE> --management-interface noop
不受支持的驱动程序¶
以下驱动程序在 ironic Newton 版本中声明为不受支持,并且从 Ocata 版本开始,它们已从 ironic 中删除
AMT 驱动程序 - 可作为 ironic-staging-drivers 的一部分提供
iBoot 驱动程序 - 可作为 ironic-staging-drivers 的一部分提供
Wake-On-Lan 驱动程序 - 可作为 ironic-staging-drivers 的一部分提供
Virtualbox 驱动程序
SeaMicro 驱动程序
MSFT OCS 驱动程序
SSH 驱动程序已在 Pike 版本中删除。可以使用 VirtualBMC 或来自 ironic-staging-drivers 的 libvirt 驱动程序来实现类似的功能。