LinuxForum.Fans
Тема

Засада с pacemaker

Автор: Cruiser78 32 сообщений 7403 просмотров
#298081
"Cruiser78" написал:
Попытайся тривиально на одной из нод остановить pacemaker. Тривиальнейшим способом - service pacemaker stop. У меня оно на остановке кластерных сервисов может висеть очееееень долго. Весь экран точками забивает... А потом, если снова пасемакер стартовать, то на альтернативной ноде имею Online: [ node_3 node_4 ], а на этой - OFFLINE: [ node_3 node_4 ]. То есть наблюдаю полную рассинхронизацию кластера, которая лечится исключительно перезапуском (ребутом) нод. Благо на виртуалках это делать можно оперативно.

Хорошо, завтра проверю.

#298084
"Cruiser78" написал:
небольшой камушек в огород тех, кто верит, что в штатных репах лежат исключительно согласованные пакеты

судя по всему, в мой :)
я ж не писал. что верю в это... просто так должно быть :) но жизнь, как всегда, сурова

#298112
"alexfinn" написал:
судя по всему, в мой

зря ты так, видим не у всех порой все на vb заводится ;-)

#298134
i2ks написал:
[quote="alexfinn"]судя по всему, в мой

зря ты так, видим не у всех порой все на vb заводится ;-)[/quote]
В моем случае не заводится в KVM. Хотя на сам KVM я меньше всего склонен думать. Не того уровня программа, чтобы от среды виртуализации зависить.

#298145
"Cruiser78" написал:
В моем случае не заводится в KVM. Хотя на сам KVM я меньше всего склонен думать. Не того уровня программа, чтобы от среды виртуализации зависить.

Может я не так что делаю:
Но вот:

text

[root@node_3 ~]# pcs status
Last updated: Thu Jan 24 09:22:49 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

[root@node_3 ~]# /etc/init.d/pacemaker stop Signaling Pacemaker Cluster Manager to terminate: [ OK ] Waiting for cluster services to unload:...... [ OK ] [root@node_3 ~]# /etc/init.d/pacemaker start Starting Pacemaker Cluster Manager: [ OK ]

здесь вывод pcs status при вкл/откл pacemaker

text

[root@node_4 ~]# pcs status
Last updated: Thu Jan 24 09:22:15 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

[root@node_4 ~]# pcs status Last updated: Thu Jan 24 09:23:17 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_4 ] OFFLINE: [ node_3 ]

Full list of resources:

ClusterIP (ocf::heartbeat:IPaddr2): Started node_4

[root@node_4 ~]# pcs status Last updated: Thu Jan 24 09:23:34 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_4

[root@node_4 ~]#

"Cruiser78" написал:
4. Если мы хотим пользовать pcs, то тогда надо иметь corosync версии уже 2.х.

А вот и нет:

text

[root@node_4 ~]# rpm -qa|grep corosync
corosync-1.4.1-7.el6_3.1.x86_64
corosynclib-1.4.1-7.el6_3.1.x86_64
[root@node_4 ~]# yum info pcs
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos-mirror.rbc.ru
 * extras: centos-mirror.rbc.ru
 * updates: centos-mirror.rbc.ru
base                                                                                                                                                                  | 3.7 kB     00:00     
clusterlabs-next                                                                                                                                                      | 2.5 kB     00:00     
extras                                                                                                                                                                | 3.5 kB     00:00     
updates                                                                                                                                                               | 3.5 kB     00:00     
updates/primary_db                                                                                                                                                    | 4.6 MB     00:00     
Installed Packages
Name        : pcs
Arch        : noarch
Version     : 0.9.26
Release     : 3.el6
Size        : 242 k
Repo        : installed
From repo   : clusterlabs-next
Summary     : Pacemaker Configuration System
URL         : [url]http://github.com/feist/pcs[/url]
License     : GPLv2
Description : pcs is a corosync and pacemaker configuration tool.  It permits users to
            : easily view, modify and created pacemaker based clusters.

[root@node_4 ~]# yum info pacemaker Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos-mirror.rbc.ru * extras: centos-mirror.rbc.ru * updates: centos-mirror.rbc.ru Installed Packages Name : pacemaker Arch : x86_64 Version : 1.1.8 Release : 4.el6 Size : 1.2 M Repo : installed From repo : clusterlabs-next Summary : Scalable High-Availability cluster resource manager URL : [url]http://www.clusterlabs.org[/url] License : GPLv2+ and LGPLv2+ Description : Pacemaker is an advanced, scalable High-Availability cluster resource : manager for Linux-HA (Heartbeat) and/or Corosync. : : It supports "n-node" clusters with significant capabilities for : managing resources and dependencies. : : It will run scripts at initialization, when machines go up or down, : when related resources fail and can be configured to periodically check : resource health. : : Available rpmbuild rebuild options: : --with(out) : heartbeat cman corosync doc publican snmp esmtp pre_release

