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 硬件类型与它们不兼容。 有三种方法可以处理这种情况

  1. 为所有不兼容的接口提供新值,例如

    baremetal node set test --driver ipmi \
        --boot-interface pxe \
        --deploy-interface direct \
        --management-interface ipmitool \
        --power-interface ipmitool
    
  2. 使用 --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)开始可用。

  3. 请求将所有接口重置为其新的默认值

    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 管理接口实现与 ipmiredfish 硬件类型一起使用。在这种情况下,Bare Metal 服务不会为您更改启动设备,而是保留预配置的启动顺序。

例如,在 PXE 启动 的情况下

  1. 通过任何可用方式,按照以下方式配置节点上的启动顺序

    1. 从配置了 PXE/iPXE 的置备 NIC 启动。

      警告

      如果无法将网络启动限制为仅置备 NIC,请确保节点无法访问其他 DHCP/PXE 服务器。

    2. 从硬盘启动。

  2. 确保 noop 管理接口已启用,例如

    [DEFAULT]
    enabled_hardware_types = ipmi,redfish
    enabled_management_interfaces = ipmitool,redfish,noop
    
  3. 更改节点以使用 noop 管理接口

    baremetal node set <NODE> --management-interface noop
    

不受支持的驱动程序

以下驱动程序在 ironic Newton 版本中声明为不受支持,并且从 Ocata 版本开始,它们已从 ironic 中删除

SSH 驱动程序已在 Pike 版本中删除。可以使用 VirtualBMC 或来自 ironic-staging-drivers 的 libvirt 驱动程序来实现类似的功能。