28.2. 硬件内省故障排除
您必须运行完内省进程。但是,如果检查 ramdisk 没有响应,则 ironic-inspector
将在默认一小时后超时。有时这表示检查 ramdisk 中有错误,但这种超时通常是由于环境错误配置所致,特别是 BIOS 引导设置。
要诊断并解决常见环境错误配置问题,请完成以下步骤:
步骤
Source
stackrc
文件:$ source ~/stackrc
director 使用 OpenStack Object Storage(swift)保存在内省过程中获得的硬件数据。如果这个服务没有运行,内省将失败。检查并确定所有与 OpenStack Object Storage 相关的服务都在运行:
(undercloud) $ sudo systemctl list-units tripleo_swift*
确保您的节点处于
manageable
状态。内省不检查处于available
状态的节点,该状态意味着用于部署。如果要检查处于available
状态的节点,请在内省前将节点状态更改为manageable
状态:(undercloud) $ openstack baremetal node manage [NODE UUID]
配置对内省 ramdisk 的临时访问权限。可提供临时密码或 SSH 密钥以在内省调试期间访问节点。完成以下步骤以配置 ramdisk 访问权限:
使用临时密码运行
openssl passwd -1
命令以生成 MD5 hash:(undercloud) $ openssl passwd -1 mytestpassword $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/
编辑
/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
参数。注意rootpwd
和sshkey
参数都需要包括引号。
在节点上运行内省:
(undercloud) $ openstack overcloud node introspect [NODE UUID] --provide
内省完成后,使用
--provide
选项将节点状态更改为available
。从
dnsmasq
日志中识别节点的 IP 地址:(undercloud) $ sudo tail -f /var/log/containers/ironic-inspector/dnsmasq.log
如果出错,则使用根用户和临时访问详细信息访问节点:
$ ssh root@192.168.24.105
在内省期间访问节点以运行诊断命令并排除内省故障。
要停止内省过程,请运行以下命令:
(undercloud) $ openstack baremetal introspection abort [NODE UUID]
您也可以等待操作过程超时。
注意Red Hat OpenStack Platform director 在初始中止后重试内省三次。在每次尝试时均运行
openstack baremetal introspection abort
命令以完全中止内省。