当我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
工具,并且必须为每个脚本和服务设置此环境变量,这很麻烦。一种替代方法似乎是使用内置功能重建库libguestfs
,force_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。