KVM에서 SR-IOV 모드를 사용하도록 설정하려면 다음 단계를 수행합니다.
사전 요구 사항
이를 위해서는 특정 NIC 카드가 필요합니다. 다음 칩셋은 SD-WAN Gateway 및 SD-WAN Edge에서 작동하도록 VMware에서 인증됩니다.
- Intel 82599/82599ES
- Intel X710/XL710
참고: KVM에서 SR-IOV 모드로 Intel X710/XL710 카드를 사용하기 전에 "
배포 사전 요구 사항" 섹션에 지정된 지원되는 펌웨어 및 드라이버 버전이 올바르게 설치되어 있는지 확인하십시오.
참고: KVM 가상 Edge가 고가용성 토폴로지로 배포된 경우 SR-IOV 모드가 지원되지 않습니다. 고가용성 배포의 경우 해당 KVM Edge 쌍에 대해 SR-IOV가 사용하도록 설정되지 않았는지 확인합니다.
KVM에서 SR-IOV를 사용하도록 설정하려면 다음을 수행합니다.
- BIOS에서 SR-IOV를 사용하도록 설정합니다. 이는 BIOS에 따라 달라집니다. BIOS 콘솔에 로그인하고 SR-IOV 지원/DMA를 확인합니다. Intel에 올바른 CPU 플래그가 있는지 확인하여 프롬프트에서 지원을 확인할 수 있습니다.
cat /proc/cpuinfo | grep vmx
- Bboot(/etc/default/grub)에서 옵션을 추가합니다.
GRUB_CMDLINE_LINUX="intel_iommu=on"
- update-grub 및 update-initramfs -u 명령을 실행합니다.
- 재부팅(Reboot)
- iommu가 사용되도록 설정되어 있는지 확인합니다.
velocloud@KVMperf3:~$ dmesg | grep -i IOMMU [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.13.0-107-generic root=/dev/mapper/qa--multiboot--002--vg-root ro intel_iommu=on splash quiet vt.handoff=7 [ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.13.0-107-generic root=/dev/mapper/qa--multiboot--002--vg-root ro intel_iommu=on splash quiet vt.handoff=7 [ 0.000000] Intel-IOMMU: enabled …. velocloud@KVMperf3:~$
- 사용된 NIC 칩셋에 따라 다음과 같이 드라이버를 추가합니다.
- SR-IOV 모드의 Intel 82599/82599ES 카드에 대해 다음을 수행합니다.
- Intel 웹 사이트에서 ixgbe 드라이버를 다운로드하고 설치합니다.
- ixgbe config를 구성합니다(tar 및 sudo가 설치 수행).
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- ixgbe config 파일이 없는 경우 다음과 같이 파일을 생성해야 합니다.
options ixgbe max_vfs=32,32 options ixgbe allow_unsupported_sfp=1 options ixgbe MDD=0,0 blacklist ixgbevf
- update-initramfs -u 명령을 실행하고 서버를 재부팅합니다.
- modinfo 명령을 사용하여 설치가 성공적으로 수행되었는지 확인합니다.
velocloud@KVMperf1:~$ modinfo ixgbe and ip link filename: /lib/modules/4.4.0-62-generic/updates/drivers/net/ethernet/intel/ixgbe/ixgbe.ko version: 5.0.4 license: GPL description: Intel(R) 10GbE PCI Express Linux Network Driver author: Intel Corporation, <[email protected]> srcversion: BA7E024DFE57A92C4F1DC93
- SR-IOV 모드의 Intel X710/XL710 카드에 대해 다음을 수행합니다.
- Intel 웹 사이트에서 i40e 드라이버를 다운로드하고 설치합니다.
- VF(가상 기능)를 만듭니다.
echo 4 > /sys/class/net/device name/device/sriov_numvfs
- 다시 부팅 후에 VF를 지속하려면 이전 단계의 명령을
"/etc/rc.d/rc.local"
파일에 추가합니다. - VF 드라이버를 비활성화합니다.
echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
- update-initramfs -u 명령을 실행하고 서버를 재부팅합니다.
- SR-IOV 모드의 Intel 82599/82599ES 카드에 대해 다음을 수행합니다.
SR-IOV 유효성 검사(선택 사항)
다음 명령을 사용하여 호스트 시스템에서 SR-IOV를 사용하도록 설정했는지 신속하게 확인할 수 있습니다.
lspci | grep -i Ethernet
다음과 같이 가상 기능이 있는지 확인합니다.
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)