none
Сложности настройки NLB кластера ISA 2004 EE RRS feed

  • Вопрос

  •  

    Доброго времени дня, вечера или ночи. Хочется обсудить одну проблемку, возникушую у нас в организации.

    Был настроен NLB-кластер из двух ISA 2004 EE... Практически полностью согласно инструкции приведенной на сайте http://www.shijaz.com/isaserver/isa2004_nlb.htm (Прошу прощения, но подробности лень описывать самому). В общем все замечательно работает, без сбоев и довольно шустро.

    Одно только но: ISA 2004 поддерживает работу NLB кластера только в Unicast-режиме и больше никак, т.е. на сетевых интерфейсах узлов кластера и на виртуальном IP кластера один и тот же MAC-адрес. Из-за чего "сносит мозги" всем сетевым маршрутизаторам и управляемым свичам. Но еще больше напрягает матерная ругань цискарей, сидящих за моей спиной, когда те включают анализаторы трафика. 

     

    Как сказано на ТехНете - "In unicast mode (in which ISA Server integrated NLB operates), NLB induces switch flooding by design, so that packets sent to the cluster's virtual IP address go to all the cluster hosts. Switch flooding is part of the NLB strategy of obtaining the best throughput for any specific load of client requests."

     

    Решение, предложенное г-ном Томасом Шиндером http://www.isaserver.org/articles/basicnlbpart2.html не помогло. Теперь ломаем голову как избавить сеть от флудинга.

    Може кто-то сталкивался с подобной проблемой или знает как NLB кластеры ISA 2004 реализуются и функционируют "по правильному"? Ведь должно же быть решение?

    7 ноября 2007 г. 14:02

Ответы

  •  Andrewzx написано:

    Конфигурацию с промежуточным свичем мы уже пробовали, флуд это совсем не прекращает, но делает несколько меньше. Зато появляется другой побочный эффект: через локальные интерфейсы узлов кластера прокачивался большой поток данных, до 3 Мб/сек и это без нагрузки или обращений.

     

    Вот поэтому я вам и говорю про отсечку роутером. Или про multycast.

     

    Реально на моих цисковских свичах (ни на одном!) кластерный unicast mac-адрес не попадает в таблицу mac-адресов! В таблицу mac-адресов свичи заносят только частные mac-адреса плечей кластера от которых идут ответы (т.е. у них bf заменено на номер плеча).

    Хотя в Интернете можно найти статьи уважаемых людей, что отсечка хабом или свичом работает, реально она не работает на цисках!

     

    Для интереса: Если пустить пинг со свича, то некоторые типы свичей заносят кластерный mac-адрес в свою arp-таблицу, а некоторые нет. Windows Server 2003 заносит. Вот вам и стандарты!

     

     

    Поэтому вам два варианта:

    1. Отсечка кластера через роутер.
    2. Отказ от integrated NLB, настройка обычного WIndows NLB в multycast mode с описанной выше ручной настройкой цисковских коммутаторов.

    Каждый вариант имеет свои недостатки. Чем жертвовать надо выбирать из конкретной ситуации.

     

    • Помечено в качестве ответа Andrewzx 23 марта 2011 г. 13:37
    8 ноября 2007 г. 7:08
    Модератор

Все ответы

  • Раз ваши цискари сидят за вашей спиной, то можете смело привстать и показать им ....

     

    В общем-то все очень просто.

     

    В чем причина флуда пакетов во все порты? В том, что кластерный MAC-адрес не зарегистрирован ни на одном из портов коммутатора. В ручную его тоже нельзя прописать - на то он и unicast.

    Казалось бы проблему решает multycast. Но Cisco принципиально не допускает объявлять обычный MAC-адрес как multycast. Это ее право следовать стандартам.

     

    Поэтому алгоритм такой. Нужно настроить кластер в режиме multycast. При этом на коммутаторах выполнить ручную настройку. Добавить запись в arp таблицу для кластерного ip-адреса и MAC-адреса (в каждый коммутатор в который включено хотя бы одно плечо кластера!). И привязать MAC-адрес к нужным портам коммутатора или коммутаторов. (Это можно сделать, потому что MAC-адрес multycast.) Если плечи кластера включены в разные коммутаторы, то надо прописать всю цепочку портов по всей цепочке коммутаторов, чтобы избежать флуда во все порты промежуточных коммутаторов. И это понятно: каждый коммутатор должен точно знать в какие порты бросать пакет с нестандартным MAC-адресом.

     

    Пример команд:

     

    arp 10.1.12.18 03bf.0a11.1cdf ARPA

    mac-address-table static 03bf.0a11.1cdf vlan 12 interface fa4/5 fa5/5

     

    Есть еще один способ избавления от флуда - классический. Отсеките коммутатор кластера роутером от остальной сети.
    7 ноября 2007 г. 15:10
    Модератор
  •  sie написано:
    Есть еще один способ избавления от флуда - классический. Отсеките коммутатор кластера роутером от остальной сети.

    Вот именно так обычно и делается. Раутер тут, конечно, не нужен, достаточно просто иметь промежуточный свитч или даже хаб, куда подключены узлы кластера.

    7 ноября 2007 г. 23:56
  • Спасибо за ответы.

     

    Однако хочу заметить, что на узлах уже установлены и отконфигурированы экземпляры ISA 2004 и сносить их не хочется, чтобы потом заново ставить, а настроить кластер в мультикасте с помощью диспетчера NLB ISA не дает.

     

    Конфигурацию с промежуточным свичем мы уже пробовали, флуд это совсем не прекращает, но делает несколько меньше. Зато появляется другой побочный эффект: через локальные интерфейсы узлов кластера прокачивался большой поток данных, до 3 Мб/сек и это без нагрузки или обращений.

    8 ноября 2007 г. 5:26
  •  Andrewzx написано:

    Конфигурацию с промежуточным свичем мы уже пробовали, флуд это совсем не прекращает, но делает несколько меньше. Зато появляется другой побочный эффект: через локальные интерфейсы узлов кластера прокачивался большой поток данных, до 3 Мб/сек и это без нагрузки или обращений.

     

    Вот поэтому я вам и говорю про отсечку роутером. Или про multycast.

     

    Реально на моих цисковских свичах (ни на одном!) кластерный unicast mac-адрес не попадает в таблицу mac-адресов! В таблицу mac-адресов свичи заносят только частные mac-адреса плечей кластера от которых идут ответы (т.е. у них bf заменено на номер плеча).

    Хотя в Интернете можно найти статьи уважаемых людей, что отсечка хабом или свичом работает, реально она не работает на цисках!

     

    Для интереса: Если пустить пинг со свича, то некоторые типы свичей заносят кластерный mac-адрес в свою arp-таблицу, а некоторые нет. Windows Server 2003 заносит. Вот вам и стандарты!

     

     

    Поэтому вам два варианта:

    1. Отсечка кластера через роутер.
    2. Отказ от integrated NLB, настройка обычного WIndows NLB в multycast mode с описанной выше ручной настройкой цисковских коммутаторов.

    Каждый вариант имеет свои недостатки. Чем жертвовать надо выбирать из конкретной ситуации.

     

    • Помечено в качестве ответа Andrewzx 23 марта 2011 г. 13:37
    8 ноября 2007 г. 7:08
    Модератор
  • Ок. Будем пробовать.

    Спасибо.

    8 ноября 2007 г. 7:57