Multiple Asterisk VMs on ESXi

First I want to say I’m seriously new to Asterisk, sort of new to Linux, and have only been playing with VM ware for the last 5 years. But I do have decades of experience in computers, networking, and VoIP. I just haven’t done anything with Asterisk or Linux in the last 10-15 years.

Now I’m putting together a multiple VM Asterisk system, both to get my knowledge up to date and see how far I can go with it.

The system is a single physical machine running ESXi 5 with multiple VMs running CentOS and Asterisk. For the sake of speed I installed the OS and Asterisk using AsteriskNow. The whole thing went in fairly easily, at least compared to some of the nightmares I’ve seen in the past. It’s up and running and everything seems to work. BTW it’s an all IP system, no gateway or other cards.

But I still have questions and I’m hoping someone out there has done this and can give me a quick answers.

What I need to know is what kind of resource needs (physical and virtual) are necessary to run say 10-16 of these on a single physical machine. CPU, RAM, drive speed/type. I’m assuming each VM would have about 25 extensions. ext to ext calls within a VM are direct media, as are inbound and outbound calls. The Asterisk is basically a feature server plus voicemail and auto attendant.

I’d love to hear some real world experience, but if anyone has done any capacity testing I’d really appreciate that as well.

Thanks to all


This is not the support forum.

Drive speed isn’t too important, as you will need enough RAM that the system doesn’t go into swap, and all the voice announcements used, and music on hold are cached in RAM.

I wasn’t aware that VMWare could be configured to support 20ms scheduling latencies.

My experience of running development test Asterisk systems on a general use VMWare system, is that it will cause audio breakups and stuttering voice announcements. It might be able to tune a dedicated VoIP VM system to do better, but you will probably have to work at it.

Why do you need multiple VM’s if all are running the same program?

You can eazily separate different companys in Asterisk using different contexts in extensions.conf. Separation of users can eazily be done in Asterisk configuration (but you need to manually configure the .conf files, I think that no GUI’s support this).