PowerFlex 3.X Tijdens NDU loopt een SDS-crash vast tijdens het uitvoeren van de mgStorageRegion_CopyFromBuffer-functie
Summary: SDS crasht bij functie-mgStorageRegion_CopyFromBuffer
Symptoms
- Upgrade van 3.0 naar 3.6
- SDS verlaat de directe onderhoudsmodus (IMM)
- Inflight Checksum is ingeschakeld.
SDS crasht met de volgende paniek:
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]
De functie Inflight Checksum is ingeschakeld voor de storagepool(s):
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 ...
Impact
SDS crasht en kan IMM niet afsluiten. Als tijdens een upgrade de upgrade niet kan worden voortgezet.
Cause
Resolution
Schakel de inflight checksum uit voor de storagepool waaraan de SDS bijdraagt:
1) Voer een query uit op alle SDS-exemplaren om de SDS-naam/ID te krijgen:
[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) Zoek op de SDS een van de namen/id en zoek naar "Storage Pool: ":
Opmerking: de storagepool(s) waaraan apparaten worden bijgedragen; In dit geval is er slechts één, namelijk de storagepoolnaam "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) Voer een query uit op de storagepool en zoek naar "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) Om Inflight Checksum uit te schakelen, kan dit worden gedaan met behulp van scli of in de Presentation Server. Als u dit wilt uitschakelen met scli, voert u de onderstaande opdracht uit:
[root@nestedsvm2 ~]# scli --set_checksum_mode --protection_domain_name pd1 --storage_pool_name sp1 --disable_inflight_checksum Checksum mode modified successfully
3.b) Ga in de presentatieserver naar Storagepools > , selecteer Storagepool > Wijzigen, Algemeen >> , verwijder het vinkje bij Enable Inflight Checksum, > Apply.
Versies waarop dit van toepassing is
PowerFlex 3.5.x
PowerFlex 3.6.x