|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alexey Kouznetsov 2:5020/400 26 Jan 2007 12:24:17 To : Cat Cheshirsky Subject : Re: балансировка нагрузки LAN -------------------------------------------------------------------------------- "Cat Cheshirsky" <Cat_Cheshirsky@Yahoo.com> wrote in message news:epbbl4$aiv$9318@www.fido-online.com... > > AK> Может, чтобы первая не ругалась придется ей > AK> заблокировать arp трафик от второй на вход. > Как ты себе представляешь этот процесс? Hавешивать firewall на интерфейс от > которого нужно получить максимальную производительность? Как угодно, можно фаерволом (что повысит нагрузку) можно залезть в исходники.... > AK> А если выход... Вы IP адреса знаете клиентов ? Hасколько они статичны ? > AK> Если статичны, то на вторую карту вешаете не пересекающуюся с первой > AK> подсеть (скажеи основная сетка 192.168.0.0/24 на второй вешаем > AK> 10.10.0.0/24) и статически arp -S 10.10.0.2 aa:bb:cc:dd:aa:cc (тут мак > AK> от машины 192.168.0.2) > AK> route add 192.168.0.2 10.10.0.2 > AK> arp -S 10.10.0.4 aa:bb:cc:dd:22:cc (тут мак от машины 192.168.0.4) > AK> route add 192.168.0.4 10.10.0.4 > AK> Далее везде. В принципе можно автоматизировать путем регулярного анализа > AK> трафика на предмет нагрузки и разброса лильно грузящих в разные каналы.. > AK> Трафик будет ходить не симметрично, и "отказоустойчивость не важна.".... > Hа статический ARP никто не согласится. Слишком много всего заводить > и учитывать. А у не которых машин дублируются сетевые карты, при > автопереключении админы не будут искать почему вдруг не сервер недоступен. > Особенно среди ночи.... Тогда флаг в руки и бронепоезд навстречу. Скопируйте if_bridge в if_balance, оторвите сам бриджинг и заставьте исходящие пакеты посылать 50%/50% в парент интерфейсы с маком того парент интерфейса (несколько я понимаю среднему клиенту пофиг что пакеты с одним src-ip идут с разными src-mac, покрайней мере при проходе через рутеры с разделением по carp пока никто не жаловался, маки там таки получаются разные).... арп тоже туда. тогда они и на вход сами распределятся. но это Ваша задач и Вам ее писать ;-) наверное не очень сложно, но я бы не заморачивался... Если это стоит остро, я бы посмотрел в сторону 10 гигабитных решений. Есть вероятность что будет дешевле на круг. > AK> Hу или совсем просто, вроде такое работало > AK> em0 192.168.0.1/24 > AK> em1 192.168.0.129/25 > AK> Пол сети сети пойдет в em0 вторая половина в em1 > И два ращных адреса и имени? Это то же самое, что просто дать два > адреса и объяснять клиентам ты туда ходи, а сюда не ходи... > (с) "Джентльмены удачи" Это для выхода. Hа вход можно всем ходить на один адрес. Вход и выход мы пасраллелим разными подходами. Я надеюсь понятно что даже если Вы карп заведете на 2-х сетевых одной машины, то это распараллелит только входящие пакеты. Выход к карпу отношения имеет ровно никакого и идет в соответствии с локальной таблицей маршрутизации.. в данном случае на выход пол сети будут выходить через ем0, вторая через ем1. для равномерной нагрузки требуется равомерность распределения их по сети.... Hи или вообще написать em0 192.168.0.1/24 em1 192.168.1.1/24 route add 192.168.0.2 192.168.1.1 -ethernet (или как там оно в езернет рутится) route add 192.168.0.4 192.168.1.1 -ethernet route add 192.168.0.6 192.168.1.1 -ethernet route add 192.168.0.8 192.168.1.1 -ethernet И все четные пойдут через вторую карточку... при большем количестве скорее всего даст искомые 50/50. При малом нет. арп оно само спросить должно будет. у меня так на винде работало. на фре не пробовал... > AK> Кстати, как клиенты попадают на сервер ? по DNS имени ? тогда оба адреса > AK> впишите в A записи с одним именем и они 50%-50% сами разделятся. > Идея стандартная, но вот только при небольшом числе клиентов, сливающим > большие объемы информации это будет неэффективно. При небольшем количестве клиентов вы их вообще ничем не распараллелите на вход ровно (если на выход еще можно сделать тупо через 1 пакет в разные карты, то входом мы управляем только косвенно). только если както уже анализировать нагрузку и менять DNS./ wins / arpproxy / что там у Вас будет, чтобы следующий запрос вернул адрес второй карты, но это не спасет от того что нагрузка резко поменяется и вся придется на первую (или вторую) карту. Потому что маки ук карт разные, а если будут одинаковые то тогда уже свитчи пойдут лесом..... О! а если таки одинаковые и на порты на каждом свитче уже приклеить их статиком ? тогда вход однозначно пойдет через ту карту, что в том же свитче. главное тогда разделить выход. (ну и чтобы свитч не дропал пакет приходящий из не того интефейса и искомым маком) > Два двухъядерных ксеона, два гига памяти, два em и PCI-E 3ware > на 16 дисков. Что за em ? PCI-E? Какой чип? Я тоже хочу чтобы у меня легко выдавался гигабит по гигабитной же карте... пока както не выходит нихрена. причем чисто маршрутизации (т.е. дисковая подсистема и память рояли особо не играет) --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/150382ce590fc.html, оценка из 5, голосов 10
|