PowerScale: lldpd artık arka uç Dell anahtarına sinyal göndermediği için ayrılan düğümler

Summary: Bu makalede, _lldpd işleminin izin verilen maksimum belleğini tüketmesi ve artık arka uç anahtarlarına Bağlantı Katmanı Keşif Protokolü (LLDP) paketleri göndermemesiyle ilgili bir sorun açıklanmaktadır. ...

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

UYARI:
  • Etkilenen sürümlere (9.5.0.0'dan 9.5.0.5'e) OneFS yükseltmesi yapılması önerilmez

  • RPS veya Müşteri, etkilenen sürümdeyken (örneğin, 9.5.0.1'den 9.5.0.7'ye yükseltme) OneFS yükseltmesi gerçekleştirmeden önce tüm lldpd işlemlerini yeniden başlatmalıdır. Çözümde Seçenek 2'yi izleyin.


lldpd de bir bellek sızıntısı var ve işlem, izin verilen maksimum belleği (1 GB) tüketirse bir düğüm bölünebilir. Düğüm izin verilen belleği tükettiğinde artık arka uç anahtarlarına LLDP paketleri göndermez. SmartFabric Services (SFS) çalıştıran bir PowerScale Dell onaylı arka uç anahtarı, bir düğümden sinyal (LLDP) paketleri almalıdır. Üç kalp atışı atlanırsa anahtar bağlantı noktası özel sanal ağından çıkarılır. Böylece bir düğüm kümeyle bu yol üzerinden iletişim kuramaz.

Bir küme yükseltilecekse düğümler art arda yeniden başlatılır ve her yeniden başlatmada birkaç bağlantı kapatılır ve yedeklenir. Yeniden başlatmalardan kaynaklanan bu bağlantı olaylarının her biri, lldpd vmem kullanımının boyutunu yavaş yavaş artırır. İşlem yakın zamanda yeniden başlatılmamışsa yükseltme sırasında düğümlerin bölünme olasılığı yüksektir.

Bu sorun aşağıdaki senaryolarda ortaya çıkabilir:

  • OneFS Yükseltmeleri
  • Normal küme işlemleri

Geçerli vmem kullanımı aşağıdaki komutla görülebilir; burada MAXIMUM Resident Set Size (RSS) değeri 1.048.576 KB'dir. RSS, PS ("-" çıkışının solunda) altıncı bilgi sütunudur (düğüm adı hariç).

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

 

NOT: isi_for_array", ÇEVRİMDIŞI düğümlerde çalışmaz. Yukarıdaki bilgileri toplamak için ÇEVRİMDIŞI düğümlere doğrudan bağlantı gerekir.

 


Örnek çıktı aşağıdadır:

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


Lldpd işleminin belleği tüketme hızı birkaç faktöre göre değişir. OneFS yükseltmeleri sırasında bellek kullanımındaki normalden daha yüksek artışın nedeni de budur:

  • Kümedeki ağ yapılandırma boyutu
  • Ağ yapılandırmasından oluşturulan alt ağ sayısı
  • Bağlantı kapatma veya açma gibi ağ olaylarının sayısı
  • Yinelenen yeniden başlatma olayları

_lldpd işlemin izin verilen MAKSİMUM belleğe ulaşması için geçen süre kümeden kümeye değişir. Ancak, ağ yapılandırma boyutu ile hata süresi arasında bir ilişki olduğu keşfedilmiştir. Bu, ne kadar çok grup ağı, alt ağ ve havuz yapılandırılırsa o kadar erken gerçekleşebileceği anlamına gelir.  

Cause

9.5 sürümünde, lldpd güncelleştirildi ve bir bellek sızıntısı içeriyor.

Resolution

UYARI

  • Etkilenen sürümlere (9.5.0.0'dan 9.5.0.5'e) OneFS yükseltmesi yapılması önerilmez

  • RPS veya Müşteri, etkilenen sürümdeyken (örneğin, 9.5.0.1'den 9.5.0.7'ye yükseltme) OneFS yükseltmesi gerçekleştirmeden önce tüm lldpd işlemlerini yeniden başlatmalıdır. Çözümde Seçenek 2'yi izleyin.

Mevcut senaryonuza bağlı olarak sorunu çözmek veya geçici olarak çözmek için birkaç seçenek vardır:

  1. OneFS'yi 9.5.0.6 ve sonraki sürümlere yükseltme
    • Etkilenen sürümlerden herhangi bir yükseltmeden önce lldpd'nin yeniden başlatılmasıyla ilgili makalede ayrıntılı olarak verilen uyarı mesajlarını not edin.
  2. lldpd işlemleri hemen yeniden başlatılarak geçici bir çözüm tamamlanır. Bu, küme genelinde işlemi yeniden başlatarak manuel müdahale gerektirir:
    • # killall lldpd
  3. Sorun çözüldükten sonra geçici bir çözüm, 500 MB'ın üzerindeki lldpd işlemlerini hemen yeniden başlatmak:
    • # 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. Sorun çözüldükten sonra geçici bir çözüm olarak (aşağıdaki komut önceki komutla aynıdır) bu komut, her 1200 saniyede bir denetimi gerçekleştirmek için bir ekran oturumunda çalıştırılabilir.
    • # 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.