PowerFlex: Errore irreversibile dell SDS a causa di errori di allocazione della memoria - mos_AllocPageAlignedOrPanic
摘要: Il processo SDS può presentare un errore irreversibile (o continuare a creare un errore irreversibile continuamente) a causa di errori di allocazione della memoria.
症狀
Questo problema sull host SDS (ad esempio l'assegnazione della memoria SVM) può essere causato da una memoria insufficiente.
Il processo SDS presenta un errore irreversibile con il seguente 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]
A seconda delle impostazioni del sistema operativo, nel file dei messaggi possono essere osservati errori OOM (Out-of-memory).
Impatto
Questo comportamento può innescare una situazione di DATA_DEGRADED/DATA_FAILURE.
原因
Memoria insufficiente sull host SDS Nell'ambiente vSphere, verificare se la RAM è sufficiente assegnata a una SVM e se questa è riservata. In caso affermativo, controllare la configurazione della memoria a livello di sistema operativo:
Controllare i parametri del kernel sysctl per l'overcommit di memoria:
File path /etc/sysctl.conf
# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)
解析度
Non si tratta di un problema di PowerFlex. PowerFlex funziona come previsto.
Per controllare e/o modificare il vm.overcommit Le impostazioni seguono questi passaggi:
1. Accedere all SDS utilizzando SSH come root
2. Eseguire
cat /etc/sysctl.conf | grep "vm.overcommit"
Ad esempio:
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 50
3, Eseguire i seguenti comandi
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
Convalida
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit" vm.overcommit_memory = 2 vm.overcommit_ratio = 100
Ripetere questi passaggi su tutti gli SDS interessati nell'ambiente per assicurarsi che siano impostati sulle impostazioni delle best practice consigliate. Non è necessario impostare l SDS in modalità di manutenzione per eseguire questa operazione.
Articoli simili: