[asterisk-users] High Availability with Asterisk

Markus universe at truemetal.org
Thu Mar 6 14:33:00 CST 2014

Hi Thorolf,

Am 06.03.2014 16:21, schrieb Thorolf Godawa:
> Using (para-)virtualization with Xen could be an other option, on
> systems with low load this works reliable, but what happens on systems
> with high load? Are there any issues known about problems with the
> realtime, packet loss etc. because it runs in a VM?

hmm, all my Asterisk'es run in (KVM) VMs, no issues there. But how is 
this related to high availability? I think it's not. :)

I think the way to go for high availability (and scalability) is 
Kamailio! In a redundant setup, running on 2 separate physical machines 
(maybe in a VM, doesn't matter). Then you make them failsafe using 
whatever tool(s) available. Then you can set up 1, 2, 10 or 100 Asterisk 
"behind" Kamailio and any of them could fail (but 1 :-) ) and you will 
still be online.

If you want to further develop the high availability thought, then you 
could use CephFS which will give you self-healing, 100% available 
storage over multiple physical storage servers. There you could store 
your Asterisk config files, or your MySQL database used by all the 
Asterisk servers, for CDRs, SIP registrations etc. It's kinda slow, but 
I think fast enough for Asterisk / MySQL. :)

And, to scale and to make the Asterisk nodes redundant (redundancy is 
not really needed anymore, since Kamailio takes care of that, but 
basically then you get also VM/physical redundancy), you could look into 
OpenNebula which provides a nice auto-scaling feature already out of the 
box. If there's load on your Asterisk VMs, OpenNebula will detect this 
and spawn new Asterisk VMs (probably on different physical servers, 
otherwise it doesn't make that much sense performance-wise) which will 
automagically receive requests/calls from Kamailio. If the load goes 
down, the VM can be automagically stopped again to free resources for 
other VMs/applications. OpenNebula is less popular than OpenStack, which 
seems to be the first choice for Cloud-stuff today, but what I liked 
about OpenNebula is that it provides the auto-scaling feature already in 
the customer-facing web-frontend out-of-the-box, unlike OpenStack. So 
you could offer your customers a self-managed, redundant Asterisk cloud 
or something like that. :)

In theory, this combination should give you a 100% redundant, 
auto-healing, auto-scaling VoIP setup. :)


More information about the asterisk-users mailing list