PVE+LEDE+DSM——配置直通问题汇总
创作立场声明:纯小白,从各类网站上摸索调试技巧,各位轻拍砖。
前言
上一篇说到我用J3455装了一台all in one设备,这篇用来记录下proxmox配置的过程,留作记录,以免以后平台出了什么问题重新调试的时候两眼一抹黑。
这套平台的折腾过程可谓坎坷,一切从零开始,所有的东西都靠现学。最开始用PVE装了LEDE和黑群晖,准备做电视盒子直通核显时一直没成功,由于看到环境被改动的挺多,一气之下推倒重建,又入了EXSi的坑。EXSi虽然直通配置起来方便,但是可能j3455这块主板外挂的ASM的SATA控制器有问题,群晖频繁掉盘,最后兜兜转转我又回到了Proxmox的平台。下边就细数一下这套系统在配置过程中遇到的问题和解决办法。
由于站上关于pve、lede、黑群晖的安装教程已经够多了,我这里就不再重复介绍了,这里只说我遇到的细节问题。
群晖直通SATA控制器
直通SATA控制器的目的跟直通单块硬盘不同,直通单块硬盘本质上还是把硬盘地址映射给黑裙的虚拟机,而直通SATA控制器以后群晖就能自动识别控制器上插的硬盘,哪怕换盘也不需要在PVE更改什么参数,而且硬盘的厂商和SMART信息也可以被群晖自动识别到。而且硬盘也可以拿出去插到别的群晖机器上读取数据,这样可以大大提升兼容性,避免All in One设备炸了导致数据全军覆没。
实现方法
根据网上找到的资料,分为以下几步:
修改 grub:
shell里输入 nano /etc/default/grub
找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"
修改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
如果是amd cpu改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
保存退出后输入 update-grub修改 modules
shell里输入 nano /etc/modules
在其中依次增加
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
保存退出后重启增加PCI设备后虚拟机无法启动
shell里输入 nano /etc/modprobe.d/pve-blacklist.conf
在其中增加一行 options vfio_iommu_type1 allow_unsafe_interrupts=1
这里一定注意往虚拟机里添加的直通SATA控制器上不能插有PVE的系统盘,不然可能就得重装PVE了。
问题一:IOMMU分组
完成上边步骤,在给虚拟机添加PCI设备时会发现PCI设备的iommu组号有些是相同的,这样在直通完SATA控制器或者网卡后会把其他设备也给直通出去,比如主板自带网卡,导致虚拟机无法启动甚至PVE宿主机失去通信。下面的图是iommu分组全部打乱以后的结果,如果有组号一样的设备就得注意这个问题了。
这个问题的解决方案是用站内这位大佬的方法编译PVE内核,我为了图省事没有自己编译,直接用了这位大佬编译好的内核,感谢,已打赏。
这一步非常重要,后边想要更灵活的直通操作基本上也绕不过这一步骤。
问题二:直通SATA控制器后群晖掉盘
在我用EXSi期间,想要直通SATA控制器只能直通ASM的那个,主板原生的SATA控制器是灰色的无法操作,也有可能是我系统盘插在原生SATA口上,后续我就没有再试过了。然而这样操作以后群晖用了没多久就掉盘了,最初我以为是EXSi兼容性的问题,然后我又换回了PVE。然而搞定了上边的iommu分组之后,直通完的SATA控制器还是会掉盘,这时我就想到换个SATA控制器试试。我把系统盘挪到了ASM的SATA口上,在虚拟机直通了板载原生SATA控制器,这次问题完美解决。
后来我又在论坛上看到了其他帖子说J3455的sata控制器的问题,发现主板上这个ASM的控制器问题真的很多,不止我一个人在直通了这个控制器以后都发生了掉盘。如果有遇到跟我一样的问题的人,推荐把系统盘装在ASM控制器上,再把下边的这个设备直通。
直通网卡给LEDE/黑群晖
由于我的机器只有一个pcie x1的接口,而且机箱预留的孔位只有一个单网口,虽然有机箱卖家有卖M.2无线网卡转千兆有线网卡,接在串口预留位置上,但是价格偏贵,150大洋,个人感觉不是很值。由于只有一个外接网卡,所以用在何处需要考虑一下。原本我一直是把外接的RTL8111网卡直通给LEDE当WAN口使用,这样用起来最省心,配置起来也方便。这两天我才研究用VLAN配置单臂路由,把网口直通给群晖的方案。下面我把两种方案对比一下。
首先说一下LEDE直通网卡,黑群晖用E1000虚拟网卡的方案,这里只需要注意一下不要把板载网卡直通出去。不确定哪个是板载网卡的话可以去proxmox的网络设置里看看,一般设置好IP的就是pve正在用的网卡。可以看到端口号是enp1s0,另外一个空着的网卡是enp4s0,然后再进虚拟机添加PCI设备的界面,找到ID为01:00.0和04:00.0的两个设备是网卡,驱动型号一模一样,01:00.0对应的就是enp1s0,这个不要直通,把04:00.0直通了就ok。
考虑到我的外网带宽只有不到100M,没必要给这小水管专门分配一个网卡,所以最近我又研究了一下把网卡直通给群晖,LEDE设置成了单臂路由。
问题一:群晖用E1000虚拟网卡网速低
我实测用E1000的话,局域网文件互传速度最高只有60MB/s,如果不增加网口的话,这个问题得通过换黑群晖引导文件解决,找一个支持VirtIO网卡模型的黑群晖引导,重装一遍黑群晖,这个据说可以跑满千兆,但是我没有尝试。缺点可能是这个引导不支持群晖6.2以上,不知道最近更新没有。
问题二:直通网卡给群晖,局域网拷文件时掉网
这个问题真的是玄学,当我把网卡直通给了群晖以后,用samba从群晖里拷文件时会出现过一分钟后就显示网络连接异常,接着群晖就断网了,所以我一直没敢删PVE到虚拟机的虚拟网卡。
论坛上找到了跟我一样现象的帖子,发现问题的解决办法是群晖的内存设置成2G。我原本给群晖分的4G内存,改成2G后这个问题就没咋发生了,用直通的网卡基本能跑满千兆了,但是似乎速率不太稳定。这姑且算作一个解决办法,只是内存少了必然会影响性能,我改完使用时间还不久,其他影响还得继续观察。
LEDE单臂路由
想要效果比较好的单臂路由,最好是需要一个支持VLAN的交换机,在交换机上把LAN和WAN划分成两个VLAN,这样不容易出现网络风暴。
交换机配置
我用的交换机型号是网件GS105Ev2,五口网管交换机。交换机VLAN配置如下:
1、2口作为WAN口,分配成VLAN 100的access口,pvid设置成100,设置完成后把两个口默认的VLAN 1删掉。3、4、5口作为LAN口,VLAN ID不用改,就用VLAN 1。5口设置为trunk口,连接PVE主机,允许VLAN1和VLAN100通过,pvid为1。
LEDE配置
交换机配置完以后,5口就变成了trunk口,不能直接连PC,需要在PVE上或者LEDE上做些更改。PVE上加VLAN比较麻烦,此时如果是Exsi会方便点,我选择在LEDE上配置。LEDE自带有一个NUC模式,是专门为单网口主机准备的,但是用不着开这个模式,自己配置起来也很方便。这里用到了LEDE的虚接口,在选择lan/wan的物理接口时,在最下方的自定义栏里输入网口对应的编号,后边加.x即可创建虚接口,这个x就是VLAN ID。
比如配置WAN口时,在自定义栏里输入eth0.100,就可以创建一个VLAN 100的虚接口。系统默认eth0等同于eth0.1,所以LAN口直接用eth0就可以了,改不改成eth0.1无所谓。这样就完成了LEDE的VLAN配置,还是比较简单的。LAN口和WAN口的功能设置跟双物理网口时一样,没什么需要特别注意的。
问题一:
网上有其他教程说可以不用设置VLAN,用交换机或者路由器关闭DHCP当交换机使也能实现上网,LAN口关闭桥接,LAN和WAN都使用eth0就可以,然后把防火墙里的LAN区域和WAN区域设置为互通。我最开始用的就是这种办法,这样确实可以拨号上网,可是这样WAN口每隔几个小时就会报错断网,我猜测是网络风暴了。正好我之前买来接多路由当AP的交换机有VLAN功能,划分了VLAN以后问题解决。所以单网口软路由最好还是把LAN和WAN做好隔离,免得相互干扰。











