PowerScale: Problemer med SyncIQ-replikering, når Jumboframes er aktiveret på PowerScale-klynger
Summary: SyncIQ-replikeringsjob kan lejlighedsvis mislykkes på grund af genstart af SyncIQ-medarbejdere og netværksrelaterede fejl. Disse problemer opleves ofte i miljøer, hvor PowerScale-undernet er konfigureret til at bruge jumborammer. Knowledge Base (KB) beskriver procedurer til validering af, om end-to-end-netværksinfrastrukturen understøtter jumborammer, når IP-pakker overføres med flaget "Do Not Fragment" (DF) indstillet i IP-headeren. Når DF-bitten er aktiveret, kan mellemliggende enheder ikke fragmentere overdimensionerede pakker. Hvis et segment af netværksstien ikke understøtter den konfigurerede MTU-størrelse (typisk 9000 byte for jumborammer), kan disse pakker blive udeladt, hvilket potentielt kan resultere i fejl i SyncIQ-arbejdsprocessen og ustabilitet i replikeringsjobbet. ...
Symptoms
SyncIQ-replikering mislykkes muligvis med følgende fejl: "SyncIQ policy failed. A work item has been restarted too many times."
- SyncIQ-job, der replikerer små datasæt, fuldføres typisk korrekt.
- SyncIQ-job, der involverer større datasæt, kan mislykkes under udførelsen.
- SyncIQ-replikeringsjob uden kryptering lykkes, mens de, der bruger kryptering, mislykkes med det samme.
Cause
Dette problem kan opstå periodisk eller vises tilfældigt i miljøer, hvor dynamisk routing er aktiveret. I sådanne tilfælde kan SyncIQ-trafik lejlighedsvis dirigeres gennem en netværkssti, der ikke understøtter pakkefragmentering, hvilket fører til fejl.
Fejlfinding:
- Brug ping-kommandoen til at kontrollere, om netværksinfrastrukturen understøtter jumborammer, ved at teste MTU-kompatibilitet fra start til slut.
ping fra kildeklyngens replikeringsgrænseflade til destinationsklyngens replikeringsgrænseflade, der angiver en datastørrelse på 8972 byte uden at indstille flaget "Do Not Fragment" (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
Outputtet viser, atnetværket med succes passerer pakker, når flaget "Do Not Fragment" (DF) ikke er indstillet, hvilket tyder på, at pakker kan blive fragmenteret under transit.
Følg disse trin for at kontrollere understøttelse af jumbopakker ved at sende et ping fra kildeklyngens replikeringsgrænseflade til destinationsklyngens replikeringsgrænseflade med flaget "Do Not Fragment" aktiveret:
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
Outputtet viser, at pakkeoverførslen mislykkes, når "Do Not Fragment"-bitten (DF) er indstillet, hvilket tyder på mulige MTU-begrænsninger eller problemer med MTU-stiregistrering.
- Brug
traceroutemed MTU-test for at identificere mellemliggende netværkshop, der muligvis ikke understøtter jumborammer.
Test, der angiver en datastørrelse på 8972 byte med flaget "Do Not Fragment" (DF) unset.
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
Outputtet viser, at traceroute-testen blev fuldført, da flaget "Do Not Fragment" (DF) ikke blev indstillet.
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
Outputtet viser, at traceroute-testen blev gennemført med succes, da flaget 'Do Not Fragment' (DF) ikke blev indstillet, men fragmenteringsindikatorer blev observeret langs netværksstien.
Test, der angiver en datastørrelse på 8972 byte med flaget "Do Not Fragment" (DF) indstillet.
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
*
Outputtet angiver, at sporingsruten til målet mislykkedes, hvilket tyder på potentielle MTU-begrænsninger eller fragmenteringsproblemer langs netværksstien.
Resolution
Løsning:
- Hvis PowerScale-undernettet, der er beregnet til SyncIQ-trafik, er konfigureret med en MTU på 9000 byte, er det vigtigt at sikre, at hele netværksstien mellem de deltagende PowerScale-klynger understøtter jumborammer fuldt ud.
- Hvis netværksstien mellem deltagende PowerScale-klynger ikke understøtter jumborammer, skal du sørge for, at PowerScale-undernettet, der er dedikeret til SyncIQ-trafik, er konfigureret med en MTU på 1500 byte på både kilde- og målsystemerne.