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. ...
Symptoms
-
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'
Ö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
Resolution
UYARI
|
Mevcut senaryonuza bağlı olarak sorunu çözmek veya geçici olarak çözmek için birkaç seçenek vardır:
- 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.
- 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
-
- 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) } }'"'"''
-
- 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
-