4.5. 将物理机添加为裸机节点


使用以下方法之一注册裸机节点:

  • 准备包含节点详情的清单文件,将该文件导入到裸机置备服务,并使节点可用。
  • 将物理计算机注册为裸机节点,然后手动添加其硬件详细信息并为每个以太网 MAC 地址创建端口。您可以在具有 overcloudrc 文件的任何节点上执行这些步骤。

4.5.1. 使用清单文件注册裸机节点

使用节点详情准备清单文件,将该文件导入到裸机置备服务(ironic)中,并使节点可用。

前提条件

流程

  1. 创建包含节点详情的清单文件 overcloud-nodes.yaml。您可以使用一个文件注册多个节点。

    nodes:
        - name: node0
          driver: ipmi
          driver_info:
            ipmi_address: <ipmi_ip>
            ipmi_username: <user>
            ipmi_password: <password>
            [<property>: <value>]
          properties:
            cpus: <cpu_count>
            cpu_arch: <cpu_arch>
            memory_mb: <memory>
            local_gb: <root_disk>
            root_device:
                serial: <serial>
          ports:
            - address: <mac_address>
    Copy to Clipboard Toggle word wrap
    • <ipmi_ip > 替换为裸机控制器的地址。
    • 将 & lt;user& gt; 替换为您的用户名。
    • 将 & lt;password& gt; 替换为您的密码。
    • 可选:将 <property>: <value > 替换为您要配置的 IPMI 属性以及属性值。有关可用属性的详情,请参考 智能平台管理接口(IPMI)电源管理驱动程序
    • <cpu_count > 替换为 CPU 数量。
    • <cpu_arch > 替换为 CPU 的架构类型。
    • <memory > 替换为 MiB 中的内存量。
    • <root_disk > 替换为 GiB 中根磁盘的大小。只有当机器有多个磁盘时才需要。
    • &lt;serial> 替换为您要用于部署的磁盘的序列号。
    • <mac_address > 替换为用于 PXE 引导的 NIC 的 MAC 地址。
    • --driver-info <property>=<value>
  2. 获取 overcloudrc 文件:

    $ source ~/overcloudrc
    Copy to Clipboard Toggle word wrap
  3. 将清单文件导入到裸机置备服务中:

    $ openstack baremetal create overcloud-nodes.yaml
    Copy to Clipboard Toggle word wrap

    节点现在处于 注册 状态。

  4. 指定部署内核和在每个节点上部署 ramdisk:

    $ openstack baremetal node set <node> \
      --driver-info deploy_kernel=<kernel_file> \
      --driver-info deploy_ramdisk=<initramfs_file>
    Copy to Clipboard Toggle word wrap
    • <node> 替换为节点的名称或 ID。
    • <kernel_file > 替换为 .kernel 镜像的路径,例如 file:///var/lib/ironic/httpboot/agent.kernel
    • <initramfs_file > 替换为 .initramfs 镜像的路径,如 file:///var/lib/ironic/httpboot/agent.ramdisk
  5. 可选:为每个节点指定 IPMI 密码套件:

    $ openstack baremetal node set <node> \
     --driver-info ipmi_cipher_suite=<version>
    Copy to Clipboard Toggle word wrap
    • <node> 替换为节点的名称或 ID。
    • <version > 替换为节点上要使用的密码套件版本。设置为以下有效值之一:

      • 3 - 节点使用带有 SHA1 密码套件的 AES-128。
      • 17 - 节点使用带有 SHA256 密码套件的 AES-128。
  6. 将节点的置备状态设置为 available

    $ openstack baremetal node manage <node>
    $ openstack baremetal node provide <node>
    Copy to Clipboard Toggle word wrap

    如果启用了的节点清理,Bare Metal Provisioning 服务会清理节点。

  7. 在节点上设置本地引导选项:

    $ openstack baremetal node set <node> --property capabilities="boot_option:local"
    Copy to Clipboard Toggle word wrap
  8. 检查节点是否已注册:

    $ openstack baremetal node list
    Copy to Clipboard Toggle word wrap

    注册节点及其状态之间可能会有延迟。

4.5.2. 手动注册裸机节点

将物理计算机注册为裸机节点,然后手动添加其硬件详细信息并为每个以太网 MAC 地址创建端口。您可以在具有 overcloudrc 文件的任何节点上执行这些步骤。

