PowerScale: Problemas de replicación de SyncIQ cuando se habilitan tramas jumbo en clústeres PowerScale
Summary: Los trabajos de replicación de SyncIQ pueden fallar de forma intermitente debido a reinicios de trabajador de SyncIQ y errores relacionados con la red. Estos problemas se observan a menudo en entornos en los que las subredes de PowerScale están configuradas para utilizar tramas gigantes. La base de conocimientos (KB) describe los procedimientos para validar si la infraestructura de red integral es compatible con tramas jumbo cuando los paquetes IP se transmiten con la marca "No fragmentar" (DF) configurada en el encabezado IP. Cuando el bit DF está habilitado, los dispositivos intermedios no pueden fragmentar paquetes de gran tamaño. Si algún segmento de la ruta de red no es compatible con el tamaño de MTU configurado (por lo general, 9000 bytes para tramas jumbo), estos paquetes se pueden descartar, lo que puede provocar fallas en los procesos de trabajo de SyncIQ e inestabilidad en el trabajo de replicación. ...
Symptoms
La replicación de SyncIQ puede fallar con el siguiente error: "SyncIQ policy failed. A work item has been restarted too many times."
- Por lo general, los trabajos de SyncIQ que replican conjuntos de datos pequeños se completan correctamente.
- Los trabajos de SyncIQ que involucran conjuntos de datos más grandes pueden fallar durante la ejecución.
- Los trabajos de replicación de SyncIQ sin cifrado se realizan correctamente, mientras que los que utilizan cifrado fallan inmediatamente.
Cause
Este problema puede ocurrir de forma intermitente o aparecer aleatoriamente en entornos donde el enrutamiento dinámico está habilitado. En tales casos, el tráfico de SyncIQ se puede enrutar ocasionalmente a través de una ruta de red que no es compatible con la fragmentación de paquetes, lo que provoca fallas.
Solución de problemas:
- Utilice el comando ping para verificar si la infraestructura de red es compatible con tramas jumbo mediante la prueba de la compatibilidad de MTU de punto a punto.
ping desde la interfaz de replicación del clúster de origen a la interfaz de replicación del clúster de destino, especificando un tamaño de carga útil de 8972 bytes sin configurar la marca "No 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
El resultado muestra quela red pasa correctamente los paquetes cuando la marca "No fragmentar" (DF) no está configurada, lo que sugiere que los paquetes pueden fragmentarse en tránsito.
Para verificar la compatibilidad con paquetes jumbo mediante el envío de un ping desde la interfaz de replicación del clúster de origen a la interfaz de replicación del clúster de destino con la marca "No fragmentar" habilitada, siga estos pasos:
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
El resultado muestra que la transmisión de paquetes falla cuando se establece el bit "No fragmentar" (DF), lo que sugiere posibles restricciones de MTU o problemas con el descubrimiento de MTU de ruta.
- Uso
traceroutecon pruebas de MTU para identificar saltos de red intermedios que pueden no admitir tramas jumbo.
Pruebas que especifican un tamaño de carga útil de 8972 bytes con la marca "No fragmentar" (DF) sin configurar.
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
El resultado muestra que la prueba de traceroute se completó correctamente cuando no se configuró la marca "No fragmentar" (DF).
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
El resultado muestra que la prueba de traceroute se completó correctamente cuando no se configuró la marca "No fragmentar" (DF), pero se observaron indicadores de fragmentación a lo largo de la ruta de red .
Pruebas que especifican un tamaño de carga útil de 8972 bytes con la marca "No fragmentar" (DF) configurada.
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
*
El resultado indica que el traceroute al destino falló, lo que sugiere posibles limitaciones de MTU o problemas de fragmentación a lo largo de la ruta de red.
Resolution
Solución alternativa:
- Si la subred de PowerScale designada para el tráfico de SyncIQ está configurada con una MTU de 9000 bytes, es fundamental asegurarse de que toda la ruta de red entre los clústeres de PowerScale participantes sea totalmente compatible con tramas gigantes.
- Si la ruta de red entre los clústeres de PowerScale participantes no es compatible con tramas gigantes, asegúrese de que la subred de PowerScale dedicada al tráfico de SyncIQ esté configurada con una MTU de 1500 bytes en los sistemas de origen y destino.