PowerFlex: SDS Süreci MosAsyncIO_ReqAccounting Fonksiyonunda Sürekli Panik Yapıyor
Summary: PowerFlex bileşeninin manuel veya PFMP SVM dönüştürmesi ve manuel yükseltmesi sırasında, rep_tgt.txt dosyası düzgün şekilde oluşturulmamışsa SDS sürekli olarak başarısız olabilir.
Symptoms
SDS işlemi, aşağıdaki yığın izlemesiyle sürekli panikler:
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 paniğinden önce SDS izleme günlükleri, /opt/emc/scaleio/sds/cfg/rep_tgt.txt adresinden okunurken bir sorun olduğunu gösterir:
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
Etkilenen Ürün: PowerFlex 3.x ve 4.x
Cause
SDS, rep_tgt.txt dosyasına erişmeye çalışırken bir sorunla karşılaşıyor.
Resolution
Eğer rep_tgt.txt Does Not Exist:
-
-
-
Birincil MDM'den gerekli kimlikleri alın:
- MDM_ID edinin:
scli --query_all | grep ID | head -n1 - Daha SDS_ID edinin: (Bkz. Söz konusu SDS)
scli --query_all_sds
- MDM_ID edinin:
-
Oluşturun
rep_tgt.txtdosyası, alınan kimlikleri içerir. Yukarıdaki çıktıdaki MDM_ID ve SDS_ID değiştirinecho -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.txtExample:
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 -
SDS arka plan programını başlatın:
/opt/emc/scaleio/sds/bin/create_service.sh
-
-
Eğer rep_tgt.txt Var:
-
-
Doğru MDM Kimliğinin ve SDS Kimliğinin dosyanın içinde olduğunu doğrulayın.
cat /opt/emc/scaleio/sds/cfg/rep_tgt.txt -
Dosya boyutunu kontrol edin (4096 bayt olmalıdır):
ls -l /opt/emc/scaleio/sds/cfg/rep_tgt.txt -
Dosya 4096 bayttan küçükse:
- Mevcut dosyayı yedekleyin:
cp /opt/emc/scaleio/sds/cfg/rep_tgt.txt /opt/emc/scaleio/sds/cfg/rep_tgt.txt.bak - Dosyayı yeniden boyutlandırın:
truncate -s 4096 /opt/emc/scaleio/sds/cfg/rep_tgt.txt - Yeni dosya boyutunu doğrulayın
- Mevcut dosyayı yedekleyin:
- SDS arka plan programını başlatın:
/opt/emc/scaleio/sds/bin/create_service.sh
-
Geçici çözümü izledikten sonra SDS panik durumu devam ederse daha fazla yardım için Dell Destek ekibiyle iletişime geçin.