PowerFlex: Situaciones de pánico de SDS debido a fallas de asignación de memoria: mos_AllocPageAlignedOrPanic
摘要: El proceso de SDS puede entrar en estado de alarma (o mantenerse en estado de alarma continuamente) debido a fallas de asignación de memoria.
症狀
Una memoria insuficiente puede causar este problema en el host de SDS (es decir, asignación de memoria de SVM) o debido a la configuración del sistema operativo.
El proceso de SDS entra en una situación de pánico con el siguiente seguimiento regresivo:
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]
Según la configuración del SO, se pueden observar errores de OOM (falta de memoria) en el archivo de mensajes.
Impacto
Este comportamiento puede desencadenar una situación DATA_DEGRADED/DATA_FAILURE.
原因
Memoria insuficiente en el host SDS En el entorno de vSphere, compruebe si hay suficiente RAM asignada a una SVM y si está reservada. Si es así, compruebe la configuración de la memoria en el nivel del SO:
Compruebe los parámetros del kernel sysctl para la sobreasignación de memoria:
ruta de archivo /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解析度
No se trata de un problema de PowerFlex. PowerFlex funciona según lo previsto.
Para comprobar o modificar el vm.overcommit Los ajustes siguen estos pasos:
1. Inicie sesión en el SDS mediante SSH como raíz
2. Ejecutar
cat /etc/sysctl.conf | grep "vm.overcommit"
Ej.
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3. Ejecute los siguientes comandos
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
Validación
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Repita estos pasos en todos los SDS afectados en el entorno para asegurarse de que estén configurados en la configuración recomendada de las prácticas recomendadas. No es necesario colocar el SDS en modo de mantenimiento para realizar esta operación.
Artículos similares: