AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Резервирование Астериск

Newbies/FAQ Forum 15 сообщений 23.09.2011 09:08 - 28.09.2011 18:28
#1 23.09.2011 09:08

Резервирование Астериск


Приветствую, камрады!
Написал небольшую статью по теме. Надеюсь, новичкам будет очень полезна, особенно если по линуксу пробелы.
http://joker.wikiprint.ru/2011/09/Резервирование-asterisk/

З.Ы. BBCode глючит, если ссылку сделать ссылкой, вообще сообщение не показывает.
#2 23.09.2011 09:25

Спасибо за статью, но падения аппаратного сервера и линукса что-то из ряда вон выходящее!
В сто раз чаще падает/виснет/фризится/глючит сам астериск.

_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6GB / 160GB
Gentoo Linux || Asterisk 1.8.5 | SFA | FFA | Datacard
#3 23.09.2011 09:31

У меня другая ситуация: падения линукса/астериска ни разу не было (даже просто глюков нет), но:
1. Сыпался винт
2. Падал RAID
3. Горела сетевуха
4. Горел БП
Поэтому))))
#4 23.09.2011 10:12

эээ, чем оно лучше DRBD+Heartbeat

?
#5 23.09.2011 11:38

Хороший вопрос... Честно говоря, эту тему не изучал.

Added after 55 minutes:

Может что-то не допонял, но DRBD умеет зеркалировать только диски целиком, да и то специально созданные. Нам же это не нужно (если мы не выделяем целый раздел под /etc, например). Кроме того, у меня, например, основной сервер х64, а резервный х86.
#6 23.09.2011 12:27

делаем диск на DRBD, /etc/asterisk, /usr/share/asterisk, и прочие общие данные перетаскиваем на этот диск. делаем симлинки на оригиналы. HA поднимает нужные сервисы и монтирует диск на нужную ноду. 64 | 32 бита без разницы.
#7 24.09.2011 06:44

Хм... надо подумать. В любом случае, большое спасибо за наводку. Получилось, что даже мой начальник (тонна сертификатов по красной шапке и 15 лет линукса) про эту технологию не слышал, бывает.
В любом случае, предложенное мною может быть использовано именно новичками - четкий гайд, свои буквы почти не думая подставляй и всё. Тут же с наскока не взять, хотя я и попробую)))
#8 25.09.2011 10:41

Спасибо за статью!

Подскажите, а если пинг появляется от основного сервера, что происходит в этом случае?
Я заметил, там пингуется раз в минуту, а если сервер ушел в ребут и заняло это больше минуты?
#9 25.09.2011 19:13

Этот вопрос стоял сразу. То есть, грубо говоря, основной сервер "затупил". Резерв решил, что основа в дауне и взял на себя управление. Тут просыпается основной и - конфликт адресов как минимум. В данной конкретной схеме эта проблема не решается (или по крайней мере я не знаю пока как решить её). Всё строится на предположении, что основной сервер "умерла так умерла". Благо линукс не имеет привычки самопроизвольно перезагружаться после того же обновления. Самая главная проблема - мы ни при каком условии не сможем пингануть свой же айпишник, чтобы понять, что он уже есть.
Небольшая ремарочка. После того, как я принял такую схему резервирования, стал утверждать её у начальства. Оно задало вот ровно этот же вопрос (а я насчет него уже думал). Руководство предлагало не делать автоматический подъем резервного сервера (ручной запуск скрипта). Но потом было решено, что 1) вероятность того, что основной сервер "ненадолго" сдох меньше полного сдыхания; 2) на этом фоне стоимость возможности самостоятельно подняться (ночью или на выходных) для серверов существенно выше чем необходимость ручного запуска.
#10 25.09.2011 21:22

Нужно делать отдельную сеть кластера, где у каждой ноды свой адрес.
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6GB / 160GB
Gentoo Linux || Asterisk 1.8.5 | SFA | FFA | Datacard
#11 26.09.2011 15:53

Я в ближайшее время буду мутить DRBD+HA+OVZ. Виртуалка нужна, поскольку очень много сервисов придется поднимать на сервере с помощью HA (астериск, фрисвич, мусккуль, апач, постфикс, скрипты всякие, и т.д. и т.п.), а при такой схеме остается поднять только контейнер, что происходит очень быстро, думаю не больше 10 секунд займет. Во внешнем сервере останется только Астериск, который пробрасывает E1 в SIP на внутренний контейнер. В случае отказа железа конечно нужно руками переключить шнурок E1.
#12 27.09.2011 09:04

У схемы DRBD+HA есть один большой минус - это SPLITBRAIN (если у основного сервера полетеа сетевая карта, но сам линукс жив, то запасной сервак нормально не включиться в работу ). Что бы это система работала стабильно нужно основной и запасной сервера держать на умных УПСах, которые при пропадании сетевой активности на интерфейсе основного сервера вырубали бы ему питанние, давая возможность нормально включиться запасному серверу , или же покупать специальные девайсе которые подерживают stonith технологию.
В остальных случаях эта система будет идеально работать, если основной сервер физически здохнет Smile
#13 27.09.2011 10:51

Если полетела сетевуха это значит сдох сервер, в этом случае все нормально будет. Засада будет с ПОЛудохлым свичем || сетевухой || линуксом. Но сетевух в нормальном сервере обычно больше чем 1, и связав ноды двумя линками ( например через публичный интерфейс в свич и кроссовером или в другой свич ) мы сильно уменьшаем риск того, что ноды потеряют друг друга. По поводу виртуализациии... хз как openVZ но с vmware пару раз за год вылезал такой глюк - соседние машины выжирали ресурсы, несколько прыгало системное время, увеличивалась латенси и обе ноды благополучно рапортовали, что сосед помер и они теперь мастер....но это было на вмвари 4 летней давности.
#14 28.09.2011 15:17

Мой опыт говорит, что DRBD - очень хрустальная технология. SplitBrian там может произойти очень даже очень. Проблем нет эту ситуацию разруливать, но на это дело требуется время. Поэтому в DRBD не стоит поднимать терабайтные диски. Достаточно гигабайта-другого. Тогда синхронизация пройдет в разумное время.
Кстати, есть довольно неплохая (и легко настраиваемая) альтернатива DRBD - glusterfs. Под glusterfs не требуется выделять отдельные тома как в DRBD. Он работает над, а не под, файловой системой. И синхронизирует, если что не тома целиком, а только сомнительные файлы.
В данном случае я бы строил отказоустойчивый кластер на связке glusterfs+heartbeat.
А еще лучше (как сейчас сделано) поместил бы asterisk в виртуальную машину, в тот же VirtualBox, и крути его где хочешь. Он на флешке поместится весь.
#15 28.09.2011 18:28

К счастью, есть возможность и время погонять кластер в тестовом режиме. Надеюсь все трудности решатся.