PowerFlex: Bellek ayırma hataları nedeniyle SDS panikleri - mos_AllocPageAlignedOrPanic
摘要: SDS işlemi, bellek ayırma hataları nedeniyle paniğe kapılabilir (veya sürekli panikleyebilir).
症状
Yetersiz bellek, SDS ana bilgisayarında (ör. SVM bellek ataması) veya İşletim Sistemi yapılandırmasından dolayı bu soruna neden olabilir.
SDS işlemi aşağıdaki geri izlemeyle panikler:
01/12 22:26:55.091827 Panic in file /data/build/workspace/ScaleIO-SLES12-2/src/mos/usr/mos_utils.c, line 235, function mos_AllocPageAlignedOrPanic, PID 11191.Panic Expression pMem != ((void *)0) .
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(mosDbg_PanicPrepare+0x11d) [0x4f713d]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(mos_AllocPageAlignedOrPanic+0x2d) [0x4fa95e]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(stmp_Allocate+0x110) [0x49c063]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(phyToothMap_HardenIntern+0x37b) [0x46edcf]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(phyToothMap_HardenAll+0x39) [0x46f5a3]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(phyDev_HardenCombArr+0x34) [0x464a31]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(phyComb_ReadTooth+0x6a) [0x4b2b59]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(raidMigrate_Start+0x5f0) [0x4bb9e2]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133(raidSyncPool_StartJob+0x1cf) [0x489e7f]
/opt/emc/scaleio/sds/bin/sds-2.6.0.133() [0x50d008]
İşletim sistemi ayarlarına bağlı olarak, mesaj dosyasında OOM (Yetersiz bellek) hataları gözlemlenebilir.
Etki
Bu davranış bir DATA_DEGRADED/DATA_FAILURE durumunu tetikleyebilir.
原因
SDS ana bilgisayarında yetersiz bellek vSphere ortamında lütfen bir SVM'ye atanmış yeterli RAM olup olmadığını ve ayrılmış olup olmadığını kontrol edin. Evet ise işletim sistemi düzeyinde bellek yapılandırmasını kontrol edin:
Belleğin aşırı yüklenmesi için sysctl çekirdek parametrelerini kontrol edin:
/etc/sysctl.conf dosya yolu
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解决方案
Bu bir PowerFlex sorunu değildir. PowerFlex Tasarlandığı Gibi Çalışmaktadır.
Kontrol etmek ve/veya değiştirmek için vm.overcommit Ayarlar şu adımları izleyin:
1. Kök
2 olarak SSH kullanarak SDS de oturum açın. Sürücüyü yüklemek için ilgili düğümde
cat /etc/sysctl.conf | grep "vm.overcommit"
Ör.
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3, Aşağıdaki komutları çalıştırın
sed -i 's/vm\.overcommit_memory = .*/vm\.overcommit_memory = 2/g' /etc/sysctl.conf sed -i 's/vm\.overcommit_ratio = .*/vm\.overcommit_ratio = 100/g' /etc/sysctl.conf sysctl -p
Geçerlilik
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Önerilen en iyi uygulama ayarlarına ayarlandıklarından emin olmak için ortamdaki etkilenen tüm SDS'lerde bu adımları tekrarlayın. Bu işlemi gerçekleştirmek için SDS'yi bakım moduna almanız gerekmez.
İlgili Makaleler: