postheadericon vSphere in a Box: A “Virtual Private Cloud” Blueprint

If you are a busy techie like myself, and do not have the time to scratch your head, you can have a quick glance on the following diagram and wait for the next blog post. But if you read on, I promise that this article will inspire you in a way or another.

First off, I take no credit for the basic technical information of running an ESX inside itself. This information has been floating around on the V12n blogosphere and VMTN forums for quite some time now, but no one, as far as I know, has gathered them in one place to put together the missing pieces, and most importantly, illustrated why you should consider doing this at the first place. My main objective from this article(s) is to open your eyes for some cool ideas that you can try in your labs instead of using the traditional physical ESX hosts, or even ESX in VMware WorkStation.

A quick background:
The idea of running virtual ESX servers on top of a physical ESX host has been consuming a lot of my time and research lately. Unfortunately I was doing all these tests and trials on ESX 3.5, and later on I came to know that a special build needed to be used in order to do that. The time passed, and the vSphere came out with all its mind-blowing features and capabilities, but a few of us paid a close attention to the fact that ESX 4.0 came packed and ready to be virtualized inside itself. Eric Gray from VMware broke the news with his great article on VCritical.com, and a week later another cool guy named Itzik Reich, on Chad Sakac’s blog, described how FT can be enabled on a virtual ESX (vESX). Great Stuff!

Think out of the box!
Every single time I ask someone about virtualizing ESX inside itself, I always get the same exact question: “Why would you want to do something crazy like that?!” I even remember during my VMware VI3 class I asked the instructor about it, and his answer was: “it’s so unsupported”, who’s talking about support now, and why should I bother if I will never, ever, run something like that in production?! That being said, let’s think out of the box for a minute.

Ask yourself the following:

  • How long it takes to deploy a classic ESX on a physical host using the traditional way?
  • Do I have enough server recourses for building a VMware lab?
  • Are my servers up-to-date with the latest CPU technologies in order to test things like FT?
  • Do I have enough network resources (switch ports, cables ..etc) to allocate 10 network connections for each ESX servers? Is there any blade server that can have 10 Ethernet ports at the first place?
  • Do I have the required storage for building, let’s say, 10 classic ESX servers to boot them from the SAN?
  • Am I willing to do an aggressive power off for my physical ESX servers just to test the HA mechanism, and its advanced options, to simulate a real life server failure?

If you found the above a bit challenging, you are in the right place. If you don’t, you are still in the right place. I told you, think out of the box.

I consider myself lucky enough to have all the resources available for me in my current work environment. When I ask for hardware resources or software licenses I simply get them. Right now I have more than 10 dedicated blades in my lab running deferent ESX flavors and versions. In fact, in our new hardware refresh I will have a brand new set of high specs blades and storage dedicated specifically for the VMware R&D.

What is the deal then?

I need to build a complete private cloud! I need to have everything starting from ESX clusters to dvSwitches, Cisco NX1Vs, virtual appliances, VMsafe based solutions, and last but not least, a working SRM installation between two virtual DCs. I need to have the complete feel of this so-called “private cloud” before I even start an actual PoC, which will be way complicated & a bit challenging in the physical world. I need to go to the management with diagrams and videos and tell them why we need to be 100% virtualized, and why we should start planning for that. Show them where we are headed, and how our IT environment and datacenters will look like one year from now.

 

Put your ideas back in “the box”
Enough dreaming, the reality is actually one step away. Believe it or not, all what you need is a single server with a reasonable memory and that’s all. But I won’t go into the technical details today, let’s see what ideas we may think of now:

  1. Thin-provision your ESX hosts! Yes, all my fat classic ESX hosts are now thin-provisioned, this means I can deploy a 40GB HDD for the ESX, but actually consume less than 3.5GB only!
  2. 1 Minute fast deployment! I can now deploy new ESX servers in a matter of seconds from pre-built templates (with special considerations we’ll talk about later).
  3. No network limitations! A 10 NICs on an ESX server is not something you can test every day.
  4. SRM in a Box! Now with the coming SRM 2.0 and the ESX 4.0 memory restrictions, it’s going to be extremely hard to maintain the bare minimum of two ESX hosts, nested VM and two VSAs replication on a laptop with 4GB.
  5. I’m online 24/7, and still mobile! Yes, I’m no longer running my virtual ESX servers on a laptop, I have them online and under my mouse clicks whenever required. VPN into your Lab or even use your BlackBerry/vCMA on the GO! No more shutdowns, memory restrictions or space issues.
  6. Migrate your labs or even share them! One of the very painful situations I went through lately was shifting my physical ESX lab from one of our datacenters to another. If I had my vESX hosts at that time all what I needed to do is to take them on an external USB disk, or even copy them over the WAN and I’m done.
  7. VMware (YES, THE COMPANY): I still see a great potential of implementing the idea that I proposed sometime back (the on-demand labs). You see here that with this simple setup we can test almost everything in vSphere like HA, DRS, VMotion and even FT & SRM! I really hope that VMware is already working on something like that or at least someone will take the initiative to put this idea in action someday.

