[Linux-ha-dev] Re: [Linux-HA] cl_status shows strange info when using unicast heartbeats

Guochun Shi gshi at ncsa.uiuc.edu
Fri Jul 2 14:13:50 MDT 2004


At 12:46 PM 7/2/2004 -0600, Alan Robertson wrote:
>Guochun Shi wrote:
>>I think it makes sense heartbeat shows a correct status for local interfaces instead of being always dead in ucast and serial cases. Letting the local interace's
>>status always the same as the remote one's status will work. If this is desirable,
>>I can work out a patch.
>>-Guochun
>>At 12:53 PM 7/2/2004 -0500, you wrote:
>>
>>>At 12:54 PM 7/2/2004 +0200, you wrote:
>>>
>>>>Hi all,
>>>>
>>>>I used to run heartbeat (ver. 1.2.2, Debian packages from site on Woody) using broadcast heartbeats over eth0 and eth1 interfaces. When I tried to use cl_status hblinkstatus it used to show correct status of links (all of them were up). Now I switched to unicast, and I am getting info 
>>>
>>>>from cl_status that both links on node where I am testing are dead. It 
>>>
>>>>reports that links on other node are up. Is it expected behavior or ? Everything else works just fine.
>>>
>>>This is expected AFAIK. If heartbeat receives message from an interface, it thinks that interface is alive, otherwise the interface is marked dead. In bcast a node will receive messages from its own interface while in ucast it will not. If you configure
>>>serial port as heartbeat media, you will also find the serial port in local node is marked
>>>dead. There is nothing to worry and heartbeat is working correctly
>
>I don't think the connectivity to the local machine needs to be faked as being up.
>
>Maybe even better than faking it up would be to never show connectivity to the local machine by any path at all.  If heartbeat can't communicate with itself, then it will know it's broken, and will shut itself down, or the machine will reboot if you have the watchdog timer enabled.

I don't think that's a "faked" up status since receiving messages from the other node proves both the local interface and the remote one working correctly. Heartbeat itself cannot
tell if an interface is working correctly or not. A loopback message never goes through any local network interface, i.e. even all conmunication medias are malfunctioning, heartbeat 
still happily receives its own heartbeat (no?).

Never showing connectivity to the local machine is better than showing it's dead though :)

-Guochun




More information about the Linux-HA-Dev mailing list