PowerScale: Problem med SyncIQ-replikering när jumboramar är aktiverade på PowerScale-kluster
Summary: SyncIQ-replikeringsjobb kan ibland misslyckas på grund av omstarter av SyncIQ-arbetare och nätverksrelaterade fel. Dessa problem observeras ofta i miljöer där PowerScale-undernät är konfigurerade för att använda jumboramar. I kunskapsdatabasen (KB) beskrivs procedurer för att validera om nätverksinfrastrukturen från slutpunkt till slutpunkt stöder jumboramar när IP-paket överförs med flaggan "Fragmentera inte" (DF) inställd i IP-huvudet. När DF-biten är aktiverad kan mellanliggande enheter inte fragmentera överdimensionerade paket. Om något segment av nätverkssökvägen inte stöder den konfigurerade MTU-storleken (vanligtvis 9 000 byte för jumboramar) kan dessa paket tas bort, vilket kan leda till fel i SyncIQ-arbetsprocesser och instabilitet i replikeringsjobbet. ...
Symptoms
SyncIQ-replikeringen kan misslyckas med följande fel: "SyncIQ policy failed. A work item has been restarted too many times."
- SyncIQ-jobb som replikerar små datauppsättningar slutförs vanligtvis.
- SyncIQ-jobb som involverar större datauppsättningar kan misslyckas under körningen.
- SyncIQ Replikeringsjobb utan kryptering lyckas, medan de som använder kryptering misslyckas omedelbart.
Cause
Det här problemet kan uppstå ibland eller visas slumpmässigt i miljöer där dynamisk routning är aktiverat. I sådana fall kan SyncIQ-trafik ibland dirigeras via en nätverkssökväg som inte stöder paketfragmentering, vilket leder till fel.
Felsökning:
- Använd ping-kommandot för att kontrollera om nätverksinfrastrukturen stöder jumboramar genom att testa MTU-kompatibilitet från slutpunkt till slutpunkt.
ping från källklustrets replikeringsgränssnitt till målklustrets replikeringsgränssnitt och ange en nyttolaststorlek på 8972 byte utan att ange flaggan "Fragmentera inte" (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
Utdata visar attnätverket framgångsrikt skickar paket när flaggan "Fragmentera inte" (DF) inte är inställd, vilket tyder på att paket kan fragmenteras under överföringen.
Följ dessa steg för att verifiera stöd för jumbopaket genom att skicka en ping från källklustrets replikeringsgränssnitt till målklustrets replikeringsgränssnitt med flaggan "Fragmentera inte" aktiverad:
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
Utdata visar att paketöverföringen misslyckas när biten "Fragmentera inte" (DF) har angetts, vilket tyder på möjliga MTU-begränsningar eller problem med sökvägs-MTU-identifiering.
- Använd
traceroutemed MTU-testning för att identifiera mellanliggande nätverkshopp som kanske inte stöder jumboramar.
Testning som anger en nyttolaststorlek på 8972 byte med flaggan "Fragmentera inte" (DF) inte inställd.
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
Utdata visar att traceroute-testet slutfördes när flaggan "Fragmentera inte" (DF) inte har angetts.
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
Utdata visar att traceroute-testet slutfördes framgångsrikt när flaggan "Fragmentera inte" (DF) inte var inställd, men fragmenteringsindikatorer observerades längs nätverkssökvägen.
Testning av en nyttolaststorlek på 8972 byte med flaggan "Fragmentera inte" (DF).
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
*
Utdata indikerar att spårningsvägen till målet misslyckades, vilket tyder på potentiella MTU-begränsningar eller fragmenteringsproblem längs nätverkssökvägen.
Resolution
Alternativ lösning:
- Om det PowerScale-undernät som är avsett för SyncIQ-trafik är konfigurerat med en MTU på 9 000 byte är det viktigt att se till att hela nätverkssökvägen mellan de deltagande PowerScale-klustren har fullt stöd för jumboramar.
- Om nätverkssökvägen mellan deltagande PowerScale-kluster inte stöder jumboramar kontrollerar du att PowerScale-undernätet som är dedikerat för SyncIQ-trafik är konfigurerat med en MTU på 1 500 byte på både käll- och målsystemet.