25.03.2019 20:42, Cole Miller пишет: > Hi [email protected], > > My current project at work is a two node cluster running apache and > virtual IPs on CentOS 7. I found in my testing that apache when run > by corosync does not have a reload or graceful restart. Before the > cluster, when apache was a single instance, I previously used > graceful restart to be able to add configurations with out affecting > current users of the system. > > Initially, I tried adding the capability myself as a resource action > in the pcs configuration, I was able to add the action, but it would > have no effect when run. Digging deeper, I eventually found the > apache control script at /usr/lib/ocf/resource.d/heartbeat/apache and > was able to see that there are no commands available for a graceful > restart, only graceful stop. > > Currently, I have found two ways of getting around this limitation. > The first is “/bin/kill -USR1 `cat /var/run/httpd.pid`", and the > second is "/bin/test -f /var/run/httpd.pid && /usr/sbin/httpd -f > /etc/httpd/conf/httpd.conf -c "PidFile /var/run/httpd.pid" -k > graceful”. Both seem to work with out adversely affecting corosync. > > My primary question is; what is the reason that graceful restart is > not supported by the heartbeat apache control script?
As far as I know pacemaker does not support "graceful restart" with semantic you want at all. Pacemaker supports "reload" action if some parameters to *resource* change. But changing of apache configuration is not visible to pacemaker at all. > It seems like a > pretty common usage of apache, so it seems a strange omission from > the script. I am concerned that I’m trying to work against the grain > since it is absent from the script. > > My second question is; are the two work arounds presented above safe > for use with corosync/heartbeat/pcs? Is one preferable to the other? > If neither are safe, how would you recommend being able to update > apache configurations with no downtime? > As long as graceful restart of apache does not cause client connection failure I do not see why you cannot use it. Whichever works for you. Apache monitor action tries to connect to httpd and request test page. If reload takes too much time I presume monitor can timeout in which case you may need to increase waiting time. > I am new to this list and could not find a way to search the > archives, so if this question has already been answered, could you > point me to the search area and to the answer as well? > > Thank you in advance for your advice and recommendations. -Cole > > > _______________________________________________ Manage your > subscription: https://lists.clusterlabs.org/mailman/listinfo/users > > ClusterLabs home: https://www.clusterlabs.org/ > _______________________________________________ Manage your subscription: https://lists.clusterlabs.org/mailman/listinfo/users ClusterLabs home: https://www.clusterlabs.org/
