13.3. libvirt 데몬 최적화

libvirt 가상화 제품군은 RHEL 하이퍼바이저의 관리 계층으로 작동하며 libvirt 구성이 가상화 호스트에 큰 영향을 미칩니다. 특히 RHEL 9에는 두 가지 유형의 libvirt 데몬, 모놀리식 또는 모듈식이 포함되어 있으며 사용하는 데몬 유형이 개별 가상화 드라이버를 구성하는 방법에 미치는 영향에 영향을 미칩니다.

13.3.1. libvirt 데몬 유형

RHEL 9는 다음과 같은 libvirt 데몬 유형을 지원합니다.

모놀리식 libvirt

기존 libvirt 데몬 libvirtd 는 단일 구성 파일인 /etc/libvirt/libvirtd.conf 를 사용하여 다양한 가상화 드라이버를 제어합니다.

따라서 libvirtd 는 중앙 집중식 하이퍼바이저 구성을 허용하지만 시스템 리소스를 효율적으로 사용할 수 있습니다. 따라서 libvirtd 는 향후 RHEL의 주요 릴리스에서 지원되지 않습니다.

그러나 RHEL 8에서 RHEL 9로 업데이트한 경우에도 호스트는 기본적으로 libvirtd 를 사용합니다.

모듈식 libvirt

RHEL 9에 새로 도입된 모듈식 libvirt 는 각 가상화 드라이버에 대해 특정 데몬을 제공합니다. 여기에는 다음이 포함됩니다.

  • virtqemud - 하이퍼바이저 관리를 위한 기본 데몬
  • virtinterfaced - 호스트 NIC 관리를 위한 보조 데몬
  • virtnetworkd - 가상 네트워크 관리를 위한 보조 데몬
  • virtnodedevd - 호스트 물리적 장치 관리를 위한 보조 데몬
  • virtnwfilterd - 호스트 방화벽 관리를 위한 보조 데몬
  • virtsecretd - 호스트 보안 관리를 위한 보조 데몬
  • virtstoraged - 스토리지 관리를 위한 보조 데몬

각 데몬에는 별도의 구성 파일(예: /etc/libvirt/virtqemud.conf )이 있습니다. 따라서 모듈식 libvirt 데몬은 libvirt 리소스 관리를 세부적으로 조정할 수 있는 더 나은 옵션을 제공합니다.

RHEL 9 새로 설치를 수행한 경우 모듈식 libvirt 가 기본적으로 구성됩니다.

다음 단계

  • RHEL 9에서 libvirtd 를 사용하는 경우 Red Hat은 모듈식 데몬으로 전환하는 것이 좋습니다. 자세한 내용은 모듈식 libvirt 데몬 활성화를 참조하십시오.

13.3.2. 모듈식 libvirt 데몬 활성화

RHEL 9에서 libvirt 라이브러리는 호스트의 개별 가상화 드라이버 세트를 처리하는 모듈식 데몬을 사용합니다. 예를 들어 virtqemud 데몬은 QEMU 드라이버를 처리합니다.

RHEL 9 호스트 새로 설치를 수행한 경우 하이퍼바이저는 기본적으로 모듈식 libvirt 데몬을 사용합니다. 그러나 호스트를 RHEL 8에서 RHEL 9로 업그레이드하는 경우 하이퍼바이저는 RHEL 8의 기본값인 모놀리식 libvirtd 데몬을 사용합니다.

이러한 경우 libvirt 리소스 관리를 세밀하게 조정할 수 있는 더 나은 옵션을 제공하기 때문에 대신 모듈식 libvirt 데몬을 활성화하는 것이 좋습니다. 또한 libvirtd 는 향후 RHEL의 주요 릴리스에서 지원되지 않습니다.

사전 요구 사항

  • 하이퍼바이저는 모놀리식 libvirtd 서비스를 사용합니다.

    # systemctl is-active libvirtd.service
    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. 선택 사항: 원격 호스트에서 호스트에 연결해야 하는 경우 가상화 프록시 데몬을 활성화하고 시작합니다.

    1. 시스템에서 libvirtd-tls.socket 서비스가 활성화되어 있는지 확인합니다.

      # cat /etc/libvirt/libvirt.conf | grep listen_tls
      
      listen_tls = 0
    2. libvirtd-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}.socket
    3. libvirtd-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}.socket

      virtproxyd 의 TLS 소켓을 활성화하려면 호스트에 libvirt 와 작동하도록 TLS 인증서가 구성되어 있어야 합니다. 자세한 내용은 Upstream libvirt 설명서 를 참조하십시오.

검증

  1. 활성화된 가상화 데몬을 활성화합니다.

    # virsh uri
    qemu:///system
  2. 호스트가 virtqemud 모듈식 데몬을 사용하고 있는지 확인합니다.

    # systemctl is-active virtqemud.service
    active

    상태가 활성 상태인 경우 모듈식 libvirt 데몬이 성공적으로 활성화되었습니다.