PowerFlex 3.X Během upgradu bez rušení došlo k selhání bezpečnostního listu při provádění funkce mgStorageRegion_CopyFromBuffer
Summary: Selhání SDS na funkční mgStorageRegion_CopyFromBuffer
Symptoms
- Upgrade z verze 3.0 na verzi 3.6
- SDS ukončuje okamžitý režim údržby (IMM)
- Kontrolní součet za letu je povolen.
SDS se zhroutí s následující panikou:
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]
Funkce kontrolního součtu za letu je povolena ve fondech úložišť:
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 ...
Důsledky
SDS selhává a nelze ukončit aplikaci IMM. V průběhu upgradu nebude možné pokračovat.
Cause
Resolution
Zakažte kontrolní součet za letu ve fondu úložiště, do kterého SDS přispívá:
1) Dotazování všech SDS a získání názvu/ID 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) Spusťte dotaz na SDS podle názvu/ID a vyhledejte "Storage Pool: ":
Poznámka: fond(y) úložiště, do kterého přispívají zařízení; V tomto případě je k dispozici pouze jeden, a to název fondu úložiště "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) Odešlete dotaz do fondu úložišť a vyhledejte "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) Chcete-li deaktivovat kontrolní součet za letu, lze to provést pomocí scli nebo na prezentačním serveru. Chcete-li jej zakázat pomocí rozhraní scli, spusťte následující příkaz:
[root@nestedsvm2 ~]# scli --set_checksum_mode --protection_domain_name pd1 --storage_pool_name sp1 --disable_inflight_checksum Checksum mode modified successfully
3.b) Na prezentačním serveru přejděte do části Fondy úložišť, vyberte možnost Fond > úložišť, > Upravit > obecné>, zrušte zaškrtnutí políčka "Povolit kontrolní součet za letu" > a "Použít".
Dotčené verze
PowerFlex 3.5.x
PowerFlex 3.6.x