PowerScale: Problemy z replikacją SyncIQ przy dużych ramkach w klastrach PowerScale
Summary: Zadania replikacji SyncIQ mogą sporadycznie kończyć się niepowodzeniem z powodu ponownego uruchomienia procesu roboczego SyncIQ i błędów związanych z siecią. Problemy te są często obserwowane w środowiskach, w których podsieci PowerScale są skonfigurowane do korzystania z dużych ramek. Baza wiedzy (KB) przedstawia procedury sprawdzania, czy kompleksowa infrastruktura sieciowa obsługuje duże ramki, gdy pakiety IP są przesyłane z flagą "Do Not Fragment" (DF) ustawioną w nagłówku IP. Gdy bit DF jest włączony, urządzenia pośrednie nie są w stanie fragmentować zbyt dużych pakietów. Jeśli jakikolwiek segment ścieżki sieciowej nie obsługuje skonfigurowanego rozmiaru MTU (zazwyczaj 9000 bajtów dla dużych ramek), pakiety te mogą zostać porzucone, co może spowodować awarię procesu roboczego SyncIQ i niestabilność zadania replikacji. ...
Symptoms
Replikacja SyncIQ może zakończyć się niepowodzeniem z następującym błędem: "SyncIQ policy failed. A work item has been restarted too many times."
- Zadania SyncIQ replikujące małe zestawy danych zazwyczaj kończą się pomyślnie.
- Zadania SyncIQ obejmujące większe zestawy danych mogą zakończyć się niepowodzeniem podczas wykonywania.
- Zadania replikacji SyncIQ bez szyfrowania kończą się powodzeniem, podczas gdy zadania korzystające z szyfrowania natychmiast kończą się niepowodzeniem.
Cause
Ten problem może występować sporadycznie lub losowo w środowiskach, w których jest włączony routing dynamiczny. W takich przypadkach ruch SyncIQ może być czasami kierowany przez ścieżkę sieciową, która nie obsługuje fragmentacji pakietów, co prowadzi do awarii.
Rozwiązywanie problemów:
- Użyj polecenia ping, aby sprawdzić, czy infrastruktura sieciowa obsługuje duże ramki, testując kompleksową zgodność MTU.
ping z interfejsu replikacji klastra źródłowego do interfejsu replikacji klastra docelowego, określając rozmiar ładunku 8972 bajtów bez ustawiania flagi "Nie fragmentuj" (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
Dane wyjściowe pokazują, żesieć pomyślnie przekazuje pakiety, gdy flaga "Do Not Fragment" (DF) nie jest ustawiona, co sugeruje, że pakiety mogą być fragmentowane podczas przesyłania.
Aby zweryfikować obsługę pakietów jumbo przez wysłanie polecenia ping z interfejsu replikacji klastra źródłowego do interfejsu replikacji klastra docelowego z włączoną flagą "Do Not Fragment", wykonaj następujące czynności:
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
Dane wyjściowe pokazują, że transmisja pakietów kończy się niepowodzeniem, gdy ustawiony jest bit "Do Not Fragment" (DF), co sugeruje możliwe ograniczenia MTU lub problemy z wykrywaniem MTU ścieżki.
- Użyj
traceroutez testami MTU w celu zidentyfikowania pośrednich przeskoków sieciowych, które mogą nie obsługiwać dużych ramek.
Testowanie określające rozmiar ładunku 8972 bajtów z nieustawioną flagą "Do Not Fragment" (DF).
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
Dane wyjściowe pokazują, że test traceroute zakończył się pomyślnie, gdy nie ustawiono flagi "Nie fragmentuj" (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
Dane wyjściowe pokazują, że test traceroute zakończył się pomyślnie, gdy nie ustawiono flagi "Nie fragmentuj" (DF), ale zaobserwowano wskaźniki fragmentacji wzdłuż ścieżki sieci.
Testowanie określenia rozmiaru ładunku 8972 bajtów z ustawioną flagą "Do Not Fragment" (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
*
Dane wyjściowe wskazują, że trasa śledzenia do celu nie powiodła się, co sugeruje potencjalne ograniczenia MTU lub problemy z fragmentacją wzdłuż ścieżki sieci.
Resolution
Obejście problemu:
- Jeśli podsieć PowerScale przeznaczona dla ruchu SyncIQ ma skonfigurowaną wartość MTU 9000 bajtów, ważne jest, aby upewnić się, że cała ścieżka sieciowa między uczestniczącymi klastrami PowerScale w pełni obsługuje duże ramki.
- Jeśli ścieżka sieciowa między uczestniczącymi klastrami PowerScale nie obsługuje dużych ramek, upewnij się, że podsieć PowerScale przeznaczona dla ruchu SyncIQ ma skonfigurowany MTU 1500 bajtów zarówno w systemie źródłowym, jak i docelowym.