PowerFlex: Panika SDS kvůli selhání přidělení paměti – mos_AllocPageAlignedOrPanic
摘要: Proces SDS může zpanikařit (nebo nepřetržitě panikařit) kvůli selhání přidělení paměti.
症状
Tento problém může být způsoben buď nedostatkem paměti na hostiteli SDS (např. přiřazení paměti SVM), nebo konfigurací operačního systému.
Proces SDS způsobí paniku s následujícím backtracem:
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]
V závislosti na nastavení operačního systému lze v souboru zpráv pozorovat chyby OOM (Out-of-memory).
Důsledky
Toto chování může aktivovat situaci DATA_DEGRADED/DATA_FAILURE.
原因
Nedostatek paměti na hostiteli SDS: V prostředí vSphere zkontrolujte, zda je SVM přiřazen dostatek paměti RAM a zda je rezervována. Pokud ano, zkontrolujte konfiguraci paměti na úrovni operačního systému:
Zkontrolujte parametry jádra sysctl, zda neobsahují příliš mnoho paměti:
File path /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解决方案
Nejedná se o problém se systémem PowerFlex. Řešení PowerFlex funguje standardním způsobem.
Chcete-li zkontrolovat a/nebo upravit vm.overcommit Nastavení následují tyto kroky:
1. Přihlaste se k SDS přes SSH jako uživatel root
2. Spustit
cat /etc/sysctl.conf | grep "vm.overcommit"
Příklad
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3, Spusťte následující příkazy
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
Ověření
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Opakujte tyto kroky u všech problémových úložišť SDS v prostředí, abyste měli jistotu, že jsou nastaveny na doporučená nastavení vzorových postupů. K provedení této operace není nutné přepínat SDS do režimu údržby.
Podobné články: