Elisium Posted November 15, 2010 Posted November 15, 2010 Доброго дня всем. Есть задача: построить отказоустойчивое решение на писюках с автоматическим резервированием. На серваках крутится шейпер(дамминет) + нетфлов + НАТ (пф). Файловер сделан с помощью CARP + pfsync. Доступ - ИпоЕ. Вкратце, все это сделано, но с одной поправкой. Серваки достаточно мощные, что бы в такой софтовой набивки протянуть без потерь макс 1300/700 (ин/оут) трафа, 270к нат сессий и 370кппс. Ось - Фря 7.3 STABLE. Тоесть, чтобы прогнать через ифейс больше гига трафа, я обычно собираю их в lagg с LACP. Также сделал и на этот раз. Собрал линки в лагг, прилепил карп и получил облом ((( Гугление выдает два варианта: 1. карп поверх лагг - да, работает (фря 7.2), но в связке лагг - влан - карп. 2. карп поверх лагг работает, но лагг только в режиме файловер (( (это мне не подходит) 1й вариант самый подходящий, но - у меня (на 7.3) не заработал ((( В связи с этим вопрос: Делал ли кто нибуть РАБОЧИЙ вариант CARP поверх LAGG ?? Интересуют рабочие примеры (ось + часть конфига). п.с. Да, я понимаю, этот вариант на редкость извратный. Чем привлек CARP+pfsync - НЕ разрываются соединения в момент отключения любого из серваков (проверено) Если есть более работающие/менее извратные варианты - с радостью послушаю. п.п.с. Докупить внешних ипов ПОКА не предлагать. На текущий момент в данной реализации любой из серваков (шейперы) имеет только ДВА гиговых сетевых ифейса, так как с lagg пока заставить работать не удалось. Соответственно, больше (имхо) 900 МБт трафа на каждом не пролетит (( Вставить ник Quote
yakuzzza Posted November 16, 2010 Posted November 16, 2010 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 на сетевухе. Вставить ник Quote
Dyr Posted November 18, 2010 Posted November 18, 2010 Он же написал: 2. карп поверх лагг работает, но лагг только в режиме файловер (( (это мне не подходит) Вставить ник Quote
Elisium Posted November 19, 2010 Author Posted November 19, 2010 К сожалению, вопрос не решил (( Хоть тема и очень интересная (имхо) - работа БЕЗ разрыва сессий, можно менять серваки "на горячую", балансировка нагрузки итд. Работа карп ТОЛЬКО (как я понял) на физ. ифейсе меня совсем не устраивает. Поэтому пока временно сделал, как и все - нат на отдельную машинку (благо, 2 Гбт натится ин+оут), шейпер - на отдельную. Позже буду ТОЖЕ делать, как и большинство - на отдельный таз свой шейпер+нат, на него заворачивать часть внутренних сеток. "Випендриться" не получилось (((( Вставить ник Quote
yakuzzza Posted November 19, 2010 Posted November 19, 2010 А можно вопрос, зачем LAGG при применении CARP? Вставить ник Quote
Ivan_83 Posted November 19, 2010 Posted November 19, 2010 10G сетевухи брать не хотят, а гига мало. Вставить ник Quote
Elisium Posted November 19, 2010 Author Posted November 19, 2010 10G сетевухи брать не хотят, а гига мало. Именно ( Вставить ник Quote
Dyr Posted November 25, 2010 Posted November 25, 2010 Ну так и не парьтесь, решение много nat'ов + шейпер (-ы) вполне себе имеет право на жизнь. Совсем недавно коллега с бывшего места работы рассказывал, что у него порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах (и шейпится на парочке Cisco 650x). Вставить ник Quote
blackjack Posted November 25, 2010 Posted November 25, 2010 Ну так и не парьтесь, решение много nat'ов + шейпер (-ы) вполне себе имеет право на жизнь. Совсем недавно коллега с бывшего места работы рассказывал, что у него порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах (и шейпится на парочке Cisco 650x). а можно подробнее о шейпе на 6500? Вставить ник Quote
Elisium Posted November 28, 2010 Author Posted November 28, 2010 Ну так и не парьтесь, решение много nat'ов + шейпер (-ы) вполне себе имеет право на жизнь. Совсем недавно коллега с бывшего места работы рассказывал, что у него порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах (и шейпится на парочке Cisco 650x). Уже не парюсь )) Сделал 2 шейпера + 2 ната. Пока работает )) Вставить ник Quote
photon Posted November 28, 2010 Posted November 28, 2010 порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах А зачем. Неужели с IP-адресами такая напряженка? Вставить ник Quote
Dyr Posted December 1, 2010 Posted December 1, 2010 а можно подробнее о шейпе на 6500?А чего о нём говорить? Шейпит себе :) Могу коллегу спросить, который всё это держит. порядка 10Гбит/сек трафика nat'ится на 13 линуксовых NAT-серверах<br />А зачем. Неужели с IP-адресами такая напряженка?Даже затрудняюсь вот так сходу сказать. В принципе можно ответить, что всех и так устраивает :) Вставить ник Quote
Max P Posted December 1, 2010 Posted December 1, 2010 адреса сейчас получить целое приключение Вставить ник Quote
blackjack Posted December 1, 2010 Posted December 1, 2010 а можно подробнее о шейпе на 6500?А чего о нём говорить? Шейпит себе :) Могу коллегу спросить, который всё это держит. можно пример конфига и версию супа? Вставить ник Quote
mlevel Posted March 4, 2011 Posted March 4, 2011 А как себя ведет шейпинг вместе с CARP? Нет ли такого что один пакет шейпиться на одном сервере, а другой - на другом? Вставить ник Quote
Lynx10 Posted March 5, 2011 Posted March 5, 2011 (edited) А как себя ведет шейпинг вместе с CARP? Нет ли такого что один пакет шейпиться на одном сервере, а другой - на другом? если в режиме резервирования то или одна работает или если сдохла то автоматически всё на другой работает Edited March 5, 2011 by Lynx10 Вставить ник Quote
photon Posted March 5, 2011 Posted March 5, 2011 (edited) Зачем здесь CARP? Круто, конечно, что у пользователей соединения не рвутся при отказе одного из шейперов, но зачем провайдеру создавать себе проблемы ради такой мелочи? LACP вполне может обеспечить load balancing и failover на Layer 2, и этого вполне достаточно. Edited March 5, 2011 by photon Вставить ник Quote
mlevel Posted March 5, 2011 Posted March 5, 2011 LACP вполне может обеспечить load balancing и failover на Layer 2, и этого вполне достаточно. можно подробнее? Вставить ник Quote
photon Posted March 5, 2011 Posted March 5, 2011 http://www.freebsd.org/doc/en_US.ISO8859-1...ggregation.html Вставить ник Quote
mlevel Posted March 5, 2011 Posted March 5, 2011 Не понял как туда вписать два разных сервера для failover, и чем LAGG хуже/лучше CARP? Вставить ник Quote
photon Posted March 5, 2011 Posted March 5, 2011 (edited) Вписывать серверы и не надо, т.к. LACP работает с сетевыми интерфейсами, а не с IP-протоколом. CARP не хуже и не лучше, это просто другое решение, обеспечивающее load balancing и failover на третьем (сетевом) уровне. LACP работает на втором (канальном) уровне. Ну разорвется у пользователя соединение, невелика потеря. Edited March 5, 2011 by photon Вставить ник Quote
a_andry Posted March 7, 2011 Posted March 7, 2011 Если использовать реальные адреса, то с pfsync ну или линуксовым conntrackd соединения рваться не будут, это понятно. Но почему соединения не порвет если использовать еще и нат? Ведь сервера будут натить на разные блоки адресов и при падении одного из них, клиент автоматически попадет на другой и, соответственно, получит на нате другой адрес, так? Или есть способ заставить все сервера использовать для ната общий блок адресов, не поясните? Вставить ник Quote
st_re Posted March 9, 2011 Posted March 9, 2011 a_andry pfом можно натить в IP с carp интерфейса. соответственно он тоже переедет на второй сервер. в большинстве случаев сессия не рвется. Вставить ник Quote
Dyr Posted March 9, 2011 Posted March 9, 2011 (edited) Плюс к этому pfsync синхронизирует все сессии клиента, в том числе и NAT, так что и при использовании пула адресов изменения сессий не происходит. Отличная штука CARP, только крайне своеобразная при работе: Нельзя указать pfsync'у синхронизироваться пакетами не по 56 байт, которыми он крайне бодро фигачит, а хоть чуть-чуть поднакопить в буфере и отправить большим пакетом. Quagga не умеет работать поверх carp-интерфейса (тупо не видит его ip-адреса), что порождает нехилый баттхэд при задаче включить два сервера с carp'ом в динамическую маршрутизацию. Из мелочей, которые также раздражали, отмечу отсутствие показа "виртуального" mac-адреса carp-интерфейса. Edited March 9, 2011 by Dyr Вставить ник Quote
a_andry Posted March 10, 2011 Posted March 10, 2011 Спасибо. Имхо, все же это это лишнее. Сильно усложняется конфигурация. Когда 2-3 сервера, еще терпимо, а когда их с десяток, то будет совсем тяжко. Расписывать резервирование придется так, что-бы нагрузка более и менее равномерно размазалась по оставшимся живым серверам. Если к этому добавить глюки с ПО (у меня linux с vrrp, там свои приколы, периодически два instance на нескольких серверах мастерами поднимаются одновременно), то ну его ... Сервера и так подать не должны, но если раз в пятилетку упадет - два дисконекта не сильно большая проблема. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.