文章

PVE新增TP-Link TL-NT521万兆网卡使用

基于Debian12的PVE8已经可以正常识别该网卡,本文仅作参考。

考虑到自己的MBP也许以后也有万兆网的需求,所以选用了电口的万兆网卡,拆机的电口发热量比较大,需要额外安装风扇,PC没有足够的空间,各方比较之下选择了TP-Link的TL-NT521万兆网卡,相对来说便宜一点,两张卡暂时直连,后期再安排交换机。PC端的window驱动安装倒是很顺利,结果到了PVE这边就开始变成坑货。

配件里有光盘,不过这年头配光驱的机子也不多了,遂直接去TP-LINK官网下了驱动,然后不负众望的编译失败。之后在PC端开了ubuntu的虚拟机进行编译测试,结果非常顺利地编译成功。

PVE给了类似的提示

Package 'linux-headers' has no installation candidate

经过分析之后,发现PVE采用的定制内核导致了他的linux-headers实际上应该是pve-header,而TP-LINK给的驱动相对比较旧,在这一块出现了问题。所以需要把pve-header更新一下,接着又出现了另一个问题,在软件源中找不到pve-header相关的内容,又搜索了一番之后,发现需要在软件源添加pve-no-subscription这一项,才能获取到pve-header,因此,操作如下:

vim /etc/apt/sources.list
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription   #添加或者取消注释
apt update  #国内的镜像源貌似不是最新的,建议有条件的可以爬墙使用官方源
apt-get install pve-headers-`uname -r`
update-initramfs -u

在成功安装好pve-header之后,依旧编译失败,通过查看日志发现应该是编译脚本的问题,但这已经是官方给的驱动了(头秃)。

根据官方驱动的文件包名字AQtion发现TL-NT521实际上使用的是AQC107这款芯片,也就是Marvell他们家的东西,那么理论上就可以直接去Marvell的官网获得相对更新的驱动,然后不负众望的,又再次编译失败,但这次错误量少了许多,也就是说还是编译脚本没有适配的问题。最后直接杀去github搜索AQtion,拿到了理论最新的驱动。

AQTion github地址:https://github.com/Aquantia/AQtion

驱动文件夹里的readme有提供驱动安装的步骤,此处应该鞭尸TP-Link给的安装手册,写的就是一坨。

manually build this driver:
------------------------------------------------------------
1. Make sure you have all the packages required to build a standalone kernel
   module.
   On a debian-based systems you should at least install the following packages:

	sudo apt install linux-headers build-essential

2. Move the base driver tar file to the directory of your choice.
   For example, use /home/username/aquantia.
   Untar/unzip archive:

	cd ~/aquantia
	tar zxf Aquantia-AQtion-x.y.z.tar.gz

3. Change to the driver src directory:   
#这个tar包从github下载下来目前是AQtion命名,在操作过程中按照实际文件包名字操作就好

	cd Aquantia-AQtion-x.y.z/

NB! Make sure that pathname doesn't contain whitespaces and special characters
    (e.g. brackets), because kernel build system doesn't support such paths
    unfortunately and the build will fail.

4. Compile the driver module:
	make

5. Unload the driver, if an older version is in use:
	sudo rmmod atlantic

5. Load the dependencies and the module itself:
	sudo make load

7. Install the driver
	sudo make install

driver will be installed into the following location:

	/lib/modules/`uname -r`/aquantia/atlantic.ko

进这个路径查看过没发现相关的ko,不过不影响使用就不管了。

终于完成了对驱动的编译,再使用ifconfig就能看到网口信息了。这里我是把万兆网口直通给了OMV,在OMV端配置网口IP。

在万兆网卡直连配置这块又有点摸不着头脑,参考网上其他人的设置之后并不能ping通,此处记录一下相关设置。

OMV这边添加直通的网口,并设置静态IP,并且不要与OMV千兆网的IP在同一个网段,比如千兆网是192.168的,万兆就可以用10.0;其次则是子网掩码的问题,最后解决发现子网掩码设置成255.255.255.0是没办法接通网络,需要设置成255.0.0.0。

Windows端也是类似的设置,保证与OMV的万兆网在同一个网段,因为是直连,所以不需要设置网关和DNS

配置完之后,windows端显示是未识别网络理论上应该是接通了,不需要在意未识别的问题

有一些教程会建议关闭 中断调整(interrupt moderation)、中断调整率(interrupt moderation rate),但经过实测,最好是保持缺省就行,也就是开着。在下面的 Jumbo Packet(巨帧) 理论就是对应OMV那边的MTU,可以设置到9014 Bytes

设置完成之后在pc和omv上分别安装iperf3进行测试,具体安装方法可自行搜索。

linux端使用作为服务器端

iperf3 -s

window端作为客户机

cd C:\windows\system32>
.\iperf3.exe -c 10.0.x.x

1925760038.png

测试完毕之后,直接在文件夹地址栏输入 \\10.0.x.x (你的NAS万兆网IP)即可访问。

受限于机械硬盘的速度,OMV这边做的是RAID6,PC to NAS在500+左右,NAS to PC差不多能够跑满,想要真正跑满的话还是得两头都是SSD,可以考虑NAS前端加SSD做缓存,但是如果不是剪辑视频这类的其实意义不大。

至此,内网万兆搭建完毕。

License:  CC BY 4.0