PowerScale: Problemas de replicação do SyncIQ quando jumbo frames estão habilitados em clusters do PowerScale
Summary: Os trabalhos de replicação do SyncIQ podem falhar intermitentemente devido a reinicializações de operador do SyncIQ e erros relacionados à rede. Esses problemas geralmente são observados em ambientes em que as sub-redes do PowerScale são configuradas para usar jumbo frames. A Base de conhecimento (KB) descreve procedimentos para validar se a infraestrutura de rede completa é compatível com jumbo frames quando pacotes IP são transmitidos com o indicador "Não fragmentar" (DF) definido no cabeçalho IP. Quando o bit DF está habilitado, os dispositivos intermediários não conseguem fragmentar pacotes superdimensionados. Se qualquer segmento do caminho de rede não for compatível com o tamanho de MTU configurado (normalmente 9.000 bytes para jumbo-frames), esses pacotes poderão ser descartados, possivelmente resultando em falhas no processo de trabalho de trabalho do SyncIQ e instabilidade no trabalho de replicação. ...
Symptoms
A replicação do SyncIQ pode falhar com o seguinte erro: "SyncIQ policy failed. A work item has been restarted too many times."
- Os trabalhos do SyncIQ que replicam pequenos conjuntos de dados geralmente são concluídos com sucesso.
- Os trabalhos do SyncIQ que envolvem conjuntos de dados maiores podem falhar durante a execução.
- Os trabalhos de replicação do SyncIQ sem criptografia são bem-sucedidos, enquanto aqueles que usam criptografia falham imediatamente.
Cause
Esse problema pode ocorrer intermitentemente ou aparecer aleatoriamente em ambientes em que o roteamento dinâmico está habilitado. Nesses casos, o tráfego do SyncIQ pode ocasionalmente ser roteado por um caminho de rede que não é compatível com a fragmentação de pacotes, levando a falhas.
Solução de problemas:
- Use o comando ping para verificar se a infraestrutura de rede é compatível com jumbo frames testando a compatibilidade completa de MTU.
ping da interface de replicação do cluster de origem para a interface de replicação do cluster de destino, especificando um tamanho de payload de 8972 bytes sem definir o indicador "Não fragmentar" (DF).
isi_for_array -n<lnn> 'ping -S <source-ip> -s 8972 <target-ip>'
source-1# isi_for_array -n1 'ping -c 4 -S xxx.xxx.xxx.xxx -s 8972 yyy.yyy.yyy.yyy'
source-1: PING yyy.yyy.yyy.yyy (10.0.1.231) from xxx.xxx.xxx.xxx: 8972 data bytes
source-1: 1528 bytes from yyy.yyy.yyy.yyy: icmp_seq=0 ttl=64 time=0.944 ms
source-1: 1528 bytes from yyy.yyy.yyy.yyy: icmp_seq=1 ttl=64 time=0.797 ms
source-1: 1528 bytes from yyy.yyy.yyy.yyy: icmp_seq=2 ttl=64 time=0.912 ms
A saída mostra quea rede passa pacotes com sucesso quando o indicador "Não fragmentar" (DF) não está definido, sugerindo que os pacotes podem ser fragmentados em trânsito.
Para verificar o suporte a pacotes jumbo enviando um ping da interface de replicação do cluster de origem para a interface de replicação do cluster de destino com o indicador "Não fragmentar" ativado, siga estas etapas:
isi_for_array -n<lnn> 'ping -S <source-ip> -D -s 8972 <target-ip>'
source-1# isi_for_array -n1 'ping -c 4 -S xxx.xxx.xxx.xxx -D -s 8972 yyy.yyy.yyy.yyy'
source-1: ping: sendto: Message too long
source-1: ping: sendto: Message too long
source-1: ping: sendto: Message too long
source-1: ping: sendto: Message too long
source-1: ping: sendto: Message too long
A saída mostra que a transmissão de pacotes falha quando o bit "Não fragmentar" (DF) está definido, sugerindo possíveis restrições de MTU ou problemas com a detecção de MTU de caminho.
- Use
traceroutecom testes de MTU para identificar saltos de rede intermediários que podem não dar suporte a jumbo-frames.
Teste especificando um tamanho de payload de 8972 bytes com o indicador "Não fragmentar" (DF) não definido.
isi_for_array -n<lnn> 'traceroute -s <source-ip> -p 5667 <target-ip> 8972'
source-1# isi_for_array -n1 'traceroute -s xxx.xxx.xxx.xxx -p 5667 yyy.yyy.yyy.yyy 8972' traceroute to yyy.yyy.yyy.yyy (yyy.yyy.yyy.yyy) from xxx.xxx.xxx.xxx, 64 hops max, 8972 byte packets 1 example.name.internal (aaa.aaa.aaa.aaa) 0.577 ms 0.470 ms 0.472 ms 2 bbb.bbb.bbb.bbb (bbb.bbb.bbb.bbb) 24.810 ms ccc.ccc.ccc.ccc (ccc.ccc.ccc.ccc) 23.418 ms 23.366 ms 3 yyy.yyy.yyy.yyy (yyy.yyy.yyy.yyy) 23.639 ms 23.596 ms 23.608 ms
A saída mostra que o teste traceroute foi concluído com sucesso quando o indicador "Não fragmentar" (DF) não foi definido.
source-1# isi_for_array -n1 'traceroute -s xxx.xxx.xxx.xxx -p 5667 yyy.yyy.yyy.yyy 8972' traceroute to yyy.yyy.yyy.yyy (yyy.yyy.yyy.yyy) from xxx.xxx.xxx.xxx, 64 hops max, 8972 byte packets 1 * * * 2 * * * 3 yyy.yyy.yyy.yyy (yyy.yyy.yyy.yyy) 23.661 ms 23.618 ms 23.743 ms
A saída mostra que o teste traceroute foi concluído com sucesso quando o indicador "Não fragmentar" (DF) não foi definido, mas os indicadores de fragmentação foram observados ao longo do caminho de rede .
Teste especificando um tamanho de payload de 8972 bytes com o indicador "Não fragmentar" (DF) definido.
isi_for_array -n<lnn> 'traceroute -F -s <source-ip> -p 5667 <target-ip> 8972'
source-1# isi_for_array -n1 'traceroute -F -s xxx.xxx.xxx.xxx -p 5667 yyy.yyy.yyy.yyy 8972'
traceroute to yyy.yyy.yyy.yyy (yyy.yyy.yyy.yyy) from xxx.xxx.xxx.xxx, 64 hops max, 8972 byte packets
traceroute: sendto: Message too long
1 traceroute: wrote yyy.yyy.yyy.yyy 8972 chars, ret=-1
*traceroute: sendto: Message too long
traceroute: wrote yyy.yyy.yyy.yyy 8972 chars, ret=-1
*traceroute: sendto: Message too long
traceroute: wrote yyy.yyy.yyy.yyy 8972 chars, ret=-1
*
traceroute: sendto: Message too long
2 traceroute: wrote yyy.yyy.yyy.yyy 8972 chars, ret=-1
*traceroute: sendto: Message too long
traceroute: wrote yyy.yyy.yyy.yyy 8972 chars, ret=-1
*traceroute: sendto: Message too long
traceroute: wrote yyy.yyy.yyy.yyy 8972 chars, ret=-1
*
O resultado indica que a traceroute para o destino falhou, sugerindo possíveis limitações de MTU ou problemas de fragmentação ao longo do caminho de rede.
Resolution
Solução temporária:
- Se a sub-rede do PowerScale designada para o tráfego do SyncIQ estiver configurada com uma MTU de 9000 bytes, será essencial garantir que todo o caminho de rede entre os clusters participantes do PowerScale seja compatível totalmente com jumbo frames.
- Se o caminho de rede entre os clusters participantes do PowerScale não for compatível com jumbo-frames, certifique-se de que a sub-rede do PowerScale dedicada ao tráfego do SyncIQ esteja configurada com uma MTU de 1500 bytes nos sistemas de origem e de destino.