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