Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.2. vhost-net 비활성화

vhost-net 모듈은 virtio 패킷 처리 작업을 사용자 공간( QEMU 프로세스)에서 이동하고 커널(vhost-net 드라이버)으로 이동하여 가상화 오버헤드를 줄이는 virtio 네트워킹의 커널 수준 백엔드입니다. vhost-net은 virtio 네트워크 인터페이스에만 사용할 수 있습니다. vhost-net 커널 모듈이 로드되면 모든 virtio 인터페이스에 대해 기본적으로 활성화되어 있지만 vhost-net이 사용 중일 때 특정 워크로드가 성능이 저하되는 경우 인터페이스 구성에서 기본적으로 활성화될 수 있습니다.
특히 UDP 트래픽이 호스트 시스템에서 해당 호스트의 게스트 가상 시스템으로 전송되면 게스트 가상 머신이 수신되는 데이터를 호스트 시스템이 전송하는 속도로 처리하면 성능 저하가 발생할 수 있습니다. 이 경우 vhost-net 을 사용하면 UDP 소켓의 수신 버퍼가 더 빠르게 오버플로우되어 패킷이 손실됩니다. 따라서 트래픽 속도가 느려지고 전체 성능을 개선하기 위해 vhost-net 을 비활성화하는 것이 좋습니다.
vhost-net 을 비활성화하려면 게스트 가상 머신의 XML 구성 파일에서 <interface> 하위 요소를 편집하고 다음과 같이 네트워크를 정의합니다.
<interface type="network">
   ...
   <model type="virtio"/>
   <driver name="qemu"/>
   ...
</interface>
드라이버 이름을 qemu 로 설정하면 패킷 처리를 QEMU 사용자 공간으로 강제 비활성화하여 해당 인터페이스에 대해 vhost-net을 효과적으로 비활성화합니다.