Cluster Services will not start

Posted on 2009-07-02
Last Modified: 2013-12-16
Specifically, we are trying to setup a two-node cluster to provide a highly available apache server. After reviewing the documentation, it appears that shared storage may not be necessary, though we would like to have the document root be on shared storage eventually.

We have followed the steps laid out in the howto:

However when we try to start the service in Luci, the httpd service fails to start. We get the following errors in /var/log/messages:

Jun 29 16:22:36 habox1 clurgmgrd: [10855]: <err> Stopping Service
apache:Apache_Test_Srvr > Failed
Jun 29 16:22:36 habox1 clurgmgrd[10855]: <notice> stop on apache
"Apache_Test_Srvr" returned 1 (generic error)
Jun 29 16:22:36 habox1 clurgmgrd[10855]: <crit> #13: Service
service:Web_Server failed to stop cleanly
Jun 29 16:26:29 habox1 clurgmgrd[10855]: <notice> Starting disabled
service service:Web_Server
Jun 29 16:26:29 habox1 clurgmgrd: [10855]: <err> Looking For IP
Addresses [apache:Apache_Test_Srvr] > Failed - No IP Addresses Found
Jun 29 16:26:29 habox1 clurgmgrd[10855]: <notice> start on apache
"Apache_Test_Srvr" returned 1 (generic error)
Jun 29 16:26:29 habox1 clurgmgrd[10855]: <warning> #68: Failed to start
service:Web_Server; return value: 1
Jun 29 16:26:29 habox1 clurgmgrd[10855]: <notice> Stopping service
Jun 29 16:26:35 habox1 clurgmgrd: [10855]: <err> Checking Existence Of
File /var/run/cluster/apache/
[apache:Apache_Test_Srvr] > Failed - File Doesn't Exist
Jun 29 16:26:35 habox1 clurgmgrd: [10855]: <err> Stopping Service
apache:Apache_Test_Srvr > Failed
Jun 29 16:26:35 habox1 clurgmgrd[10855]: <notice> stop on apache
"Apache_Test_Srvr" returned 1 (generic error)
Jun 29 16:26:35 habox1 clurgmgrd[10855]: <crit> #12: RG
service:Web_Server failed to stop; intervention required
Jun 29 16:26:35 habox1 clurgmgrd[10855]: <notice> Service
service:Web_Server is failed
Jun 29 16:26:35 habox1 clurgmgrd[10855]: <crit> #13: Service
service:Web_Server failed to stop cleanly

Can you advise us as to what the problem may be? Let us know if you need
more information.

my cluster.conf file created in web GUI (luci)
<?xml version="1.0"?>
<cluster alias="app_server" config_version="16" name="app_server">
        <fence_daemon clean_start="0" post_fail_delay="0" 
                <clusternode name="" nodeid="1" 
                                <method name="1"/>
                <clusternode name="" nodeid="2" 
                                <method name="1"/>
        <cman expected_votes="1" two_node="1"/>
                        <apache config_file="conf/httpd.conf" 
name="Apache_Test_Srvr" server_root="/etc/httpd" shutdown_wait="0"/>
                        <ip address="" monitor_link="1"/>
                        <script file="/etc/rc.d/init.d/httpd" 
                        <fs device="/dev/hda2" force_fsck="0" 
force_unmount="0" fsid="36806" fstype="ext3" mountpoint="/HA" 
name="httpd_content" self_fence="1"/>
                <service autostart="1" exclusive="0" max_restarts="0" 
name="Web_Server" recovery="restart" restart_expire_time="0">
                        <apache ref="Apache_Test_Srvr">
                                <ip ref=""/>
                                <script ref="script_test"/>
                                <fs ref="httpd_content"/>

Open in new window

Question by:Justin_Edmands
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2

Author Comment

ID: 24768145
need some help!

Expert Comment

ID: 24770784
I think it might be easier to use hearbeat with DRBD: and They work very nicely together. Basically you set up some information in their config files about each other, which IP address they will share, etc. Then at the end of it all, you have the heartbeat process start up, which then starts up the DRBD shared storage and places symlinks on the system to point to the shared storage. Heartbeat then handles the starting and stopping of Apache. It is pretty easy to do, and both projects are very well documented and there are many how-to articles on the web for doing exactly what you want to do.
LVL 78

Expert Comment

ID: 24774609
IMHO, it is better to load balance a web server rather than set it up in a fail over cluster.
You could use rsync to synchronize the document root data.

You could setup a cluster resource dealing with a specific IP.
This will deal with making the IP "available all the time"

One error I see is that you are not assigning an IP that will move with the web server.

You have to setup an IP that will move between/among the nodes.


Author Comment

ID: 24789982
already got DRBD to work and all. need to do RedHat Cluster Suite

Accepted Solution

JabbaDow earned 500 total points
ID: 24791698
I have no experience with Red Hat Cluster Suite, but I guess the first thing would be to make sure that you have a virtual IP address (i.e. an address bound to a virtual interface like eth0:0), and make sure that that address is working on the active node of the cluster. When you failover to the other node, that address needs to follow the active node. Then set your Apache to listen on that address. So instead of Listen *:80, you need to have "Listen x.x.x.x:80" apache directive. Make sure that the networking comes up before apache does.

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Samba Question 11 137
Samba 4, Users Permission, 5 111
LINUX Field Separators 7 78
VPN, Squid-  unable to log https requests 5 107
Most ColdFusion developers get confused between the CFSet, Duplicate, and Structcopy methods of copying a Structure, especially which one to use when. This Article will explain the differences in the approaches with examples; therefore, after readin…
In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question