pve网卡、核显直通,系统时间修正及自动同步

一、pve折腾遇到的问题

以前这个i5-8350u小主机安装过pve,能正常运行。好久没用pve了,周末没事闲的折腾。

把吃灰的占美小主机拿出来装pve8.1-3,原来都是把iso镜像复制到ventoy,结果报错不能发现iso文

件!换了好几个u盘都是这样!

搜索一圈,原来ventoy不支持这个版本,换了rufus刻录iso镜像成功安装!

顺利装上虚拟机,md一会儿就断网没反应,重启后过一阵儿还断!难道是小主机吃灰久了坏了?

先把虚拟机备份了再说吧!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

不死心,重新下载安装pve7.4-3试试,导入虚拟机,再观察观察!

装完就睡觉了,早上起来一看又断网了!看来不是pve版本的事。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

接着折腾,小主机原装只有一个螃蟹网卡,先前为了折腾路由动手添加了一个i210网卡。

安装pve时设置的管理网口是螃蟹网卡,这样一来多个虚拟机就会共用螃蟹网卡,想了想可能是螃蟹网卡不

堪重负,于是将管理网口改为i210再试试。

现在已经正常运行半天了,没有断网,再观察观察!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

管理网口换为i210后,目前已稳定运行8个多小时,应该是稳了,螃蟹网卡不堪重用啊!买小主机还是得认

准intel网卡!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

入户300Mb宽带,wan口单线复用。

螃蟹网卡当wan口虽能正常运行,但测速螃蟹网卡很难上40MB,intel网卡能跑到40+MB。

====================================================================

二、网卡直通openwrt

为解决螃蟹网卡wan口虚拟化速度慢的问题,决定将螃蟹网卡直通openwrt,步骤命令如下:

#打开shell输入
nano /etc/default/grub

在里面找到:GRUB_CMDLINE_LINUX_DEFAULT=”quiet”,修改为。

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

ctrl+x保存。

#更新一下
update-grub

#重启系统
reboot

修改文件 /etc/modules

nano /etc/modules

加入如下内容,ctrl+x保存。

vfio
 vfio_iommu_type1
 vfio_pci
 vfio_virqfd

虚拟机中添加pci设备,选中螃蟹网卡

移除原来的虚拟wan口,重启虚拟机。搞定!

测速恢复正常

====================================================================

三、核显直通ubuntu虚拟机

1、启动内核IOMMU支持

打开PVE节点的shell,输入命令

nano /etc/default/grub

将GRUB_CMDLINE_LINUX_DEFAULT列改成如下:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off,vesafb:off"

编辑完文件后按“Ctrl + X” > “Y” > “回车”,确认保存并退出,然后更新一下引导配置:

update-grub

2、加载硬件直通相关模块

在PVE的shell中输入:

nano /etc/modules

加入如下内容,ctrl+x保存。

vfio
 vfio_iommu_type1
 vfio_pci
 vfio_virqfd

3、添加驱动黑名单

编辑PVE系统的驱动黑名单配置文件:

nano /etc/modprobe.d/blacklist.conf

这个文件原来不存在,打开里面是空白的,添加以下内容:

blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

这些是PVE系统核显相关的驱动,添加到“blacklist.conf”文件后,PVE系统将不加载核显的驱动,留给虚拟机用。

4、绑定核显到vfio模块

查看核显以及声卡的供应商和设备ID

lspci -n | grep -E "0300|0403"

输出如下:

00:02.0 0300: 8086:5917 (rev 07)
00:1f.3 0403: 8086:9d71 (rev 21)

其中“8086:5917”和“8086:9d71”分别就是核显和声卡的供应商ID和设备ID,把它们绑定到vifo模块:

echo "options vfio-pci ids=8086:5917,8086:9d71" > /etc/modprobe.d/vfio.conf

其他主板或CPU核显和声卡的硬件ID会不一样,请根据实际情况添加。

最后更新配置信息并重启PVE主机

update-initramfs -u
reboot

重启上来之后检查模块是否正常加载:

lsmod | grep vfio

有类似输出说明就是正常的:

vfio_pci               16384  3
vfio_pci_core          73728  1 vfio_pci
vfio_virqfd            16384  1 vfio_pci_core
irqbypass              16384  24 vfio_pci_core,kvm
vfio_iommu_type1       45056  2
vfio                   45056  10 vfio_pci_core,vfio_iommu_type1

进入虚拟机硬件设置,添加pci设备,选择核显、声卡如下图。重启虚拟机生效。

====================================================================

四、修改pve系统时间及自动更新

安装完pve遇到系统时间与实际不符,比实际晚两年多,用如下方法实测管用。

1、设置系统时间与硬件时间一致

 #查看硬件的时间
 hwclock --show

#设置硬件时间
hwclock --set --date '2024-01-20 18:22:00' 

#设置系统时间和硬件时间同步
hwclock --hctosys   

#让系统时间和硬件时间保持一致
hwclock -s  

2、设置内网时间同步

#安装时间同步插件
apt install systemd-timesyncd

#修改时间服务器
nano /etc/systemd/timesyncd.conf

#添加阿里时间同步服务器将这行加到里面保存
NTP=ntp.aliyun.com

#重启服务
systemctl restart systemd-timesyncd.service
systemctl enable systemd-timesyncd.service

You may also like...

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注