[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