RDMA / RoCE - CEPH Cluster - Performanceoptimierung

SNX_X

New Member
Apr 26, 2024
1
0
1
Hi,

aktuell bin ich dabei, einen Storage-Cluster (Ceph) aus drei Servern zusammenzubauen und aufgrund der Hardware-Skalierung auf 100G NICs umzusteigen. In der aktuellen Testkonfiguration ist jeweils eine Mellanox Connect-X6 100G Netzwerkkarte verbaut. Allerdings geht es mir hier primär um das Thema RDMA / RoCE. Zwingend erforderlich sind die GIDs der NICs, um dies einzurichten. Im Allgemeinen kann man auch sagen, dass die Beschreibungen/Anleitungen zur Einrichtung leider recht rar sind, wenn es um Proxmox geht. Ein passender Switch ist bereits vorhanden und vor konfiguriert (Ja, auch RDMA-fähig).

Ich habe bereits versucht, die MLNX_OFED-Treiber zu installieren, jedoch ist die Version inkompatibel mit der von Proxmox oder er möchte solche Pakete wie librdmacm1 entfernen, was natürlich nicht funktioniert. Im Prinzip benötige ich nur das Tool, welches den Befehl "show_gids" ausführt, um an die GIDs zu kommen.

Mit diesem Befehl: cat /sys/class/infiniband/mlx5_0/ports/1/gids/0 bekomme ich 10 GIDs heraus, und welche davon die ist, die ich benötige, ist in meinen Augen reine Spekulation.

Wichtig zu erwähnen ist, dass die Switche zu zweit im LAG laufen und im LACP mit zwei 100G DACs in den Servern verbunden sind, um maximale Burstleistungen mit "bis zu" 200G zu realisieren.

Falls jemand also eine komplette Anleitung zur Konfiguration von RDMA/RoCE oder auch nur einen Ansatz hat, die GIDs auszulesen, und diese teilen würde, würde mir das sehr helfen :)

Auch wenn jemand noch Ideen zur Performanceoptimierung von CEPH mit drei Nodes und jeweils 20 bis 24 U.3 NVMe hat, nehme ich diese ebenfalls dankend entgegen.

Für die Konfiguration würde ich folgendes verwenden:
Code:
#Enable ceph with RDMA:
  ms_async_op_threads = 8    #default 3
  # ms_type = async
  ms_public_type = async+posix    #keep frontend with posix
  ms_cluster_type = async+rdma    #for setting backend only to RDMA
  ms_async_rdma_type = rdma    #default ib
  ms_async_rdma_device_name = mlx5_6
  ms_async_rdma_cluster_device_name = ens5f0np0 #ethadapter
  ms_async_rdma_roce_ver = 2
  ms_async_rdma_gid_idx = 3
  ms_async_rdma_local_gid = 0000:0000:0000:0000:0000:0000:0000:0000    #gid

Kann ich in der Zeile einfach den Namen des Bonds angeben? : ms_async_rdma_cluster_device_name = ens5f0np0 #ethadapter

Vielen dank für eure Hilfe!

Lg
 

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!