PowerFlex: SDS raakt in paniek als gevolg van geheugentoewijzingsfouten - mos_AllocPageAlignedOrPanic
摘要: Het SDS-proces kan in paniek raken (of continu in paniek blijven) als gevolg van fouten bij geheugentoewijzing.
症狀
Onvoldoende geheugen kan dit probleem veroorzaken op de SDS-host (d.w.z. SVM-geheugentoewijzing) of vanwege de configuratie van het besturingssysteem.
Het SDS-proces raakt in paniek met de volgende 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]
Afhankelijk van de instellingen van het besturingssysteem kunnen OOM-fouten (Out-of-memory) worden waargenomen in het berichtenbestand.
Impact
Dit gedrag kan een DATA_DEGRADED/DATA_FAILURE situatie veroorzaken.
原因
Onvoldoende geheugen op de SDS-host Controleer in de vSphere-omgeving of er voldoende RAM is toegewezen aan een SVM en of deze is gereserveerd. Zo ja, controleer dan de geheugenconfiguratie op OS-niveau:
Controleer de sysctl kernel parameters op overcommit of memory:
File path /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解析度
Dit is geen PowerFlex-probleem. PowerFlex werkt naar behoren.
Voor het controleren en/of wijzigen van de vm.overcommit Instellingen volgen deze stappen:
1. Meld u aan bij de SDS met SSH als root
2. Voer
cat /etc/sysctl.conf | grep "vm.overcommit"
Bijv.
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3, Voer de volgende opdrachten uit
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
Validatie
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Herhaal deze stappen op alle betrokken SDS-exemplaren in de omgeving om ervoor te zorgen dat ze zijn ingesteld op de aanbevolen best practice-instellingen. U hoeft de SDS niet in de onderhoudsmodus te zetten om deze bewerking uit te voeren.
Gerelateerde artikelen: