[Asterisk-Dev] Asterisk High availability

John Lange john.lange at open-it.ca
Tue Aug 2 17:12:56 MST 2005


On Mon, 2005-08-01 at 17:39 +0200, Sergio Serrano wrote:
> Hi Srs.,
>     I know that this theme is not first time in this list, but I can't
> never see something enough good for little company. I'm going to start
> to develop a low cost high availability system for asterisk with next
> scenario:
>  
>     two machines(one master and other slave) These two machines are
> connected to the same ISDN PRI connector.

How do you accomplish this?

> When master starts load zaptel modules, starts Asterisk and FailOver
> system. This Failover system consist of one directory backup system
> like rsync, one Database replication system like MySQL Repplication
> System, and Asterisk failOver System(the system I try to develop).

I think this is partially the wrong approach. MySQL & rsync replication
is not the answer simply because it is only good at one-way replication.
Once the node fails-over there is no replication in the other direction
making returning to a two-node system difficult.

Building some sort of redundancy into Asterisk sounds interesting.
However, it is probably very difficult and not necessary. See below.

> Master has a fixed IP and slave has a fixed IP. Both machines could
> configure Service IP. When master starts go up Service IP and the
> Asterisk failover system checks his own IP and Service IP, it also
> check that slave it's OK. The slave checks Service IP and Master and
> slave IP. The check process for asterisk it could be the next: 
>  
>     check that you have network with ping tool. If you have network,
> check that all modules are OK, and that Asterisk it's OK.
>  
> The system I try to develop it something like this, but I want to know
> if these process it's possible to develop with heartbeat(linux-HA) and
> any Telephony API, or I must develop complete system.

I believe the proper approach would be to use Linux-HA. DRBD (part of
Linux-HA) is the ideal tool to use for the data-replication as it
transparently creates an exact mirror of your hard drive over a network
connection in real time. This takes care of mySQL, and the entire file
system so you never loose any data. It also trivial to make it replicate
in the opposite direction so your failed node transparently becomes the
slave when it recovers.

The heartbeat monitoring (also part of HA) is already 90% there. The
only thing missing is an effective way to monitor Asterisk to make sure
its alive. Linux-HA has an easy time if a host completely fails but it
is far less reliable when monitoring the services themselves.

IMHO, if you are going to spend any time coding it should be on writing
an effective module or plug-in for Linux-HA/heartbeat for monitoring
Asterisk.

> If anyone want participate in this project I would be pleasant.

In a couple weeks I'll be deploying what I have described above
(heart-beat / drbd). At this point I don't know how tightly-coupled the
Asterisk monitoring will be. It may just be a host-failure detection as
mentioned but if I'm able to create or utilize a Asterisk monitoring
plug-in of some sort that would be ideal.

-- 
John Lange
OpenIT ltd. www.Open-IT.ca (204) 885 0872
VoIP, Web services, Linux Consulting, Server Co-Location

>  Now I have a perl failover system develop by a friend, but it fail
> and I would like to develop in C language.
>  
>  
> Any comments will be appreciated.
>  
>  
> regards,
>  
> srsergio
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-dev





More information about the asterisk-dev mailing list