ソフトウェアエミュレーションを使用するための libguestfs の設定

ソフトウェアエミュレーションを使用するための libguestfs の設定

libguestfs-test-toolESXI 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).

しかし、私たちのアプリケーションにはツールを利用する多くのサービス(異なるユーザーによって実行される)があり、スクリプトとサービスごとにこの環境変数を設定するのは面倒です。 1 つの代替案は、ライブラリを組み込んでlibguestfs再構築することのようですが、ESXI 以外のプラットフォームをサポートする必要があります。libguestfsforce_tcg

/etc/libguestfs-tools.conftcg を強制するためにこの設定を指定できる場所は 1 つありますか? それがその場所かもしれないと思いましたが、read_only属性の設定しか許可されません。

答え1

/etc/profile.dこれは環境変数です。たとえば、 のシェル スクリプト内や、Environment=サービスの systemd ユニット内の設定内など、すべての環境に簡単に配置できます。

もちろん、パフォーマンス上の理由から、代わりにこのVMのネストされた仮想化を有効にするESXi 構成で。これにより、KVM は VM 内で動作し、ソフトウェア エミュレーションよりも優れたパフォーマンスを提供できるようになります。

答え2

カーネルをバージョン4.16rc7(現在リリースされていない)にアップグレードすると、問題は解決するようです。要約すると、これはこのスレッドで議論されているVMWareのバグです。https://www.redhat.com/archives/libguestfs/2018-March/msg00152.html

関連情報