PowerFlex 3.X: durante una NDU, un SDS se bloquea mientras se ejecuta la función mgStorageRegion_CopyFromBuffer

Summary: Bloqueo de SDS en la función mgStorageRegion_CopyFromBuffer

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

 - Actualización de 3.0 a 3.6

 - SDS sale del modo de mantenimiento instantáneo (IMM)  

- La suma de comprobación en transferencia está habilitada.  

El SDS se bloquea con el siguiente estado de alarma: 

2022/12/20 10:22:18.543129 Panic in file /data/build/workspace/ScaleIO-Common-Job/src/tgt/storage/mg_impl/mg_storage_region.c, line 4188, function mgStorageRegion_CopyFromBuffer, PID 13108.Panic Expression !(bufferSizeInBytes != ((sizeInLbs) * (512))) PANIC_ID_tgt_1517847817759.
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mosDbg_PanicPrepare+0x13a) [0x93ab8a]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgStorageRegion_CopyFromBuffer+0x1a7) [0x810477]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgStorageRegion_CopyFromCachedBuffer+0x33) [0x810873]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(storageRegion_CopyFromCachedBuffer+0xde) [0x4d3f3e]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgStorageRegion_ReadFromSyncBuf+0x45) [0x4d4a85]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(raidComb_ReadFromRemoteUntilEntireRegionIsAcquired+0x451) [0x74e021]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(raidComb_ReadVolumeFromRemote+0x3ae) [0x74e8ee]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(raidReverseRebuild_LoopAndCopy+0x140f) [0x75518f]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(raidReverseRebuild_Start+0xb56) [0x7583c6]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(raidSyncPool_StartJob+0x375) [0x5e3145]

La función de suma de comprobación en transferencia está habilitada en los pools de almacenamiento:

Storage Pool durpsdsc7p8pool1 (Id: 469b0f6800000007) has 7 volumes and 236.9 TB (242550 GB) free net capacity. 2.5 PB (2524 TB) volume allocation limit.
...
Inflight Checksum: Enabled
...

 

Impacto

SDS se bloquea y no puede salir del IMM. Si se encuentra durante una actualización, la actualización no podrá continuar.

Cause

Debido a que se trata de un caso extremo y al hecho de que es una versión muy desactualizada que ya no es compatible, es esencial implementar la solución alternativa descrita en la sección Resolución a continuación.

Resolution

Deshabilite la suma de comprobación en transferencia en el pool de almacenamiento al que contribuye el SDS:

1) Consulte todos los SDS para obtener el nombre/ID de SDS:

[root@nestedsvm2 ~]# scli --query_all_sds
Query-all-SDS returned 3 SDS nodes.

Protection Domain 8eeacbf900000000 Name: pd1
SDS ID: ab471ceb00000002 Name: svm103 State: Connected, Joined IP: 15.15.15.103 Port: 7072 Version: 3.6.500
SDS ID: ab471cea00000001 Name: svm102 State: Connected, Joined IP: 15.15.15.102 Port: 7072 Version: 3.6.500
SDS ID: ab471ce800000000 Name: svm101 State: Connected, Joined IP: 15.15.15.101 Port: 7072 Version: 3.6.500

2) Consulte el SDS por nombre/ID y busque "Storage Pool: ":

 Nota: los pools de almacenamiento a los que contribuye a los dispositivos; en este caso, solo hay uno, que es el nombre del pool de almacenamiento "sp1".

[root@nestedsvm2 ~]# scli --query_sds --sds_id ab471ceb00000002 | grep -i 'storage pool:'
         1: Storage Pool: sp1  inflight requests factor: 115, inflight bandwidth factor 115
                Storage Pool: sp1, Capacity: 198 GB, State: Normal
                Storage Pool: sp1, Capacity: 98 GB, State: Normal
                Storage Pool: sp1, Capacity: 98 GB, State: Normal

3) Consulte el pool de almacenamiento y busque "Inflight Checksum: ":

[root@nestedsvm2 ~]# scli --query_storage_pool --storage_pool_name sp1 --protection_domain_name pd1 | grep -i 'Inflight checksum'
        Inflight Checksum: Enabled

3.a) Para deshabilitar la suma de comprobación en vuelo, se puede hacer usando scli o en el servidor de presentación. Para deshabilitarlo mediante scli, ejecute el siguiente comando:

[root@nestedsvm2 ~]# scli --set_checksum_mode --protection_domain_name pd1 --storage_pool_name sp1 --disable_inflight_checksum
Checksum mode modified successfully

3.b) En el servidor de presentación, vaya a Storage Pools > , seleccione Storage Pool > Modify > General y desmarque "Enable Inflight Checksum Sum > " > Apply.  

 

 Versiones afectadas

PowerFlex 3.5.x

 PowerFlex 3.6.x

Affected Products

PowerFlex appliance connectivity

Products

PowerFlex rack, VxFlex Ready Nodes, PowerFlex custom node, PowerFlex appliance R650, PowerFlex appliance R6525, PowerFlex appliance R660, PowerFlex appliance R6625, Powerflex appliance R750, PowerFlex appliance R760, PowerFlex appliance R7625 , PowerFlex appliance R640, PowerFlex appliance R740XD, PowerFlex appliance R7525, PowerFlex appliance R840 ...
Article Properties
Article Number: 000225317
Article Type: Solution
Last Modified: 03 Feb 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.