26.2. 硬件内省故障排除

您必须运行完内省进程。但是,如果检查 ramdisk 没有响应,则 ironic-inspector 将在默认一小时后超时。有时这表示检查 ramdisk 中有错误,但这种超时通常是由于环境错误配置所致,特别是 BIOS 引导设置。

要诊断并解决常见环境错误配置问题,请完成以下步骤:

步骤

  1. source stackrc 文件:

    $ source ~/stackrc
  2. director 使用 OpenStack Object Storage(swift)保存在内省过程中获得的硬件数据。如果这个服务没有运行,内省将失败。检查并确定所有与 OpenStack Object Storage 相关的服务都在运行:

    (undercloud) $ sudo systemctl list-units tripleo_swift*
  3. 确保您的节点处于 manageable 状态。内省不检查处于 available 状态的节点,该状态意味着用于部署。如果要检查处于 available 状态的节点,请在内省前将节点状态更改为 manageable 状态:

    (undercloud) $ openstack baremetal node manage [NODE UUID]
  4. 配置对内省 ramdisk 的临时访问权限。可提供临时密码或 SSH 密钥以在内省调试期间访问节点。完成以下步骤以配置 ramdisk 访问权限:

    1. 使用临时密码运行 openssl passwd -1 命令以生成 MD5 hash:

      (undercloud) $ openssl passwd -1 mytestpassword
      $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/
    2. 编辑 /var/lib/ironic/httpboot/inspector.ipxe 文件,找到以 kernel 开头的行,并附加 rootpwd 参数和 MD5 hash:

      kernel http://192.2.0.1:8088/agent.kernel ipa-inspection-callback-url=http://192.168.0.1:5050/v1/continue ipa-inspection-collectors=default,extra-hardware,logs systemd.journald.forward_to_console=yes BOOTIF=${mac} ipa-debug=1 ipa-inspection-benchmarks=cpu,mem,disk rootpwd="$1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/" selinux=0

      或者,将公共 SSH 密钥附加到 sshkey 参数。

      注意

      rootpwdsshkey 参数都需要包括引号。

  5. 在节点上运行内省:

    (undercloud) $ openstack overcloud node introspect [NODE UUID] --provide

    内省完成后,使用 --provide 选项将节点状态更改为 available

  6. dnsmasq 日志中识别节点的 IP 地址:

    (undercloud) $ sudo tail -f /var/log/containers/ironic-inspector/dnsmasq.log
  7. 如果出错,则使用根用户和临时访问详细信息访问节点:

    $ ssh root@192.168.24.105

    在内省期间访问节点以运行诊断命令并排除内省故障。

  8. 要停止内省过程,请运行以下命令:

    (undercloud) $ openstack baremetal introspection abort [NODE UUID]

    您也可以等待操作过程超时。

    注意

    Red Hat OpenStack Platform director 在初始中止后重试内省三次。在每次尝试时均运行 openstack baremetal introspection abort 命令以完全中止内省。