Re: load balancing scripts
> Обсуждаемое - не совсем балансировка загрузки. Входящее по линку > провайдера 1 соединение не будет использовать > линк к провайдеру 2 никогда, т.е. загруженность линков не учитывается. В > этом смысл приведенных Вами команд "ip route" > Исходящие соединения будут распределяться между провайдерами только в > момент установления соединения, > после этого удачный маршрут запоминается в кэше и используется также без > учета загрузки. > > Дмитрий Федосеев. > По поводу распределения нагрузки все более менее понятно - надо накладывать патч : http://www.ssi.bg/~ja/nano.txt. Смущает меня только упор на nat ... Нежели для работы этого патча необходим обязательный nat локальных сетей ? Простите Дмитрий, я немного вас не понял, как все-таки быть если я, например, хочу поднимать eth0, eth1 с помощью ifconfig из /etc/network/interfaces (с этим мне все понятно), а eth2, eth3 исключительно с помощью 'ip' .. Вопрос куда лучше всего положить скрипты с 'ip', желательно чтобы они реагировали на /etc/init.d/networking start|stop ? if-pre-up.d скрипты выполняются после каждого старта ЛЮБОГО интерфеиса или им можно передать какие параметры ?
Re: load balancing scripts
Algis St пишет: Хочу сделать load balancing на два канала провайдера, почитал linux advanced routing howto и есть пара вопросов: 1. Куда правильно бы было записать команды 'ip' : ip route add $P1_NET dev $IF1 src $IP1 table T1 ip route add default via $P1 table T1 ip route add $P2_NET dev $IF2 src $IP2 table T2 ip route add default via $P2 table T2 * ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \ nexthop via $P2 dev $IF2 weight 1 и т.п. в дебиан ? Я думаю про /etc/network/if-up.d/ . Может есть другой вариант ? Так делать можно, но не всегда удобно: неясно, какому интерфейсу сопоставить последний (default global) маршрут. Если этот интерфейс не поднимается, то маршрута по умолчанию тоже не будет? Если линки к провайдерам могут "мерцать" (а это неизбежно), то /etc/network/interfaces недостаточно: не отслеживается реальное состояние линков. Поэтому я делаю в /etc/network/interfaces минимальное конфигурирование, gateway - на того провайдера, которому доверия больше. А по cron проверяю состояние линков (ping'ом) и переустанавливаю таблицы маршрутов в соответствии с актуальным состоянием линков. Можно обойтись без cron/ping, используя вывод "ip monitor", но я пока не готов. Еще интерестно что делать с /etc/network/interfaces .. Можно ли комбинировать 'ifconfig' с 'ip' Например локальную сеть поднять из /etc/network/interfaces, а сети провайдера с помошью 'ip' ? Можно. Я использую ip в /etc/network/interfaces для создания туннелей (pre-up скрипты). 2. Будет ли ХОРОШО работать балансировка загрузки и переключение на вторую линию в случае сбоя первой на стандартном ядре 2.4.24 ? В стандартном ядре вроде бы переключение при сбоях линков не делается. См. выше. Обсуждаемое - не совсем балансировка загрузки. Входящее по линку провайдера 1 соединение не будет использовать линк к провайдеру 2 никогда, т.е. загруженность линков не учитывается. В этом смысл приведенных Вами команд "ip route" Исходящие соединения будут распределяться между провайдерами только в момент установления соединения, после этого удачный маршрут запоминается в кэше и используется также без учета загрузки. Дмитрий Федосеев.
Re: load balancing scripts
Не выдержал ... Прочитал howto про эти патчи. ( http://www.ssi.bg/~ja/nano.txt) Все вроде понятно - надо патчить ядро ... Не понял только один момент, там делается упор на NAT, бо внутренние сети должны натиться .. Это что, если у меня одна из внутренних сетей с внешними IP и нат для нее неприемлим, то у меня ето работать не будет ?? Испытывать все это дело у меня нет ... Хотелось бы сделать все это быстро .. очень быстро ;)) On Sun, 2004-03-21 at 20:44, Algis St wrote: > Здравствуйте > Хочу сделать load balancing на два канала провайдера, почитал linux > advanced routing howto и есть пара вопросов: > 1. Куда правильно бы было записать команды 'ip' : > > ip route add $P1_NET dev $IF1 src $IP1 table T1 > ip route add default via $P1 table T1 > ip route add $P2_NET dev $IF2 src $IP2 table T2 > ip route add default via $P2 table T2 > * > ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \ > nexthop via $P2 dev $IF2 weight 1 > > и т.п. в дебиан ? > > > Я думаю про /etc/network/if-up.d/ . Может есть другой вариант ? > Еще интерестно что делать с /etc/network/interfaces .. Можно ли комбинировать > 'ifconfig' с 'ip' > Например локальную сеть поднять из /etc/network/interfaces, а сети провайдера > с помошью 'ip' ? > > 2. Будет ли ХОРОШО работать балансировка загрузки и переключение на > вторую линию в случае сбоя первой на стандартном ядре 2.4.24 ? > Где то видел патчи к стандарному ядру и длинное руководство для балансировки > загрузки ... Стоит ли читать все ети руководства или работать со стандартным > ядром ? > > Благодарствую ! >