PVE加网卡后无法进入后台及网络不通问题

为了提高局域网传输速度,给 PVE NAS 机器加了一块 PCI-E 2.5G 网卡(8125),加完重启后发现机器失联,无法进入后台,且软路由等都连不上。
原因
添加了新的网卡(或调整过 IOMMU 分组)后,原桥接网卡接口名称可能会发生变化,而 PVE 的控制台绑定、网络桥接等都依赖网卡接口名称,因此出现混乱乃至失联的情况。
解决方法
1. 找到后台管理端口
首先需要找到 PVE 管理后台绑定的网口,前文说过,网卡名称发生了变化,因此管理后台绑定的网口也随之变化了,所以需要手动找到该端口。
- 如果有多余的显示器及 IO 设备:
PVE 机器接入外设,直接使用命令查询即可。 - 如果没有多余的显示器及 IO 设备:
首先将 PC IP 改成和管理后台相同网段的其他 IP,之后将原 PVE 机器管理网口的网线拔下,换网口一个一个尝试访问后台管理。
总之,肯定能进入到 PVE 后台。
2. 获取网口与网络接口名对应关系
成功进入 PVE 后台后,执行命令查看当前网卡名称及型号:
lspci | grep -i ethernet
执行结果如下:
上述图片中开头的地址为 PCI 总线地址,16 进制,根据相关规则,对应到网卡名称为 enp3s0、enp6s0、enp11s0、enp12s0。
根据硬件实际情况匹配接口名与网口位置,以我的 D1581 主板为例:
主板自带双网口,靠北的芯片是螃蟹 8111,而靠南的芯片是 Intel I210;后加的 PCI-E 2.5G 网卡芯片为 RTL8125,双网口。
因此,对应关系为:
- 主板-网口1:enp11s0
- 主板-网口2:enp12s0
- PCI-E网卡-2.5G #1:enp3s0
- PCI-E网卡-2.5G #2:enp6s0
针对其他主板,此处酌情判断即可。
3. 修改管理端口绑定
如果还想使用之前的端口做管理口,则需要修改网络端口绑定。
在节点的网络处,找到原来的管理网桥,将端口修改为要使用的网络端口:
4. 添加新网口
我的机器并没有搞网卡直通那些东西,统一使用 Linux Bridge + 虚拟机桥接方式完成网络互通。为了使用新的网卡,需要添加两个新的网桥:
5. 修改软路由接口
我的机器使用 OpenWrt 做软路由,为了方便的用上这块双口 2.5G 网卡,因此需要修改软路由接口。
首选将新的接口桥接分配给 OpenWrt 虚拟机:
之后在 OpenWrt 管理面板中,修改接口-LAN 的物理设置,将新加入的桥接接口勾选:
修改完成后,保存应用即可。
6. 验证及其他
通过上述设置,PVE 机器成功恢复连接,各个虚拟机也开始正常工作。
PC 网线直连 2.5G 网卡网口,可正常获取软路由分配的 IP 并访问网络:
加了 2.5G 网卡之后,从 PC 转移资料到 NAS 中时,可以节省不少时间:
本文中描述的内容实际为 2021 年的事情,因实际操作已过数月,内容偶有疏漏及错误,欢迎以评论的方式指出及补充。
另外 RTL8125 这个常见的 2.5G 螃蟹网卡芯片在我的 PVE 上没出现过掉网口或断流的情况,至于 ESXi 使用 8125 断流或掉网口的情况,本人实在是不清楚。
PCI-E x1 跑不满双网口 2.5G,带宽不足,这个也不用再提了,因为实际使用时 99% 的情况也就是跑单口而已。