Available Packages Name : pacemaker Arch : i686 Version : 1.1.8 Release : 4.el6 Size : 385 k Repo : clusterlabs-next Summary : Scalable High-Availability cluster resource manager URL : [url]http://www.clusterlabs.org[/url] License : GPLv2+ and LGPLv2+ Description : Pacemaker is an advanced, scalable High-Availability cluster resource : manager for Linux-HA (Heartbeat) and/or Corosync. : : It supports "n-node" clusters with significant capabilities for : managing resources and dependencies. : : It will run scripts at initialization, when machines go up or down, : when related resources fail and can be configured to periodically check : resource health. : : Available rpmbuild rebuild options: : --with(out) : heartbeat cman corosync doc publican snmp esmtp pre_release

А теперь коротко о pacemaker 1.1.8, в нем сейчас нет crm. Сейчас используется pcs или crmsh. В моем случае все управляется через pcs, так как crmsh я не нашел в репозиториях, а ссылка на проект crmsh ведет на пустой репозиторий.
Если мы используем centos6.x, и хотим использовать pcamekar 1.1.8 то идем сюда: http://clusterlabs.org/rpm-next/ , и берем rh пакет, далее ставим pacemaker + corosync(он за собой подтянет cman и т.д.), далее ставим pcs, настраиваем corosync.conf и iptables, запускам все это дело.

Отвечу на вопрос почему порой долго останавливается corosync/pacemaker:
1. Агент pacemaker не может остановить корректно службу, или к примеру долго останавливается БД и т.д
2. Проблема с сетью, здесь порой у corosync сносит крышу.
3. Если используем drbd, то здесь так же могут возникнуть проблемы, в итоге потом получаем split-brain.

Возможно в скором времени напишу how-to, я так смотрю в рунете мало что есть на русском языке, хотя информация на clusterlab исчерпывающая.

#298165
i2ks написал:

A. Может я не так что делаю:
B. А теперь коротко о pacemaker 1.1.8, в нем сейчас нет crm. Сейчас используется pcs или crmsh. В моем случае все управляется через pcs, так как crmsh я не нашел в репозиториях, а ссылка на проект crmsh ведет на пустой репозиторий.
Если мы используем centos6.x, и хотим использовать pcamekar 1.1.8 то идем сюда: http://clusterlabs.org/rpm-next/ , и берем rh пакет, далее ставим pacemaker + corosync(он за собой подтянет cman и т.д.), далее ставим pcs, настраиваем corosync.conf и iptables, запускам все это дело.

C. Отвечу на вопрос почему порой долго останавливается corosync/pacemaker:
1. Агент pacemaker не может остановить корректно службу, или к примеру долго останавливается БД и т.д
2. Проблема с сетью, здесь порой у corosync сносит крышу.
3. Если используем drbd, то здесь так же могут возникнуть проблемы, в итоге потом получаем split-brain.

D. Возможно в скором времени напишу how-to, я так смотрю в рунете мало что есть на русском языке, хотя информация на clusterlab исчерпывающая.

А. Может и я неправ. Хотя на стенде, в виртуалки, ставил исключительно с целью отладки pacemaker'а и никакой иной дряни на них не ставил. Исключительно "базовая" установка с минимальным количеством дополнительных служб. Только то, что будет юзаться на промышленных серверах. Не более.

B. Это понятно. Но, увы, это никак не следует из описаний на clusterlabs. Приходится доходить до этого более чем опытным путем. Увы-с. Более того - подача этих описаний наводит на иные мысли. Я их озвучил ранее.

C.
1. В моем случае никаких служб еще нету, но висяк есть. Думал, что это фича "пустого" кластера, но... Там на кластерлабсе есть хавтушка по быстрому старту. В той хавтушке поднимается dummy-сервис, пустышка, как я понимаю. И с ней то же висяк. Хотя, чему там висеть???
2. Какие могут быть проблемы с сетью у двух KVM-машин, висящих на одном бридже? И iptables на хосту настроен на тотальный пропус трафика гостей. Это отпадает.
3. DRBD. Есть знатный глюк. Опытным путем выявил, что если на primary-drbd-томе поднять файловую систему ext4 и запустить на это дело самбу, то потом фиг этот том размонтируешь. Самбу остановить можно легко, но том, при этом, не освобождается полностью. Отсюда - бесконечное ожидание, когда же оно размонтируется. Все курят бамбук. Однако, если на drbd-томе развернута файловая система ext3, то никаких проблем не возникает, останавливаем самбу, размонтируем том, переводим его в secondary-режим на раз-два. Самое интересное, что если мы будем ходить по ext4-тому не самбой (её достаточно только стартовать, обращаться к ресурсам и не надо), а иным приложением, то эффект не проявляется и том размонтируется легко. Выявлено это на Fedora 17 (64bit). Есть ли на иных дистрибутивах - не знаю, еще не проверял.
И еще был один очень интересный глюк с openVPN в этом кластере (опять же на F-17). Стоило только двинуться openVPN-серверу на резервую ноду а потом вернуться назад средствами pacemaker'а, как VPN разваливалась напрочь. Точнее - трафик через туннель от клиента получателю (к этой резервной ноде) у меня шел. А вот обратно - эта резервная нода молчала как партизан в гестапо. Система очень чувствительна к порядку подъема-опускания интерфейсов и старта-стопа openVPN. Пришлось здесь отказаться от услуг pacemaker'а, написать свой инициализирующий скрипт (где четко определить кто за кем стоял) и гонять уже его между нодами в pacemaker'е.