前提条件

  • 包括裸机置备服务的 overcloud 部署。有关更多信息,请参阅使用 裸机置备服务部署 overcloud
  • 必须使用 IronicEnabledHardwareTypes 参数启用新节点的驱动程序。有关支持的驱动程序的更多信息,请参阅 裸机驱动程序

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 提供 overcloud 凭证文件:

    (undercloud)$ source ~/overcloudrc
    Copy to Clipboard Toggle word wrap
  3. 添加新节点:

    $ openstack baremetal node create --driver <driver_name> --name <node_name>
    Copy to Clipboard Toggle word wrap
    • <driver_name > 替换为驱动程序的名称,如 ipmi
    • <node_name > 替换为新裸机节点的名称。
  4. 请注意在创建节点时分配给节点的 UUID。
  5. 为每个注册的节点将引导选项设置为 local

    $ openstack baremetal node set \
      --property capabilities="boot_option:local" <node>
    Copy to Clipboard Toggle word wrap

    <node> 替换为裸机节点的 UUID。

  6. 为节点驱动程序指定部署内核和部署 ramdisk:

    $ openstack baremetal node set <node> \
      --driver-info deploy_kernel=<kernel_file> \
      --driver-info deploy_ramdisk=<initramfs_file>
    Copy to Clipboard Toggle word wrap
    • <node> 替换为裸机节点的 ID。
    • <kernel_file > 替换为 .kernel 镜像的路径,例如 file:///var/lib/ironic/httpboot/agent.kernel
    • <initramfs_file > 替换为 .initramfs 镜像的路径,如 file:///var/lib/ironic/httpboot/agent.ramdisk
  7. 更新节点属性以匹配节点上的硬件规格:

    $ openstack baremetal node set <node> \
      --property cpus=<cpu> \
      --property memory_mb=<ram> \
      --property local_gb=<disk> \
      --property cpu_arch=<arch>
    Copy to Clipboard Toggle word wrap
    • <node> 替换为裸机节点的 ID。
    • <cpu > 替换为 CPU 数量。
    • 将 & lt;ram& gt; 替换为 RAM (以 MB 为单位)。
    • <disk> 替换为磁盘大小(以 GB 为单位)。
    • 将 & lt;arch& gt; 替换为 architecture 类型。
  8. 可选:为每个节点指定 IPMI 密码套件:

    $ openstack baremetal node set <node> \
     --driver-info ipmi_cipher_suite=<version>
    Copy to Clipboard Toggle word wrap
    • <node> 替换为裸机节点的 ID。
    • <version > 替换为节点上要使用的密码套件版本。设置为以下有效值之一:

      • 3 - 节点使用带有 SHA1 密码套件的 AES-128。
      • 17 - 节点使用带有 SHA256 密码套件的 AES-128。
  9. 可选:指定每个节点的 IPMI 详情:

    $ openstack baremetal node set <node> \
     --driver-info <property>=<value>
    Copy to Clipboard Toggle word wrap
  10. 可选:如果您有多个磁盘,请设置根设备提示来通知部署 ramdisk 哪个磁盘用于部署:

    $ openstack baremetal node set <node> \
      --property root_device='{"<property>": "<value>"}'
    Copy to Clipboard Toggle word wrap
    • <node> 替换为裸机节点的 ID。
    • <property > 和 <value > 替换为您要用于部署的磁盘详情,如 root_device='{"size": "128"}'

      RHOSP 支持以下属性:

      • model(字符串):设备识别码。
      • vendor(字符串):设备厂商。
      • serial(字符串):磁盘序列号。
      • hctl(字符串):SCSI 的 Host:Channel:Target:Lun。
      • size(整数):设备的大小(以 GB 为单位)。
      • wwn(字符串):唯一的存储 ID。
      • wwn_with_extension(字符串):唯一存储 ID 附加厂商扩展名。
      • wwn_vendor_extension(字符串):唯一厂商存储标识符。
      • rotational(布尔值):旋转磁盘设备为 true (HDD),否则为 false (SSD)。
      • name (字符串):设备名称,例如: /dev/sdb1 仅对具有持久名称的设备使用此属性。

        注意

        如果您指定多个属性,该设备必须与所有这些属性匹配。

  11. 通过在 provisioning 网络中创建带有 NIC 的 MAC 地址的端口来通知节点网卡的裸机置备服务:

    $ openstack baremetal port create --node <node_uuid> <mac_address>
    Copy to Clipboard Toggle word wrap
    • <node> 替换为裸机节点的唯一 ID。
    • <mac_address > 替换为用于 PXE 引导的 NIC 的 MAC 地址。
  12. 验证节点的配置:

    $ openstack baremetal node validate <node>
    +------------+--------+---------------------------------------------+
    | Interface  | Result | Reason                                      |
    +------------+--------+---------------------------------------------+
    | boot       | False  | Cannot validate image information for node  |
    |            |        | a02178db-1550-4244-a2b7-d7035c743a9b        |
    |            |        | because one or more parameters are missing  |
    |            |        | from its instance_info. Missing are:        |
    |            |        | ['ramdisk', 'kernel', 'image_source']       |
    | console    | None   | not supported                               |
    | deploy     | False  | Cannot validate image information for node  |
    |            |        | a02178db-1550-4244-a2b7-d7035c743a9b        |
    |            |        | because one or more parameters are missing  |
    |            |        | from its instance_info. Missing are:        |
    |            |        | ['ramdisk', 'kernel', 'image_source']       |
    | inspect    | None   | not supported                               |
    | management | True   |                                             |
    | network    | True   |                                             |
    | power      | True   |                                             |
    | raid       | True   |                                             |
    | storage    | True   |                                             |
    +------------+--------+---------------------------------------------+
    Copy to Clipboard Toggle word wrap

    验证输出 Result 表示以下内容:

    • false :接口验证失败。如果提供的原因缺少 instance_info 参数 [\'ramdisk'、\'kernel' 和 \'image_source'],这可能是因为计算服务在部署进程开始时填充缺少的参数,因此此时尚未设置它们。如果您使用整个磁盘镜像,则可能需要设置 image_source 来传递验证。
    • true :接口已通过验证。
    • None: 接口不支持您的驱动。

4.5.3. 裸机节点置备状态

裸机节点在其生命周期内会经历几个置备状态。在节点上执行的 API 请求和编排器事件启动转换。置备状态有两个类别: "stable" 和 "in transition"。

使用下表了解节点的调配状态,以及可用于将节点从一个置备状态转换到另一个调配状态的操作。

Expand
表 4.1. 置备状态
状态类别描述

注册

稳定

每个节点的初始状态。有关注册节点的详情,请参考 将物理机添加为裸机节点

验证

过渡过程中

Bare Metal Provisioning 服务使用节点注册过程中提供的 driver_info 配置来验证它是否可以管理节点。

可管理

稳定

当裸机置备服务验证它可以管理该节点时,该节点会过渡到 manageable 状态。您可以使用以下命令将节点从 manageable 状态转换到以下状态之一:

  • OpenStack baremetal 节点 采用 active
  • OpenStack baremetal 节点提供 cleaning available
  • OpenStack baremetal node clean cleaning available
  • OpenStack baremetal node inspect check manageable

在将节点转换为以下失败状态之一后,您必须将节点移到 manageable 状态:

  • 采用失败
  • 清理失败
  • 检查失败

当您需要更新节点时,将节点移到 manageable 状态。

检查

过渡过程中

裸机置备服务使用节点内省来更新硬件派生的节点属性,以反映硬件的当前状态。节点过渡到 manageable 以进行同步检查,然后等待 异步检查。如果发生错误,节点转换以 检查失败

inspect wait

过渡过程中

指示异步检查正在进行的调配状态。如果节点检查成功,节点将过渡到 manageable 状态。

检查失败

稳定

表示节点检查失败的置备状态。您可以使用以下命令将节点从 check failed 状态转换到以下状态之一:

  • OpenStack baremetal node inspect check manageable
  • OpenStack baremetal 节点管理 manageable

清理

过渡过程中

处于 清理 状态的节点将被清理并重新编程到已知的配置中。当节点处于 清理 状态时,取决于网络管理,编排器执行以下任务:

  • 带外:编排器执行清理 步骤
  • in-band:编排器准备环境来引导 ramdisk,以运行带外清理步骤。准备任务包括构建 PXE 配置文件和配置 DHCP。

清理等待

过渡过程中

处于 clean wait 状态的节点将被清理,并放回已知的配置中。这个状态与 清理 状态类似,但处于 clean wait 状态,编排器会等待 ramdisk 引导或 清理 步骤完成。

您可以通过运行 openstack baremetal node abort 中断处于 干净等待状态 的节点清理过程。

可用

稳定

