[SOLVED] Performance bei Migration 2 Node Cluster NVME an PCI3.0 - 40Gbit LAN

Mar 6, 2024
13
0
1
Guten Morgen zusammen,

ich suche nach Vergleichswerten für folgende Konstellation.

2 Node Cluster
2x HP Proliant Server DL360 G9, HPE NVME Enablement Kit.
2x HPE Mixed Use NVME 6.4tb im ZFS Mirror neueste HPK3 Firmware installiert.
fio Benchmark ergibt volle Werte lt. Datasheet für Samsung PM1725b, also ca. 3500MB/s lesend u. 3000MB/s schreibend, IOPS ca. 815000 bei 4k.
Dedizierter Migration Link über 40Gbit Mellanox im Ethernet Modus. Unsecure Modus ist eingestellt.
iperf3 bringt ca. 23-30Gbit Durchsatz bei 3 parallelen Threads.

Nun ist es so dass bei der Migration von VMs ein Durchsatz von ca 7Gbit/s bzw. 875MB/s erreicht wird.

Ich vermute der Flaschenhals liegt irgendwie daran das nur eine Lane des PCI 3.0 Bus genutzt wird.
Evtl. aufgrund Single Threading im MIgrations Prozess per ssh.
Das würde bedeuten es gehen max. nur ca. 985MB/s darüber.

Kann mir jemand folgen und einen Hinweis bzw. Erfahrungen mitteilen?

Vielen Dank und einen schönen Tag.
 
Last edited:
Guten Morgen zusammen,

ich suche nach Vergleichswerten für folgende Konstellation.

2 Node Cluster
2x HP Proliant Server DL360 G9, HPE NVME Enablement Kit.
2x HPE Mixed Use NVME 6.4tb im ZFS Mirror neueste HPK3 Firmware installiert.
fio Benchmark ergibt volle Werte lt. Datasheet für Samsung PM1725b, also ca. 3500MB/s lesend u. 3000MB/s schreibend, IOPS ca. 815000 bei 4k.
Dedizierter Migration Link über 40Gbit Mellanox im Ethernet Modus. Unsecure Modus ist eingestellt.
Du meins im Datacenter das Migrationsnetzwerk auf insecure gestellt?
iperf3 bringt ca. 23-30Gbit Durchsatz bei 3 parallelen Threads.
Schon etwas wenig. Die alten Mellanox können wegen PCIe3 maximal 32GBit pro Port liefern, was bei MTU 1500 ca. 30-30,5 GBIt sind und mit MTU 9000 komme ich auf 31,7 GBit.
Nun ist es so dass bei der Migration von VMs ein Durchsatz von ca 7Gbit/s bzw. 875MB/s erreicht wird.
Migrierst du nur den RAM oder mit DIsk? Nutzt du die Replikation?
Ich vermute der Flaschenhals liegt irgendwie daran das nur eine Lane des PCI 3.0 Bus genutzt wird.
Bei 1 Lane wäre das nur 8GBit, die Dual Port Karten haben 8 Lanes, also 4 Lanes pro Port. Das ergibt 32GBit.
Evtl. aufgrund Single Threading im MIgrations Prozess per ssh.
Ja das limitiert je nach CPU auf 12-18 GBit. Mit insecure geht Linespeed.
 
Du meins im Datacenter das Migrationsnetzwerk auf insecure gestellt?

Schon etwas wenig. Die alten Mellanox können wegen PCIe3 maximal 32GBit pro Port liefern, was bei MTU 1500 ca. 30-30,5 GBIt sind und mit MTU 9000 komme ich auf 31,7 GBit.

Migrierst du nur den RAM oder mit DIsk? Nutzt du die Replikation?

Bei 1 Lane wäre das nur 8GBit, die Dual Port Karten haben 8 Lanes, also 4 Lanes pro Port. Das ergibt 32GBit.

Ja das limitiert je nach CPU auf 12-18 GBit. Mit insecure geht Linespeed.
Hallo Falk,

Danke für Deine Infos.

Du meins im Datacenter das Migrationsnetzwerk auf insecure gestellt?
-> ja genau und das dedizierte IP Netzwerk für den Link über die Mellanox hinterlegt.

Schon etwas wenig. Die alten Mellanox können wegen PCIe3 maximal 32GBit pro Port liefern, was bei MTU 1500 ca. 30-30,5 GBIt sind und mit MTU 9000 komme ich auf 31,7 GBit.
-> Hmmh MTU 9000 brachte keine große Veränderung, könntest Du mir evtl. Deinen Iperf Server Aufruf und Iperf Client Aufruf zukommen lassen?
Damit wir mit gleichen Parametern arbeiten.
Evtl. sind es auch die Twinax Kabel wobei diese auch HPE sind.

Migrierst du nur den RAM oder mit DIsk? Nutzt du die Replikation?
-> Im Fall des Tests RAM und Disk also kpl. VM, ohne vorherige Replikation.

Bei 1 Lane wäre das nur 8GBit, die Dual Port Karten haben 8 Lanes, also 4 Lanes pro Port. Das ergibt 32GBit.
-> hier mal der lspci, meines Erachtens in der Norm:
root@prox1:~# lspci -vv -nn -s 0000:0c:00.0| grep Lnk
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM not supported
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
LnkSta: Speed 8GT/s, Width x4
LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ EqualizationPhase1+
LnkCtl3: LnkEquIntrruptEn- PerformEqu-

