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

嘗試存取 rep_tgt.txt 檔案時,SDS 發生問題。

 

Resolution

如果 rep_tgt.txt 不存在:

      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 錯誤,請聯絡 Dell 支援 以取得進一步協助。

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.