D. Рускоязычные статьи мне попадались в большом количестве. Но, в большинстве своем это более-менее бездарые пересказы оригинальных статей кластерлабса. Даже примеры один в один перетянуты. А вот то, что интересно - найти сложно.
Мне, например, очень помогла бы хавтушка следующего направления:
1. СХД для "бедных". То есть не на специализированных СХД, а на обычной паре крмпьютеров. С показом, что нужно разместить на DRBD (файловый сервер), а что можно на glusterfs, в котором нет mandatory lock, например - хранилище общих конфигов и скриптов.
2. Ориентация этого кластера на виртуальные машины. Как и где разместить образы виртуальных машин (полагаю, что в iSCSI-target'е), как обеспечить к этому хранилищу виртуальных машин доступ с нескольких хостов, на которых будут функционировать эти машины, как обеспечить живую миграцию машин. Причем, эти машины могут мигрировать и между нодами, на которых развернут этот iscsi-target. У меня здесь пока не связывается что-то. Как оно будет переключаться?
Ну а писать хавтушку - как поднять клаcтеный IP - кому оно надо?

#298171
"Cruiser78" написал:
D. Рускоязычные статьи мне попадались в большом количестве. Но, в большинстве своем это более-менее бездарые пересказы оригинальных статей кластерлабса. Даже примеры один в один перетянуты. А вот то, что интересно - найти сложно.

Я how-to обычно пишу для себя, что бы не забыть :-)

"Cruiser78" написал:
1. СХД для "бедных". То есть не на специализированных СХД, а на обычной паре крмпьютеров. С показом, что нужно разместить на DRBD (файловый сервер), а что можно на glusterfs, в котором нет mandatory lock, например - хранилище общих конфигов и скриптов.
2. Ориентация этого кластера на виртуальные машины. Как и где разместить образы виртуальных машин (полагаю, что в iSCSI-target'е), как обеспечить к этому хранилищу виртуальных машин доступ с нескольких хостов, на которых будут функционировать эти машины, как обеспечить живую миграцию машин. Причем, эти машины могут мигрировать и между нодами, на которых развернут этот iscsi-target. У меня здесь пока не связывается что-то. Как оно будет переключаться?

Это уже прям целый комплекс/связка каких либо решений получается, здесь не одну how-to написать надо будет)

#298176
i2ks написал:

Это уже прям целый комплекс/связка каких либо решений получается, здесь не одну how-to написать надо будет)

А какой смысл писать еще один вариант перевода официальной доки, как поднять pacemaker на двух нодах и гонять им между нодами IP-адрес или апача?

#298177
"Cruiser78" написал:
А какой смысл писать еще один вариант перевода официальной доки, как поднять pacemaker на двух нодах и гонять им между нодами IP-адрес или апача?

В том то и дело что нет.

#355504

Уважаемый, Cruiser78

как Ваши успехи с pacemaker? я просто тоже столкнулся с подобной проблемой... вот хотел узнать, у Вас что-нибудь изменилось с того времени? если результаты?

#355558
dimakein написал:
Уважаемый, Cruiser78

как Ваши успехи с pacemaker? я просто тоже столкнулся с подобной проблемой... вот хотел узнать, у Вас что-нибудь изменилось с того времени? если результаты?

Результат прост. Откатился на тривиальный heartbeat. Там работает беспроблемно. Но, при этом, часть сервисов некластеризована так как я хочу.

#355707
Cruiser78 написал:
[quote=dimakein]Уважаемый, Cruiser78

как Ваши успехи с pacemaker? я просто тоже столкнулся с подобной проблемой... вот хотел узнать, у Вас что-нибудь изменилось с того времени? если результаты?

Результат прост. Откатился на тривиальный heartbeat. Там работает беспроблемно. Но, при этом, часть сервисов некластеризована так как я хочу.[/quote]

к сожалению, в моем случае heartbeat не поможет, так как кластер с множеством сервисов, причем на одной ноде должны работать одни, на другой - другие, и только в случае проблем все сервисы могут оказаться на одной ноде.

Войдите или зарегистрируйтесь, чтобы ответить.