Ich habe bei meinem Proxmox Server eine Dual Port PCIe Netzwerkkarte installiert und habe ein reproduzierbares Problem mit Paketverlust, sobald beide NICs in Verwendung sind.
Als das Problem aufgetreten ist und ich es nicht lösen konnte, bin ich von einem HW Defekt ausgegangen und habe eine zweite Dual Port Netzwerkkarte organisiert, jedoch tritt bei dieser separaten Karte genau das gleiche Phänomen auf.
Vorhandene NICs:
1x 2.5 GbE direkt vom Mainboard
1x 1 GbE USB 3.0 Netzwerkadapter
2x 1 GbE Broadcom BCM5720 (Dual Port PCIe Netzwerkkarte)
2x 1 GbE Intel Corporation 82575EB (Dual Port PCIe Netzwerkkarte)
Ich habe total 4 vmbr Interfaces von denen ich das Problem mit vmbr1 und vmbr2 nachstellen kann.
Wenn die beiden vmbr an unterschiedliche HW separater Controller assoziiert sind, so wie im Beispiel unten, funktioniert alles einwandfrei.
Sobald ich jedoch beide Bridges am gleichen Controller hängen, an unterschiedlichen Interfaces, habe ich auf einem der beiden Bridges Paketverluste.
Der Paketverlust tritt jeweils auf der vmbr auf, die als 2. konfiguriert wurde, als würde Proxmox nicht klarkommen, wenn mehrere Bridges auf einer PCIe Schnittstelle laufen.
Beispiel:
vmbr1 auf enp4s0f0
vmbr2 auf ens8f1
Resultat: OK
vmbr1 auf enp4s0f1
vmbr2 auf ens8f0
Resultat: OK
vmbr1 auf ens8f0
vmbr2 auf enp4s0f0
Resultat: OK
vmbr1 auf ens8f1
vmbr2 auf enp4s0f1
Resultat: OK
vmbr1 auf enp4s0f0
vmbr2 auf enp4s0f1
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
vmbr1 auf enp4s0f1
vmbr2 auf enp4s0f0
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
vmbr1 auf ens8f0
vmbr2 auf ens8f1
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
vmbr1 auf ens8f1
vmbr2 auf ens8f0
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
root@Proxmox:~# cat /etc/network/interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!
auto lo
iface lo inet loopback
iface enp3s0 inet manual
iface enp4s0f0 inet manual
iface enp4s0f1 inet manual
iface enx9cebe8153735 inet manual
iface ens8f0 inet manual
iface ens8f1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.55/24
gateway 192.168.1.1
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
#LAN
auto vmbr1
iface vmbr1 inet manual
bridge-ports enp4s0f0
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 172,255,999
#Trunk
auto vmbr2
iface vmbr2 inet manual
bridge-ports ens8f1
bridge-stp off
bridge-fd 0
#WAN
auto vmbr3
iface vmbr3 inet manual
bridge-ports enx9cebe8153735
bridge-stp off
bridge-fd 0
#USB
source /etc/network/interfaces.d/*
root@Proxmox:~# lspci -nn | grep Ethernet
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
04:00.0 Ethernet controller [0200]: Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe [14e4:165f]
04:00.1 Ethernet controller [0200]: Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe [14e4:165f]
05:00.0 Ethernet controller [0200]: Intel Corporation 82575EB Gigabit Network Connection [8086:10a7] (rev 02)
05:00.1 Ethernet controller [0200]: Intel Corporation 82575EB Gigabit Network Connection [8086:10a7] (rev 02)
root@Proxmox:~# ip a
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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
link/ether d8:43:ae:18:28:01 brd ff:ff:ff:ff:ff:ff
3: enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr1 state UP group default qlen 1000
link/ether 00:0a:f7:90:07:ec brd ff:ff:ff:ff:ff:ff
4: enp4s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:0a:f7:90:07:ed brd ff:ff:ff:ff:ff:ff
5: ens8f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:25:90:35:ef:d2 brd ff:ff:ff:ff:ff:ff
altname enp5s0f0
inet6 fe80::225:90ff:fe35:efd2/64 scope link
valid_lft forever preferred_lft forever
6: ens8f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr2 state UP group default qlen 1000
link/ether 00:25:90:35:ef:d3 brd ff:ff:ff:ff:ff:ff
altname enp5s0f1
7: enx9cebe8153735: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master vmbr3 state DOWN group default qlen 1000
link/ether 9c:eb:e8:15:37:35 brd ff:ff:ff:ff:ff:ff
8: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether d8:43:ae:18:28:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.55/24 scope global vmbr0
valid_lft forever preferred_lft forever
inet6 fe80::da43:aeff:fe18:2801/64 scope link
valid_lft forever preferred_lft forever
9: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0a:f7:90:07:ec brd ff:ff:ff:ff:ff:ff
inet6 fe80::20a:f7ff:fe90:7ec/64 scope link
valid_lft forever preferred_lft forever
10: vmbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:25:90:35:ef:d3 brd ff:ff:ff:ff:ff:ff
inet6 fe80::225:90ff:fe35:efd3/64 scope link
valid_lft forever preferred_lft forever
11: vmbr3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 9c:eb:e8:15:37:35 brd ff:ff:ff:ff:ff:ff
inet6 fe80::9eeb:e8ff:fe15:3735/64 scope link
valid_lft forever preferred_lft forever
Als das Problem aufgetreten ist und ich es nicht lösen konnte, bin ich von einem HW Defekt ausgegangen und habe eine zweite Dual Port Netzwerkkarte organisiert, jedoch tritt bei dieser separaten Karte genau das gleiche Phänomen auf.
Vorhandene NICs:
1x 2.5 GbE direkt vom Mainboard
1x 1 GbE USB 3.0 Netzwerkadapter
2x 1 GbE Broadcom BCM5720 (Dual Port PCIe Netzwerkkarte)
2x 1 GbE Intel Corporation 82575EB (Dual Port PCIe Netzwerkkarte)
Ich habe total 4 vmbr Interfaces von denen ich das Problem mit vmbr1 und vmbr2 nachstellen kann.
Wenn die beiden vmbr an unterschiedliche HW separater Controller assoziiert sind, so wie im Beispiel unten, funktioniert alles einwandfrei.
Sobald ich jedoch beide Bridges am gleichen Controller hängen, an unterschiedlichen Interfaces, habe ich auf einem der beiden Bridges Paketverluste.
Der Paketverlust tritt jeweils auf der vmbr auf, die als 2. konfiguriert wurde, als würde Proxmox nicht klarkommen, wenn mehrere Bridges auf einer PCIe Schnittstelle laufen.
Beispiel:
vmbr1 auf enp4s0f0
vmbr2 auf ens8f1
Resultat: OK
vmbr1 auf enp4s0f1
vmbr2 auf ens8f0
Resultat: OK
vmbr1 auf ens8f0
vmbr2 auf enp4s0f0
Resultat: OK
vmbr1 auf ens8f1
vmbr2 auf enp4s0f1
Resultat: OK
vmbr1 auf enp4s0f0
vmbr2 auf enp4s0f1
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
vmbr1 auf enp4s0f1
vmbr2 auf enp4s0f0
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
vmbr1 auf ens8f0
vmbr2 auf ens8f1
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
vmbr1 auf ens8f1
vmbr2 auf ens8f0
Resultat: Paketverlust auf der vmbr, die als 2. konfiguriert wurde.
root@Proxmox:~# cat /etc/network/interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!
auto lo
iface lo inet loopback
iface enp3s0 inet manual
iface enp4s0f0 inet manual
iface enp4s0f1 inet manual
iface enx9cebe8153735 inet manual
iface ens8f0 inet manual
iface ens8f1 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.55/24
gateway 192.168.1.1
bridge-ports enp3s0
bridge-stp off
bridge-fd 0
#LAN
auto vmbr1
iface vmbr1 inet manual
bridge-ports enp4s0f0
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 172,255,999
#Trunk
auto vmbr2
iface vmbr2 inet manual
bridge-ports ens8f1
bridge-stp off
bridge-fd 0
#WAN
auto vmbr3
iface vmbr3 inet manual
bridge-ports enx9cebe8153735
bridge-stp off
bridge-fd 0
#USB
source /etc/network/interfaces.d/*
root@Proxmox:~# lspci -nn | grep Ethernet
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
04:00.0 Ethernet controller [0200]: Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe [14e4:165f]
04:00.1 Ethernet controller [0200]: Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe [14e4:165f]
05:00.0 Ethernet controller [0200]: Intel Corporation 82575EB Gigabit Network Connection [8086:10a7] (rev 02)
05:00.1 Ethernet controller [0200]: Intel Corporation 82575EB Gigabit Network Connection [8086:10a7] (rev 02)
root@Proxmox:~# ip a
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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
link/ether d8:43:ae:18:28:01 brd ff:ff:ff:ff:ff:ff
3: enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr1 state UP group default qlen 1000
link/ether 00:0a:f7:90:07:ec brd ff:ff:ff:ff:ff:ff
4: enp4s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:0a:f7:90:07:ed brd ff:ff:ff:ff:ff:ff
5: ens8f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:25:90:35:ef:d2 brd ff:ff:ff:ff:ff:ff
altname enp5s0f0
inet6 fe80::225:90ff:fe35:efd2/64 scope link
valid_lft forever preferred_lft forever
6: ens8f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr2 state UP group default qlen 1000
link/ether 00:25:90:35:ef:d3 brd ff:ff:ff:ff:ff:ff
altname enp5s0f1
7: enx9cebe8153735: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master vmbr3 state DOWN group default qlen 1000
link/ether 9c:eb:e8:15:37:35 brd ff:ff:ff:ff:ff:ff
8: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether d8:43:ae:18:28:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.55/24 scope global vmbr0
valid_lft forever preferred_lft forever
inet6 fe80::da43:aeff:fe18:2801/64 scope link
valid_lft forever preferred_lft forever
9: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0a:f7:90:07:ec brd ff:ff:ff:ff:ff:ff
inet6 fe80::20a:f7ff:fe90:7ec/64 scope link
valid_lft forever preferred_lft forever
10: vmbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:25:90:35:ef:d3 brd ff:ff:ff:ff:ff:ff
inet6 fe80::225:90ff:fe35:efd3/64 scope link
valid_lft forever preferred_lft forever
11: vmbr3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 9c:eb:e8:15:37:35 brd ff:ff:ff:ff:ff:ff
inet6 fe80::9eeb:e8ff:fe15:3735/64 scope link
valid_lft forever preferred_lft forever