I get asked this question at least once a week. Should I run Virtual Center as a physical machine or as a Virtual Machine? The true answer is: either. I personally think it’s better to run as a virtual but it also depends on how comfortable you are with your Virtual Infrastructure.
You can run VC as a physical machine. Most of my larger customers run it that way. Their idea is that, "I don’t want to run my Infrastructure Manager in the Infrastructure it’s managing." I get that. It the previous versions, I might agree.
If I were going to build an virtual infrastructure today, I would run it as virtual. Here’s why: all the benefits of virtualization. For instance, I can take a snapshot of my VC server for Business Continuity and/or testing. I can have DRS balance my VC server on the infrastructure nodes that are most available. Most importantly, and one some customers don’t realize, is that High Availability will fully function. Even for the VC Virtual Machine itself. If the physical host where the VC server is running goes down unexpectedly, HA agents running on ESX itself will power on the VC VM elsewhere in the cluster. VC is only required to be running to setup and configure HA. Once configured, the agents running in ESX monitor and restart the VM’s in the case of a host failure. Of course, during the restart of the Virtual Center VM, DRS and VMotion will be unavailable during the boot cycle of the VC server. In my opinion, a small price to pay compared to the physical world. If VC were physical, how long would DRS and VMotion be down for? 30, 60 minutes while someone dialed in or drove in at 3am? In the virtual world, I could envision an outage of DRS and VMotion for 3-5 minutes while the VC server booted on another host.
Running VC in a virtual is not without it’s challenges. You have to manage the VC VM a little differently. To make changes, or move it, or power it down for any reason, you have to manage it from the physical host it is running on. So after powering the VC VM down, you have to connect the Virtual Infrastructure Client (VIC) to the host the VC VM was running on. From there you can make modifications to the VC VM, change the ram, power it on, etc. These are all things that are learned over time managing a virtual Infrastructure. If you’re not ready for that, you could start VirtualCenter as a physical server as as you become more virtual savvy, you can run the standalone version of VMware Converter to convert the VC server from physical to virtual. That’s always a possibility as well.
As always I recommend reading some documentation (RTFM) to fully understand this decision. VMware docs for virtualizing VC and all of it’s benefits and caveats can be found here .
November 14th, 2008 at 6:24 am
It’s a best practice to disable DRS for the VC. That way you will always know where the VC VM resides in case of a multiple node isolation response for instance or a complete power down. other wise you will have to look on every single node to find the one where it was registered last.
But I completely agree, run it virtual! And with the upcoming vCenter Appliance you can bet on it that this will be the future!
November 25th, 2008 at 8:51 am
Nice blog, Dave!
We had the same “physical or virtual?” discussion over on VIOPS – http://viops.vmware.com/home/message/1359
We also ran a poll to see who was running VC on physical/virtual – http://viops.vmware.com/home/poll.jspa?poll=1014
The result was… it was a split – VC in a VM 53%, VC on Physical 47%…
:-)
November 25th, 2008 at 10:30 am
Nice write up, this is something we will be looking at, and I have been told that virtual is the way to go, for the reasons above.
Roger L
http://rogerlunditblog.blogspot.com/
November 26th, 2008 at 2:14 am
Thank you for posting this blog and the VMware link.
I am working on a new VMware ESX setup for my agency and I was going to go physical but after reading this I will go virtual for it.
With sufficient UPS protection and our relatively small cluster (2 hosts, maybe 3) I don’t expect any major crashes that could screw up the SQL database, and I will have backups of this VM anyway.
Thank you, Tom
December 4th, 2008 at 2:59 pm
So I’ve stuck one of our vCenter servers in a virtual machine. This appears to be the only one having an issue. When you edit a virtual machine on the ESX server managed by this vCenter, even if you don’t change anything, when you click ok, it goes to “reconfigure virtual machine”: this process takes 5+ minutes. Don’t know if the two are related or not, have you ever seen anything similar?
August 11th, 2009 at 12:06 pm
We currently run our VC on a VM as well and its works great. Question is that, the Tomcat process utilizes a high amount of memory… any thoughts on that?