My physical ESXi box, a lowly AMD FX 8320
One of the more cooler features of VMWare 5 is that it is capable of running itself. While it
may seem silly at first, this is a great way to build a virtual environment where you can test scripts for provisioning (and destroying) stuff, along with testing API level calls without having to worry about screwing up production, begging for a ‘lab’ environment, or even better snapshotting the whole thing so you can revert whatever it is you are doing at a block level. In short virtual datacenters really rock, especially for people like me who like to play in a really destructive manner.
So the first thing is that for this test I’m going to use a ‘freebie’ ESXi that I’ve been using for quite some time. Naturally this should work for version 6, but since the stuff that I’m testing is all in 5.0 and 5.5 (the majority being 5.5) I wan to build a 5.5 environment. In my insane scenario I have deployment access to a 2003 R2 x64 server with .net 2.0, and the majority of the environment I care about is VMWare ESX 5.5 along with vCenter. 5.5 on Windows 2008 servers. So trying to mirror this a bit, that means that I’m going to skip the new fangled appliance, I don’t know if it really matters for what I want, but for the sake of trying to keep things the same I’m going to match what I can.
Creating the VMWare ESXi VM
I setup a generic ‘Other 2.6.x Linux (64-bit)’ VM, with a single socket, dual core processor, 4GB of RAM, a LSI SAS controller, with a 32GB disk, and 3 NIC’s with the VMXNET3 driver. For some reason I had to change the CPU to explicitly allow for hardware MMU emulation.
Hardware MMU emulation
It’s also worth mentioning that when you are going to run ESXi on ESXi that any physical adapters that you want your virtual ESXi host to be able to lauch VMs and have them communicate onto you will need to enable the ‘Forged Transmits’ setting in the vSwitch properties.
With that in place, I was able to use my ESXi 5.5 ISO, and install into the VM. There isn’t much to really say the installer will install ESXi, and reboot and you get the console.
ESXi running on ESXi
I went ahead and gave this ESXi server a static address, and that was pretty much it for the server.
I went ahead and used an eval copy of 2008 R2 that is available at Microsoft here. The installation is really simple, not much to say but for my needs I gave the VM a static address, HOWEVER I did NOT install Active Directory as you cannot install vCenter onto a DC, and I really was not in the mood to have a DC along with a vCenter 2008 VMs as I’m only interested in doing API testing I don’t care about authentication plugins I’m only concerned with other aspects. Obviously if you do care, then you’ll want to install 2 2008 servers. I gave my 2008 server a static address of 192.168.1.12 so that I could easily find it on the network post-install.
Since I have no imagination, I renamed the server “vcenter” which of course will factor into the login credentials later on.
My ‘client’ gave me the ISO for vCenter “VMware-VIMSetup-all-5.5.0-3254792-20151201-update03.iso” which of course needs to be installed onto the 2008 server.
install vSphere vCenter
I did the easy install, as again I’m not building a real enterprise. However I should point out that the easy install has a habit of popping alerts and prompts UNDER the current window so you could be waiting for quite a long long time for this to install when it really shouldn’t take all that long. I also kept the option for the 2008 Express edition as I’m not going to try to stress the count of VMs 50 is far more than I require as again I’m only interested in limited stuff at this point.
vCenter ‘simple install’ ports
Again I just selected the defaults for the install as I’m not all that worried. Phew with all of that done, it’s now ready to use!
Now I went ahead and hit the following site:
I went ahead and installed the pluggin for a more ‘full’ experience with the web client. The link is on the bottom of the page.
With all of that in place, I finally could use the web/flash site to login, using the local administrator account. However upon logging in the domain was barren, no vcenters no data centers, nothing.
Obviously I must have screwed something up! Even worse using the ‘fat’ C#/J# client (that I still love…) I would simply get this fun error:
You do not have permission to login to the server!
What? I don’t have permission?
A little digging around, and I found out of course, that it is because I don’t have an Active Directory, and that for ‘workgroup’ installs like this, you need to simply login as email@example.com or ‘firstname.lastname@example.org’ in my case, using the password that had to be set during the SSO installation.
And now I was prompted to create my data-center, and add in the ESXi server into the virtual data-center.
vCenter is now operational
So now I have a virtual vCenter, along with an ESXi host to deploy stuff onto, and destroy all I want. Even better VMWare Player & VMWare Fusion can also run ESXi nested, so you can take your virtual data-center with you on a laptop! You can boot 2008 with vCenter in 2GB of RAM, although it really should have 4GB if not more, and with 4GB for an ESXi server that would be 8GB+ on any laptop or desktop. However I’m lucky my ESXi server has 32GB of RAM, and my laptop has 16. So it’s also a great excuse to upgrade!