이 문서에서는 단일 실제 네트워크 포트를 구성하여 VM(가상 머신) 집합에 VF(가상 기능)를 제공할 수 있는 SR-IOV(단일 루트 I/O 가상화)를 사용하는 방법을 설명합니다. 이더넷 컨트롤러에 따라 물리적 포트당 63개 이상의 VF를 생성할 수 있습니다. 그런 다음 하이퍼바이저 네트워크 스택(및 스위치 계층)을 우회하여 포트와 VM 간에 네트워크 데이터를 직접 전송하면 버스의 트래픽과 프로세서 인터럽트가 크게 줄어듭니다.
SR-IOV는 여러 운영 체제(하이퍼바이저 및 게스트 OS 모두)의 다양한 이더넷 컨트롤러에서 사용할 수 있습니다. 이 문서에서는 Fedora* 4.0.3에서 SR-IOV를 사용하여 VF를 만드는 기본 단계를 다룹니다.
이 섹션에서는 SR-IOV를 구성하는 데 필요한 기본 단계를 안내합니다.
SR-IOV
가 있는 인텔® 이더넷 서버 어댑터에 대한 FAQ를 확인하여 이더넷 컨트롤러, 하이퍼바이저 및 게스트 OS가 지원되는지 확인하십시오.iommu
(또는 Intel VT-d
)가 활성화되어 있는지 확인합니다.
참고: iommu
를 사용하면 가상 메모리 주소를 물리적 주소에 매핑할 수 있습니다.
intel_iommu=on iommu=pt
update-grub
명령을 입력해야 합니다.mesg | grep Virtualization ##shows if VT-d is enabled cat /proc/cmdline ##checks that iommu parameters were passed cd /root/DPDK/dpdk-16.07 ##checks for DPDK and moves to next step tools/dpdk-devbind.py --st ##checks network devices status
modprobe uio insmod igb_uio.ko
echo 1 > /sys/bus/pci/devices/0000\:04\:00.0/SR-IOV_numvfs echo 1 > /sys/bus/pci/devices/0000\:04\:00.1/SR-IOV_numvfs
lspci | grep Eth OR ./dpdk-devbind.py --st cat /sys/bus/pci/devices/0000\:04\:00.0/SR-IOV_numvfs cat /sys/bus/pci/devices/0000\:04\:00.1/SR-IOV_numvfs
참고: 이 단계에서는 물리적 NIC의 각 포트에 대해 하나의 VF를 생성했습니다. 요구 사항 및 물리적 NIC의 용량에 따라 많은 VF를 생성할 수 있습니다. 예를 들어 Intel 82599 10기가비트 이더넷 NIC를 사용하는 경우 포트당 최대 63개의 가상 기능을 사용하도록 설정할 수 있습니다. http:/ark.intel.com 에서 NIC 사양을 찾으십시오. 지원되는 VF 수에 대한 정보는 제품 개요를 참조하십시오.