配置 libguestfs 的设置以使用软件模拟

配置 libguestfs 的设置以使用软件模拟

当我libguestfs-test-tool在 ESXI VM 上运行时,我遇到了一些错误,这些错误在我使用软件模拟时似乎得到了解决。

的手册页libguestfs显示:

export LIBGUESTFS_BACKEND_SETTINGS=force_tcg
will force the direct and libvirt backends to use TCG (software emulation) instead of KVM (hardware accelerated virtualization).

但是,我们的应用程序有许多服务(由不同的用户运行)使用libguestfs工具,并且必须为每个脚本和服务设置此环境变量,这很麻烦。一种替代方法似乎是使用内置功能重建库libguestfsforce_tcg但我需要支持 ESXI 以外的平台。

有没有一个位置可以指定此设置以强制 tcg?我原本以为那/etc/libguestfs-tools.conf可能是那个地方,但那只允许read_only设置一个属性。

答案1

它是一个环境变量;您可以简单地将其放入每个人的环境中,例如在 shell 脚本中/etc/profile.d,或在Environment=服务的 systemd 单元中的设置中。

当然,出于性能原因,你可以为该虚拟机启用嵌套虚拟化在其 ESXi 配置中。这将允许 KVM 在 VM 内部工作并提供比软件模拟更好的性能。

答案2

将内核升级到版本 4.16rc7(目前尚未发布)似乎可以解决该问题。总而言之,这是一个 VMWare 错误,本主题中对此进行了讨论https://www.redhat.com/archives/libguestfs/2018-March/msg00152.html

相关内容