[Asterisk-Users] High(er) availability

Tim Donahue tdonahue at haynes-group.com
Tue Dec 7 08:32:02 MST 2004


On Tue, 2004-12-07 at 15:47 +0100, Stefan de Konink wrote:
> E. Versaevel wrote:
> >>Which app do you use for monitoring the primary box and if it fails
> >>taking over the IP address by the backup one? I haven't found a suitable
> >>(active-active) app so far.
> > 
> > Thinking of using heartbeat or something.
> 
> VRRP, Virtual Redundancy Router Protocol, an option?
> 

Cisco claims that VRRP falls under one of their patents, so it could
become an expensive option.  There are several options out there at this
point though that may be able to handle the needs for pre-empting the IP
address.  

About 1 year ago the OpenBSD project wrote a patent-free alternative for
VRRP called CARP.  It allows for sharing of and automatic failover on an
IP address.  I have used it to build redundant firewalls that don't lose
any state information when the connection drops. CARP is of course built
into OpenBSD however I did find what looks to be a userland
implementation for Linux.  See www.ucarp.org for more information.

There are other possible solutions as well, unfortunately I have not
used any of these solutions they are just from brief google search.  LVS
(Linux Virtual Server) mentions "VoIP services" however I do not know if
Asterisk would run in a cluster environment.  There are also several
sites that deal with high availibity from linux, the first one I noticed
that looked like it had some really valuable information is
www.linux-ha.org.

Unfortunately this is all the easy part.  The difficult part will be
getting Asterisk to handle the failover gracefully.  You probably don't
want to lose all the SIP registration data and I have no idea if it will
be possible to prevent you from losing the calls.  You haven't named
that as one of your goals, but it is always something to think about.

-- 
Tim Donahue <tdonahue at haynes-group.com>
Haynes Group, Incorporated




More information about the asterisk-users mailing list