What’s next?
So let’s say we’ve built this “virtual private cloud”, will that be it? The answer is No. It is actually the beginning in my opinion. There are so many other cool ideas that I can’t get off my head. For example, I can build another/deferent private cloud and start exploring this whole “cloud computing” thing. I can test and develop new approaches for VMotion’ing workloads across two deferent sites. Remember, you have a huge flexibility and control over your “clouds”, and most importantly, you are not afraid to screw up anything since you can rebuild your elements quite easily, and almost instantly (snapshots/backups/templates and so forth)

In the next blog post I will get more technical and list the details of my current setup which I illustrated in the diagram above. In the addition to that, I will explore the planned developments for building the complete “VPC”. May be also we can start thinking of automating and managing individual labs using the new and long awaited Lab Manager 4.0, expected sometime this month.


Teaser: A vCenter screenshot showing the 10 NICs and their configuration on one of the vESX servers.

Note: If you are as much excited about this idea as I am, and can’t wait for my next post (maybe I will close the blog and change my career, who knows?) you can visit these links to get you up to speed with the setup:

  • Eric Gray’s post that unleashed the beast of the vESX.
  • Itzik Reich’s reply in Chad’s blog, containing the FT configuration parameter on the nested VM.
  • Maish Saidel-Keesing has two excellent posts Part 1 & 2 for a similar lab setup.


 
Mike DiPetrillo‘s response (in case you missed it in the replies below)

Actually, VMware has been doing a lot of this. Why do you think all of the stuff was put into the builds to run nested ESX in the first place? VMware SEs have been running nested VMs for a long time on their laptops using Workstation or VMware Fusion.

VMware also has an internal environment called vSEL that runs nearly all of the products in a nested environment. vSEL (the virtual SE Lab) let’s our tech resources in the field deploy and learn our applications as well as do demos and training with customers and partners. This “cloud” services over 1,200 tech people today inside of VMware. This is being expanded to let our development teams use it for development.

VMware is now working with several service providers around the world to let people request and run ESX environments virtually in the cloud – either for doing trials of the software or for doing actual deployments.

Lastly, there’s a new cloud service being built that will run nested VMware products to service all of the hands on labs for VMworld. Make sure to make it out to VMworld to get some hands on experience with VMware’s implementation of this environment.

