PowerScale. Проблемы репликации SyncIQ при включении пакетов Jumbo Frame в кластерах PowerScale
Summary: Задания репликации SyncIQ могут периодически завершаться сбоем из-за перезапусков исполнителя SyncIQ и сетевых ошибок. Эти проблемы часто наблюдаются в средах, где подсети PowerScale настроены на использование пакетов крупного размера. В базе знаний (KB) описаны процедуры проверки того, поддерживает ли комплексная сетевая инфраструктура крупные пакеты при передаче IP-пакетов с флагом «Не фрагментировать» (DF), установленным в IP-заголовке. Если бит DF включен, промежуточные устройства не могут фрагментировать пакеты слишком большого размера. Если какой-либо сегмент сетевого пути не поддерживает настроенный размер MTU (обычно 9000 байт для крупных кадров), эти пакеты могут быть отброшены, что может привести к сбоям рабочих процессов SyncIQ и нестабильности заданий репликации. ...
Symptoms
Репликация SyncIQ может завершиться сбоем со следующей ошибкой: "SyncIQ policy failed. A work item has been restarted too many times."
- Задания SyncIQ, реплицирующие небольшие наборы данных, обычно завершаются успешно.
- Задания SyncIQ, включающие большие наборы данных, могут завершаться сбоем во время выполнения.
- Задания репликации SyncIQ без шифрования выполняются успешно, а задания, использующие шифрование, завершаются сбоем немедленно.
Cause
В средах, где включена динамическая маршрутизация, эта проблема может возникать периодически или случайным образом. В таких случаях трафик SyncIQ может периодически направляться по сетевому пути, который не поддерживает фрагментацию пакетов, что приводит к сбоям.
Поиск и устранение неполадок:
- Используйте команду ping, чтобы проверить, поддерживает ли сетевая инфраструктура пакеты jumbo frame, проверив совместимость сквозного отслеживания MTU.
ping из интерфейса репликации исходного кластера в интерфейс репликации целевого кластера, указав размер полезной нагрузки 8972 байт без установки флага «Не фрагментировать» (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
Выходные данные показывают, чтосеть успешно пропускает пакеты, если не установлен флаг «Не фрагментировать» (DF), что указывает на то, что пакеты могут быть фрагментированы при передаче.
Чтобы проверить поддержку пакетов крупного размера путем отправки ping-запроса с интерфейса репликации исходного кластера на интерфейс репликации целевого кластера с включенным флагом «Не фрагментировать», выполните следующее:
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
Выходные данные показывают, что передача пакетов завершается сбоем, если установлен бит «Не фрагментировать» (DF), что указывает на возможные ограничения MTU или проблемы с обнаружением MTU пути.
- Используется,
tracerouteс тестированием MTU для выявления промежуточных сетевых переходов, которые могут не поддерживать jumbo кадры.
Тестирование с указанием размера полезной нагрузки 8972 байт со снятым флагом «Не фрагментировать» (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
Выходные данные показывают, что тест traceroute успешно завершен, если не был установлен флаг 'Do Not Fragment' (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
Выходные данные показывают, что тест traceroute успешно завершен, если не был установлен флаг 'Do Not Fragment' (DF), но вдоль сетевого пути наблюдались индикаторы фрагментации .
Тестирование с указанием размера полезной нагрузки 8972 байт с установленным флагом «Не фрагментировать» (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
*
Выходные данные указывают на сбой трассировки до цели, что указывает на потенциальные ограничения MTU или проблемы с фрагментацией вдоль сетевого пути.
Resolution
Временное решение.
- Если для подсети PowerScale, предназначенной для трафика SyncIQ, настроено значение MTU 9000 байт, крайне важно убедиться, что весь сетевой путь между участвующими кластерами PowerScale полностью поддерживает пакеты крупного размера.
- Если сетевой путь между участвующими кластерами PowerScale не поддерживает пакеты крупного размера, убедитесь, что для подсети PowerScale, выделенной для трафика SyncIQ, настроено значение MTU 1500 байт в исходной и целевой системах.