🧩 Jak naprawić błędy związane z konfiguracją SR-IOV?
🌐 Czym jest SR-IOV i dlaczego jest ważne w środowiskach wirtualizacji?
Wirtualizacja to nie tylko uruchamianie maszyn wirtualnych, ale również optymalizacja ich wydajności. W przypadku dużych środowisk produkcyjnych, gdzie liczy się każda milisekunda opóźnienia, kluczowym elementem może być technologia SR-IOV (Single Root I/O Virtualization).
SR-IOV umożliwia bezpośrednie przypisanie wirtualnych funkcji urządzenia PCI (np. kart sieciowych) do maszyn wirtualnych, co pozwala zminimalizować narzut hypervisora i znacząco zwiększyć przepustowość sieci.
Niestety, konfiguracja SR-IOV bywa skomplikowana i łatwo popełnić błędy. Poniżej znajdziesz szczegółowy przewodnik naprawczy.

⚠️ Typowe błędy przy konfiguracji SR-IOV
❌ 1. SR-IOV niedostępne w BIOS/UEFI
SR-IOV musi być najpierw aktywowane w ustawieniach firmware serwera.
❌ 2. Nieobsługiwana karta sieciowa
Nie każda karta NIC wspiera SR-IOV. Wymagana jest zgodność sprzętowa i sterowniki z obsługą wirtualizacji.
❌ 3. Brak wsparcia ze strony hypervisora
Nie wszystkie wersje platform do wirtualizacji (np. VMware, Hyper-V, Proxmox, KVM) mają domyślnie aktywną obsługę SR-IOV.
❌ 4. Błędne ustawienia liczby VF (Virtual Functions)
Jeśli nie skonfigurowano odpowiedniej liczby funkcji wirtualnych, maszyny nie będą mogły korzystać z SR-IOV.
❌ 5. Konflikty z innymi technologiami (np. IOMMU, VT-d)
SR-IOV wymaga aktywacji technologii VT-d (Intel) lub AMD-Vi oraz poprawnego działania IOMMU.
🛠️ Krok po kroku: Jak naprawić błędy związane z SR-IOV?
✅ Krok 1: Sprawdź i włącz SR-IOV w BIOS/UEFI
🔧 Nieaktywna funkcja SR-IOV w BIOS to najczęstszy błąd konfiguracji.
- Uruchom BIOS/UEFI (zwykle klawisz DEL/F2 podczas startu)
- Przejdź do sekcji:
Advanced > PCIe Settings
lubI/O Virtualization
- Ustaw
SR-IOV
naEnabled
- Zapisz zmiany i uruchom ponownie serwer
✅ Krok 2: Zweryfikuj sprzęt
🧩 SR-IOV wymaga zgodnych komponentów – zarówno karta sieciowa, jak i płyta główna oraz CPU muszą je wspierać.
- Sprawdź dokumentację NIC (np. Intel X520, Mellanox ConnectX)
- Upewnij się, że sterownik karty obsługuje SR-IOV
- W systemie Linux użyj:
lspci | grep -i eth lspci -v -s <adres> # sprawdź 'SR-IOV capable: Yes'
✅ Krok 3: Włącz IOMMU i VT-d / AMD-Vi
🔄 Bez tych opcji SR-IOV nie zadziała w systemie.
- W BIOS aktywuj VT-d (Intel) lub AMD-Vi
- W systemie Linux dopisz w GRUB:
- Dla Intel:
intel_iommu=on
- Dla AMD:
amd_iommu=on
- Dla Intel:
- Zaktualizuj GRUB:
sudo update-grub sudo reboot
✅ Krok 4: Skonfiguruj liczbę funkcji wirtualnych (VF)
📊 Domyślnie SR-IOV może być nieaktywny lub udostępniać 0 funkcji.
- Edytuj sysfs:
echo 4 | sudo tee /sys/class/net/<nazwa interfejsu>/device/sriov_numvfs
- Sprawdź utworzone VF:
lspci | grep Virtual
✅ Krok 5: Dodaj VF do maszyny wirtualnej
Dla Proxmox:
- Przejdź do ustawień VM →
Hardware
→Add
→PCI Device
- Wybierz odpowiedni VF (np.
0000:03:10.1
) - Zaznacz
All Functions
iPrimary GPU
(jeśli dotyczy)
Dla KVM/QEMU:
Dodaj do konfiguracji:
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x03' slot='0x10' function='1'/>
</source>
</hostdev>
Dla VMware:
- Wybierz
Add New Device
→SR-IOV NIC
- Wybierz fizyczną kartę i przypisz VF do maszyny
✅ Krok 6: Sprawdź, czy VM widzi urządzenie SR-IOV
W systemie Linux (VM):
lspci | grep Eth
dmesg | grep eth
W systemie Windows:
- Menedżer urządzeń > Karty sieciowe
- Powinien pojawić się nowy adapter PCIe
🧠 Częste błędy i ich szybkie naprawy
Błąd | Przyczyna | Rozwiązanie |
---|---|---|
SR-IOV nieaktywne | Wyłączone w BIOS | Włącz SR-IOV i VT-d/AMD-Vi |
Brak funkcji VF | VF nieprzydzielone | Skonfiguruj sriov_numvfs |
NIC niewidoczna w VM | Brak przypisania VF | Dodaj urządzenie PCI do VM |
VF dzielona z inną VM | Konflikt IOMMU | Sprawdź grupy IOMMU i separację |
Błędy w logach vfio-pci |
Brak załadowanego sterownika | Dodaj vfio-pci do initramfs |
📘 Przykład – konfiguracja SR-IOV w Proxmox
# Włącz VF (np. 4 funkcje na karcie enp3s0f0)
echo 4 > /sys/class/net/enp3s0f0/device/sriov_numvfs
# Dodaj VF do maszyny w GUI
# Proxmox > VM > Hardware > Add > PCI Device > wybierz VF
# Sprawdź dostępność w VM
lspci | grep Eth
📊 Podsumowanie
Technologia SR-IOV umożliwia maksymalną wydajność urządzeń PCI w środowiskach wirtualnych, ale wymaga precyzyjnej konfiguracji – zarówno na poziomie BIOS, jak i systemu operacyjnego oraz platformy wirtualizacyjnej. Dzięki temu przewodnikowi krok po kroku możesz łatwo zdiagnozować i naprawić najczęstsze problemy z SR-IOV oraz przywrócić sprawne działanie środowiska opartego o wirtualizację.