Για να ενεργοποιήσετε τη λειτουργία SR-IOV στο KVM, εκτελέστε τα ακόλουθα βήματα.
Προϋποθέσεις
Αυτό απαιτεί μια συγκεκριμένη κάρτα NIC. Τα ακόλουθα chipset έχουν πιστοποιηθεί από την VMware ότι λειτουργούν με την Πύλη SD-WAN και το SD-WAN Edge.
- Intel 82599/82599ES
- Intel X710/XL710
Σημείωση: Πριν χρησιμοποιήσετε τις κάρτες Intel X710/XL710 σε λειτουργία SR-IOV σε KVM, βεβαιωθείτε ότι οι υποστηριζόμενες εκδόσεις υλικολογισμικού και προγράμματος οδήγησης που καθορίζονται στην ενότητα
Προϋποθέσεις ανάπτυξης είναι σωστά εγκατεστημένες.
Σημείωση: Η λειτουργία SR-IOV δεν υποστηρίζεται, εάν το εικονικό Edge KVM αναπτυχθεί με τοπολογία υψηλής διαθεσιμότητας. Για αναπτύξεις υψηλής διαθεσιμότητας, βεβαιωθείτε ότι το SR-IOV δεν είναι ενεργοποιημένο για το συγκεκριμένο ζεύγος KVM Edge.
Για να ενεργοποιήσετε το SR-IOV στο KVM:
- Ενεργοποιήστε το SR-IOV στο BIOS. Αυτό θα εξαρτηθεί από το 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.
- Επανεκκίνηση
- Βεβαιωθείτε ότι το 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:~$
- Με βάση το chipset NIC που χρησιμοποιείται, προσθέστε ένα πρόγραμμα οδήγησης ως εξής:
- Για τις κάρτες Intel 82599/82599ES σε λειτουργία SR-IOV:
- Κάντε λήψη και εγκατάσταση του προγράμματος οδήγησης ixgbe από την τοποθεσία web της Intel.
- Διαμορφώστε το ixgbe (εγκατάσταση tar και sudo make).
velocloud@KVMperf1:~$ cat /etc/modprobe.d/ixgbe.conf
- Εάν το αρχείο διαμόρφωσης ixgbe δεν υπάρχει, πρέπει να δημιουργήσετε το αρχείο ως εξής.
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
- Για τις κάρτες Intel X710/XL710 σε λειτουργία SR-IOV:
- Κάντε λήψη και εγκατάσταση του προγράμματος οδήγησης i40e από την τοποθεσία web της Intel.
- Δημιουργήστε τις εικονικές λειτουργίες (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 και επανεκκινήστε τον διακομιστή.
- Για τις κάρτες Intel 82599/82599ES σε λειτουργία SR-IOV:
Επικύρωση SR-IOV (Προαιρετικά)
Μπορείτε να επαληθεύσετε γρήγορα εάν ο κεντρικός υπολογιστής σας έχει ενεργοποιημένο το SR-IOV χρησιμοποιώντας την ακόλουθη εντολή:
lspci | grep -i Ethernet
Βεβαιωθείτε ότι έχετε εικονικές συναρτήσεις:
01:10.0 Ethernet controller: Intel Corporation 82599 Ethernet Controller Virtual Function(rev 01)