Broadcasts im Clusterbetrieb

Wenn Sie Proxmox in einem Cluster betreiben und ein Node/mehrere Nodes nicht dauerhaft laufen, versucht Proxmox sekündlich die IP des/der anderen Nodes über ARP aufzulösen. Je nach Größe des Clusters und dem Netzwerk in dem sich die Geräte befinden, kann das zu einer deutlichen Broadcast-Belastung führen.

Ich betreibe beispielsweise ein kleines 2-Node-Cluster, in dem der 2. Node rein zu Notfallzwecken (sollte der 1. Node ausfallen) genutzt wird. Node 1 versucht aber sekündlich die IP des 2. Nodes aufzulösen und „feuert“ ARP-Requests ab (ARP-Requests sind konzeptionell bedingt Broadcasts und werden im gesamten Netzsegment geflutet). Das Gleiche würde auch umgekehrt gelten, wenn Node 2 läuft, Node 1 aber aus ist.

 

 

Wenn man die Broadcast-Belastung einschränken will, bieten sich zwei Möglichkeiten an:

  • Erstellung eines Netzsegments (VLANs) für die Proxmox-Nodes
  • Eintragen statischer ARP-Records in den Nodes

Hier wird die Eintragung eines statischen ARP-Records beschrieben.

 

Da Proxmox auf Debian basiert, kann man einen statischen ARP-Record mittels „ip neigh“ einfügen. Da permanent versucht wird die IP aufzulösen, ist eine Eintragung mittels „ip neigh add“ nicht möglich. Der Eintrag muss mittels „ip neigh replace“ erfolgen.

Dies wäre der Befehl der auf Node 1 ausgeführt werden müsste (um die MAC-Adresse von Node 2 zu hinterlegen):

sudo ip neigh replace 1.2.3.4 lladdr 11:22:33:AA:BB:CC dev vmbr0 nud permanent
  • 1.2.3.4 = IP des 2. Nodes
  • 11:22:33:AA:BB:CC = MAC-Adresse des 2. Nodes
  • vmbr0 = genutzte Bridge (= Management-Bridge von Proxmox auf Node 1)
ARP-Eintrag gesetzt

Da sich Eintragungen mittels „ip neigh“ nur auf die Laufzeit des Systems auswirken, bleiben sie bei einem Neustart nicht erhalten! Dies kann man aber mittels eines kleinen Cronjob lösen:

sudo crontab -e
#statischer ARP-Eintrag für 2. Proxmox-Node:
@reboot sleep 30 && /usr/sbin/ip neigh replace 1.2.3.4 lladdr 11:22:33:AA:BB:CC dev vmbr0 nud permanent

Nun wird der Eintrag automatisch 30 Sekunden nach dem Systemstart gesetzt.

Wird der Eintrag nicht mehr benötigt, kann man den Cronjob einfach löschen und das System dann neustarten (oder mittels „sudo ip neigh del 1.2.3.4 dev vmbr0“ den Eintrag löschen).

Ob „ip neigh“ bei Ihnen ebenfalls unter /usr/sbin/ liegt, kann mittels „which ip“ herausgefunden werden.

Sollte sich die MAC-Adresse eines Nodes ändern, muss diese Änderung manuell auf allen anderen Nodes eingetragen werden! Es erfolgt keine dynamische Aktualisierung!!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert