Перейти к содержимому
Калькуляторы

Проблема: CARP over LAGG или балансировка шейперов.

Доброго дня всем.

Есть задача: построить отказоустойчивое решение на писюках с автоматическим резервированием.

На серваках крутится шейпер(дамминет) + нетфлов + НАТ (пф).

Файловер сделан с помощью CARP + pfsync. Доступ - ИпоЕ.

 

Вкратце, все это сделано, но с одной поправкой.

Серваки достаточно мощные, что бы в такой софтовой набивки протянуть без потерь макс 1300/700 (ин/оут) трафа, 270к нат сессий и 370кппс. Ось - Фря 7.3 STABLE.

Тоесть, чтобы прогнать через ифейс больше гига трафа, я обычно собираю их в lagg с LACP.

Также сделал и на этот раз. Собрал линки в лагг, прилепил карп и получил облом (((

 

Гугление выдает два варианта:

1. карп поверх лагг - да, работает (фря 7.2), но в связке лагг - влан - карп.

2. карп поверх лагг работает, но лагг только в режиме файловер (( (это мне не подходит)

 

1й вариант самый подходящий, но - у меня (на 7.3) не заработал (((

 

В связи с этим вопрос:

Делал ли кто нибуть РАБОЧИЙ вариант CARP поверх LAGG ??

Интересуют рабочие примеры (ось + часть конфига).

 

п.с. Да, я понимаю, этот вариант на редкость извратный.

Чем привлек CARP+pfsync - НЕ разрываются соединения в момент отключения любого из серваков (проверено)

Если есть более работающие/менее извратные варианты - с радостью послушаю.

 

п.п.с. Докупить внешних ипов ПОКА не предлагать.

 

На текущий момент в данной реализации любой из серваков (шейперы) имеет только ДВА гиговых сетевых ифейса, так как с lagg пока заставить работать не удалось. Соответственно, больше (имхо) 900 МБт трафа на каждом не пролетит ((

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8:26 yakuzzza@backup1 /home/yakuzzza> ifconfig em0

em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>

ether 00:30:48:d2:12:8a

media: Ethernet autoselect

status: no carrier

8:27 yakuzzza@backup1 /home/yakuzzza> ifconfig em1

em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>

ether 00:30:48:d2:12:8a

media: Ethernet autoselect (1000baseT <full-duplex>)

status: active

8:27 yakuzzza@backup1 /home/yakuzzza> ifconfig carp0

carp0: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500

inet 10.4.100.132 netmask 0xffffff00

carp: MASTER vhid 1 advbase 1 advskew 100

8:27 yakuzzza@backup1 /home/yakuzzza> ifconfig lagg0

lagg0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>

ether 00:30:48:d2:12:8a

inet 10.4.100.240 netmask 0xffffff00 broadcast 10.4.100.255

media: Ethernet autoselect

status: active

laggproto failover

laggport: em1 flags=4<ACTIVE>

laggport: em0 flags=1<MASTER>

 

Щас 1 линк откинут.

 

По поводу carp+lagg+vlan - посмотрите на HWTAGGING на сетевухе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Он же написал:

2. карп поверх лагг работает, но лагг только в режиме файловер (( (это мне не подходит)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К сожалению, вопрос не решил ((

 

Хоть тема и очень интересная (имхо) - работа БЕЗ разрыва сессий, можно менять серваки "на горячую", балансировка нагрузки итд.

Работа карп ТОЛЬКО (как я понял) на физ. ифейсе меня совсем не устраивает.

 

Поэтому пока временно сделал, как и все - нат на отдельную машинку (благо, 2 Гбт натится ин+оут), шейпер - на отдельную.

Позже буду ТОЖЕ делать, как и большинство - на отдельный таз свой шейпер+нат, на него заворачивать часть внутренних сеток.

 

"Випендриться" не получилось ((((

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А можно вопрос, зачем LAGG при применении CARP?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10G сетевухи брать не хотят, а гига мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

10G сетевухи брать не хотят, а гига мало.

Именно (

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну так и не парьтесь, решение много nat'ов + шейпер (-ы) вполне себе имеет право на жизнь. Совсем недавно коллега с бывшего места работы рассказывал, что у него порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах (и шейпится на парочке Cisco 650x).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну так и не парьтесь, решение много nat'ов + шейпер (-ы) вполне себе имеет право на жизнь. Совсем недавно коллега с бывшего места работы рассказывал, что у него порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах (и шейпится на парочке Cisco 650x).

а можно подробнее о шейпе на 6500?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну так и не парьтесь, решение много nat'ов + шейпер (-ы) вполне себе имеет право на жизнь. Совсем недавно коллега с бывшего места работы рассказывал, что у него порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах (и шейпится на парочке Cisco 650x).

Уже не парюсь ))

Сделал 2 шейпера + 2 ната.

Пока работает ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах

А зачем. Неужели с IP-адресами такая напряженка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а можно подробнее о шейпе на 6500?
А чего о нём говорить? Шейпит себе :) Могу коллегу спросить, который всё это держит.

 

порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах
<br />А зачем. Неужели с IP-адресами такая напряженка?
Даже затрудняюсь вот так сходу сказать. В принципе можно ответить, что всех и так устраивает :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

адреса сейчас получить целое приключение

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а можно подробнее о шейпе на 6500?
А чего о нём говорить? Шейпит себе :) Могу коллегу спросить, который всё это держит.

 

можно пример конфига и версию супа?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как себя ведет шейпинг вместе с CARP?

Нет ли такого что один пакет шейпиться на одном сервере, а другой - на другом?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как себя ведет шейпинг вместе с CARP?

Нет ли такого что один пакет шейпиться на одном сервере, а другой - на другом?

если в режиме резервирования то или одна работает или если сдохла то автоматически всё на другой работает
Изменено пользователем Lynx10

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем здесь CARP? Круто, конечно, что у пользователей соединения не рвутся при отказе одного из шейперов, но зачем провайдеру создавать себе проблемы ради такой мелочи? LACP вполне может обеспечить load balancing и failover на Layer 2, и этого вполне достаточно.

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

LACP вполне может обеспечить load balancing и failover на Layer 2, и этого вполне достаточно.

можно подробнее?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не понял как туда вписать два разных сервера для failover, и чем LAGG хуже/лучше CARP?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вписывать серверы и не надо, т.к. LACP работает с сетевыми интерфейсами, а не с IP-протоколом. CARP не хуже и не лучше, это просто другое решение, обеспечивающее load balancing и failover на третьем (сетевом) уровне. LACP работает на втором (канальном) уровне. Ну разорвется у пользователя соединение, невелика потеря.

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если использовать реальные адреса, то с pfsync ну или линуксовым conntrackd соединения рваться не будут, это понятно.

 

Но почему соединения не порвет если использовать еще и нат? Ведь сервера будут натить на разные блоки адресов и при падении одного из них, клиент автоматически попадет на другой и, соответственно, получит на нате другой адрес, так?

 

Или есть способ заставить все сервера использовать для ната общий блок адресов, не поясните?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

a_andry pfом можно натить в IP с carp интерфейса. соответственно он тоже переедет на второй сервер. в большинстве случаев сессия не рвется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Плюс к этому pfsync синхронизирует все сессии клиента, в том числе и NAT, так что и при использовании пула адресов изменения сессий не происходит.

Отличная штука CARP, только крайне своеобразная при работе:

Нельзя указать pfsync'у синхронизироваться пакетами не по 56 байт, которыми он крайне бодро фигачит, а хоть чуть-чуть поднакопить в буфере и отправить большим пакетом.

Quagga не умеет работать поверх carp-интерфейса (тупо не видит его ip-адреса), что порождает нехилый баттхэд при задаче включить два сервера с carp'ом в динамическую маршрутизацию.

Из мелочей, которые также раздражали, отмечу отсутствие показа "виртуального" mac-адреса carp-интерфейса.

 

Изменено пользователем Dyr

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо.

 

Имхо, все же это это лишнее.

Сильно усложняется конфигурация. Когда 2-3 сервера, еще терпимо, а когда их с десяток, то будет совсем тяжко. Расписывать резервирование придется так, что-бы нагрузка более и менее равномерно размазалась по оставшимся живым серверам. Если к этому добавить глюки с ПО (у меня linux с vrrp, там свои приколы, периодически два instance на нескольких серверах мастерами поднимаются одновременно), то ну его ...

Сервера и так подать не должны, но если раз в пятилетку упадет - два дисконекта не сильно большая проблема.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.