OpenStack下显卡无法透传的问题排查

检查项:

1 确认内核是否支持iommu

cat /proc/cmdline | grep iommu有输出则正常
如果没有输出,将intel_iommu=on添加到grub启动文件当中
编辑grub文件 :vim /etc/default/grub
更新grub文件:grub2-mkconfig -o /boot/grub2/grub.cfg

2 确认VT-D是否正常

dmesg | grep -e DMAR -e IOMMU 有输出则正常

3 测试是否支持虚拟化(VT)

egrep -o '(vmx|svm)' /proc/cpuinfo查看是否有输出,有输出则正常。

4 查看模块是否加载

lsmod | grep nouveau #如果启用,则禁用 
lsmod | grep vifo #如果未启用,则加载

相关配置:

禁用虚拟机要使用的显卡驱动

1 添加黑名单

vi /etc/modprobe.d/blacklist-nouveau.conf
vim /etc/modprobe.d/blacklist.conf
#添加下列两行
blacklist nouveau
options nouveau modeset=0

2 创建新内核

方法一:
备份原来的 initramfs nouveau image镜像
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img  
创建新的 initramfs image镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)  
执行3 内核启动顺序修改方法
reboot

方法二:
#重新生成 kernel initramfs
dracut --force
执行3 内核启动顺序修改方法
reboot #重启	

3 内核启动顺序修改方法:

a 查看设备上安装了几个内核
cat /boot/grub2/grub.cfg |grep menuentry

b 查看当前内核
grub2-editenv list
saved_entry=CentOS Linux (4.9.137-1.el7.x86_64) 7 (Core)

c 修改默认启动的内核
grub2-set-default 'CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)'

4 验证结果:

lsmod | grep nouveau#重启后验证驱动是否被禁用 如果无结果显示则表明成功禁用
lspci -vv -s 07:00.0 | grep driver  查看是否加载vfio

加载模块:

modprobe vfio
modprobe vfio-pci
lsmod | grep vifo #如果未启用,则加载
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值