PowerScale: Knooppunten gesplitst omdat lldpd geen heartbeat meer stuurt naar de back-end Dell switch

Summary: In dit artikel wordt een probleem beschreven waarbij _lldpd proces het maximaal toegestane geheugen verbruikt en niet langer LLDP-pakketten (Link Layer Discovery Protocol) naar back-endswitches verzendt. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

WAARSCHUWING:
  • Het wordt afgeraden om een OneFS upgrade uit te voeren naar de betreffende versies (9.5.0.0 t/m 9.5.0.5)

  • RPS of de klant MOET alle lldpd-processen opnieuw starten voordat een OneFS upgrade wordt uitgevoerd bij een versie waarin dit probleem optreedt (bijvoorbeeld een upgrade van 9.5.0.1 naar 9.5.0.7). Volg optie 2 in resolutie.


Er is een geheugenlek in lldpd en een knooppunt kan splitsen als het proces het maximaal toegestane geheugen (1 GB) heeft verbruikt. Zodra het knooppunt het toegestane geheugen verbruikt, verzendt het geen LLDP-pakketten meer naar de back-endswitches. Een PowerScale Dell gekwalificeerde back-endswitch waarop SmartFabric Services (SFS) wordt uitgevoerd, moet LLDP-pakketten (heartbeat) ontvangen van een knooppunt. Als er drie heartbeats worden gemist, wordt de switchpoort verwijderd uit het toegewezen virtuele netwerk. Dan kan een knooppunt niet meer via dat pad met het cluster communiceren.

Als een cluster wordt geüpgraded, worden knooppunten achtereenvolgens opnieuw opgestart en bij elke herstart worden meerdere koppelingen offline en back-up gemaakt. Elk van deze koppelingsgebeurtenissen van het opnieuw opstarten verhoogt langzaam de grootte van het lldpd vmem-gebruik. Het is zeer waarschijnlijk dat knooppunten worden gesplitst tijdens een upgrade als het proces niet onlangs opnieuw is gestart.

Dit probleem kan zich voordoen tijdens de volgende scenario's:

  • OneFS Upgrades
  • Normale clusterbewerkingen

Het huidige vmem-gebruik is te zien met de volgende opdracht, waarbij een MAXIMALE RSS-waarde (Resident Set Size) 1.048.576 KB is. RSS is de zesde kolom met informatie van PS (links van " - ") uitvoer (exclusief de knooppuntnaam).

# isi_for_array -s 'ps aux | grep _lldpd | grep -v grep'

 

OPMERKING: "isi_for_array" werkt niet op knooppunten die OFFLINE zijn. Een directe verbinding met OFFLINE-knooppunten is vereist om de bovenstaande informatie te verzamelen.

 


Voorbeelduitvoer hieronder:

cl950x-1# isi_for_array -s 'ps aux | grep _lldpd | grep -v grep'
cl950x-1: _lldpd  1483   0.0  3.2 273804 262168  -  S     6Aug23     74:25.14 lldpd: no neighbor. (lldpd)
cl950x-1: _lldpd  1492   0.0  3.2 273804 262168  -  S     6Aug23     74:31.73 lldpd: no neighbor. (lldpd)
cl950x-2: _lldpd  1483   0.0  2.9 251068 238632  -  S    14Aug23     66:19.68 lldpd: no neighbor. (lldpd)
cl950x-2: _lldpd  1492   0.0  2.9 251068 238632  -  S    14Aug23     66:24.72 lldpd: no neighbor. (lldpd)
cl950x-3: _lldpd  1483   0.0  2.9 251832 239420  -  S    14Aug23     46:25.36 lldpd: no neighbor. (lldpd)
cl950x-3: _lldpd  1492   0.0  2.9 251832 239420  -  S    14Aug23     46:32.24 lldpd: no neighbor. (lldpd)
cl950x-4: _lldpd  1487   0.0  3.1 268052 256212  -  S     8Aug23     50:25.15 lldpd: no neighbor. (lldpd)
cl950x-4: _lldpd  1496   0.0  3.1 268052 256212  -  S     8Aug23     50:36.34 lldpd: no neighbor. (lldpd)
cl950x-5: _lldpd  1483   0.0  3.1 273208 261552  -  S     6Aug23     75:41.91 lldpd: no neighbor. (lldpd)
cl950x-5: _lldpd  1492   0.0  3.1 273208 261552  -  S     6Aug23     75:35.00 lldpd: no neighbor. (lldpd)
cl950x-6: _lldpd  1482   0.0  3.2 274144 262516  -  S     6Aug23     50:49.08 lldpd: no neighbor. (lldpd)
cl950x-6: _lldpd  1492   0.0  3.2 274144 262516  -  S     6Aug23     51:02.88 lldpd: no neighbor. (lldpd)
cl950x-7: _lldpd  1483   0.0  3.2 274004 262380  -  S     6Aug23     50:51.55 lldpd: no neighbor. (lldpd)
cl950x-7: _lldpd  1492   0.0  3.2 274004 262380  -  S     6Aug23     51:03.26 lldpd: no neighbor. (lldpd)
cl950x-8: _lldpd  1483   0.0  2.9 251176 238744  -  S    14Aug23     46:40.93 lldpd: no neighbor. (lldpd)
cl950x-8: _lldpd  1492   0.0  2.9 251176 238744  -  S    14Aug23     46:49.57 lldpd: no neighbor. (lldpd)
                                         ^^^^^^