成功预配置和清理节点后,它们会被移到 available 状态,并准备好置备。您可以使用以下命令将节点从 available 状态转换到以下状态之一:

  • openstack baremetal node deploy deploying active
  • OpenStack baremetal 节点管理 manageable

部署

过渡过程中

处于 部署 状态的节点为工作负载准备,这涉及执行以下任务:

  • 为节点部署设置适当的 BIOS 选项。
  • 分区驱动器并创建文件系统。
  • 创建额外子系统可能需要的任何其他资源,如特定于节点的网络配置和配置驱动器分区。

wait call-back

过渡过程中

处于 wait call-back 状态的节点为工作负载准备。这个状态与 deploying 状态类似,除了处于 wait call-back 状态时,编排器会在准备节点前等待任务完成。例如,在编排器准备节点前必须完成以下任务:

  • ramdisk 已引导。
  • 已安装引导装载程序。
  • 镜像写入磁盘。

您可以通过运行 openstack baremetal node deleteopenstack baremetal node undeploy 来中断处于 wait call-back 状态的节点部署。

部署失败

稳定

表示节点部署失败的置备状态。您可以使用以下命令将节点从 部署失败状态 转换到以下状态之一:

  • openstack baremetal node deploy deploying active
  • OpenStack baremetal node rebuild deploying active
  • openstack baremetal node delete deleting cleaning clean wait cleaning available
  • OpenStack baremetal node undeploy delete cleaning clean wait cleaning available

active

稳定

处于 active 状态的节点在其上运行的工作负载。裸机置备服务可能会定期收集带外传感器信息,包括电源状态。您可以使用以下命令将节点从 active 状态转换到以下状态之一:

  • openstack baremetal node delete deleting available
  • OpenStack baremetal node undeploy cleaning available
  • OpenStack baremetal node rebuild deploying active
  • OpenStack baremetal node rescue rescuing rescue

删除

过渡过程中

当节点处于 delete 状态时,Bare Metal Provisioning 服务会删除活动的工作负载,并在节点部署或救援期间 删除 添加到节点的任何配置和资源。节点会快速从 删除 状态转换到 清理 状态,然后变为 clean wait 状态。

错误

稳定

如果节点删除失败,节点将移到 错误状态。您可以使用以下命令将节点从错误状态转换到以下状态之一:

  • openstack baremetal node delete deleting available
  • OpenStack baremetal node undeploy cleaning available

采用

过渡过程中

您可以使用 openstack baremetal node adopt 命令将带有现有工作负载的节点从 manageable 变为 active 状态,而无需首先清理和部署节点。当节点处于 采用状态时,Bare Metal Provisioning 服务已接管使用其现有工作负载管理节点。

rescuing

过渡过程中

处于 Rescu ing 状态的节点已准备好执行以下救援操作:

  • 为节点部署设置适当的 BIOS 选项。
  • 创建额外的子系统可能需要的任何其他资源,如特定于节点的网络配置。

rescue wait

过渡过程中

处于 rescue wait 状态的节点处于 rescued。这个状态与 rescuing 状态类似,除了处于 rescue wait 状态、编排器等待 ramdisk 启动的编排器,或者执行需要在节点中运行的救援部分,如为名为 rescue 的用户设置密码。

您可以通过运行 openstack baremetal node abort 中断处于 rescue wait 状态的救援操作。

rescue failed

稳定

表示节点救援的置备状态。您可以使用以下命令将节点从 救援失败状态 转换到以下状态之一:

  • OpenStack baremetal node rescue rescuing rescue
  • OpenStack baremetal node unrescue unrescuing active
  • openstack baremetal node delete deleting available

rescue

稳定

处于 rescue 状态的节点正在运行救援 ramdisk。裸机置备服务可能会定期收集带外传感器信息,包括电源状态。您可以使用以下命令将节点从 救援 状态转换到以下状态之一:

  • OpenStack baremetal node unrescue unrescuing active
  • openstack baremetal node delete deleting available

unrescuing

过渡过程中

处于 unrescuing 状态的节点已准备好从 rescue 状态过渡到 active 状态。

unrescue 失败

稳定

表示节点 unrescue 操作失败的置备状态。您可以使用以下命令将节点从 unrescue failed 状态转换到以下状态之一:

  • OpenStack baremetal node rescue rescuing rescue
  • OpenStack baremetal node unrescue unrescuing active
  • openstack baremetal node delete deleting available
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat