PowerFlex: 메모리 할당 실패로 인한 SDS 패닉 - mos_AllocPageAlignedOrPanic

摘要: 메모리 할당 실패로 인해 SDS 프로세스에 패닉이 발생하거나 계속 패닉이 발생할 수 있습니다.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

메모리가 부족하여 SDS 호스트(예: SVM 메모리 할당)에서 또는 운영 체제 구성으로 인해 이 문제가 발생할 수 있습니다.

SDS 프로세스 패닉은 다음과 같은 역추적과 함께 발생합니다.

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]

OS 설정에 따라 메시지 파일에서 OOM(메모리 부족) 오류가 관찰될 수 있습니다.

 

영향

이 동작으로 인해 DATA_DEGRADED/DATA_FAILURE 상황이 발생할 수 있습니다.

原因

SDS 호스트에 메모리가 부족합니다. vSphere 환경에서 SVM에 할당된 RAM이 충분한지, 예약되어 있는지 확인하십시오. 그렇다면 OS 수준에서 메모리 구성을 확인합니다.

메모리의 오버커밋이 있는지 sysctl 커널 매개변수를 확인합니다.
파일 경로 /etc/sysctl.conf
 

# sysctl -a |grep commit
vm.overcommit_memory = 2 (default is 0)
vm.overcommit_ratio = 50 (default is 50)

 

解决方案

이는 PowerFlex 문제가 아닙니다. PowerFlex가 설계된 대로 작동하고 있습니다.

 

확인 및/또는 수정하려면 vm.overcommit 설정은 다음 단계를 따릅니다.

1. SSH를 루트

로 사용하여 SDS에 로그인합니다. 2. Windows 업그레이드를 실행하라는 프롬프트에 아래 내용이 표시될 때까지 

cat /etc/sysctl.conf | grep "vm.overcommit"


예:

[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit"
vm.overcommit_memory = 2
vm.overcommit_ratio = 50

3, 다음 명령을 실행합니다.

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
검증
[root@sds-node logs]# cat /etc/sysctl.conf | grep "vm.overcommit"
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
환경에서 영향을 받는 모든 SDS에 대해 이 단계를 반복하여 권장 모범 사례 설정으로 설정되어 있는지 확인합니다.  이 작업을 수행하기 위해 SDS를 유지 보수 모드로 전환할 필요는 없습니다. 

 

비슷한 기사 :

其他信息

 

 

受影响的产品

VxFlex Product Family

产品

PowerFlex Software, VxFlex Product Family, VxFlex Ready Node, ScaleIO Ready Node-PowerEdge 13G, PowerFlex appliance R640, PowerFlex appliance R740XD, PowerFlex appliance R840
文章属性
文章编号: 000065036
文章类型: Solution
上次修改时间: 18 5月 2026
版本:  5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。