我最近买了一个zimacube - 它是一个基于 N100 的 NAS 系统。我清除了预装的 zimaos,运行了 ubuntu server 24.04 的最小安装,并对我的构建进行了通常的更改以支持多千兆 -按照此答案调整 sysctl。
它运行的是“标准”而不是 HWE 内核 - 完整的发行版和内核信息如下。
geek@zimanas1:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
geek@zimanas1:~$ uname -r
6.8.0-36-generic
我目前正在对板载 I226-V 和捆绑的 AQC113 之一进行速度/容量测试。每个都有自己的(目前是动态的,但稳定的)IP。如果我打开系统,或者在 I226-V未插入网络的情况下重新启动 - 我无法连接到 AQC113。AQC113 会在连接的 I226V 上立即启动。如果拔下 I226V ,即使在 AQC113 的 IP 上,我也无法 ping 系统。
如果重要的话,有一个“x16”(在 x2?)端口和“x4”(在(x1?)端口,并且 AQC 113 插入“x16”端口当它运行时,我能够获得 10 千兆的速度。
ip 地址输出
^Cgeek@zimanas1:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:e0:4c:0f:0e:b2 brd ff:ff:ff:ff:ff:ff
3: enp14s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
link/ether 88:c9:b3:b3:0d:ef brd ff:ff:ff:ff:ff:ff
inet 192.168.2.155/24 metric 100 brd 192.168.2.255 scope global dynamic enp14s0
valid_lft 3470sec preferred_lft 3470sec
inet6 fe80::8ac9:b3ff:feb3:def/64 scope link
valid_lft forever preferred_lft forever
4: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:e0:4c:0f:0e:b1 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.152/24 metric 100 brd 192.168.2.255 scope global dynamic enp4s0
valid_lft 3576sec preferred_lft 3576sec
inet6 fe80::2e0:4cff:fe0f:eb1/64 scope link
valid_lft forever preferred_lft forever
dmesg 输出似乎暗示链接速度设置为零,直到板载/英特尔网卡插入之前 - 我可以在重新启动时可靠地做到这一点。
[ 26.391395] atlantic 0000:0e:00.0 enp14s0: atlantic: link change old 0 new 10000
[ 34.927124] igc 0000:04:00.0 enp4s0: NIC Link is Up 2500 Mbps Full Duplex, Flow Control: RX/TX
这里也提到了适配器
0.906666] pps pps1: new PPS source ptp1
[ 0.906929] igc 0000:04:00.0 (unnamed net_device) (uninitialized): PHC added
[ 0.907557] atlantic: Detect ATL2FW 1050026
[ 0.913016] nvme nvme0: 4/0/0 default/read/poll queues
[ 0.917101] nvme0n1: p1 p2
[ 0.929721] igc 0000:04:00.0: 4.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x1 link)
[ 0.929734] igc 0000:04:00.0 eth2: MAC: 00:e0:4c:0f:0e:b1
如果需要的话我的 netplan 配置如下所示
network:
ethernets:
enp3s0:
dhcp4: true
optional: true
ignore-carrier: true
enp4s0:
dhcp4: true
optional: true
ignore-carrier: true
enp14s0:
dhcp4: true
optional: true
ignore-carrier: true
mtu: "9000"
version: 2
wifis: {}
以下是我的网络 LSHW 输出 -
geek@zimanas1:~$ sudo lshw -c network
*-usb:0 DISABLED
description: Wireless interface
product: 802.11n WLAN NIC
vendor: Realtek
physical id: 3
bus info: usb@1:3
logical name: wlx90de8051c3c1
version: 0.00
serial: 90:de:80:51:c3:c1
capabilities: usb-2.00 ethernet physical wireless
configuration: broadcast=yes driver=rtl8xxxu driverversion=6.8.0-36-generic firmware=N/A link=no maxpower=500mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11
*-network
description: Ethernet interface
product: Ethernet Controller I226-V
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: enp3s0
version: 04
serial: 00:e0:4c:0f:0e:b2
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igc driverversion=6.8.0-36-generic firmware=2017:888d latency=0 link=no multicast=yes port=twisted pair
resources: irq:16 memory:81200000-812fffff memory:81300000-81303fff memory:81100000-811fffff
*-network
description: Ethernet interface
product: Ethernet Controller I226-V
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:04:00.0
logical name: enp4s0
version: 04
serial: 00:e0:4c:0f:0e:b1
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igc driverversion=6.8.0-36-generic duplex=full firmware=2017:888d ip=192.168.2.152 latency=0 link=yes multicast=yes port=twisted pair
resources: irq:18 memory:80f00000-80ffffff memory:81000000-81003fff memory:80e00000-80efffff
*-network
description: Ethernet interface
product: AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G]
vendor: Aquantia Corp.
physical id: 0
bus info: pci@0000:0e:00.0
logical name: enp14s0
version: 03
serial: 88:c9:b3:b3:0d:ef
size: 10Gbit/s
capacity: 10Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp 10bt-fd 100bt-fd 1000bt-fd 10000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=atlantic driverversion=6.8.0-36-generic duplex=full firmware=1.5.38 ip=192.168.2.155 latency=0 link=yes multicast=yes port=twisted pair speed=10Gbit/s
resources: irq:18 memory:80c00000-80c7ffff memory:80ca0000-80ca0fff memory:80800000-80bfffff memory:80c80000-80c9ffff
当它工作时,10G 卡似乎工作得很好 - 它的链接速度设置为 0,直到插入另一个适配器,这令人困惑。但有时我的数据传输速度为 2.5G,这恰好是另一张卡的速度。
如何让我的 AQC113 保持运行?
我隐约记得在某处读到过,Windows将多千兆连接的指标设置为低于千兆位 - 而且感觉Linux可能优先考虑 2.5 千兆连接而不是 10 千兆连接。
查看我的 ip addr 输出,我注意到 10 千兆和 2.5 千兆连接的度量相同。我不确定为什么系统会变成“2.5 千兆或崩溃”,或者偶尔似乎通过一个而不是另一个发送数据,但可能是它决定 2.5 千兆连接的优先级高于 10 千兆,尽管度量相同。
从逻辑上讲, 2.5G 适配器不应该影响 10G 适配器,而且我实际上不知道这为什么很重要,甚至不知道这为什么有效。
我最终明确为每个适配器设置了一个指标,这似乎已经解决了这个问题。理论上,如果我只插入 2.5 千兆适配器,这可能会破坏当前版本的网络,但我不太可能从中移除 10 千兆卡 - 这是我最终采用的 netplan 配置,它似乎可以可靠地工作。