Страница 1 из 2
отказоустойчивый кластер на nginx
Добавлено: 2012-04-05 6:26:42
manefesto
На данный момент реализована схема отказоустойчивости на 3х виндовых серверах, где стоит NLB, на каждом сервер nginx, да-да, под виндой
Собрал два сервер с фрей и nginx, сделал polling, выкинул все лишнее из ядра.
Теперь необходимо сделать так, чтобы при отказе одного из серверов nginx, другой заменял упавший.
Есть два варианта:
1) Два сервера с фрей имеют один IP адрес
2) Сервера имеют разные IP, но они друг друга мониторят, если ведущий падает, то второй поднимает у себя интерфейс с IP упавшего сервера.
Второй вариант реализуется с помощью heartbeat
Хотел бы услышать ваши мысли, какой из вариантов кошерней.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-05 10:15:54
терминус_
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-05 11:18:26
manefesto
да нах мне сторадж?
Мне нужен nginx
Но я уже поднял heartbeat, скоро будет статейка
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-05 14:32:08
tynix
А relayd из опенбсд не пробовал? Кажется, как раз для такого придуман. Живёт в портах.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-10 17:55:47
playnet
manefesto писал(а):На данный момент реализована схема отказоустойчивости на 3х виндовых серверах, где стоит NLB, на каждом сервер nginx, да-да, под виндой
Собрал два сервер с фрей и nginx, сделал polling, выкинул все лишнее из ядра.
Теперь необходимо сделать так, чтобы при отказе одного из серверов nginx, другой заменял упавший.
Сколько с нгинхом общался - он никогда просто так не падает. Апач за ним - частенько, да. А он сам крепко стоит.
А для отказоустойчивости у меня на 1 имя в днс прописано 2 айпи, там нгинхи, на обоих один конфиг с upstream и второй нгинх прозрачно проксит всё на первый, пока тот жив, потом на свой бэкенд.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-12 12:41:49
manefesto
на ВИНДЕ он не может держать больше 1024 коннектов, сейчас на фре с upstream.
Но мне кажется не хватит одного сервера с nginx, хочеться раскидывать на два
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-12 13:25:54
Mox
man carp?
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-13 0:47:05
playnet
Mox писал(а):man carp?
Зачем?
Чем это лучше чем 2 сервера и 2 айпи? Отказ одного айпи - браузер проверяет 20 сек, потом сам стучит на второй, пару недель назад проверяли все современные браузеры. Плюс сервера могут стоять хоть в разных странах. Хотя можно и поизвращаться, да..
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-13 7:44:32
Mox
playnet писал(а):Mox писал(а):man carp?
Зачем?
Могу точно такой же вопрос задать и вам
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-13 10:10:56
manefesto
хочу балансировать нагрузку между двумя серверами, при этом иметь один IP
к сожалению имеющееся оборудование не умеет само балансировать.
Dlink df 1600
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-13 12:07:38
playnet
Mox писал(а):playnet писал(а):Mox писал(а):man carp?
Зачем?
Могу точно такой же вопрос задать и вам
Чем карп в общем лучше, чем моё решение? А если сам карп упадёт? И насколько я знаю, работает он только, если сервера в одном дц с локалкой между собой.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-13 12:11:10
playnet
manefesto писал(а):хочу балансировать нагрузку между двумя серверами, при этом иметь один IP
к сожалению имеющееся оборудование не умеет само балансировать.
Dlink df 1600
Оборудование, которое само балансировать умеет, стоит дорого. Варианты - поставить железку типа линксиса, куда можно натянуть *-wrt, или старый комп с линем, и там будет честный nginx без проблем на коннекты. Можно попробовать текущий длинк перешить. Или поставить комп за д-линк, а на длинке проброс порта.
В любом случае должен быть какой-то линух, который на себе поднимет нгинх.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-13 12:51:08
icb
Чем карп в общем лучше, чем моё решение?
Тем, что не будет большой задержки.
В любом случае должен быть какой-то линух, который на себе поднимет нгинх.
Не обязательно.
Это может быть FreeBSD, QNX и т.п. - вариантов вагон.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-14 2:00:33
homoadminus
manefesto писал(а):
Собрал два сервер с фрей и nginx, сделал polling, выкинул все лишнее из ядра.
а поллинг зачем?
manefesto писал(а):
Теперь необходимо сделать так, чтобы при отказе одного из серверов nginx, другой заменял упавший.
Есть два варианта:
1) Два сервера с фрей имеют один IP адрес
2) Сервера имеют разные IP, но они друг друга мониторят, если ведущий падает, то второй поднимает у себя интерфейс с IP упавшего сервера.
Второй вариант реализуется с помощью heartbeat
взять ipvs и не страдать ерундой. как вариант, можно нарисовать свои костыли на nginx с хранением адресов апстрима в memcached.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 8:56:37
manefesto
у....какие все умные, при количестве коннектов в онлайне порядка 3К, вы мне предлагаете ставить системник с линем, фряхой ?
В своем уме ?
Мне нужно чтобы два сервака с nginx имели один логический IP, то есть мне нужна отказоустойчивость.
То есть надо чтото вроде транка.
Без железки никак, поэтому использую heartbeat
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 10:07:12
icb
heartbeat
Разве CARP не аналогично работает?
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 10:19:35
manefesto
heartbeat умеет еще и мониторить сервисы.
Хм, а с помощью carp можно балансировать нагрузку по хостам ?
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 10:31:10
icb
Затрудняюсь ответить - самому интересно что лучше использовать.
В heartbeat отпугивает установка дополнительного софта.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 13:27:44
Mox
manefesto писал(а):heartbeat умеет еще и мониторить сервисы.
Хм, а с помощью carp можно балансировать нагрузку по хостам ?
В 10-ке новый карп, и там сейчас только отказоустойчивость. Изначально glebius@ (автор) планировал добавить arp и ip балансировку, но сейчас уже эти фичи висят в идеях для GSoC.
В стабильных вертках карп пока умеет отказоустойчивость и arp балансировку. Но это не балансировка "нагрузки".
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 17:53:09
playnet
manefesto писал(а):у....какие все умные, при количестве коннектов в онлайне порядка 3К, вы мне предлагаете ставить системник с линем, фряхой ?
Да. У меня нгинх показывает на некоторых проектах 2-3к active connections, при том, что машинки там слабые. Тестили под один проект осенью связку из нескольких серверов, на входе нгинх, час лоадимпактом гоняли на 10к активах, работало за-ши-бись. И?
К слову, у рамблера сильно больше 10к актива на каждый фронтэнд.
В своем уме ?
Мы - да. И у нас работает. Как будет у вас - не представляю.
Мне нужно чтобы два сервака с nginx имели один логический IP, то есть мне нужна отказоустойчивость.
С 1 айпи? А AS получена? Несколько физических линков от разных провов, правильно настроен BGP? Иначе про отказоустойчивость можно забыть, имхо. Или брать несколько айпи и см выше, как у меня на ряде серверов.
Без железки никак, поэтому использую heartbeat
"железка" тут тогда должна быть спец циска, заточенная именно под роли фронтэнда. Модели не скажу, мы софтово решили.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 18:54:30
manefesto
Сейчас nginx вообще на винде стоит,ограничение на 1 воркер и 1024 коннекта.
Именно виндой все и усугубляется.попробую сделать связку carp+pf balancing
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-16 23:17:43
playnet
manefesto писал(а):Сейчас nginx вообще на винде стоит,ограничение на 1 воркер и 1024 коннекта.
Именно виндой все и усугубляется.попробую сделать связку carp+pf balancing
На винде, ага.. ))
А если ставить никсы - там нгинх хорошо работать будет.
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-04-20 8:04:28
manefesto
спасибо кэп
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-05-01 19:24:57
manefesto
вообщем плюнул я на heartbeat. поднял carp, все довольны, как бы еще pf balancing прикрутить
Re: отказоустойчивый кластер на nginx
Добавлено: 2012-06-26 9:59:49
dekloper
Mox писал(а):manefesto писал(а):
В 10-ке новый карп, и там сейчас только отказоустойчивость.
ага,
новый
тока не работает ничо..