PowerFlex: SDS-panik på grund av minnesallokeringsfel – mos_AllocPageAlignedOrPanic
摘要: SDS-processen kan få panik (eller fortsätta att få panik kontinuerligt) på grund av minnesallokeringsfel.
症状
Otillräckligt minne kan orsaka det här problemet på SDS-värden (dvs. SVM-minnestilldelning) eller på grund av operativsystemets konfiguration.
SDS-processen får panik med följande backtrace:
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]
Beroende på OS-inställningarna kan OOM-fel (out-of-memory) observeras i meddelandefilen.
Påverkan
Det här beteendet kan utlösa en DATA_DEGRADED/DATA_FAILURE-situation.
原因
SDS-värden har inte tillräckligt med minne I vSphere-miljön kontrollerar du om det finns tillräckligt med RAM-minne tilldelat till en SVM och om det är reserverat. Om ja, kontrollera minneskonfigurationen på operativsystemnivå:
Kontrollera sysctl-kernelparametrarna för överallokering av minne:
Filsökväg /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解决方案
Det här är inte ett PowerFlex-problem. PowerFlex fungerar som förväntat.
Om du vill kontrollera och/eller ändra vm.overcommit Inställningar Följ dessa steg:
1. Logga in på SDS med SSH som rot
2. Kör
cat /etc/sysctl.conf | grep "vm.overcommit"
Ex.
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3, Kör följande kommandon
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
Validering
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Upprepa de här stegen för alla SDS:er som påverkas i miljön för att säkerställa att de är inställda på de rekommenderade inställningarna för bästa praxis. Du behöver inte sätta SDS i underhållsläge för att utföra den här åtgärden.
Liknande artiklar: