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 状态的节点,该状态意味着用于部署。在这种情况下,请在内省前将节点状态更改为 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]

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

    注意

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