De snelheid waarmee het lldpd-proces het geheugen verbruikt, is afhankelijk van verschillende factoren. Dit is ook de reden voor de meer dan normale toename van het geheugengebruik tijdens OneFS upgrades:

  • Grootte netwerkconfiguratie op het cluster
  • Aantal subnetten dat is gemaakt op basis van de netwerkconfiguratie
  • Het aantal netwerkgebeurtenissen, zoals link down or up
  • Terugkerende herstartgebeurtenissen

Hoe lang _lldpd proces nodig heeft om een MAXIMUM toegestaan geheugen te bereiken, verschilt van cluster tot cluster. Er werd echter ontdekt dat er een verband bestaat tussen de grootte van de netwerkconfiguratie en de tijd tot falen. Dit betekent dat hoe meer groepnetten, subnetten en groepen er zijn geconfigureerd, hoe eerder dit kan gebeuren.  

Cause

In 9.5 is lldpd geüpdatet en bevat een geheugenlek.

Resolution

WARNING

  • Het wordt afgeraden om een OneFS upgrade uit te voeren naar de betreffende versies (9.5.0.0 t/m 9.5.0.5)

  • RPS of de klant MOET alle lldpd-processen opnieuw starten voordat een OneFS upgrade wordt uitgevoerd bij een versie waarin dit probleem optreedt (bijvoorbeeld een upgrade van 9.5.0.1 naar 9.5.0.7). Volg optie 2 in resolutie.

Er zijn verschillende opties om het probleem op te lossen of te omzeilen, afhankelijk van uw huidige scenario:

  1. OneFS upgraden naar 9.5.0.6 en hoger
    • Let op de waarschuwingsberichten in het artikel met betrekking tot het opnieuw opstarten van lldpd voorafgaand aan een upgrade van de betreffende versies.
  2. Er wordt onmiddellijk een tijdelijke oplossing voltooid om lldpd-processen opnieuw op te starten. Dit vereist handmatige interventie door het proces in het hele cluster opnieuw te starten:
    • # killall lldpd
  3. Een tijdelijke oplossing nadat het probleem is opgelost is het onmiddellijk opnieuw starten van lldpd-processen van meer dan 500 MB:
    • # isi_for_array -s 'ps auxww | grep _lldpd | grep -v grep | awk '"'"'{print $2}'"'"' | while read pid; do procstat -r $pid | grep RSS; done | awk '"'"'{ if ($5 > 500000 && $2 == "lldpd") { command=sprintf("kill %d",$1); system(command); close(command) } }'"'"''
  4. Nadat het probleem is opgelost (de volgende opdracht is hetzelfde als de vorige opdracht), kan deze tijdelijke oplossing worden uitgevoerd in een schermsessie om de controle elke 1200 s uit te voeren.
    • # while true; do isi_for_array -s 'ps auxww | grep _lldpd | grep -v grep | awk '"'"'{print $2}'"'"' | while read pid; do procstat -r $pid | grep RSS; done | awk '"'"'{ if ($5 > 500000 && $2 == "lldpd") { command=sprintf("kill %d",$1); system(command); close(command) } }'"'"''; sleep 1200; done
Article Properties
Article Number: 000219439
Article Type: Solution
Last Modified: 19 May 2025
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.