PowerFlex:SDS 进程在功能MosAsyncIO_ReqAccounting持续崩溃

Summary: 在 PowerFlex 组件的手动或 PFMP SVM 转换和手动升级期间,如果 rep_tgt.txt 文件未正确创建,SDS 可能会持续失败。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

SDS 进程持续崩溃,并显示以下堆栈跟踪:

2024/05/27 08:11:10.051615 Panic in file /data/build/workspace/ScaleIO-Common-Job/src/mos/usr/linux/mos_async_io.c, line 1107, function mosAsyncIO_ReqAccounting, PID 21157.Panic Expression pOsReq->accounting.totalLenSubmittedBytes == pReq->bytesIO
/opt/emc/scaleio/sds/bin/sds-4.5.2000.135(mosDbg_PanicPrepare+0xf4) [0x936f74]
/opt/emc/scaleio/sds/bin/sds-4.5.2000.135(mosAsyncIO_ReqAccounting+0x26b) [0x95398b]
/opt/emc/scaleio/sds/bin/sds-4.5.2000.135() [0x953b4e]
/opt/emc/scaleio/sds/bin/sds-4.5.2000.135(mosAsyncIO_Reaper+0xab8) [0x959dc8]
/opt/emc/scaleio/sds/bin/sds-4.5.2000.135(mosOsThrd_StartFunc+0x15a) [0x94056a]
/lib64/libpthread.so.0(+0xa6ea) [0x7f0629c166ea]
[(nil)]

 

在 SDS 崩溃之前,SDS 跟踪日志指示从 /opt/emc/scaleio/sds/cfg/rep_tgt.txt 读取时出现问题:

2024/05/27 08:10:36.501247 LOW:7fa41442ddb0:mos_ReadParamFromSysPath:01442: ERROR: Failed to stat sys file /sys/dev/block/0:55/partition, errno: 2
2024/05/27 08:10:36.501253 MED:7fa41442ddb0:mos_GetDevMaxIoSizeBytesFromFD:01565: Could not read parameter for file 28 (path /sys/dev/block/0:55/partition), assuming 256.
2024/05/27 08:10:36.501260 MED:7fa41442ddb0:mosAsyncIO_OpenFileEx:00463: Opened file /opt/emc/scaleio/sds/cfg/rep_tgt.txt (fd 28), maxInflight 8, maxIoSize 256, ptr 0x7fa42c14a450

 

受影响的产品:PowerFlex 3.x 和 4.x

Cause

SDS 在尝试访问 rep_tgt.txt 文件时出现问题。

 

Resolution

如果 rep_tgt.txt Does Not Exist:

      1. 从主 MDM 检索所需的 ID:

        • 获取MDM_ID
          scli --query_all | grep ID | head -n1
        • 获取SDS_ID:(请参阅相关 SDS)
          scli --query_all_sds
      2. 创建 rep_tgt.txt 文件,其中包含检索到的 ID。替换上述输出中的 MDM_ID 和 SDS_ID

        echo -n "mdmId=<MDM_ID>,tgtId=<SDS_ID>" > /opt/emc/scaleio/sds/cfg/rep_tgt.txt truncate -s 4096 /opt/emc/scaleio/sds/cfg/rep_tgt.txt

        示例:

        echo -n "mdmId=e7db67b7c2e2190f,tgtId=2514c01a00000003" > /opt/emc/scaleio/sds/cfg/rep_tgt.txt truncate -s 4096 /opt/emc/scaleio/sds/cfg/rep_tgt.txt
      3. 启动 SDS 守护程序:

        /opt/emc/scaleio/sds/bin/create_service.sh

         


如果 rep_tgt.txt 存在:

    1. 验证文件内是否包含正确的 MDM ID 和 SDS ID。

      cat /opt/emc/scaleio/sds/cfg/rep_tgt.txt

       

    2. 检查文件大小(必须为 4096 字节):

      ls -l /opt/emc/scaleio/sds/cfg/rep_tgt.txt

       

    3. 如果文件小于 4096 字节:

      1. 备份现有文件:
        cp /opt/emc/scaleio/sds/cfg/rep_tgt.txt /opt/emc/scaleio/sds/cfg/rep_tgt.txt.bak
      2. 调整文件大小:

         

        truncate -s 4096 /opt/emc/scaleio/sds/cfg/rep_tgt.txt

         

      3. 验证新文件大小
         
    4. 启动 SDS 守护程序:
      /opt/emc/scaleio/sds/bin/create_service.sh


如果遵循解决方法后仍然发生 SDS 崩溃,请联系戴尔支持 以获得进一步的帮助。

Affected Products

PowerFlex Software

Products

PowerFlex rack, PowerFlex Appliance
Article Properties
Article Number: 000226538
Article Type: Solution
Last Modified: 11 Jun 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.