[asterisk-users] LXC and Dahdi

Gordon Henderson gordon+asterisk at drogon.net
Sun Jun 12 08:01:26 CDT 2011


On Sun, 12 Jun 2011, Tzafrir Cohen wrote:

> On Sun, Jun 12, 2011 at 11:56:52AM +0200, Olivier wrote:
>> Hi,
>>
>> Does it make sense to use LXC as mean to quickly switch from one dahdi
>> version to another or shall other virtualization technologies be preferred ?
>
> LXC is basically the same as OpenVZ and Linux-VServer (and probably like
> Solaris Zones and FreeBSD Jails): The processes of the guest still run
> inder the same host (specifically: share the same kernel).

That's the important bit: One Kernel - that means the version of 
dahdi you load is shared amongst all containers you use, so trying to get 
one container run with a different version is not possible.

> LXC (or rather: cgroups) is now prt of mainline kernel. From palying
> with it on Debian Squeeze, it feels still a bit immature (and even more
> so: lacking documentation). But as the usage of cgroups grows in the
> coming years (e.g.: in systemd), I would expect to see it more and more
> common.

I've been using it for virtual servers for some time now - well, since 
late last year. Both for Asterisk as as general purpose virtual LAMP 
hosting. Documentation is an issue, and it's a bit of a steep learning 
curve and not everything that people post to the various other lists, etc. 
is relevant to what I want it for, so there's a little bit of "making it 
up as you go along" - at least for me, but I now have something that works 
well.

In my early experiments, I used an old 1.8Mhz Celeron as a test-bed - I 
installed 20 containers, each running asterisk and arranged one to call 
the next to call the next ... to call the first ... and when the last one 
got to a certian count it connected itself to MoH... I then got a SIP 
phone to call the first one...

Without doing anything clever, I got it to loop 3 times before it showed 
signs of stress... So so each asterisk only passing media for 3 calls, but 
that's effectively 60 calls all passing media between them - the kernel 
time was starting to get high at that point - I reckoned it was probably 
the network stack was topping out more than anything else. When I did this 
on production hardware (quad core, 3GHz cpus), that setup was barely 
noticable.

> KVM, Xen, VMWare and the likes "emulate" a complete virtual machine. Not
> just a set of processes. Specifically, your processes run on top of
> their own kernel. This requires more resources, but provides better
> isolation.

I briefly played with KVM, but you really need a CPUs that support a few 
extra instructions to make it more efficient - even then, it's not as 
efficient as LXC is, however it does have other benefits - differenet 
kernels, different modules, kill a kernel, you don't kill the host, etc. 
However for my needs, LXC is working very well.

Gordon



More information about the asterisk-users mailing list