Saya memiliki motherboard MSI-GD65 Gaming dan Intel i7 4790. VT-D diaktifkan di bagian Fitur CPU pada bios.
Saya menjalankan Ubuntu 14.04.1 LTS dan ketika saya mencoba dan melepaskan perangkat, saya mendapatkan pesan berikut:
# virsh nodedev-detach pci_0000_00_1f_2
kesalahan: Gagal melepaskan perangkat kesalahan pci_0000_00_1f_2: Operasi tidak didukung: baik penugasan perangkat VFIO maupun KVM saat ini didukung pada sistem ini
Dmesg menyertakan beberapa informasi tentang IOMMU tetapi saya tidak tahu apakah ini berarti VT-D diaktifkan
$ dmesg | grep -i iommu
[0,027450] dmar: IOMMU 0: reg_base_addr fed90000 ver 1: 0 cap c0000020660462 ecap f0101a
[0.027455] dmar: IOMMU 1: reg_base_addr fed91000 ver ver 1: 0 cap d2008020660462 ecap f010da di
bawah IMD basis IM07
Adakah yang bisa menyarankan apa yang harus saya lakukan untuk mengaktifkan VT-D pada sistem ini dan melewati perangkat PCI ke tamu KVM?
sumber
Jawaban:
Solusi untuk masalah ini adalah dengan mengaktifkan IOMMU di parameter boot GRUB Anda.
Anda dapat melakukan ini dengan mengatur yang berikut ini di / etc / default / grub
Jika Anda menggunakan prosesor AMD, Anda harus menambahkan
amd_iommu=on
parameter boot sebagai gantinyaKemudian jalankan
update-grub
dan rebootTautan ini sedikit membantu saya: https://www.centos.org/forums/viewtopic.php?f=47&t=48115
Lihat juga: https://pve.proxmox.com/wiki/Pci_passthrough
Ini agak menghindarkan saya karena saya percaya bahwa iommu adalah alternatif AMD untuk VT-D.
sumber
Menambah jawaban Anonymouslemming: Tampaknya ada bug di Ubuntu (18,04 untuk saya), yang menyebabkan pengaturan untuk GRUB_CMDLINE_LINUX_DEFAULT di / etc / default / grub diabaikan.
Itu dapat diperbaiki dengan mengomentari GRUB_CMDLINE_LINUX_DEFAULT di /etc/default/grub.d/50-curtin-settings.cfg
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1569567
sumber
Anda tampaknya memiliki persyaratan perangkat keras karena modul lain menggunakannya (IOAPIC). Dalam hal ini Anda hanya perlu mengatur ujung perangkat lunak.
Sepertinya Anda perlu memastikan Anda memiliki semua prasyarat yang terpasang untuk mendukung pelepasan perangkat yang sesuai. Sepertinya Anda belum menginstalnya, atau belum diatur.
Anda perlu menginstal pustaka dan modul kernel yang sesuai dan diinisialisasi sebelum Anda mencoba menggunakannya dalam kasus seperti ini. Ini akan menjadi berbagai utilitas sistem "host" dan modul kernel untuk pengaturan KVM Anda.
Anda perlu membaca bagian manual tentang cara mengatur solusi KVM yang tepat, dan ikuti langkah-langkah tersebut, sebelum Anda mencoba menjalankan utilitas. Mereka tidak hanya mengatur pada peluncuran pertama hanya karena paket yang diperlukan diinstal.
Harap dicatat, bahwa jika perangkat tersebut tertanam di motherboard, itu mungkin bukan perangkat PCI, tetapi perangkat PCI-Mapped. Perangkat ini sebenarnya terpasang dengan cara lain, tetapi dipetakan ke ruang PCI BIOS menggunakan BIOS mereka. Mereka mungkin atau mungkin tidak kompatibel dengan detasemen perangkat, tergantung pada berbagai aspek bagaimana mereka terpasang ke sistem.
Selain itu, Anda mungkin tidak dapat melepaskan sub-perangkat tanpa melepaskan perangkat induk, jika driver mereka saling bergantung. Anda hanya dapat melepaskan perangkat dengan kepastian mutlak yang perangkat induknya adalah pengontrol PCI, PCI Bridge, atau pengontrol atau jembatan Bus lain yang didukung
sumber
Saya pada centos7
Saya memiliki kesalahan ini yang membawa saya ke sini tetapi masalah saya bukan dengan memperbarui (dalam kasus saya)
vim /etc/sysconfig/grub
dan menambahkanintel_iommu=on
ke akhir baris untukGRUB_CMDLINE_LINUX
Saya harus menjalankan perintah ini
lalu reboot
Catatan: Saya juga menjalankan grub2-mkconfig dengan reboot sebelum perintah di atas dan itu tidak melakukan apa pun untuk saya dari apa yang saya lihat.
referensi: https://bugzilla.redhat.com/show_bug.cgi?id=1269446
Komentar 11 dan 12
sumber