Linux'ta KVM cihazı geçişini nasıl etkinleştiririm?


13

MSI-GD65 Oyun anakartım ve Intel i7 4790'ım var. VT-D, bios'un CPU Özellikleri bölümünde etkinleştirildi.

Ubuntu 14.04.1 LTS kullanıyorum ve bir cihazı çıkarmaya çalıştığımda aşağıdaki mesajı alıyorum:

# virsh nodedev-detach pci_0000_00_1f_2

hata: pci_0000_00_1f_2 aygıtı sökülemedi hatası: İşlem desteklenmiyor: şu anda bu sistemde ne VFIO ne de KVM cihazı ataması desteklenmiyor

Dmesg, IOMMU hakkında bazı bilgiler içerir, ancak bunun VT-D'nin etkin olduğu anlamına gelip gelmediğini söyleyemem

$ dmesg | grep -i iommu

Dmar: IOMMU 0: reg_base_addr fed90000 ver 1: 0 kap c0000020660462 ecap f0101a
[0.027455] dmar: IOMMU 1: reg_base_addr fed91000 ver 1: 0 kap d2008020660462 ecap f010da
[0.0221 d1 I01 baz 1B0000 0

Herkes bu sistemde VT-D'yi etkinleştirmek ve PCI cihazlardan KVM misafirlerine geçmek için ne yapmam gerektiğini önerebilir mi?


VT ve VT-d'yi etkinleştirdikten sonra tam bir motorsiklet yaptınız mı?
dyasny

Yanıtlar:


11

Bu sorunun çözümü GRUB önyükleme parametrelerinizde IOMMU'yu etkinleştirmektir.

Bunu / etc / default / grub içinde aşağıdakileri ayarlayarak yapabilirsiniz

GRUB_CMDLINE_LINUX_DEFAULT = "intel_iommu = üzerinde"

Bir AMD işlemci kullanıyorsanız, amd_iommu=onbunun yerine önyükleme parametrelerine eklemelisiniz

GRUB_CMDLINE_LINUX_DEFAULT = "sessiz sıçrama amd_iommu = açık"

Sonra çalıştırın update-grubve yeniden başlatın

Bu bağlantı bana biraz yardımcı oldu: https://www.centos.org/forums/viewtopic.php?f=47&t=48115

Ayrıca bkz: https://pve.proxmox.com/wiki/Pci_passthrough

Bu, iommu'nun VT-D'ye bir AMD alternatifi olduğuna inandığım için beni biraz etkiledi.


Ve bu işe yaramazsa
CPU'nuz

5

Anonymouslemming'in cevabına ekleme: Ubuntu'da (benim için 18.04) bir hata var gibi görünüyor, bu da / etc / default / grub içindeki GRUB_CMDLINE_LINUX_DEFAULT ayarının yok sayılmasına neden oluyor.

/Etc/default/grub.d/50-curtin-settings.cfg içindeki GRUB_CMDLINE_LINUX_DEFAULT yorum yapılarak düzeltilebilir.

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1569567


1

Donanım gereksinimleriniz var gibi görünüyor çünkü başka bir modül kullanıyor (IOAPIC) Bu durumda yazılımın sonunu ayarlamanız gerekir.

Uygun cihazın ayrılmasını desteklemek için tüm ön koşulların yüklü olduğundan emin olmanız gerekir. Yüklenmemiş gibi görünüyor veya ayarlanmamış.

Böyle bir durumda kullanmaya çalışmadan önce uygun kitaplıkların ve çekirdek modüllerinin kurulu ve başlatılmış olması gerekir. Bunlar KVM kurulumunuz için çeşitli "ana bilgisayar" sistem yardımcı programları ve çekirdek modülleri olacaktır.

Yardımcı programları çalıştırmayı denemeden önce, kılavuzun uygun KVM çözümünüzü nasıl ayarlayacağınız bölümünü okumalı ve bu adımları izlemelisiniz. Sadece gerekli paketler kurulduğundan sadece ilk açılışta kurulum yapmazlar.

Söz konusu aygıt ana karta gömülü ise, teknik olarak bir PCI aygıtı değil, bir PCI Eşlemeli aygıt olabileceğini lütfen unutmayın. Bu aygıtlar aslında başka yollarla bağlanır, ancak BIOS'ları kullanılarak PCI BIOS alanına eşlenir. Sisteme nasıl bağlandıklarının çeşitli yönlerine bağlı olarak cihaz ayrılması ile uyumlu olabilir veya olmayabilir.

Ayrıca, sürücüleri birbirine bağlıysa, alt aygıtları ana aygıtları ayırmadan ayıramayabilirsiniz. Yalnızca ana aygıtı PCI denetleyicisi, PCI Köprüsü veya desteklenen başka bir Veri Yolu denetleyicisi veya köprüsü olan kesin kesinliğe sahip aygıtları çıkarabilirsiniz


Bilgi için teşekkürler. Sanırım sorum daha spesifik olmak için "Bunu KVM'de yapmak için belgeleri nereden bulabilirim?"
İsimsiz

0

Ben Centos7'dayım

Beni buraya götüren bu hata vardı ama benim sorunum (benim durumumda) güncelleme ve için satır sonuna vim /etc/sysconfig/grubekleme intel_iommu=onile değildiGRUB_CMDLINE_LINUX

Bu komutu çalıştırmak zorunda kaldım

grub2-mkconfig -o /boot/grub2/grub.cfg

sonra yeniden başlat

Not: Bununla birlikte yukarıdaki komuttan önce grub2-mkconfig'i yeniden başlatma ile çalıştırdım ve bu gördüğüm şeyden benim için hiçbir şey yapmadı.

başvuru: https://bugzilla.redhat.com/show_bug.cgi?id=1269446

Yorum 11 ve 12

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.