Os SDSs do PowerFlex 3.6 travam com status de pane inesperado: NO_RESOURCES
Summary: A falha do PowerFlex SDS com o FEIO_RECOVERY__IN_PROGRESS de expressão de pânico continua travando com o status inesperado ALWAYS_ASSERT expressão de pânico: NO_RESOURCES ou apenas com o status Expressão de pânico ALWAYS_ASSERT Inesperado: NO_RESOURCES ...
Symptoms
Cenário
Durante uma operação normal de um cluster do PowerFlex, um SDS ou vários SDS travam com o mesmo rastreamento de pilha
Sintomas
- Isso pode acontecer durante uma operação normal de E/S ao usar pools de granularidade fina (FG).
- Maior probabilidade de acontecer durante uma migração de vtree ao gravar novos dados de volume em um pool de granularidade fina (FG).
Os seguintes cenários podem aparecer:
Os rastreamentos de pilha aparecem próximos em um SDS que travou:
2022/04/05 12:01:30.816177 Panic in file /data/build/workspace/ScaleIO-Common-Job/src/tgt/spef/frontend/fe_io.c, line 3214, function feIo_L2PGatewayUpdate, PID 3682104.Panic Expression FEIO_RECOVERY__IN_PROGRESS == pFeIoDev->recoveryState || 2004 == rc || 20 == rc PANIC_ID_tgt_feio_11. /opt/emc/scaleio/sds/bin/sds-3.6.200.105(mosDbg_PanicPrepare+0x131) [0x5cba01] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(feIo_L2PGatewayUpdate+0xb5b) [0x85612b] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(spef_WriteDo+0x1ec) [0x85631c] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(spefStorageRegion_CompressedWrite+0xb4) [0x95ad14] /opt/emc/scaleio/sds/bin/sds-3.6.200.105() [0x929d0d] /opt/emc/scaleio/sds/bin/sds-3.6.200.105() [0x92ab53] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(raidComb_Write+0xd0) [0x92be30] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(iohComb_WriteSecondary+0x251) [0x9a7d11] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(ioh_Write+0x3e0) [0x9a9dd0] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(ioh_NewRequest+0x2bba) [0x9af92a] ... 2022/04/05 12:01:36.642447 [CHOKE_POINT] Panic in file /data/build/workspace/ScaleIO-Common-Job/src/tgt/storage/spef_impl/spef_storage.c, line 415, function spefStorage_AttachDeviceCK, PID 2102550.Panic Expression ALWAYS_ASSERT Unexpected status: NO_RESOURCES. /opt/emc/scaleio/sds/bin/sds-3.6.200.105(mosDbg_PanicPrepare+0x131) [0x5cba01] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(spefStorage_AttachDeviceCK+0x29a) [0x96bb5a] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(spef_AttachDeviceUmtMainFunc+0x369) [0x87e769] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(mosUmt_StartFunc+0x9c) [0x5b8c5c] /lib64/libc.so.6(+0x4d3d0) [0x7fa54857f3d0]
Um único rastreamento de pilha é exibido em um SDS que travou:
2022/04/05 12:01:36.642447 [CHOKE_POINT] Panic in file /data/build/workspace/ScaleIO-Common-Job/src/tgt/storage/spef_impl/spef_storage.c, line 415, function spefStorage_AttachDeviceCK, PID 2102550.Panic Expression ALWAYS_ASSERT Unexpected status: NO_RESOURCES. /opt/emc/scaleio/sds/bin/sds-3.6.200.105(mosDbg_PanicPrepare+0x131) [0x5cba01] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(spefStorage_AttachDeviceCK+0x29a) [0x96bb5a] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(spef_AttachDeviceUmtMainFunc+0x369) [0x87e769] /opt/emc/scaleio/sds/bin/sds-3.6.200.105(mosUmt_StartFunc+0x9c) [0x5b8c5c] /lib64/libc.so.6(+0x4d3d0) [0x7fa54857f3d0]
Impacto
O SDS se desacopla no momento do acidente, causando reconstruções. Se SDSs suficientes travarem e se desacoplarem do cluster em paralelo, resultarão em dados indisponíveis.
Cause
Isso pode ocorrer durante as operações normais de E/S e durante uma migração do vtree para um pool de armazenamento FG. Parte da E/S deve ser dividida para caber nas páginas 4K de um pool FG. Uma nova E/S de gravação, juntamente com parte da E/S dividida, está sendo gravada no espaço de buffer e causa um estouro de buffer, eventualmente causando travamento do SDS.
Resolution
Embora essa seja uma condição rara, durante uma migração do vtree, execute a migração em um momento de menor pressão de E/S de outras origens. Embora isso possa reduzir as chances de ocorrência desse acidente, isso não é garantido.
Versões afetadas
PowerFlex v3.6.x
Correção feita na versão
PowerFlex v3.6.0.5
Additional Information
Versões afetadas
PowerFlex v3.6.x
Correção feita na versão
PowerFlex v3.6.0.5