13代 intel 核显 pve 下开启 sr-iov 并直通给 linux 虚拟机使用的详细教程

虽然可能并不是很详细。

首先是 https://github.com/moetayuko/intel-gpu-i915-backports 这个是宿主机的模块仓库,按照说明安装。6.8内核是可用的

然后有一些内核命令行参数比如 i915.enable_guc=3 i915.max_vfs=7 ,这些都是网上已经有详细说明如何设置的。还有用sysfs-utils创建vf,网上都有教程。

然后虚拟机的话,目前发现换pve内核最简单。

添加一个pve源,以及gpg密钥

wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

然后 apt install proxmox-kernel-6.8 apt install proxmox-headers-6.8
apt install ./intel-i915-dkms_1.24.1.19.240119.1.nodrm+i3-1_all.deb

再移除老内核apt remove linux-image-amd64 等等

这样就可以了。虚拟机配置选q35+ovmf实测可以出/dev/dri/renderD128。如果有问题一般是内核头版本不对之类的。

然后有个小坑,pve内核用portainer_agent,需要这样:

name: portainer_agent
services:
  agent:
    image: portainer/agent:latest
    container_name: portainer_agent
    restart: always
    security_opt:
      - apparmor:unconfined
    ports:
      - "192.168.2.215:9001:9001"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes

apparmor:unconfined 是为了防止docker.sock没权限。

另外还有一些其他的,比如使用docker的同时如果要保持iptables和ip6tables的forward是accept,需要先把sysctl这边转发开启来,然后daemon.json不要开ip6tables,使用ipv6nat。主要是docker自己操作ip6tables似乎会把规则变drop,而且不容易改回来。

{
 "ipv6": true,
 "ip6tables": false,
 "fixed-cidr-v6": "fd00:aaaa:0000:0000::/64",
 "default-address-pools": [
     {"base": "172.17.0.0/16", "size": 24},
     {"base": "fd00:aaaa:0000:1::/64", "size": 80}
 ]
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