「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

2023-11-08 13:14:10 11点赞 60收藏 12评论
「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

大家好,看过我文章的小伙伴们可能有所了解,我近几年一直使用 TrueNAS Scale,不过这个系统为了安全很多自定义功能更新了会失效,所以下决心迁移,一直到近期入手了U盘开始搞!

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

近期还新入手了一个 万兆交换机,也是迁移开始的原因!

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

Install PVE 安装PVE

此处省略 1K

Make install Media 制作安装介质

此处省略 1K

重点开始

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

Kernel configure 内核设置

grub configure 引导设置

编辑下面文件

nano /etc/default/grub

文件如下

intel_iommu=on

iommu=pt

video=efifb:off

i915.enable_gvt=1

pci_pt_e820_access=on

pci=assign-busses

pcie_acs_override=downstream,multifunction

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

Kernel modlues 编辑下面文件

nano /etc/modules-load.d/modules.conf

文件如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

intel gvt configure 英特尔虚拟显卡设置

编辑下面文件

nano /etc/modules-load.d/gvt.conf

文件如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

# below is gvt need modlues

# 下面是intel gvt所需的驱动么,每一行一个驱动!

kvmgt

mdev

gvt直通给win10 guest,plex转码测试

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

硬件转码成功,说明调用了显卡!

pci passthru pci直通需要设置

编辑下面文件

nano /etc/modprobe.d/vfio.conf

文件如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

查看pci id,命令行下面输入

cmd input like this

lspci -nn -D

输出类似下面内容

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

内容组成

0000:00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ec6] (rev 07)

1. pci id 总线位置 ;

2. 设备名称;

3. 制造商和型号 id 8086:3ec6 ,大家注意到只要是intel的设备都是8086,那是因为这个8086就是制造商的代码;

4. 电源状态, rev 07 rec 10,如果是断电是rev ff, 我记得大概是这样。

sr-iov 设置

sr-iov 科普

SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的 I/O 性能。SR-IOV 规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到 I/O 设备。

sr-iov 常用领域

  1. 主要是网络设备;

  2. 显卡设备, Intel比较新的显卡也支持这个技术;

查看设置是否支持 sr-iov

一般来说10G以上的网卡才支持这个技术,显卡也是特定设备才支持。Intel 12代以后的核显好像支持,具体自己查一下,我手头没有设备所以没有太关注这个。

命令代码

  1. 查询网卡 pci address;

    lspci | grep -i net

内容类似

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

或者

cmd# ethtool -i enp3s0f0

内容如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移
  1. 查看设备是否支持 SR-IOV

    cmd# lspci -v -s 0000:03:00.0

内容如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

Notice

Capabilities: [160] Single Root I/O Virtualization (SR-IOV)

有这句就是支持 SR-IOV

注意⚠️注意⚠️注意⚠️ | Notice

开始设置之前,建议更新initramfs和grub


因为开启相关直通,重启后设备会更改pci设备的地址,比如我的网卡设备地址就从 1,2,3,4; 变成了 6,7,8,9; 万兆网卡的pci设备地址也发生了变化。

update-initramfs -u -k all

update-grub

proxmox-boot-tool refresh

重启设备

reboot

开始设置

编辑下面文件

/etc/modprobe.d/sr-iov.conf

内容如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

根据pve文档建议,用sysfs修改

安装sysfsutils工具

apt install sysfsutils

修改sysfs.conf

nano sysfs.conf

原来内容如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

结尾添加如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

SR-IOV 开机相关设置

需要设置好相应的虚拟网卡 mac address,还有设置好开机启动,pve默认网卡的行为是down!

开机简单脚本

cat /lib/systemd/system/sr-iov.service

内容如下

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

设置文件

/usr/bin/sr-iov.sh

内容如下

cat /usr/bin/sr-iov.sh

保存下面内容

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

添加执行权限

chmod +x sr-iov.sh

启动守护进程

systemd daemon-reload systemd enable sr-iov

收尾工作

更新initramfs

update-initramfs -u -k all

更新grub 引导程序

update-grub proxmox-boot-tool refresh

重启机器

reboot

Enjoy && 享受你的PVE欢乐人生

thanks for reading!!!

最后还给 iPhone 15 Pro Max 入手了一个U盘!

「一个 U 盘引发的血案」--从 PVE 到万物皆可迁移

欢迎加入圈子

由于张大妈贴代码不方便,只能这样了!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
12评论

  • 精彩
  • 最新
  • 置顶 小伙伴们,我这次把底层切换到pve了!

    校验提示文案

    提交
    [欢呼] 来了来了~

    校验提示文案

    提交
    收起所有回复
  • 大神,你这是ai写的吗?看不懂。懵了……

    校验提示文案

    提交
    还真不是

    校验提示文案

    提交
    收起所有回复
  • pve跟,debian+kvm有区别吗

    校验提示文案

    提交
    差不多,pve有自己写的管理工具,还有内核也定制了

    校验提示文案

    提交
    收起所有回复
  • 参阅技术文档 [高兴]

    校验提示文案

    提交
  • 折腾不止

    校验提示文案

    提交
  • 我也想试试!

    校验提示文案

    提交
  • 哇,真好啊!

    校验提示文案

    提交
  • pve和unraid我还是喜欢unraid,直观,不需要打命令,全程鼠标搞定

    校验提示文案

    提交
  • 最后一段与本文有啥关系?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
60
扫一下,分享更方便,购买更轻松