15.4.2. モジュラー libvirt デーモンの有効化
RHEL 9 では、libvirt ライブラリーは、ホスト上の個々の仮想化ドライバーセットを処理するモジュラーデーモンを使用します。たとえば、virtqemud デーモンは QEMU ドライバーを処理します。
RHEL 9 ホストの新規インストールを実行すると、ハイパーバイザーはデフォルトでモジュラー libvirt デーモンを使用します。ただし、ホストを RHEL 8 から RHEL 9 にアップグレードした場合、ハイパーバイザーは RHEL 8 のデフォルトであるモノリシックな libvirtd デーモンを使用します。
その場合、Red Hat は、代わりにモジュラー libvirt デーモンを有効にすることを推奨します。これは、libvirt リソース管理を微調整するためのより良いオプションを提供するためです。また、RHEL の今後のメジャーリリースでは libvirtd はサポートされなくなる予定です。
前提条件
ハイパーバイザーがモノリシックな
libvirtdサービスを使用している。# systemctl is-active libvirtd.service activeこのコマンドで
activeが表示される場合、libvirtdを使用していることになります。- 仮想マシンがシャットダウンしている。
手順
libvirtdとそのソケットを停止します。$ systemctl stop libvirtd.service $ systemctl stop libvirtd{,-ro,-admin,-tcp,-tls}.socketlibvirtdを無効にして、システムの起動時に開始されないようにします。$ systemctl disable libvirtd.service $ systemctl disable libvirtd{,-ro,-admin,-tcp,-tls}.socketモジュラーの
libvirtデーモンを有効にします。# for drv in qemu interface network nodedev nwfilter secret storage; do systemctl unmask virt${drv}d.service; systemctl unmask virt${drv}d{,-ro,-admin}.socket; systemctl enable virt${drv}d.service; systemctl enable virt${drv}d{,-ro,-admin}.socket; doneモジュラーデーモンのソケットを起動します。
# for drv in qemu interface network nodedev nwfilter secret storage; do systemctl start virt${drv}d{,-ro,-admin}.socket; doneオプション: リモートホストからホストに接続する必要がある場合は、仮想化プロキシーデーモンを有効にして起動します。
システムで
libvirtd-tls.socketサービスが有効になっているかどうかを確認します。# grep listen_tls /etc/libvirt/libvirtd.conf listen_tls = 0libvirtd-tls.socketが有効になっていない場合 (listen_tls = 0)、次のようにvirtproxydをアクティブにします。# systemctl unmask virtproxyd.service # systemctl unmask virtproxyd{,-ro,-admin}.socket # systemctl enable virtproxyd.service # systemctl enable virtproxyd{,-ro,-admin}.socket # systemctl start virtproxyd{,-ro,-admin}.socketlibvirtd-tls.socketが有効になっている場合 (listen_tls = 1)、次のようにvirtproxydをアクティブにします。# systemctl unmask virtproxyd.service # systemctl unmask virtproxyd{,-ro,-admin,-tls}.socket # systemctl enable virtproxyd.service # systemctl enable virtproxyd{,-ro,-admin,-tls}.socket # systemctl start virtproxyd{,-ro,-admin,-tls}.socketvirtproxydの TLS ソケットを有効にするには、libvirtで使用できるように設定された TLS 証明書がホストに必要です。詳細は、アップストリームの libvirt ドキュメント を参照してください。
検証
有効化された仮想化デーモンをアクティブにします。
# virsh uri qemu:///systemホストが
virtqemudモジュラーデーモンを使用していることを確認します。# systemctl is-active virtqemud.service activeステータスが
activeの場合、libvirtモジュラーデーモンは正常に有効になっています。