2.2. 配置硬件内省


硬件内省允许裸机置备来发现节点上的硬件信息。内省还会为发现的以太网 MAC 地址创建端口。另外,您可以手动为每个节点添加硬件详情 ; 如需更多信息,请参阅 第 2.3.2 节 “手动添加节点”。以下流程中的所有步骤都必须在托管裸机置备编排器服务的服务器上执行,同时以 root 用户身份登录。

使用以下驱动程序支持硬件内省:

  • pxe_drac
  • pxe_ipmitool
  • pxe_ssh

配置硬件内省

  1. 获取用于通过 PXE 引导进行裸机系统发现的 Ironic Python Agent 内核和 ramdisk 镜像。这些镜像位于标记为 Ironic Python Agent Image for RHOSP director 8.0 的 TAR 存档中,地址为 https://access.redhat.com/downloads/content/191/ver=8/rhel---7/8/x86_64/product-software。下载 TAR 存档,从中提取镜像文件(ironic-python-agent.kernelironic-python-agent.initramfs),并将其复制到 TFTP 服务器上的 /tftpboot 目录中。
  2. 在托管硬件内省服务的服务器上,为 RHEL 7 (RPMs)频道启用 Red Hat OpenStack Platform 8 director

    # subscription-manager repos --enable=rhel-7-server-openstack-8-director-rpms
    Copy to Clipboard Toggle word wrap
  3. 安装 openstack-ironic-inspector 软件包:

    # yum install openstack-ironic-inspector
    Copy to Clipboard Toggle word wrap
  4. ironic.conf 文件中启用内省:

    # openstack-config --set /etc/ironic/ironic.conf \
       inspector enabled True
    Copy to Clipboard Toggle word wrap
  5. 如果硬件内省服务托管在单独的服务器上,请在托管编排器服务的服务器上设置其 URL:

    # openstack-config --set /etc/ironic/ironic.conf \
       inspector service_url http://INSPECTOR_IP:5050
    Copy to Clipboard Toggle word wrap

    INSPECTOR_IP 替换为托管硬件内省服务的服务器的 IP 地址或主机名。

  6. 使用身份验证凭证提供硬件内省服务:

    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       keystone_authtoken identity_uri http://IDENTITY_IP:35357
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       keystone_authtoken auth_uri http://IDENTITY_IP:5000/v2.0
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       keystone_authtoken admin_user ironic
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       keystone_authtoken admin_password PASSWORD
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       keystone_authtoken admin_tenant_name services
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       ironic os_auth_url http://IDENTITY_IP:5000/v2.0
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       ironic os_username ironic
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       ironic os_password PASSWORD
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       ironic os_tenant_name service
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       firewall dnsmasq_interface br-ironic
    # openstack-config --set /etc/ironic-inspector/inspector.conf \
       database connection sqlite:////var/lib/ironic-inspector/inspector.sqlite
    Copy to Clipboard Toggle word wrap

    替换以下值:

    • IDENTITY_IP 替换为身份服务器的 IP 地址或主机名。
    • PASSWORD 替换为裸机置备用来与身份进行身份验证的密码。
  7. 另外,还可设置硬件内省服务以存储 ramdisk 的日志:

    # openstack-config --set /etc/ironic-inspector/inspector.conf \
    processing ramdisk_logs_dir /var/log/ironic-inspector/ramdisk
    Copy to Clipboard Toggle word wrap
  8. (可选)启用附加数据处理插件,以使用多个本地磁盘收集裸机块设备并公开根设备。ramdisk_error,root_disk_selection,scheduler, 和 validate_interfaces 默认启用,不应禁用。以下命令在列表中添加 root_device_hint

    # openstack-config --set /etc/ironic-inspector/inspector.conf \
    processing processing_hooks '$default_processing_hooks,root_device_hint'
    Copy to Clipboard Toggle word wrap
  9. 生成初始 ironic 检查器 数据库:

    # ironic-inspector-dbsync --config-file /etc/ironic-inspector/inspector.conf upgrade
    Copy to Clipboard Toggle word wrap
  10. 更新检查器数据库文件,使其归 ironic-inspector 所有:

    # chown ironic-inspector /var/lib/ironic-inspector/inspector.sqlite
    Copy to Clipboard Toggle word wrap
  11. 在文本编辑器中打开 /etc/ironic-inspector/dnsmasq.conf 文件,并为 openstack-ironic-inspector-dnsmasq 服务配置以下 PXE 引导设置:

    port=0
    interface=br-ironic
    bind-interfaces
    dhcp-range=START_IP,END_IP
    enable-tftp
    tftp-root=/tftpboot
    dhcp-boot=pxelinux.0
    Copy to Clipboard Toggle word wrap

    替换以下值:

    • INTERFACE 替换为裸机置备网络接口的名称。
    • START_IP 替换为 IP 地址,该地址表示要从中分配浮动 IP 地址的 IP 地址范围。
    • END_IP 替换为 IP 地址,该地址表示要从中分配浮动 IP 地址的 IP 地址范围。
  12. syslinux 引导装载程序 复制到 tftp 目录中:

    # cp /usr/share/syslinux/pxelinux.0 /tftpboot/pxelinux.0
    Copy to Clipboard Toggle word wrap
  13. 另外,您还可以配置硬件内省服务,将元数据存储在 /etc/ironic-inspector/inspector.conf 文件的 swift 部分中。

    [swift]
    username = ironic
    password = PASSWORD
    tenant_name = service
    os_auth_url = http://IDENTITY_IP:5000/v2.0
    Copy to Clipboard Toggle word wrap

    替换以下值:

    • IDENTITY_IP 替换为身份服务器的 IP 地址或主机名。
    • PASSWORD 替换为裸机置备用来与身份进行身份验证的密码。
  14. 在文本编辑器中打开 /tftpboot/pxelinux.cfg/default 文件,并配置以下选项:

    default discover
    
    label discover
    kernel ironic-python-agent.kernel
    append initrd=ironic-python-agent.initramfs \
    ipa-inspection-callback-url=http://INSPECTOR_IP:5050/v1/continue
    ipa-api-url=http://IRONIC_API_IP:6385
    
    ipappend 3
    Copy to Clipboard Toggle word wrap

    INSPECTOR_IP 替换为托管硬件内省服务的服务器的 IP 地址或主机名。请注意,来自 附加到 /continue 的文本必须位于一行上,如上面的块中的 \ 表示。

  15. 重置 /tftpboot/ 目录及其文件的安全上下文:

    # restorecon -R /tftpboot/
    Copy to Clipboard Toggle word wrap

    此步骤可确保目录具有正确的 SELinux 安全标签,并且 dnsmasq 服务可以访问该目录。

  16. 启动硬件内省服务和 dnsmasq 服务,并将它们配置为在引导时启动:

    # systemctl start openstack-ironic-inspector.service
    # systemctl enable openstack-ironic-inspector.service
    # systemctl start openstack-ironic-inspector-dnsmasq.service
    # systemctl enable openstack-ironic-inspector-dnsmasq.service
    Copy to Clipboard Toggle word wrap

    在通过裸机置备注册后,硬件内省可以在节点上使用。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat