BIOS 配置

概述

Bare Metal 服务支持对裸机节点进行 BIOS 配置。它允许管理员通过 CLI 或 REST API 获取和应用所需的 BIOS 设置。所需的 BIOS 设置在手动清理期间应用。

先决条件

必须由管理员配置裸机服务器,以便通过支持 BIOS 配置的 ironic 硬件类型进行管理。

启用硬件类型

启用支持 BIOS 配置的特定硬件类型。请参阅 启用驱动程序和硬件类型,了解如何启用硬件类型。

启用硬件接口

要启用 bios 接口

[DEFAULT]
enabled_bios_interfaces = no-bios

将已启用硬件类型支持的实际 bios 接口名称附加到 enabled_bios_interfaces,在 ironic.conf 中使用逗号分隔的值。

所有可用的内置 bios 接口都列在源代码树中的 setup.cfg 文件中,例如

ironic.hardware.interfaces.bios =
    fake = ironic.drivers.modules.fake:FakeBIOS
    no-bios = ironic.drivers.modules.noop:NoBIOS

检索 BIOS 设置

要从指定节点检索缓存的 BIOS 配置

$ baremetal node bios setting list <node>

BIOS 设置在每次节点清理操作或通过 BIOS 清理步骤成功应用设置后进行缓存。上述命令的返回结果是指定节点上最后缓存的 BIOS 设置的表格。如果将 -f json 作为后缀添加到上述命令中,它将以以下格式返回 BIOS 设置

[
  {
    "setting name":
      {
        "name": "setting name",
        "value": "value"
      }
  },
  {
    "setting name":
      {
        "name": "setting name",
        "value": "value"
      }
  },
  ...
]

要获取节点的指定 BIOS 设置

$ baremetal node bios setting show <node> <setting-name>

如果将 -f json 作为后缀添加到上述命令中,它将以以下格式返回 BIOS 设置

{
  "setting name":
    {
      "name": "setting name",
      "value": "value"
    }
}

配置 BIOS 设置

有两个 手动清理 步骤可用于管理节点的 BIOS 设置

恢复出厂设置

此清理步骤将给定节点上的所有 BIOS 设置重置为出厂默认值

{
  "target":"clean",
  "clean_steps": [
    {
      "interface": "bios",
      "step": "factory_reset"
    }
  ]
}

factory_reset 清理步骤不需要任何参数,因为它会将所有 BIOS 设置重置为出厂默认值。

应用 BIOS 配置

此清理步骤将一组 BIOS 设置应用于节点

{
  "target":"clean",
  "clean_steps": [
    {
      "interface": "bios",
      "step": "apply_configuration",
      "args": {
        "settings": [
          {
            "name": "name",
            "value": "value"
          },
          {
            "name": "name",
            "value": "value"
          }
        ]
      }
    }
  ]
}

apply_configuration 清理步骤的表示形式与 手动清理 相同。所需的 BIOS 设置可以通过 settings 参数提供,该参数包含要应用的 BIOS 选项列表,每个 BIOS 选项都是一个包含 namevalue 键的字典。

要检查所需的 BIOS 配置是否设置正确,请使用 检索 BIOS 设置 部分中提到的命令。

注意

在将 BIOS 设置应用于节点时,特定于供应商的驱动程序可能会从参数中获取给定的 BIOS 设置,并将其与节点上的当前 BIOS 设置进行比较,只有在存在差异时才应用。