Oracle Linux 9: libvirtdサービスの管理

次の情報では、libvirtdサービスの起動、有効化およびステータス確認の方法について説明します。

前提条件

Oracle Linux 9では、libvirtdサービスは複数の機能サービス・ソケットに分割されており、仮想化コンポーネントごとによりアトミックな制御とロギングが可能になっています。

個々のlibvirt機能コンポーネントまたはドライバは、ドライバごとに3つのsystemdソケットを使用して公開される個別のデーモンにモジュール化されます。

次のsystemdデーモンは、KVMのlibvirt内の個々のドライバに対して定義されています。
  • virtqemud: KVMで仮想マシンを実行するためのQEMU管理デーモンです。
  • virtnetworkd: 仮想ネットワーク管理デーモンです。
  • virtnodedevd: ホスト物理デバイス管理デーモンです。
  • virtnwfilterd: ホスト・ファイアウォール管理デーモンです。
  • virtsecretd: ホスト・シークレット管理デーモンです。
  • virtstoraged: ホスト・ストレージ管理デーモンです。
  • virtinterfaced: ホストのネットワーク・インタフェース・カード(NIC)管理デーモンです。
  • virtproxydは、リモート・クライアントがlibvirt APIに安全にアクセスできる仮想化プロキシ・デーモンです。
libvirtdで使用可能な完全な仮想化機能を公開するには、すべての仮想化デーモンが実行されている必要があります。デーモンごとに1つのサービスと3つのUNIXソケットが、デーモンへの様々なレベルのアクセスを公開するために使用できます。

systemd libvirtデーモンのモジュール化の詳細は、https://libvirt.org/daemons.htmlを参照してください

手順

libvirtdサービスを起動および有効化するには、次の手順を実行します:

  1. 完全な仮想化機能のlibvirtdサービスを開始するには、次を実行します:
    for drv in qemu network nodedev nwfilter secret storage interface; 
      do
       sudo systemctl enable virt${drv}d.service
       sudo systemctl enable virt${drv}d{,-ro,-admin}.socket;
       sudo systemctl start virt${drv}d{,-ro,-admin}.socket; 
      done

    サービスは最初のソケットが確立されると自動的に開始されるため、デーモンごとにサービスを開始する必要はありません。

    ノート:

    レガシー・システムの場合、libvirtdソケットを使用してリモート仮想ゲスト接続を管理できます。
    1. virtproxydデーモンを有効にして、リモート・ホストがゲストに接続できるようにします。
      リモート・ホストからの接続が必要な場合は、virtproxydデーモンを有効にして起動する必要があります:
      sudo systemctl enable virtproxyd.service
      sudo systemctl enable virtproxyd-tls.socket
      sudo systemctl start virtproxyd-tls.socket
  2. libvirtdサービスのステータスを確認するには、次のように入力します:
    sudo systemctl list-units --type=socket virt*

    出力には、有効なすべてのユニットとその現在のステータスが表示されます。