Menu Close
Settings Close

Language and Page Formatting Options

13.3.2. 启用模块化 libvirt 守护进程

在 RHEL 9 中,libvirt 库使用 modular 守护进程来处理您主机上的单个虚拟化驱动程序集。例如,virtqemud 守护进程处理 QEMU 驱动程序。

如果您执行了 RHEL 9 主机的全新安装,您的虚拟机监控程序默认使用模块化 libvirt 守护进程。但是,如果您将主机从 RHEL 8 升级到 RHEL 9,您的管理程序将使用单体 libvirtd 守护进程,这是 RHEL 8 中的默认设置。

如果出现这种情况,红帽建议改为启用模块化 libvirt 守护进程,因为它们为微调 libvirt 资源管理提供了更好的选项。另外,libvirtd 在以后的 RHEL 主发行版本中将不被支持。

先决条件

  • 您的管理程序使用单体的 libvirtd 服务。要了解这一点是否如此:

    # systemctl is-active libvirtd.service
    active

    如果这个命令显示 active,则代表在使用 libvirtd

  • 您的虚拟机已关闭。

流程

  1. 停止 libvirtd 及其套接字。

    # systemctl stop libvirtd.service
    # systemctl stop libvirtd{,-ro,-admin,-tcp,-tls}.socket
  2. 禁用 libvirtd 以防止它在引导时启动。

    $ systemctl disable libvirtd.service
    $ systemctl disable libvirtd{,-ro,-admin,-tcp,-tls}.socket
  3. 启用模块 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
  4. 启动模块守护进程的套接字。

    # for drv in qemu network nodedev nwfilter secret storage; do systemctl start virt${drv}d{,-ro,-admin}.socket; done
  5. 可选: 如果您需要从远程主机连接到主机,请启用并启动虚拟化代理守护进程。

    # 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}.socket

验证

  1. 激活已启用的虚拟化守护进程。

    # virsh uri
    qemu:///system
  2. 确保您的主机使用 virtqemud 模块守护进程。

    # systemctl is-active virtqemud.service
    active

    如果这个命令显示 active,则代表您成功启用了模块 libvirt 守护进程。