Ja das limitiert je nach CPU auf 12-18 GBit. Mit insecure geht Linespeed.
-> lscpu:
root@prox1:~# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel(R) Corporation
Model name: Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
BIOS Model name: Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz CPU @ 2.6GHz
BIOS CPU family: 179
CPU family: 6
Model: 79
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
Stepping: 1
CPU(s) scaling MHz: 91%
CPU max MHz: 3600.0000
CPU min MHz: 1200.0000
BogoMIPS: 5193.89
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmo
v pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs
bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni
pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg
fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcn
t tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3
dnowprefetch cpuid_fault epb cat_l3 cdp_l3 pti intel_ppin ss
bd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad f
sgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm
cqm rdt_a rdseed adx smap intel_pt xsaveopt cqm_llc cqm_occu
p_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts vn
mi md_clear flush_l1d
Virtualization features:
Virtualization: VT-x
Caches (sum of all):
L1d: 512 KiB (16 instances)
L1i: 512 KiB (16 instances)
L2: 4 MiB (16 instances)
L3: 40 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-31

Vielleicht kann die CPU nicht mehr?

Danke für Dein Interesse.
 
Ok ich bin einen Schritt weiter.

Wenn ich den iperf3 Server mit -a 1 also Affinität auf einen Core starte, bekomme ich stabile 30,3Gbit/s Durchsatz.

root@prox1:~# iperf3 -s -B 172.19.x.x -A 1

root@prox2:~# iperf3 -c 172.19.x.x
Connecting to host 172.19.x.x, port 5201
[ 5] local 172.19.x.x port 44532 connected to 172.19.x.x port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 3.53 GBytes 30.3 Gbits/sec 414 1.43 MBytes
[ 5] 1.00-2.00 sec 3.55 GBytes 30.5 Gbits/sec 36 1.20 MBytes
[ 5] 2.00-3.00 sec 3.54 GBytes 30.4 Gbits/sec 9 1.30 MBytes
[ 5] 3.00-4.00 sec 3.54 GBytes 30.4 Gbits/sec 19 1.12 MBytes
[ 5] 4.00-5.00 sec 3.52 GBytes 30.3 Gbits/sec 27 1.19 MBytes
[ 5] 5.00-6.00 sec 3.45 GBytes 29.6 Gbits/sec 28 1.20 MBytes
[ 5] 6.00-7.00 sec 3.56 GBytes 30.6 Gbits/sec 0 1.42 MBytes
[ 5] 7.00-8.00 sec 3.57 GBytes 30.6 Gbits/sec 37 1.09 MBytes
[ 5] 8.00-9.00 sec 3.57 GBytes 30.6 Gbits/sec 13 1.30 MBytes
[ 5] 9.00-10.00 sec 3.53 GBytes 30.4 Gbits/sec 7 1.31 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 35.4 GBytes 30.4 Gbits/sec 590 sender
[ 5] 0.00-10.00 sec 35.3 GBytes 30.4 Gbits/sec receiver

iperf Done.
root@prox2:~#
 
Das klingt nach Powermanagement. Stell mal im BIOS auf High Performance
 
Ok ich bin einen Schritt weiter.

Wenn ich den iperf3 Server mit -a 1 also Affinität auf einen Core starte, bekomme ich stabile 30,3Gbit/s Durchsatz.

root@prox1:~# iperf3 -s -B 172.19.x.x -A 1

root@prox2:~# iperf3 -c 172.19.x.x
Connecting to host 172.19.x.x, port 5201
[ 5] local 172.19.x.x port 44532 connected to 172.19.x.x port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 3.53 GBytes 30.3 Gbits/sec 414 1.43 MBytes
[ 5] 1.00-2.00 sec 3.55 GBytes 30.5 Gbits/sec 36 1.20 MBytes
[ 5] 2.00-3.00 sec 3.54 GBytes 30.4 Gbits/sec 9 1.30 MBytes
[ 5] 3.00-4.00 sec 3.54 GBytes 30.4 Gbits/sec 19 1.12 MBytes
[ 5] 4.00-5.00 sec 3.52 GBytes 30.3 Gbits/sec 27 1.19 MBytes
[ 5] 5.00-6.00 sec 3.45 GBytes 29.6 Gbits/sec 28 1.20 MBytes
[ 5] 6.00-7.00 sec 3.56 GBytes 30.6 Gbits/sec 0 1.42 MBytes
[ 5] 7.00-8.00 sec 3.57 GBytes 30.6 Gbits/sec 37 1.09 MBytes
[ 5] 8.00-9.00 sec 3.57 GBytes 30.6 Gbits/sec 13 1.30 MBytes
[ 5] 9.00-10.00 sec 3.53 GBytes 30.4 Gbits/sec 7 1.31 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 35.4 GBytes 30.4 Gbits/sec 590 sender
[ 5] 0.00-10.00 sec 35.3 GBytes 30.4 Gbits/sec receiver

iperf Done.
root@prox2:~#
Das sieht wieder normal aus. Teste mal wie die Migration läuft, wenn du die VM vorher repliziert hast.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!