Важность ha.cf файла в среде heartbeat/кардиостимулятора?

У меня есть несколько проблем, пытающихся понять ha.cf и как кластер берет на обновлениях.

Например, при создании нового кластера, я обычно:

  1. Установите некоторые опции по умолчанию в ha.cf на узле 1 - узел x
  2. Запустите кластер.
  3. Выполненный crm на любом узле, настройте ресурсы.

Пока я обычно делаю узлы/вниз, ресурсы/вниз, я на самом деле никогда не добавлял новый узел позднее.

Только для "забавы", я решил выполнить новый сервер, который только указал один узел в кластере в, он - ha.cf, и затем запустите heartbeat.

Эта машина успешно присоединилась к кластеру и добавила себя к любому узлу в кластере.... То, где я запутываюсь, - то, что, даже если я завершаю работу всех узлов, и перезагружают исходные 2 узлы, у них обоих все еще есть третий сервер как в кластере, но офлайн, несмотря на третье не быть в ha.cf файле узла оригинала 2.

Даже если я редактирую ha.cf и изменяюсь, некоторое значение/или ерунды касаются файла, перезагружают сервер и кластер, это все еще там. Таким образом, мое заключение состоит в том, что CIB берет предпочтение по ha.cf, но, то, что я не получаю, то, почему/как.

Я действительно ищу лучшие практики - какая-либо машина должна просто иметь достаточно в ha.cf для "подъема его", затем все в CRM? Действительно ли ha.cf является пустой тратой времени, или я должен использовать его намного больше?

При попытке не быть настолько неопределенным - я действительно просто ищу то, что я должен делать в CRM, и что я должен делать в ha.cf?

Спасибо,

Wil

3
задан 12 July 2014 в 22:26
2 ответа

Я действительно надеялся увидеть хороший ответ сам.

Все, что я могу действительно сделать, это одобрить ваш опыт: что единственная реальная функция сердцебиения в этих обстоятельствах - это запуск кардиостимулятора, подсистемы CRM. Это (как вы знаете ) поддерживает свою собственную базу данных узлов и состояния, которая в моих системах является /var/lib/heartbeat/crm/cib.xml. Файлы в /etc/ha.d информируют heartbeat, но не crm.

Я запускаю несколько пар обхода отказов, делающих различные вещи, большинство из которых длится более 500 дней, а некоторые близки к 1000 дням, и большинство из которых пережили любое количество обходов отказов и отказов; поэтому я могу только предполагать, что делаю что-то правильно. Моя практика заключается не в том, чтобы на самом деле лгать в ha.cf, а в том, чтобы положить туда почти ничего, кроме того, что требуется для того, чтобы HA запустил CRM.

Извините, но у меня нет ничего более конкретного, на что можно было бы обратить ваше внимание.

.
0
ответ дан 3 December 2019 в 08:12

Видимо, вы запускаете Pacemaker, кластерный менеджер ресурсов, поверх Heartbeat v3, кластерного слоя обмена сообщениями. Более подробную информацию можно найти здесь . Например, более старые версии Heartbeat требовали от пользователей добавления конфигурации узла ping в ha.cf, в Pacemaker это больше не требуется при использовании агента ресурсов pinggd ressource.

Роль агента ресурсов заключается в абстрагировании сервиса, который он предоставляет, и представлении согласованного представления о кластере, что позволяет кластеру быть агностичным по отношению к ресурсам, которыми он управляет. Кластеру не нужно понимать, как работает ресурс, потому что он полагается на агента ресурсов для того, чтобы поступить правильно, когда ему дана команда start, stop или monitor.

Поэтому вам следует различать конфигурации и проверять следующее в вашем

/etc/ha.d/ha.cf

mcast ...
bcast eth..
#disables automatic joining <== Do you have "autojoin any", here ?
autojoin none
node node1 node2
# for enabling Pacemaker under Heartbeat 3.04
pacemaker respawn
#and check manpage to track deprecated directives (baud, auto_failback, stonith, etc.)

Позвольте мне также предложить следующие тесты:

  • Перечитываете ли вы хорошую пульсную службу?

    kill -HUP $GoodHeartbeatPID

  • CRM нужен коммит (cib.xml (также известный как Cluster Information Base) генерируется этой командой)

    crm_verify -L -V

    cib commit $yourconf

  • Проверьте также ваши хосты /etc/hosts, DNS и т.д.

Будьте осторожны с reart order

на вашем неподвижном узле. Это отключит ресурсы вашего кластера.

 /etc/init.d/heartbeat stop 

на вашем резервном узле (том, на котором вы создали CIB). Это запустит локальный экземпляр Heartbeat и Кардиостимулятор, и будет ждать пока другие узлы кластера не проверят.

/etc/init.d/heartbeat start 

на другом узле. Это запустит локальный экземпляр Heartbeat и кардиостимулятор, автоматически получит CIB и запустит приложения.

/etc/init.d/heartbeat start 

Добрые пожелания

.
0
ответ дан 3 December 2019 в 08:12

Теги

Похожие вопросы