PowerScale: Solmut jakautuvat, koska lldpd ei enää lähetä sydämenlyöntejä Dellin taustakytkimeen

Summary: Tässä artikkelissa kuvataan ongelma, _lldpd prosessi käyttää suurinta sallittua muistiaan eikä enää lähetä LLDP (Link Layer Discovery Protocol) -paketteja taustakytkimiin.

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

VAROITUS:
  • OneFS-päivitystä kyseisiin versioihin (9.5.0.0–9.5.0.5) ei suositella

  • RPS tai asiakkaan TÄYTYY käynnistää kaikki lldpd-prosessit uudelleen ennen OneFS-päivityksen suorittamista versiossa, jota haavoittuvuus koskee (esimerkiksi päivitys versiosta 9.5.0.1 versioon 9.5.0.7). Noudata vaihtoehtoa 2 tarkkuudessa.


lldpd:ssä on muistivuoto, ja solmu voi jakautua, jos prosessi on kuluttanut suurimman sallitun muistinsa (1 Gt). Kun solmu kuluttaa sallitun muistinsa, se ei enää lähetä LLDP-paketteja taustakytkimiin. SmartFabric Services (SFS) -palveluja käyttävän PowerScalen Dellin hyväksymän taustakytkimen on vastaanotettava syke (LLDP) -paketteja solmusta. Jos kolme sydämenlyöntiä jää väliin, kytkinportti poistetaan erillisestä virtuaaliverkostaan. Sen jälkeen solmu ei voi enää viestiä klusteriin kyseisen polun kautta.

Jos klusteri aiotaan päivittää, solmut käynnistetään uudelleen peräkkäin ja jokainen uudelleenkäynnistys vie useita linkkejä ylös ja takaisin. Jokainen näistä uudelleenkäynnistysten linkkitapahtumista lisää hitaasti lldpd vmem -käyttöä. On erittäin todennäköistä, että solmut jakautuvat päivityksen aikana, jos prosessia ei ole käynnistetty uudelleen äskettäin.

Tämä ongelma voi ilmetä seuraavissa tilanteissa:

  • OneFS-päivitykset
  • Normaalit klusteritoiminnot

Nykyinen vmem-käyttö näkyy seuraavalla komennolla, jossa RSS (MAXIMUM Resident Set Size) -arvo on 1 048 576 kt. RSS on kuudes tietosarake PS-tuloksesta (" - ") lähdöstä (lukuun ottamatta solmun nimeä).

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

 

HUOMAUTUS: isi_for_array ei toimi solmuissa, jotka ovat offline-tilassa. Edellä mainittujen tietojen kerääminen edellyttää suoraa yhteyttä OFFLINE-solmuihin.

 


Alla oleva esimerkkitulos:

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)
                                         ^^^^^^


Nopeus, jolla lldpd-prosessi kuluttaa muistia, vaihtelee useiden tekijöiden mukaan. Tämä on myös syy muistin käytön normaalia suurempaan kasvuun OneFS-päivitysten aikana:

  • Klusterin verkkokokoonpanon koko
  • Verkkokonfiguraatiosta luotujen aliverkkojen määrä
  • Verkkotapahtumien, kuten linkin alas- tai ylöspäin, määrä
  • Toistuvat uudelleenkäynnistystapahtumat

Aika, joka kuluu siihen_lldpd että prosessi saavuttaa MAXIMUM allowed -muistin, vaihtelee klusterista toiseen. Havaittiin kuitenkin, että verkon kokoonpanon koon ja vikaantumisajan välillä on korrelaatio. Tämä tarkoittaa, että mitä enemmän ryhmäverkkoja, aliverkkoja ja varantoja määritetään, sitä nopeammin se voi tapahtua.  

Cause

Vuonna 9.5 lldpd päivitettiin ja sisältää muistivuodon.

Resolution

WARNING

  • OneFS-päivitystä kyseisiin versioihin (9.5.0.0–9.5.0.5) ei suositella

  • RPS tai asiakkaan TÄYTYY käynnistää kaikki lldpd-prosessit uudelleen ennen OneFS-päivityksen suorittamista versiossa, jota haavoittuvuus koskee (esimerkiksi päivitys versiosta 9.5.0.1 versioon 9.5.0.7). Noudata vaihtoehtoa 2 tarkkuudessa.

Voit ratkaista tai kiertää ongelman usealla eri tavalla nykyisessä tilanteessasi:

  1. OneFS:n päivittäminen versioon 9.5.0.6 tai uudempaan
    • Huomioi artikkelissa mainitut varoitukset, jotka koskevat lldpd:n uudelleenkäynnistämistä ennen päivitystä versioon, jota ongelma koskee.
  2. Tilapäinen kiertotapa suoritetaan välittömästi uudelleen käynnistämällä lldpd-prosessit. Tämä edellyttää manuaalisia toimia käynnistämällä prosessi uudelleen koko klusterissa:
    • # killall lldpd
  3. Tilapäinen kiertotapa ongelman ratkaisemisen jälkeen käynnistämällä uudelleen välittömästi lldpd-prosessit, joiden koko on yli 500 Mt:
    • # 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. Tilapäinen kiertotapa ongelman ratkaisemisen jälkeen (seuraava komento on sama kuin edellinen komento), tämä voidaan suorittaa näyttöistunnossa tarkistuksen suorittamiseksi 1200 sekunnin välein.
    • # 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.