Привет всем!
Имею следующее:
1. Операционная система CentOS 6.3
2. Твердое желание поднять pacemaker.
3. Руководствуемся следующим: http://clusterlabs.org/quickstart-redhat.html
Проблема:
А. Если ставим pacemaker из штатных репозиториев (весия 1.1.7), то всё поднимается нормально, но есть неприятные особенности. А именно - pacemaker теряет связь с удаленной нодой. В результате - весь цимес от кластера накрывется тазом. Раз. Второе - невыносимо долго этот pacemaker останавливается. До бесконечности ждет выгрузки кластерных сервисов (которых я там еще и не определил даже, кластер пустой). Что опять же не хорошо, как выключать ноду-то в штатном режиме...
Б. Подключаем репозиторий от clusterlabs, первоисточник. Там версия более новая - 1.1.8. И выгружается pacemaker этой версии вполне себе устойчиво. Но радость не долго длится... В этом pacemaker'е как класс отсутствует основная команда - crm. А без неё - как кластером рулить то?
Что я неправильно делаю?
Засада с pacemaker
В этом pacemaker'е как класс отсутствует основная команда - crm. А без неё - как кластером рулить то?
pacemaker+corosync?
а если так: whereis crm_mon
[quote="Cruiser78"] В этом pacemaker'е как класс отсутствует основная команда - crm. А без неё - как кластером рулить то?
pacemaker+corosync?
а если так: whereis crm_mon[/quote]
Так с crm_mon проблем нет. Этот пакет есть и там и там. А вот сам crm появляется только если я ставлю pacemaker из штатных репозиторитоев CentOS'а. Ставится версия 1.1.7. Стоит её заменить на более новую версию из репозитория производителя (clusterlabs'а), на версию 1.1.8 crm пропадает. Всё остальное, начинающееся на crm есть, а его самого - нету.
[console]# whereis crm_mon
crm_mon: /usr/sbin/crm_mon /usr/share/man/man8/crm_mon.8.gz
# whereis crm
crm:
[/console]
То есть нету управляющей программы ваабще. Это первая беда. Видимо в clusterlabs её решили заменить на pcs. Причем радикально Но, я недели две перед новым годом кувыркался, но так и не смог заставить этот pcs работать под CentOS. Под Fedora-17 на раз-два... Все шло. А вот под CentOS - обломс.
А вторая беда - поставленный из штатных CentOSэовских репозиториев pacemaker+corosync+cman - по прошествии непродолжительного времени теряют связность и кластер рассыпается. crm_mon, запущенный на одной ноде говорит, что всё хорошо, а на второй - что ноды стоят в оффлайне...
То есть нету управляющей программы ваабще. Это первая беда
ох епт. хорошо что не стал обновляться :)
Должно быть что то в виде: crmsh :)
pacemaker-cli стоит?
pacemaker-cli стоит?
как я понял, в версии 1.1.8 уже нет crm, там уже идет crmsh, да и у pcs такой же синтаксис как и у crm
как я понял, в версии 1.1.8 уже нет crm, там уже идет crmsh, да и у pcs такой же синтаксис как и у crm
аа. блин. туплю я что-то
[quote="alexfinn"]pacemaker-cli стоит?
как я понял, в версии 1.1.8 уже нет crm, там уже идет crmsh, да и у pcs такой же синтаксис как и у crm[/quote]
У pcs синтаксис не совсем такой, как у crm. Ответственно заявляю (наигрался с ним в прошлом году). Похож? Да, похож. Но иной. Более простой, чем в crm.
Плюс к вышесказанному pacemaker 1.1.8 (читал где-то) очень хочет иметь corosync версии не менее 2.0. Тогда и pcs начинает полноценно работать. В базовом репозитории CentOS 6.3 лежит corosync версии 1.4. То есть весьма древний... Это первое.
Второе - если имеем федору, то pcs из штатных репов федориных тоже не подходит ни разу. В нем нет нужного демона. Надо искать pcs-0.9.27-1.fc17.rpm Там - есть. Если поставить, то работает весьма шоколадно.
Есть исходники corosync последних версий. Но к ним нет правильного scec-файла. То есть собрать в CentOS rpm нужной версии проблематично (для меня). А без него - pacemaker - по зависимостям - тянет из штатного репозитория corosync версии 1.4. С которым работать не очень то может. тоже засада...
Как то так...
======================
Маленький вопрос:
Если я компилирую какой либо пакет в rpm из исходников, то я пользуюсь внешним spec-файлом и применяю команду rpmbuild -ba хххх.spec. А если есть tar.gz-пакет с исходниками, где внутри дежит spec.in файл (но нет внешнего спека), то как из него получить rpm? Натравить на него команду rpmbuild -ta?
В общем - засада полная. Причем в совершенно неожиданных местах.
Итак загадко:
1. Ось CentOS 6.3. Со всеми последними обновлениями.
2. Берем самые свежие пакеты кластеризации с официальных сайтов (pacemaker 1.1.8, corosync 2.3.0). Компилируем их в rpm. Вычищаем следы предыдущих опытов. Ставим новое поделие.
Вопрос - оно хоть компилировалось, но смогло поставиться? Правильный ответ НЕТ!!!
Итак:
- ставим вначале (памятуя о наличии древней версии corosync'a в штатных репах) новый свежеиспеченный corosync 2.3. Поставилось без вопросов.
- Ставим pacemaker 1.1.8. Обломс... Этот поганец (сидящий в репах сластерлабса) тянет по зависимости clusterlibs. Из штатного центосного репозитория. Этому clusterlibs'у необходима некая so-библиотека, которая, вроде как должна быть от corosync'а. Но последний corosync её не содержит. Система пытается поставить corosync древний, из штатных репов Центоса (где она есть) и обламывается. Ведь стоит то уже более новый...
Нет, я не понимаю, как можно так программы писать... Неужели народу больше заниматься нечем, чем эти грабли разгребать?
Коллеги, подскажите - какие версии этой связки pacemaker+corosync работоспособны на CentOS 6.3?
Что то у меня не связывается...
Нет, я не понимаю, как можно так программы писать... Неужели народу больше заниматься нечем, чем эти грабли разгребать?
Вот чтобы не разгребать и существуют репозитории. Но это так, к слову...
Если уж создаете свои пакеты, то собирайте уж до конца, чтобы все требующееся было в наличии
Вот чтобы не разгребать и существуют репозитории. Но это так, к слову...
Если уж создаете свои пакеты, то собирайте уж до конца, чтобы все требующееся было в наличии
1. То, что лежит в репозитории на моем стенде работать не хочет. Заводится, пошуршит минут 5, вряд ли дольше, и опаньки. Ноды кластера друг-друга полностью теряют. И кластер стоит колом. Не отработав технологию на стенде я на продакшн не двинусь даже в мыслях. Отсюда п.2.
2. Я не создаю свои пакеты. Я беру последние официальные стабильные релизы, что выложены на офицальных сайтах разработчиков и компилирую их в свою весьма стандартную систему. И отвечать за то, что разработчики просто выбрасывают из своих пакетов модули, нужные для работы связанных пакетов - я не могу. Не в моей это зоне ответственности.
Берем самые свежие пакеты кластеризации с официальных сайтов (pacemaker 1.1.8, corosync 2.3.0). Компилируем их в rpm.
Вы создаете пакеты для конкретного дистрибутива. Соответственно, ответственность за то, что они в состоянии работать со связанными с ними другими пакетами и вообще способны работать в конкретном окружении, ложится на Вас.
То, что лежит в репозитории на моем стенде работать не хочет. Заводится, пошуршит минут 5, вряд ли дольше, и опаньки. Ноды кластера друг-друга полностью теряют. И кластер стоит колом.
Быть может стоит выяснить причины?
пошуршит минут 5, вряд ли дольше, и опаньки.
показали бы dmesg + messages в тот момент когда все падает.
что выложены на офицальных сайтах разработчиков и компилирую их в свою весьма стандартную систему.
там же rpm пакеты, что вы компилируете?
Б. Подключаем репозиторий от clusterlabs, первоисточник. Там версия более новая - 1.1.8.
если все делать по доке, то там репа от 1.1.7, откуда взялся 1.1.8 не могу понять
если все делать по доке, то там репа от 1.1.7, откуда взялся 1.1.8 не могу понять
отвечаю сам.
Рабочий вариант который идет с centos, сегодня проверил. Полет нормальный. Что на версии 11,7 что на версии 1.1.8, ед-е пришлось с psc чуток повозиться, а точней с его синтаксисом.
# pcs status
Last updated: Wed Jan 23 17:18:54 2013
Last change: Wed Jan 23 17:18:35 2013 via crm_attribute on node_4
Stack: openais
Current DC: node_4 - partition with quorum
Version: 1.1.8-4.el6-394e906
2 Nodes configured, 2 expected votes
1 Resources configured.
Online: [ node_3 node_4 ]
Full list of resources:
ClusterIP (ocf::heartbeat:IPaddr2): Started node_3
Ну вот и глянем, что и как там :)
[quote="Cruiser78"]пошуршит минут 5, вряд ли дольше, и опаньки.
показали бы dmesg + messages в тот момент когда все падает.
что выложены на офицальных сайтах разработчиков и компилирую их в свою весьма стандартную систему.
там же rpm пакеты, что вы компилируете?[/quote]
1. До логов доберусь только завтра. Самое противное то, что определить момент "падения" невозможно. Оно не падает, оно просто "замораживается". И в замезшем состоянии изодражает из себя работоспособную систему. До тех пор, пока что либо ей не скомандуешь. Вот тогда и обнаружишь, что оно стоит колом.
2. Если на сайте http://www.corosync.org/, полагаю, что это вполне себе официальный сайт, Вы найдете в разделе download собранный под CentOS 6.3 готовый rpm, то я признаю свою неправоту. А до тех пор... Увы-с...
----------------
Надо будет посмотреть ту версию corosync'а, что ставится штатно в Fedora-17. И попытаться её скомпилировать в CentOS. Тогда, возможно, pacemaker (который, кстати, есть на сайте сlusterlabs'а в виде нужных rpm) и подружится с Corosync'ом. Ведь на стенде под RFR-17 у меня всё прерасно работало. А вот под центосью - увы-с.
1. До логов доберусь только завтра. Самое противное то, что определить момент "падения" невозможно. Оно не падает, оно просто "замораживается". И в замезшем состоянии изодражает из себя работоспособную систему. До тех пор, пока что либо ей не скомандуешь. Вот тогда и обнаружишь, что оно стоит колом.
2. Если на сайте http://www.corosync.org/, полагаю, что это вполне себе официальный сайт, Вы найдете в разделе download собранный под CentOS 6.3 готовый rpm, то я признаю свою неправоту. А до тех пор... Увы-с...
----------------
Надо будет посмотреть ту версию corosync'а, что ставится штатно в Fedora-17. И попытаться её скомпилировать в CentOS. Тогда, возможно, pacemaker (который, кстати, есть на сайте сlusterlabs'а в виде нужных rpm) и подружится с Corosync'ом. Ведь на стенде под RFR-17 у меня всё прерасно работало. А вот под центосью - увы-с.
я поставил пакет для rh, там сборка как раз 1.1.8, а вот от F17 не рекомендую ставить пакет под CentOS6.3
Ставим так: http://clusterlabs.org/rpm-next/ , потом yum install pacemaker .
Ну вот и глянем, что и как там :)
Попытайся тривиально на одной из нод остановить pacemaker. Тривиальнейшим способом - service pacemaker stop. У меня оно на остановке кластерных сервисов может висеть очееееень долго. Весь экран точками забивает... А потом, если снова пасемакер стартовать, то на альтернативной ноде имею Online: [ node_3 node_4 ], а на этой - OFFLINE: [ node_3 node_4 ]. То есть наблюдаю полную рассинхронизацию кластера, которая лечится исключительно перезапуском (ребутом) нод. Благо на виртуалках это делать можно оперативно. Это первое.
Второе - откуда у Вас там pcs взялся? Камасутры от кластерлабса на pcs дозволяют работать только с Fedora-17 :). А вот если RHEL6 (сиречь CentOS 6), то yum install pacemaker cman И юзать надо там не pcs (мне он показался сильно удобнее crm'а) а старый добрый crm. Это два.
Третье - я думал на тему pcs, но там проявляется уже не штатный cman, а некий демон pcsd (похоже, вместо cman). С ним тоже отдельный секс. Точнее - в штатных репах RFR-17 заложен pcs.rpm какой-то древней версии и он совершенно не содержит этого демона. Камасутра требует его наличия. Нагуглил, что ситуация типовая и надо искать pcs-0.9.27-1.fc17.rpm и применять его вместо штатного. Найти же скомпилированный "pcs-0.9.27.el6.rpm" для центоса... Опять же самостоятельная сборка.
я поставил пакет для rh, там сборка как раз 1.1.8, а вот от F17 не рекомендую ставить пакет под CentOS6.3
Ставим так: http://clusterlabs.org/rpm-next/ , потом yum install pacemaker .
Мы не согласовали термины. Отсюда - недопонимание.
1. pacemaker 1.1.8 на кластерлабсе реализован более чем правильно. Даже репозиторий оформлен. По этому пакету проблем нет.
2. Я ходил по разым путям. В последний раз - по этому http://clusterlabs.org/quickstart-redhat.html. Можно поставить pacemaker-7 из штатных центосных реп, можно pacemaker-8 из реп кластрлабсых. Результат у меня одинаков.
3. corosync. В виде rpm он есть только в штатных репозитории СentOSа. Версии 1.4. Если хочешь иметь более новую версию - собирай её руками из сырцов.
4. Если мы хотим пользовать pcs, то тогда надо иметь corosync версии уже 2.х. На то очень намекает страница выбора той или иной камасутры (RHEL6: 1.1-plugin (look for CMAN in the index)). Более того она рекомендует использовать pcs на F-18 (видимо из за отсутствия, решаемого руками, в штатных репах pcsd). То есть, если у нас pacemaker 1.1.x и corosync 1.х, то ходить надо сюда: http://clusterlabs.org/doc/en-US/Pacemaker/1.1-plugin/html/Clusters_from_Scratch/index.html
Или я неправ?
=====================
Кстати, вспомнил, почему я начал на RFR-17 работать с pcs. Камасутра писалась, видимо, в одно время, а когда я начал ставить corosync, то из штатных репов федры приехала версия 2.0.3, кажется. Отсюда и выбор соответствующей книжки. С небольшим трахом в части поиска pcsd (небольшой камушек в огород тех, кто верит, что в штатных репах лежат исключительно согласованные пакеты) - всё заработало как было предсказано в документации. А вот заводиться в RH-6 варианте - проблемы-с...