Definitely a good picture and thanks for getting the word out. Just wanted to let you know that VMware has been doing this for years and has several different clouds built with this already.

  • Hi Ryan,

    Good question! The templates won’t affect the licenses in any way, shape or form. You consume your licensing only when you add the vESX hosts to the vCenter. For example, you can have 100 vESX templates/libraries that are un-deployed, while you are having 10 vESX hosts deployed and active. In this example you are consuming only 10 licenses from your vCenter, not 100. Remember, these 100 vESX hosts are either templates sitting as files on your storage, or just VMs sitting in your physical ESX host (which again won’t count as real ESX hosts).

    As a matter of fact, I see now that this “vSphere In A Box” approach for doing your labs will save you a huge deal of your NFR licenses due to the great flexibility you are having.

    Hope this helps

    Hany
  • Ryan
    Hi, I've got a quick few questions. I'm just starting to look at how to build a test dev lab similar to this. I work for a company that is a vmware partner, so I have NFR licences available.

    How does thin provisioning templated ESX vSphere 4 servers work with the licensing side of things? I'm just worried about using up loads of licenses when doing this..

    My plan was to install either Workstation or ESXi 4.0, then setup 2 x ESX 4.0 servers clustered to test all the various HA/FT etc features.. If I need to blow this all away will recreating them use additional NFR licenses?

    Sorry if these questions are basic, I'm just trying to get my head around how this works, last thing I want to do is use up all my companies NFR's due to lack of knowledge.

    Thanks for your help,
    R
  • Cool, I’m glad you fixed it, I had the same issue with the NICs initially (but without having this error), you may want to check my second part and video, I noted some of these points :)
  • Ignore last comment - found the cause of the problem - FT NICs were mapped the wrong way round and it couldn't ship CPU instructions to the secondary vESX node, hence problem...!
  • Hi, great post - I've got a single ML115-g5 and trying to build a very similar setup, can VM ESXi4 hosts easy enough but cannot enable FT for a nested VM; when I try to enable it I get "Virtual machines in the same fault tolerance pair cannot be on the same host" and it can't start the secondary VM.

    its almost as if some hardware ID is passed through from the physical host to the VM'd ESX nodes

    Any ideas?
  • [...] Hany Michael published a great article about VMware ESX/vSphere in a box solution for creating quick methodologies to roll out VMware infrastructure lab and test environments [...]
  • Thank you Eric, great minds think alike ;)

    I’m very interested too in exploring the ESX functionality as a hypervisor rather than just running a bunch of nested VMs on it. What you said about the root-cause analysis is another great reason to run a vESX.
  • [...] For anyone interested in seeing how a virtual private cloud setup might look, this post has a great diagram to go along with lots of detail [...]
  • [...] Hany Michael’s vSphere in a Box: A “Virtual Private Cloud” Blueprint post to 7/6/2009 might interest folks who read the preceding whitepaper [...]
  • Great article. Reminded me of my first few days at VMware (in 2005) when I asked a coworker if anyone has run ESX (2.5) inside Workstation. He looked at me like I was crazy. Even though it did not work back then, obviously I was not crazy for wanting to do so. :-)

    Running ESX in a VM has been invaluable. In fact, I have been able to root-cause a number of problems in such an environment -- without using nested VMs at all. There are plenty of service-console and management related diagnostics that work perfectly like this.

    Impressive diagram. Keep up the great work.

    Eric
  • Mike,

    Thank you for this great insights! These cloud services you mentioned are quite amazing! Apparently VMware is already there, in fact far beyond what anyone expected! The idea of doing this ESX trail installations/environments in the cloud is quite appealing to me!

    The VMworld hands-on labs also will be something extremely useful. Speaking of which, I really hope that there will be any breakout sessions talking in details about these specific cloud services, how they are designed and operated!

    I’m pulling your reply up into my blog post itself, just in case the visitors are not reading the replies here.

    Regards,
  • Actually, VMware has been doing a lot of this. Why do you think all of the stuff was put into the builds to run nested ESX in the first place? VMware SEs have been running nested VMs for a long time on their laptops using Workstation or VMware Fusion.

    VMware also has an internal environment called vSEL that runs nearly all of the products in a nested environment. vSEL (the virtual SE Lab) let's our tech resources in the field deploy and learn our applications as well as do demos and training with customers and partners. This "cloud" services over 1,200 tech people today inside of VMware. This is being expanded to let our development teams use it for development.

    VMware is now working with several service providers around the world to let people request and run ESX environments virtually in the cloud - either for doing trials of the software or for doing actual deployments.

    Lastly, there's a new cloud service being built that will run nested VMware products to service all of the hands on labs for VMworld. Make sure to make it out to VMworld to get some hands on experience with VMware's implementation of this environment.

    Definitely a good picture and thanks for getting the word out. Just wanted to let you know that VMware has been doing this for years and has several different clouds built with this already.
  • After all those great videos which has been posted on this blog, now a blogpost like this. Just Great.

    I can't wait for more.... -:)

    Vladan
  • Hany, i really like your thinking. I'm actually installing ESX/ESXi onto an ESX Host as we speak.

    Looking forward to the next post

    Simon
blog comments powered by Disqus

My name is Hany Michael and I’m a Senior Consultant at VMware. I blog about various topics ranging from the core vSphere technologies all the way to the vCloud based products. (Read more)
Disclaimer
Any views or opinions expressed on this blog are strictly my own and not the opinions and views of my employer.