I've been trying to get a handle on this question for many months now. Everyone seems to disagree about running asterisk production servers on ESXi.
I've built a number of ESXi asterisk guests with no problems what so ever, but, they were only for testing as we are developing a large roll out. What I am getting is that yes, asterisk will run fine on a virtual platform but not for a large roll out. I'm talking hundreds of extensions per pbx. I've built those guests using the vm kernels and other tuning suggestions and never seem to have any problems but again, these are small, 5 person test systems.
Has anyone built and is successfully running very larger asterisk systems on ESXi and if so, could you share your thoughts on it.
Thanks very much.
Mike
Hi RightFoot,
Well, there is no right or wrong answer here - it is mainly related to your running application. Let us imagine that
you would like to run VMWARE based PBX systems that utilize FreePBX or TRIXBOX, or any of the other FreePBX
variants - you will get a good milage with systems running up to 20-30 extensions - sometimes even more, depending
on your initial hardware.
However, the minute you introduce queue handling by FreePBX into the mix here, you will run into some issues,
these are mainly caused by I/O utilization and memory utilization. Sorry to say, the way FreePBX maintains queues
is far from optimal, and I've ran into some issues with these and VMWARE instances.
I've got Asterisk running on VMWARE with over 160 concurrent calls, as long as I'm not handling media (RTP)
and the application is fairly light weight. You may read more about my experience with VMWARE and Asterisk
(Asterisk is my main business) in my blog at
If you need additional assistance in your quest, feel free to contact me directly.
Nir Simionovich
t
Thanks very much for your input.
I've been looking at using opensips as the front end and am wanting to make the back end as modular as possible. In other words, offloading voicemail, any faxing, etc, onto separate servers.
How do you go about offloading the RTP? What might you suggest as a good asterisk base as a starting point.
Mike
The issues I have had with virtualizing Asterisk is that no matter what I've had agreed on during the planning stage, once the server was deployed, someone gave me a Digium card and told me to get it connected to Asterisk.
As long as you can avoid this situation, you'll be fine in my experience.
Not a problem in my case, PRI to SIP andSIP providers for the rest. The issues are related to hardware layer timing.
What sort of hardware are you talking about and which version of VMware are you using?
If you found this or any other answer useful please consider the use of the Helpful or correct buttons to award points
Tom Howarth VCP / vExpert
VMware Communities User Moderator
Blog: www.planetvm.net
Contributing author for the upcoming book "[VMware vSphere and Virtual Infrastructure Security: Securing ESX and the Virtual Environment|http://my.safaribooksonline.com/9780136083214]”. Currently available on roughcuts
I myself haven't seen these issues because we've not yet rolled out full production. I don't seem to see any choppiness issues at least using the esxi based asterisk boxes we've been using for testing. There are countless threads out there from folks who are having hardware timing problems however, where the clock won't stay right, is continuously off, lots of latency, lots of choppiness, etc.
I would like to better understand what the poster is saying about offloading RTP. I am assuming this means sending the actual connections to separate asterisk servers, or a farm for example and only establishing the call, and doing call management on the vm server. But then, he says he has seen as much as 160 calls on a server.
Mike
Just so it is clear. You will not be able to use ANY hardware cards. ESXi will not support them period.
I can't really tell who is talking to whom here. I've already pointed out that I for one, am not using any hardware cards, only SIP/IAX trunks and extensions. Also, I'm not sure if I mentioned this part but in my application, I don't need to run any other guests on the esxi server, just the one is fine. It's the virtualized benefits I need because I'll be running so many things from remote. Hardware is not a factor, I'll throw in what ever it needs.
MIke
It sounds like you have done a lot of research and received opinions. It sounds like you have made up your mind but want someone to tell you it's OK. No matter who responds and what their situation it isn't going to match yours. If you can simulate traffic and and you have confidence that it will work then . . . .
I've read a lot, I've tried various things, as far as I can tell, it all seems to work just fine. Problem is, I don't want to spend a ton of time on something I'm not going to use or that isn't ready. I've far from made up my mind in any way which is why I started this thread asking for input. You don't need to reply to my question directly, just share your own findings, that's what I'm looking for in this thread :).
Mike
I've read a lot, I've tried various things, as far as I can tell, it all seems to work just fine. Problem is, I don't want to spend a ton of time on something I'm not going to use or that isn't ready. I've far from made up my mind in any way which is why I started this thread asking for input. You don't need to reply to my question directly, just share your own findings, that's what I'm looking for in this thread :).
Mike
My apologies Mike for an inappropriate response.
My own experiences have only been with very small installations and more than a year ago.
Well,
The milage you'll get from the VMWARE+Asterisk combo will vary significantly, depending on your application and usage. It doesn't really matter
what any of us will say, as we have no clear view of your usage or your applications. In general, working with Asterisk in a VM environment is more
than possible or worth while, in some situations it is a must. However, gathering information and deciding if your application is VM capable is not
something you'll be able to gather from the forum.
My suggestion to you is to hire a 3rd party consultant that will go over your artchitecture, one that his familiar with both Asterisk and VMWARE at
such a depth that will enable him to perform this analysis. Here are a few pointers for your analysis:
1. If you operate conference rooms using MeetMe, the milage that you'll get is fairly low. The ZTDUMMY/DAHDIDUMMY device consumes a fair
amount of resources in a VM environment - so bear that in mind.
2. If you perform transcoding (g729<->g711, g729<->gsm) the milage you'll get is in direct relation to your hardware. If your hardware supports
virtualization correctly and you are able to allocate a good amount of memory per VM host, you'll get good performance. However, don't expect
to reach the well documented 120-140 transcoded channels, reported on dedicated boxes.
3. If you are activating a large number of AGI scripts in your dialplans, these need to be analysed to make sure their execution path and foot-print
are as low as possible, in order to conserve resources. Remember, you are not only consuming resources on the virtual server, you are also
consuming resources on the guest OS.
4. If you require PRI circuits to work with your Asterisk, get an external gateway to convert to SIP/IAX2 - or forget about VMWARE.
5. I've discovered that when using VMWARE, using IAX2 transfers is much more reliabe than using SIP re-invites - however, these were mainly
dialer based scenarios.
6. A well balanced VMWARE ESXi server, with 4 Asterisk hosts running should not exceed a load average of 2.8-3.4. Again, this takes into account
a system consisting of Dual Quad Core XEON + 8GB RAM + Virtualization capable CPUs + CentOS 5.3 64 bit.
Other than the above, it's all in direct relation to your application.
Regards,
Nir Simionovich
I'm interested in hearing what others have been able to accomplish, from that, perhaps I can get a better sense along with an awful lot of others I've seen trying to get a handle on this. My use is as I mentioned, I'd like to be able to use guests in a large rollout if possible. The usual, voip, vmail, anything else would not be on the asterisk box.
We are implementing asterisk on esxi 4.0 with fault tolerance and high avialability.
The hardware we are using is:
2 E5420 (a total of 8 2.5Ghz processors)
32gigs of ram
iscsi san
That is about it really. All that is it.
We plan on having about 50-100 calls per VM with some transcoding (GSM mostly but some G.729) and a total of 8VM per box.
The key to this for me has been assigning one processor per VM and having a good kernel.
How it will actually scale we shall see.
How is this going for you so far?
It is going pretty well, we have our first VM up. It isn't dong too much but it works fine (doing iax mostly).
Well, I've built plenty of vm based pbx's for testing and development so I know they work. What I don't know is how well they work when you start adding many dozes of users.
Hi, I am wondering how your Asterisk VM is coming along with a bigger user base. I currently have a 30 seat Asterisk VM on Esxi 4.1 and everying including meetMe works fine, but we only ever peak to 5 concurrent calls, so i would be very interested to know if you could peak to 30???
Please let us all know
Thanks
Abdul
Hi Abdul,
You've responded to a three year old post. You really would have been better starting your own - the version of ESXi that this thread was written about, 3.5i, is well and truly out of date now, and any hardware that was around then is well and truly obsolete now.
So to answer your question, under ESXi 5.0 with modern hardware, things have come a long way. If you can handle 5 users I'd imagine you could handle 30 - VMware can certainly handle throwing more hardware at it.