值友1948146019
校验提示文案
足迹大神
校验提示文案
东北阿giao桑
校验提示文案
Vinson-Zhang
校验提示文案
一天天的就知道吃
校验提示文案
貔咖酋
校验提示文案
许夏凡
校验提示文案
Vilam
校验提示文案
imEgo
校验提示文案
涛涛joe
校验提示文案
宅平
校验提示文案
lifigo
校验提示文案
TNT-Kevin
校验提示文案
不语小强
Openwrt里wan口设置eth0. 2,lan口设置eth0. 2,iptv口设置eth0. 3桥接eth1,看iptv和上网都正常,就是连不上pve,也ping不通。是否需要在pve下设置vlan,如何设置呢?
校验提示文案
值友6250009331
校验提示文案
混也是一种生活
校验提示文案
BanKnight
校验提示文案
广州天宇
校验提示文案
DidierLee
校验提示文案
假装不会死
校验提示文案
值友1948146019
校验提示文案
值友3088816291
校验提示文案
askiz
校验提示文案
值友6250009331
校验提示文案
不语小强
Openwrt里wan口设置eth0. 2,lan口设置eth0. 2,iptv口设置eth0. 3桥接eth1,看iptv和上网都正常,就是连不上pve,也ping不通。是否需要在pve下设置vlan,如何设置呢?
校验提示文案
TNT-Kevin
校验提示文案
lifigo
校验提示文案
宅平
校验提示文案
独孤HRU侠
校验提示文案
[已注销]
校验提示文案
jimmyjin
校验提示文案
假装不会死
校验提示文案
涛涛joe
校验提示文案
DidierLee
校验提示文案
广州天宇
校验提示文案
imEgo
校验提示文案
Vilam
校验提示文案
BanKnight
校验提示文案
许夏凡
校验提示文案
貔咖酋
校验提示文案