如果 ESXi 主机上的所有虚拟机都未与 Guest Introspection 配合使用,或者在特定主机上出现有关到 GI SVA 的通信的警报,则可能是 ESXi 主机上的 ESX GI 模块出现问题。
ESX GI 模块 (MUX)
-
运行 # /etc/init.d/vShield-Endpoint-Mux status 命令,以检查是否正在 ESXi 主机上运行该服务:
例如:
# /etc/init.d/vShield-Endpoint-Mux status vShield-Endpoint-Mux is running
-
如果发现未运行该服务,请重新启动该服务,或者使用以下命令启动该服务:
/etc/init.d/vShield-Endpoint-Mux start
或
/etc/init.d/vShield-Endpoint-Mux restart
请注意,可以在生产时间安全地重新启动该服务,因为它不会造成任何重大影响并在几秒钟内重新启动。
- 要更好地了解 ESX GI 模块执行的操作或检查通信状态,您可以检查 ESXi 主机上的日志。ESX GI 模块日志将写入到主机 /var/log/syslog 文件中。它还包含在 ESXi 主机支持日志中。
有关详细信息,请参见使用 vSphere Web Client 收集 ESX/ESXi 主机和 vCenter Server 的诊断信息 (2032892)。
- ESX GI 模块的默认日志记录选项为“信息”,并且可以将其升级到“调试”以收集更多信息:
有关详细信息,请参见Guest Introspection 日志。
- 重新安装 ESX GI 模块也可以修复很多问题,尤其是安装了不正确的版本,或者将 ESXi 主机添加到以前安装了 Endpoint 的环境中。需要将其移除并重新安装。
要移除 VIB,请运行以下命令:esxcli software vib remove -n epsec-mux
- 如果您遇到 VIB 安装问题,请检查 ESXi 主机上的 /var/log/esxupdate.log 文件。该日志显示有关为什么未成功安装该驱动程序的最明确的信息。这是 ESX GI 模块安装的一个常见问题。有关详细信息,请参见在 VMware NSX for vSphere 6.x 中,在 ESXi 主机上安装 NSX Guest Introspection 服务(ESX GI 模块 VIB)失败 (2135278)。
- 要检查损坏的 ESXi 映像,请查找类似于以下内容的消息:
esxupdate: esxupdate: ERROR: Installation Error: (None, 'No image profile is found on the host or image profile is empty. An image profile is required to install or remove VIBs. To install an image profile, use the esxcli image profile install command.')
- 要确认映像已损坏,请在 ESXi 主机上运行 cd /vmfs/volumes 命令。
- 运行以下命令以搜索 imgdb.tgz 文件:find * | grep imgdb.tgz。
该命令通常会找到两个匹配项。例如:
0ca01e7f-cc1ea1af-bda0-1fe646c5ceea/imgdb.tgz 或 edbf587b-da2add08-3185-3113649d5262/imgdb.tgz
为每个匹配项运行以下命令:ls -l match_result
例如:
> ls -l 0ca01e7f-cc1ea1af-bda0-1fe646c5ceea/imgdb.tgz -rwx------ 1 root root 26393 Jul 20 19:28 0ca01e7f-cc1ea1af-bda0-1fe646c5ceea/imgdb.tgz > ls -l edbf587b-da2add08-3185-3113649d5262/imgdb.tgz -rwx------ 1 root root 93 Jul 19 17:32 edbf587b-da2add08-3185-3113649d5262/imgdb.tgz
imgdb.tgz 文件的默认大小远大于另一个文件,或者,如果一个文件仅具有几个字节,则表示该文件已损坏。要解决该问题,唯一支持的方法是为该特定 ESXi 主机重新安装 ESXi。
- 运行以下命令以搜索 imgdb.tgz 文件:find * | grep imgdb.tgz。