KVM에서 SR-IOV 모드를 사용하도록 설정하려면 다음 단계를 수행합니다.

사전 요구 사항

이를 위해서는 특정 NIC 카드가 필요합니다. 다음 칩셋은 SD-WAN GatewaySD-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를 사용하도록 설정하려면 다음을 수행합니다.

  1. BIOS에서 SR-IOV를 사용하도록 설정합니다. 이는 BIOS에 따라 달라집니다. BIOS 콘솔에 로그인하고 SR-IOV 지원/DMA를 확인합니다. Intel에 올바른 CPU 플래그가 있는지 확인하여 프롬프트에서 지원을 확인할 수 있습니다.
    cat /proc/cpuinfo | grep vmx
  2. Bboot(/etc/default/grub)에서 옵션을 추가합니다.
    GRUB_CMDLINE_LINUX="intel_iommu=on"
    1. update-grubupdate-initramfs -u 명령을 실행합니다.
    2. 재부팅(Reboot)
    3. 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:~$ 
  3. 사용된 NIC 칩셋에 따라 다음과 같이 드라이버를 추가합니다.
    • SR-IOV 모드의 Intel 82599/82599ES 카드에 대해 다음을 수행합니다.
      1. Intel 웹 사이트에서 ixgbe 드라이버를 다운로드하고 설치합니다.
      2. ixgbe config를 구성합니다(tar 및 sudo가 설치 수행).
        velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
      3. ixgbe config 파일이 없는 경우 다음과 같이 파일을 생성해야 합니다.
        options ixgbe max_vfs=32,32
        options ixgbe allow_unsupported_sfp=1
        options ixgbe MDD=0,0
        blacklist ixgbevf
      4. update-initramfs -u 명령을 실행하고 서버를 재부팅합니다.
      5. 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 카드에 대해 다음을 수행합니다.
      1. Intel 웹 사이트에서 i40e 드라이버를 다운로드하고 설치합니다.
      2. VF(가상 기능)를 만듭니다.
        echo 4 > /sys/class/net/device name/device/sriov_numvfs
      3. 다시 부팅 후에 VF를 지속하려면 이전 단계의 명령을 "/etc/rc.d/rc.local" 파일에 추가합니다.
      4. VF 드라이버를 비활성화합니다.
        echo “blacklist i40evf” >> /etc/modprobe.d/blacklist.conf
      5. update-initramfs -u 명령을 실행하고 서버를 재부팅합니다.

SR-IOV 유효성 검사(선택 사항)

다음 명령을 사용하여 호스트 시스템에서 SR-IOV를 사용하도록 설정했는지 신속하게 확인할 수 있습니다.

lspci | grep -i Ethernet

다음과 같이 가상 기능이 있는지 확인합니다.

01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)