首页 > GPU, GPU虚拟化, Linux GPU, 虚拟技术 > Intel GVT-g试用

Intel GVT-g试用

2022年1月29日 发表评论 阅读评论 845 次浏览

一,环境情况
1,硬件:HP246 G6
cpu:Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz
2,OS:Ubuntu 20.04.2 LTS

二,开启iommu和gvt内核
#编辑grub
$ sudo vi /etc/default/grub
在里面找到:GRUB_CMDLINE_LINUX_DEFAULT=”quiet”
然后修改为:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet intel_iommu=on i915.enable_gvt=1″

#update grub
$ update-grub

三,重启电脑后,使用如下命令加载模块
$ sudo modprobe vfio
$ sudo modprobe vfio_iommu_type1
$ sudo modprobe vfio_pci
$ sudo modprobe vfio_virqfd
$ sudo modprobe kvmgt

四,验证GVT是否开启
$ lspci | grep Graphics
00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
$ ls /sys/bus/pci/devices/0000\:00\:02.0/mdev_supported_types
i915-GVTg_V5_4 i915-GVTg_V5_8

注意:上面0000\:00\:02.0和00:02.0一致

五,安装Qemu/Kvm,安装Ubuntu虚拟机
1,BIOS里打开虚拟化功能
2,安装软件包
$ sudo apt update
$ sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
3,设置
$ sudo systemctl enable libvirtd.service
$ service libvirtd status
$ sudo systemctl is-active libvirtd
$ sudo usermod -aG libvirt $USER
$ sudo usermod -aG kvm $USER
4,打开虚拟系统管理器virt-manager,安装虚拟机Ubuntu 20.04.2 LTS

5,Ubuntu虚拟机正常运行后,在宿主机终端用ps aux | grep kvm可以查看到其详细命令。

六,创建VGPU
1,检查mdev
$ cd /sys/bus/pci/devices/0000\:00\:02.0/mdev_supported_types/i915-GVTg_V5_4/
$ cat description
low_gm_size: 128MB
high_gm_size: 512MB
fence: 4
resolution: 1920×1200
weight: 4

2,生成UUID
$ sudo apt install uuid
$ uuid -n 3
1ff599b6-80b3-11ec-b230-7fc571c329bd
1ff5a01e-80b3-11ec-b231-036fc3af505f
1ff5a208-80b3-11ec-b232-3fcbec233344

3,创建VGPU

$ sudo sh -c 'echo "1ff599b6-80b3-11ec-b230-7fc571c329bd" > "/sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_4/create"'
$ ls /sys/bus/pci/devices/0000:00:02.0/1ff599b6-80b3-11ec-b230-7fc571c329bd -l
总用量 0
lrwxrwxrwx 1 root root    0 1月  29 11:33 driver -> ../../../../bus/mdev/drivers/vfio_mdev
drwxr-xr-x 2 root root    0 1月  29 11:33 intel_vgpu
lrwxrwxrwx 1 root root    0 1月  29 11:33 iommu_group -> ../../../../kernel/iommu_groups/12
lrwxrwxrwx 1 root root    0 1月  29 11:33 mdev_type -> ../mdev_supported_types/i915-GVTg_V5_4
drwxr-xr-x 2 root root    0 1月  29 11:33 power
--w------- 1 root root 4096 1月  29 11:34 remove
lrwxrwxrwx 1 root root    0 1月  29 11:33 subsystem -> ../../../../bus/mdev
-rw-r--r-- 1 root root 4096 1月  29 11:33 uevent

4,删除VGPU【本步仅做参考,无需执行】
$ sudo sh -c ‘echo 1 > /sys/bus/pci/devices/0000:00:02.0/1ff599b6-80b3-11ec-b230-7fc571c329bd/remove’

七,使用VGPU,启动虚拟机
七.1 命令行修改运行
1,需要桥接网络,以方便宿主机和虚拟机能够互通。备注:VGPU好像需要使用远程连接才有效。
目前主机上默认就有如下信息,无需准备其他。
$ ls /etc/qemu-ifup
/etc/qemu-ifup
$ brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.024231ad48d1 no
virbr0 8000.525400245dd9 yes virbr0-nic

网卡对应的参数为:
-net nic,macaddr=00:A1:00:00:00:1A -net tap,script=/etc/qemu-ifup

2,使用VGPU对应的参数为:
-device vfio-pci,sysfsdev=/sys/bus/pci/devices/0000:00:02.0/1ff599b6-80b3-11ec-b230-7fc571c329bd,rombar=0,display=off,x-igd-opregion=on

3,加上远程参数:
-vnc :1

4,将上面三个参数添加到前面的虚拟机执行命令里,将虚拟机运行起来。– 我暂时没成功,囧。

七.2 virt-manager图形修改运行
1,打开virt-manager,修改虚拟机的配置,将Display Spice(显示协议Spice)改为VNC服务器。

2,设置桥接网络 — 没有网线,配置不起来?
$ sudo virsh net-destroy default
$ sudo virsh net-undefine default
$ sudo ip link delete br0 type brigde
$ sudo ip link delete virbr0 type brigde
$ sudo ip link delete virbr0-nic
–$ sudo ip link add br0 type bridge

下次找到网线再试~~~

参考:

https://foxi.buduanwang.vip/virtualization/pve/592.html/

https://github.com/intel/gvt-linux/wiki/GVTg_Setup_Guide

https://wiki.archlinux.org/title/Intel_GVT-g

https://www.linux-kvm.org/page/Networking

https://blog.csdn.net/qq_38916811/article/details/120792767

转载请保留地址:http://www.lenky.info/archives/2022/01/3007http://lenky.info/?p=3007


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.