Категорически приветствую!
Есть кластер состоящий из 2 серверов с ubuntu 20 (Pacemaker 2.0.3, corosync 3.0.3) + qdevice, но это вобщем-то не важно. Хочу создать ресурс systemd, на обоих нодах создаю юнит dummy.service
[Unit]
Description=Dummy
[Service]
Restart=on-failure
StartLimitInterval=20
StartLimitBurst=5
TimeoutStartSec=0
RestartSec=5
Environment="HOME=/root"
SyslogIdentifier=dummy
ExecStart=/usr/local/sbin/dummy.sh
[Install]
WantedBy=multi-user.target
сам /usr/local/sbin/dummy.sh
:
#!/bin/bash
CNT=0
while true; do
let CNT++
echo "hello world $CNT"
sleep 5
done
Пытаемся объявить ресурс
pcs resource create dummy.service systemd:dummy op monitor interval="10s" timeout="15s"
И спустя пару секунд одна нода убивает вторую и она уходит в ребут. Почему так происходит? Судя по логам, он буквально чем за секунду пытается запустить 2 раза сервис, решает что он «Timed Out», при этом сервис работает, так как он успевает написать в лог «hello world 1», после чего отстреливает ноду.
Собсно вопрос всё тот же: что я делаю не так?
Jul 21 15:53:41 node2.local pacemaker-controld[1813]: notice: Result of probe operation for dummy.service on node2.local: 7 (not running)
Jul 21 15:53:41 node2.local systemd[1]: Reloading.
Jul 21 15:53:42 node2.local systemd[1]: /lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket → /run/dbus/system_bus_socket; please update the unit file accordingly.
Jul 21 15:53:42 node2.local systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock → /run/docker.sock; please update the unit file accordingly.
Jul 21 15:53:42 node2.local pacemaker-execd[1808]: notice: Giving up on dummy.service start (rc=0): timeout (elapsed=259719ms, remaining=-159719ms)
Jul 21 15:53:42 node2.local pacemaker-controld[1813]: error: Result of start operation for dummy.service on node2.local: Timed Out
Jul 21 15:53:42 node2.local systemd[1]: Started Cluster Controlled dummy.
Jul 21 15:53:42 node2.local dummy[9330]: hello world 1
Jul 21 15:53:42 node2.local systemd-udevd[922]: Network interface NamePolicy= disabled on kernel command line, ignoring.
Jul 21 15:53:42 node2.local pacemaker-attrd[1809]: notice: Setting fail-count-dummy.service#start_0[node2.local]: (unset) -> INFINITY
Jul 21 15:53:42 node2.local pacemaker-attrd[1809]: notice: Setting last-failure-dummy.service#start_0[node2.local]: (unset) -> 1595336022
Jul 21 15:53:42 node2.local systemd[1]: Reloading.
Jul 21 15:53:42 node2.local systemd[1]: /lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket → /run/dbus/system_bus_socket; please update the unit file accordingly.
Jul 21 15:53:42 node2.local systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock → /run/docker.sock; please update the unit file accordingly.
Jul 21 15:53:42 node2.local pacemaker-execd[1808]: notice: Giving up on dummy.service stop (rc=0): timeout (elapsed=317181ms, remaining=-217181ms)
Jul 21 15:53:42 node2.local pacemaker-controld[1813]: error: Result of stop operation for dummy.service on node2.local: Timed Out
Jul 21 15:53:42 node2.local systemd[1]: Stopping Daemon for dummy...
Jul 21 15:53:42 node2.local pacemaker-attrd[1809]: notice: Setting fail-count-dummy.service#stop_0[node2.local]: (unset) -> INFINITY
Jul 21 15:53:42 node2.local pacemaker-attrd[1809]: notice: Setting last-failure-dummy.service#stop_0[node2.local]: (unset) -> 1595336022
Jul 21 15:53:42 node2.local systemd[1]: dummy.service: Succeeded.
Jul 21 15:53:42 node2.local systemd[1]: Stopped Daemon for dummy.
... lost connection (node rebooting)