PowerFlex: SDS-Fehler aufgrund von Speicherzuweisungsfehlern – mos_AllocPageAlignedOrPanic
摘要: Der SDS-Prozess kann aufgrund von Fehlern bei der Speicherzuweisung einen Fehler verursachen (oder kontinuierlich einen Fehler auslösen).
症狀
Entweder kann unzureichender Arbeitsspeicher dieses Problem auf dem SDS-Host verursachen (d. h. SVM-Speicherzuweisung) oder aufgrund der Konfiguration des Betriebssystems.
Der SDS-Prozess verursacht einen Fehler mit der folgenden Rückverfolgung:
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]
Abhängig von den Betriebssystemeinstellungen können OOM-Fehler (Out-of-memory) in der Meldungsdatei beobachtet werden.
Auswirkungen
Dieses Verhalten kann eine DATA_DEGRADED/DATA_FAILURE Situation auslösen.
原因
Unzureichender Arbeitsspeicher auf dem SDS-Host Prüfen Sie in der vSphere-Umgebung, ob einer SVM genügend RAM zugewiesen und reserviert ist. Falls ja, überprüfen Sie die Speicherkonfiguration auf Betriebssystemebene:
Überprüfen Sie die sysctl-Kernel-Parameter auf eine Überbelegung des Speichers:
Dateipfad /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解析度
Dies ist kein Problem von PowerFlex. PowerFlex funktioniert wie vorgesehen.
Zum Überprüfen und/oder Ändern der vm.overcommit Führen Sie die folgenden Schritte aus:
1. Melden Sie sich mit SSH als root
2 beim SDS an. Führen Sie
cat /etc/sysctl.conf | grep "vm.overcommit"
Beispiel:
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3. Führen Sie die folgenden Befehle aus:
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
Validierung
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Wiederholen Sie diese Schritte auf allen betroffenen SDSs in der Umgebung, um sicherzustellen, dass sie auf die empfohlenen Best-Practice-Einstellungen eingestellt sind. Sie müssen den SDS nicht in den Wartungsmodus versetzen, um diesen Vorgang durchzuführen.
Ähnliche Artikel: