Beim Ausführen libguestfs-test-tool
auf einer ESXI-VM traten einige Fehler auf, die anscheinend behoben werden, wenn ich eine Softwareemulation verwende.
Die Manpage für libguestfs
sagt:
export LIBGUESTFS_BACKEND_SETTINGS=force_tcg
will force the direct and libvirt backends to use TCG (software emulation) instead of KVM (hardware accelerated virtualization).
Unsere Anwendung verfügt jedoch über viele Dienste (die von verschiedenen Benutzern ausgeführt werden), die Tools verwenden libguestfs
, und es ist mühsam, diese Umgebungsvariable für jedes Skript und jeden Dienst festlegen zu müssen. Eine Alternative scheint darin zu bestehen, die libguestfs
Bibliothek mit force_tcg
integriertem Tool neu zu erstellen, aber ich muss andere Plattformen als ESXI unterstützen.
Gibt es einen Ort, an dem ich diese Einstellung angeben kann, um TCG zu erzwingen? Ich hätte gedacht, dass dies /etc/libguestfs-tools.conf
der Ort sein könnte, aber dort kann nur ein read_only
Attribut festgelegt werden.
Antwort1
Es handelt sich um eine Umgebungsvariable. Sie können sie einfach in die Umgebung jedes Benutzers einfügen, z. B. in einem Shell-Skript in /etc/profile.d
oder in den Environment=
Einstellungen der systemd-Einheiten der Dienste.
Aus Leistungsgründen können Sie natürlich stattdessenAktivieren Sie die verschachtelte Virtualisierung für diese VM.in seiner ESXi-Konfiguration. Dadurch könnte KVM innerhalb der VM arbeiten und eine bessere Leistung als die Softwareemulation bieten.
Antwort2
Ein Upgrade des Kernels auf Version 4.16rc7 (derzeit nicht freigegeben) scheint das Problem zu beheben. Zusammenfassend handelt es sich um einen VMWare-Fehler, der in diesem Thread diskutiert wird.https://www.redhat.com/archives/libguestfs/2018-March/msg00152.html.