У меня есть установка с 2 машинами с установленными Pacemaker и Corosync. Там у меня работает PostgreSQL Master / Slave Set. Мастер имеет группу ресурсов с виртуальным IP-адресом и две дополнительные службы, которые должны работать на мастере. В случае аварийного переключения, вызванного убийством мастера базы данных, это переносит все службы в группе на другой узел, что именно то, что я ожидаю и хочу, чтобы он выполнял.
Однако дополнительные службы будут помечены как сбойные, когда я их убью, и все. Поскольку я хочу, чтобы миграция происходила только при сбое базы данных, это нормально. Однако я хочу, чтобы Pacemaker перезапускал эти службы в случае их сбоя, а не просто отмечал их как сбойные.
Я ожидал, что он будет делать именно это, когда я добавлю флаг on-fail = restart в монитор op этих служб, но это не так.
Группа выглядит так:
Group: master-group
Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: ip=1.2.3.4 cidr_netmask=24 nic=ens1f0
Operations: start interval=0s timeout=20s (VirtualIP-start-interval-0s)
stop interval=0s timeout=20s (VirtualIP-stop-interval-0s)
monitor interval=30s (VirtualIP-monitor-interval-30s)
Resource: additional-resource1 (class=ocf provider=heartbeat type=additional-resource1)
Operations: stop interval=0s timeout=20s (additional-resource1-stop-interval-0s)
monitor interval=60s timeout=20s (additional-resource1-monitor-interval-60s)
start interval=0s on-fail=restart timeout=20s (additional-resource1-start-interval-0s)
Resource: additional-resource2 (class=lsb type=additional-resource2)
Operations: start interval=10s on-fail=restart timeout=60s (additional-resource2-start-interval-10s)
stop interval=0s timeout=20s (additional-resource2-stop-interval-0s)
monitor interval=60s on-fail=restart timeout=0s (additional-resource2-monitor-interval-60s)
Stonith Devices:
Fencing Levels:
Location Constraints:
Ordering Constraints:
promote msPostgresql then start master-group (score:INFINITY) (non-symmetrical) (id:order-msPostgresql-master-group-INFINITY)
demote msPostgresql then stop master-group (score:0) (non-symmetrical) (id:order-msPostgresql-master-group-0)
Colocation Constraints:
master-group with msPostgresql (score:INFINITY) (rsc-role:Started) (with-rsc-role:Master) (id:colocation-master-group-msPostgresql-INFINITY)
Ticket Constraints:
Alerts:
No alerts defined
Resources Defaults:
resource-stickiness: INFINITY
migration-threshold: 1
Operations Defaults:
No defaults set
Cluster Properties:
cluster-infrastructure: corosync
dc-version: 1.1.15-11.el7_3.4-e174ec8
have-watchdog: false
last-lrm-refresh: 1498820659
no-quorum-policy: ignore
stonith-enabled: false
Node Attributes:
node1: pgsql-data-status=LATEST
node2: pgsql-data-status=STREAMING|SYNC
Может ли кто-нибудь объяснить, как этого добиться?