Почему не запускается PostgreSQL на мастер-ноде Pacemaker?

Имеется кластер Pacemaker c некоторыми ресурсами. Конфигурация следующая:
node sky01 \
        attributes standby="off"
node sky02
primitive drbd_fs ocf:heartbeat:Filesystem \
        params device="/dev/vg1/cluster" directory="/cluster" options="noatime,nodiratime" fstype="xfs" \
        op start interval="0" timeout="60" \
        op stop interval="0" timeout="120"
primitive drbd_sky ocf:linbit:drbd \
        params drbd_resource="sky" \
        op monitor interval="15" \
        op start interval="0" timeout="240" \
        op stop interval="0" timeout="120"
primitive lvm_vg1 ocf:heartbeat:LVM \
        params volgrpname="vg1" \
        op start interval="0" timeout="30" \
        op stop interval="0" timeout="30" \
        meta target-role="Started"
primitive mon_sky ocf:pacemaker:ClusterMon \
        params user="root" update="5" extra_options="-E /usr/local/bin/mon_cluster.sh -e r.krolikov@itransition.com" \
        op monitor on-fail="restart" interval="30" \
        meta target-role="Stopped"
primitive pub_ip ocf:kumina:hetzner-failover-ip \
        op start interval="0" timeout="360" \
        params ip="5.9.34.18" script="/usr/local/sbin/parse-hetzner-json.py"
group Application lvm_vg1 drbd_fs pub_ip
ms ms_drbd_sky drbd_sky \
        meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" target-role="Started"
location cli-prefer-Application Application \
        rule $id="cli-prefer-rule-Application" inf: #uname eq sky01
location loc_ms_01 ms_drbd_sky 100: sky01
location loc_ms_02 ms_drbd_sky 10: sky02
location loc_sky_01 Application 100: sky01
location loc_sky_02 Application 10: sky02
colocation col_sky_drbd inf: Application ms_drbd_sky:Master
order ord_sky inf: ms_drbd_sky:promote Application:start
property $id="cib-bootstrap-options" \
        dc-version="1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c" \
        cluster-infrastructure="openais" \
        expected-quorum-votes="2" \
        stonith-enabled="false" \
        no-quorum-policy="ignore" \
        last-lrm-refresh="1404105298" \
        start-failure-is-fatal="false" \
        stop-all-resources="false" \
        symmetric-cluster="false"
rsc_defaults $id="rsc-options" \
        resource-stickiness="100"

Так работает всё хорошо: теряем ноду, ресурсы мигрируют.
Если добавить ресурс PostgreSQL
crm configure primitive pgsql lsb:postgresql \
 op monitor interval="30" timeout="60" \
 op start interval="0" timeout="60" \
 op stop interval="0" timeout="60"

то он сразу же стартует на slave ноде, что приводит к ошибке. Если слэйв ноду выключить, то postgres мигрирует на мастер и нормально запустится. Включаем слэйв ноду - postgres мигрирует обратно - ошибка.
Т.е. полное игнорирование group, location и stickiness. Подскажите в чём проблема?
  • Вопрос задан
  • 3066 просмотров
Решения вопроса 1
@r_krolikov Автор вопроса
Решено. Проблема была в скрипте /etc/init.d/postgresql (убрал "set +e"). Из-за этого кластер вёл себя не понятно, запуская PG на двух нодах.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Profee.Lab Москва
от 120 000 до 160 000 руб.
от 120 000 до 180 000 руб.
RealtimeBoard Пермь
от 80 000 до 130 000 руб.
22 февр. 2019, в 20:42
400 руб./в час
22 февр. 2019, в 20:23
2000 руб./за проект
22 февр. 2019, в 19:31
15000 руб./за проект