PowerFlex: Błędy SDS spowodowane błędami alokacji pamięci — mos_AllocPageAlignedOrPanic
摘要: Proces SDS może ulec awarii (lub ciągle panikować) z powodu błędów alokacji pamięci.
症狀
Problem z hostem SDS może być spowodowany niewystarczającą ilością pamięci (np. przypisanie pamięci SVM) lub konfiguracją systemu operacyjnego.
Proces SDS ulega awarii z następującym śladem wstecznym:
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]
W zależności od ustawień systemu operacyjnego w pliku komunikatów można zaobserwować błędy OOM (braku pamięci).
Wpływ
Takie zachowanie może wywołać sytuację DATA_DEGRADED/DATA_FAILURE.
原因
Niewystarczająca ilość pamięci na hoście SDS W środowisku vSphere sprawdź, czy do SVM jest przypisana wystarczająca ilość pamięci RAM i czy jest ona zarezerwowana. Jeśli tak, sprawdź konfigurację pamięci na poziomie systemu operacyjnego:
Sprawdź parametry jądra sysctl pod kątem nadmiernego zaangażowania pamięci:
Ścieżka pliku /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解析度
To nie jest problem dotyczący PowerFlex. PowerFlex działa zgodnie z założeniami.
Aby sprawdzić i/lub zmodyfikować vm.overcommit Ustawienia są zgodne z poniższymi krokami:
1. Zaloguj się do SDS przy użyciu SSH jako użytkownik root
2. Uruchom
cat /etc/sysctl.conf | grep "vm.overcommit"
Np.
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3, Uruchom następujące polecenia
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
Weryfikacja
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Powtórz te czynności dla wszystkich dysków SDS, których dotyczy problem, w środowisku, aby upewnić się, że ustawiono na nich zalecane ustawienia najlepszych rozwiązań. Aby wykonać tę operację, nie trzeba przełączać SDS w tryb konserwacji.
Podobne artykuły: