PowerFlex 3.x: O serviço SDS entra em pane contínua com drl_IsClean de função
Summary: Em cenários raros, o serviço SDS pode entrar em pane continuamente com a função drl_IsClean. Esse problema foi observado quando os dispositivos SDS têm mais de 2 TB de tamanho.
Symptoms
O serviço SDS entra em pane contínua com o seguinte rastreamento de pilha:
/opt/emc/scaleio/sds/logs/exp.0
2024/07/22 21:54:33.819866 Panic in file /data/build/workspace/ScaleIO-Common-Job/src/tgt/bm/drl.c, line 1238, function drl_IsClean, PID 17253.Panic Expression !(offsetInLbs < pDrl->protectedOffsetInLbs) PANIC_ID_tgt_1497349762194.
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mosDbg_PanicPrepare+0x13a) [0x93ab8a]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(drl_IsClean+0x5e) [0x9346ae]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgPhyDev_IsDrlGroupClean+0x4b) [0x93476b]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgPhyComb_ReadIntegrityBits+0x130) [0x906040]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgStorageRegion_ReadRegionIntegrity+0xb4) [0x906224]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(storageRegion_ReadDirtyRegion+0xad) [0x740f4d]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(raidComb_ReadDrl+0x7d) [0x74105d]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(ioh_ReadCombDrl+0x758) [0x5eb368]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(ioh_NewRequest+0x2084) [0x5fb4a4]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(contNet_RecvIORequest+0x2c4) [0x601534]
Impacto
A indisponibilidade de dados do usuário pode ocorrer se qualquer outro SDS se desacoplar como parte dele, estando em um dos seguintes estados:
- Modo de manutenção instantânea (IMM)
- Estado de erro
- Durante uma recriação contínua
Cause
Panes no serviço SDS causadas por deslocamentos de dispositivo grandes.
Resolution
Correção:
- PowerFlex 3.6.5 e superior (fim do suporte)
- PowerFlex 4.5 e superior
Solução temporária:
Siga uma das opções.
Se a Opção 1 não resolver o problema, vá para a Opção 2.
Opção 1:
-
- Insira o nó do SDS no IMM na linha de comando scli ou na interface do usuário do servidor de apresentação.
- Se o nó do SDS não puder entrar no IMM, interrompa o daemon do SDS executando o script
/opt/emc/scaleio/sds/bin/delete_service.sh.Take necessary precautions to prevent the cluster from entering a Data Unavailability (DU) state. Before stopping the SDS daemon, verify that no Rebuild is in progress. If you're unsure about the DU state, consult L2 or an SME.
- Se o nó do SDS não puder entrar no IMM, interrompa o daemon do SDS executando o script
- Interrompa o serviço SDS depois que o SDS for colocado no IMM
/opt/emc/scaleio/sds/bin/delete_service.sh - Remova a memória compartilhada no SDS (incluindo a memória compartilhada do CloudLink).
- Mova os arquivos gerados pelo seguinte comando para um diretório temporário:
ls -l /dev/shm | egrep -i *EMC_sds* ls -l /dev/shm | egrep emc_scaleio_*
- Mova os arquivos gerados pelo seguinte comando para um diretório temporário:
- Inicie o serviço do SDS
/opt/emc/scaleio/sds/bin/create_service.sh
- Insira o nó do SDS no IMM na linha de comando scli ou na interface do usuário do servidor de apresentação.
-
- Saia do SDS do IMM usando scli ou a interface do usuário do servidor de apresentação. Espera-se que uma reconstrução comece. Se o SDS não estiver no IMM, vá para a próxima etapa
- Verifique a saída do seguinte comando para garantir que o SDS esteja conectado:
scli --query_all_sds
- Saia do SDS do IMM usando scli ou a interface do usuário do servidor de apresentação. Espera-se que uma reconstrução comece. Se o SDS não estiver no IMM, vá para a próxima etapa
Opção 2:
-
Se o sistema não estiver em um estado de falha de dados e houver capacidade livre ou sobressalente suficiente disponível, remova o nó SDS do cluster do PowerFlex. Depois que o rebalanceamento for concluído, adicione novamente o nó SDS com todos os dispositivos SDS.
IMPORTANTE:
O scanner em segundo plano (BGS) e o erro parcial de dispositivo (PDE) podem fazer com que o problema ocorra novamente. Se possível, desative o BGS ou use o BGS no modo "somente relatório".
As somas de verificação persistentes não devem acionar problemas. No entanto, se houver uma incompatibilidade de soma de verificação, uma pequena recriação será iniciada, o que pode fazer com que o problema ocorra novamente. Se possível, desative a soma de verificação persistente.