Jump to content

Recommended Posts

Posted

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

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

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

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

 

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

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

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

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

 

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

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

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

 

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

 

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

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

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

 

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

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

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

 

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

 

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

Posted

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 на сетевухе.

Posted

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

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

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

 

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

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

 

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

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

 

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

 

Posted

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

Posted

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

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

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

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

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

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

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

 

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

 

можно пример конфига и версию супа?
  • 3 months later...
Posted

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

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

 

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

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

если в режиме резервирования то или одна работает или если сдохла то автоматически всё на другой работает Edited by Lynx10
Posted (edited)

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

Edited by photon
Posted (edited)

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

Edited by photon
Posted

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

 

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

 

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

 

Posted (edited)

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

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

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

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

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

 

Edited by Dyr
Posted

Спасибо.

 

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

Сильно усложняется конфигурация. Когда 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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.