PowerFlex: SDS får panikk på grunn av feil ved minnetildeling – mos_AllocPageAlignedOrPanic
摘要: SDS-prosessen kan få panikk (eller fortsette å få panikk kontinuerlig) på grunn av minneallokeringsfeil.
症状
Utilstrekkelig minne kan forårsake dette problemet på SDS-verten (dvs. SVM-minnetildeling) eller på grunn av operativsystemkonfigurasjon.
SDS-prosessen får panikk med følgende tilbakesporing:
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]
Avhengig av OS-innstillingene kan OOM-feil (Out-of-memory) observeres i meldingsfilen.
Innvirkning
Denne virkemåten kan utløse en DATA_DEGRADED/DATA_FAILURE situasjon.
原因
Utilstrekkelig minne på SDS-verten I vSphere-miljøet må du sjekke om det er nok RAM tilordnet en SVM, og om den er reservert. Hvis ja, kontroller minnekonfigurasjonen på OS-nivå:
Kontroller sysctl-kjerneparametrene for overcommit av minne:
Filbane /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解决方案
Dette er ikke et problem med PowerFlex. PowerFlex fungerer som den skal.
For å kontrollere og/eller endre vm.overcommit Innstillingene følger disse trinnene:
1. Logg på SDS med SSH som rot
2. Kjør
cat /etc/sysctl.conf | grep "vm.overcommit"
For eksempel:
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3, Kjør følgende kommandoer
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
Gjenta disse trinnene på alle berørte SDS-er i miljøet for å sikre at de er satt til de anbefalte innstillingene for beste praksis. Du trenger ikke å sette SDS i vedlikeholdsmodus for å utføre denne operasjonen.
Relaterte artikler: