PowerScale: Проблеми з реплікацією SyncIQ, коли джамбо-кадри увімкнені на кластерах 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, щоб перевірити, чи підтримує мережева інфраструктура джамбо-фрейми, тестуючи наскрізну сумісність 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) не встановлений, що свідчить про те, що пакети можуть бути фрагментовані під час передачі.
Щоб перевірити підтримку джамбо-пакетів, надсилаючи пінг з інтерфейсу реплікації кластера-джерела на інтерфейс реплікації цільового кластера з увімкненим прапорцем «Не фрагментувати», виконайте такі кроки:
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 для виявлення проміжних мережевих переходів, які можуть не підтримувати джамбо-фрейми.
Тестування з визначенням розміру корисного навантаження 8972 байти з невстановленим прапорцем «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
Вихід показує, що тест трасування був успішно завершений, коли прапорець «Не фрагментувати» (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 був успішно завершений, коли прапорець «Не фрагментувати» (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 байт як на вихідній, так і на цільовій системах.