PowerScale: Noder delt som lldpd sender ikke lenger hjerteslag til serverdelen Dell-svitsj
Summary: Denne artikkelen beskriver et problem med _lldpd prosess som bruker maksimalt tillatt minne og ikke lenger sender LLDP-pakker (Link Layer Discovery Protocol) til svitsjer.
Symptoms
-
Det anbefales ikke å utføre en OneFS-oppgradering til de berørte versjonene (9.5.0.0 til 9.5.0.5)
-
RPS eller kunden MÅ starte alle lldpd-prosesser på nytt før en OneFS-oppgradering utføres under en berørt versjon (for eksempel oppgradering fra 9.5.0.1 til 9.5.0.7). Følg alternativ 2 i oppløsning.
Det er en minnelekkasje i lldpd, og en node kan deles hvis prosessen har brukt opp maksimalt tillatt minne (1 GB). Når noden bruker det tillatte minnet, sender den ikke lenger LLDP-pakker til backend-svitsjene. En PowerScale Dell-kvalifisert backend-svitsj som kjører SmartFabric Services (SFS), må motta hjerterytmepakker (LLDP) fra en node. Hvis du mangler tre hjerteslag, fjernes svitsjporten fra det dedikerte virtuelle nettverket. Da kan ikke en node lenger kommunisere med klyngen gjennom denne banen.
Hvis en klynge skal oppgraderes, startes noder på nytt etter hverandre, og hver omstart tar flere koblinger ned og opp igjen. Hver av disse koblingshendelsene fra omstartene øker sakte størrelsen på lldpd vmem-bruk. Det er svært sannsynlig at noder splittes under en oppgradering hvis prosessen ikke nylig har blitt startet på nytt.
Dette problemet kan oppstå i følgende scenarier:
- OneFS-oppgraderinger
- Normal drift av klynger
Den nåværende vmem-bruken kan sees med følgende kommando, der en MAXIMUM Resident Set Size (RSS)-verdi er 1 048 576 KB. RSS er den sjette kolonnen med informasjon fra PS-utdata (til venstre for " - ") (unntatt nodenavnet).
# isi_for_array -s 'ps aux | grep _lldpd | grep -v grep'
Eksempel på utdata nedenfor:
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) ^^^^^^
Hastigheten som lldpd-prosessen bruker minnet varierer på flere faktorer. Dette er også årsaken til den høyere enn normale økningen i minnebruk under OneFS-oppgraderinger:
- Størrelsen på nettverkskonfigurasjonen i klyngen
- Antall delnett opprettet fra nettverkskonfigurasjonen
- Antall nettverkshendelser, for eksempel kobling, ned eller opp
- Regelmessige hendelser for omstart
Hvor lang tid det tar for _lldpd prosess å nå et MAKSIMALT tillatt minne, varierer fra klynge til klynge. Det ble imidlertid oppdaget at det er en sammenheng mellom nettverkskonfigurasjonsstørrelsen og tiden til feil. Dette betyr at jo flere groupnets, delnett og utvalg som er konfigurert, jo raskere kan det skje.
Cause
Resolution
ADVARSEL
|
Det finnes flere alternativer for å løse eller omgå problemet, avhengig av gjeldende scenario:
- Oppgrader OneFS til 9.5.0.6 og nyere
- Legg merke til advarselsmeldingene som er beskrevet i artikkelen om omstart av lldpd før en oppgradering av de berørte versjonene.
- En midlertidig løsning fullføres umiddelbart, og starter lldpdd-prosessene på nytt umiddelbart. Dette krever manuell inngripen ved å starte prosessen på nytt på tvers av klyngen:
-
# killall lldpd
-
- En midlertidig løsning etter at problemet er løst ved å starte lldpdd-prosesser på nytt umiddelbart og som er over 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) } }'"'"''
-
- En midlertidig løsning etter at problemet er løst (følgende kommando er den samme som forrige kommando), kan dette kjøres i en skjermøkt for å utføre sjekken hver 1200 s.
-
# 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
-