vCenter physical or virtual?

Still a lot of people hesitate to make vCenter (was VirtualCenter) virtual. They have a lot of reasons for that.

Let me sum up the most common reasons people mention when they don’t want to virtualize vCenter. After that I will (try to) explain why you should virtualize vCenter in my opinion.

People most often come with the following:

  • If my ESX server fails I don’t know where vCenter is so I can’t manage my virtual infrastructure anymore;
  • What if, for some reason,vCenter refuses to power on;
  • Don’t like the management software on top of the hardware I need to manage;
  • It’s not meant for production environments, just for test setups;
  • Can’t use it in mission critical environments, we need the uptime;
  • HA is nice, but it doesn’t save me from operating systems errors;
  • The tutor in the VMware training said you shouldn’t;
  • Microsoft doesn’t give support on virtualized servers;
  • VMware doesn’t support a virtualized vCenter.

First of we have to keep in mind is that vCenter is just the tool for managing your virtual infrastructure. Without vCenter the main part of your infrastructure still continues to function. Only DRS and other functionality that uses vCenter or vCenter plugins fails.

My moto is  that every choice is a good one as long as you explain why you made the choice. Any choice that you can’t explain is by definition a bad choice.

Ok, so here they come:

If my ESX server fails I don’t know where vCenter is so I can’t manage my virtual infrastructure anymore.

This is partly true. If you loose vCenter you cannot manage your environment as a whole. You can of course connect to the various ESX hosts itself so you can manage that host. This way you can start your vCenter on another host and manage your virtual infrastructure again. Then again, if you have a vCenter server you probably have a VMware VI Enterprise license so you will have HA in place which will restart your vCenter server automatically.

If your physical vCenter server crashes you’ve got the same problem. You have to fix the problem (if it’s hardware related), boot up the server and then you can manage the server again with vCenter.

What if, for some reason, vCenter refuses to power on.

Most of the time this is due to the fact that vCenter is also your license server. If this happens you can put one of your ESX servers back into evaluation mode with the Virtual Infrastructure client. Then boot vCenter and you’re up and running again.

Another possibility is to create a temporary license server or split your license server from your vCenter server. Just make sure you backup your license key to a place you can reach if your vCenter isn’t accessible ;)

I don’t like the management software on top of the hardware I need to manage.

I can agree on that. That’s why you have to install the Virtual Infrastructure client on your workstation. With this tool you can manage your whole virtual infrastructure, including starting the vCenter virtual machine.

If you don’t want management tools to run on the same system you also have to place your RAID configuration tools and other management tools for your physical servers on another server.

It’s not meant for production environments, just for test setups.

I saw this somewhere, but I really can’t think of any reason why it would only be for test setups. Virtualization is used extensively in production environments with all kinds of workloads, including SQL servers. If you break down the vCenter server in it’s bare components it’s a SQL server (if you have it installed on the same machine), an application server and a small web server. All these workloads can be virtualized perfectly.

Can’t use it in mission critical environments, we need 99.9% uptime.

If you configure High Availability it brings up your  vCenter server as soon as it detects that the host it was running on is dead. Most of the time the detection and booting of the VM occurs within minutes.

And second of all an uptime guarantee of 99.9% itself is meaningless. 99.9% of what? Do you take working hours into consideration or is it 24h/7? Is it only for non-planned downtime or is it also planned downtime? Is your underlying infrastructure like network, power, cooling etc also guaranteed for the same 99.9% or more?

if you take 24/7 you have 525.6 minutes downtime you’re allowed. That is roughly 45 minutes a month. If you have this little faith in your virtual infrastructure you shouldn’t virtualize any machine.

To calculate this you take 365 days x the total number of minutes in a day x (100-uptime%)/100 = 365 days x 24hours x 60min x (100-99.9)/100 = 525.600 minutes  x (0.1)/100 = 525.6 minutes or 8.76 hours (max downtime).

If you want/need 99.99% you still got 52 minutes to fix your problems (525.600 x (0.01)/100).

With all these calculations it is important that your uptime guarantee is based on all components the system is built on, power, cooling, network, hardware, etc.

HA is nice, but it doesn’t save me from operating systems errors.

You can use HA for operating system monitoring, but that isn’t the point here I think. If you have a physical server nothing protects you from operating system errors. You can put the vCenter server in a Windows cluster. 9 out of 10 times this doesn’t protect you from operating system errors either and it adds extra complexity to your infrastructure. It isn’t a ‘simple’ server anymore and you will have to remember what you are doing when you use clustering.

What you can do however with virtual machines is make a snapshot before you do something big like patching or upgrading. If all goes wrong you can go back to a previous state.

The trainer in the VMware training said you shouldn’t.

I have great respect for the trainers that give the VMware related training. They have to be well informed/educated on the ever changing information surrounding all VMware products.

Remember that the the info presented during your training is a moment-in-time. It is very well possible that stuff that you learned during the course was changed after you had the training. Always check out the latest information on the various VMware communication systems like the fora and VMware main site.

And than again this is an opinion, it’s not mandatory. When you talk to 10 VCP certified admins you will probably hear 10 different opinions and scenarios.

VMware doesn’t support virtualized vCenter.

Why shouldn’t they support their own product on their own product? I know I have a PDF or link somewhere about the support issue. As soon as I find it again I will post it.

Also: VMware announced that in a next version vCenter will be available as a virtual appliance. So in the near future this won’t be an issue anymore.