Getting William Lam’s Awesome ESXi 6.5u1 Virtual Appliance to run in Fusion and Workstation (The Lazy Way!)

William Lam, The Official (to me anyway) master of nesting just about everything, has been putting together ESXi virtual appliances for quite some time.

You can find them over here:

Before you read on, please note that all the hard work has been done by William Lam and if you live under a rock and haven’t come across his website  before please go and check it out over at

Honestly, once you’ve rebuild your lab more then twice the novelty wears off fast. That’s what makes these appliances are incredibly convenient.. It takes literally 2-3 minutes to have a fully functioning deployed Nested ESXi host, with all the little bits and pieces of config and vibs you would normally have to go in and setup yourself. Only one small problem, while it deploys into ESXi just fine and dandy, it doesn’t deploy onto fusion/workstation because it has virtual hardware that just isn’t compatible with Fusion/Workstation. 🙁

BUT the 6.0u3 VA does deploy without a problem.

Lazy Method:

  1. Download both the ESXi 6.0 Update 3 Virtual Appliance and the ESXi 6.5 Update 1 Virtual Appliance.
  2. To keep things neat create two folders called “ESXi6.0” and “ESXi6.5u1”.
  3. Extract both OVA’s into their respective folders. You can do this with with winrar (on widows) or if you’re using Linux/Max, from the console move into the directories and run “tar -xvf <name_of_ova>”
  4. Browse into ESXi6.5u1 and delete the ovf file.
  5. Copy the ovf file from ESXi6.0 to ESXi6.5u1. 
  6. Using your favourite editor open Nested_ESXi6.0u3_Appliance_Template_v1.0.ovf
  7. Do a search and replace for anything that reads “Nested_ESXi6.0u3_Appliance_Template_v1.0” with   “Nested_ESXi6.5u1_Appliance_Template_v1.0”
  8. Save “Nested_ESXi6.0u3_Appliance_Template_v1.0.ovf”
  9. Rename “Nested_ESXi6.0u3_Appliance_Template_v1.0.ovf” to “Nested_ESXi6.5u1_Appliance_Template_v1.0.ovf”
  10. Delete “”
  11. Import into Workstation or Fusion
  12. Once the Nexted ESXi host has booted for the first time and run the config scripts. You’ll need to power it down and set VT-x/EPT support for the virtual machine. (I’ll add it in to the ovf instructions soon).

It’s really that simple (or lazy)!!!



Creating Project Cheat Sheets

So you’ve done your POC, your solution has passed all the tests required by the company, you’ve put together your final design document (a hearty 95 pages) and managed to navigate the frustrating world of board level approval.

Now what? Well you begin to work with the other engineers, from other disciplines, and build, build, build. They’ve read your design document and are eager to get to work. The only problem is that this isn’t the only project they are working on,  every time they need to do something they need to dip into your 95 pages of awesome design, or bring it up in the next project meeting. Infact maybe its just easier to just call you… right when you are in the middle of figuring out why the output from the powercli script you have been working on all day is showing a sea of red.

This happens to every VMware engineer.

What I have found helps is to create cheat sheets for the technical members of the project. It’s very visual and contains most of the info that they will need. It’s important to note that this isn’t the design document but should be supplementary to any project documentation.

  • Ex. Page 1 – Summary
    • Brief overview of what going in.
    • Physical Dependancies
  • Ex. Page 2 – Hypervizor details
    • Hardware config
    • Firmware revisions
    • Host Configuration
      • OS + version, License, NTP, DNS, basic networking, Cluster config
    • Virtual Infrastructure Config
      • VM Standards (hardware version, pvSCSI, vmxnet3, etc,etc
      • VCSA – Size, version, location
      • PSC – Size, version, location
      • VUM – OS, Version, ;location, Database type
      • Database for VUM – OS, DB type, verison, name, location
  • Ex. Page 3 – Core Virtual Networking
    • Diagram – How it all fits together

The 3 examples I have given below are from different projects but will show you what I usually put in.

Example Page 1 – Summary.

This page is your summary. It has some light technical bits that can quickly be referenced. The overview pane is what’s being put in. You could possibly add a sub section about the OS. No real need to put version numbers in here.


Example Page 2 – VMware Specific

This page is hold details for Ops and the VMware team. With this information you could reasonably expect an engineer or OPs to build out your cluster at the basest level.cheet_pg2
Page 3 – Virtual Networking

Very visual. So here, which I haven’t done, you could supply additional info about active and standby paths, any additional info for any NOIC specific settings you have chosen.


The above examples should give you an idea of how they could look and are by no means an exhaustive list. You could add a rack diagram, storage config, etc,etc.

The point is for these documents is to be quick reference pages highlighting the decisions made. I hope the idea helps you, its certainly a help to me.

PBM Error migrating VM’s from VSAN Datastore

Occasionally, and by that I mean very rarely, VM’s can refuse to migrate on or off VSAN storage (I know, I know, why would you every want to migrate off VSAN?).

The error will look something similar to:

A general system error occurred: PBM error occurred during PreMigrateCheckCallback: pbm.fault.PBMFault; Internal error during SPBM validation;
No VASA Provider for schema namespace (VSAN) found.

You’ll also find that you can’t create new storage providers.

The official reason is: Official: This issue occurs due to inconsistent data between the Storage Management Service (SMS) and the Storage Based Policy Manager (SPBM).

While VMware claim that this is only an issue with VSAN 5.5, I have seen it occur in VSAN 6.0. To be fair it was in my lab, and I was testing “dirty” power down of VSAN hosts.

So to the Fix

NB: As this is a VASA related issue it might work for other storage providers too. In the testing I’ve done its been non-disruptive but as always proceed with caution.

  1. In the vSphere Web Client Navigate to the vCenter Server (Not the VSAN Cluster)
  2. Select the Configure tab on the right.
  3. Select the Storage Providers Menu Item.
  4. In the Storage Providers window pane: click the storage icon with the red circular arrows. 
  5. Once done, the Cluster with VSAN will be scanned and you should be able to move your VM’s about.

Nested Home Lab – Part 11 – Clusters and hosts

Short post today.
In this post we will create a new cluster. Once that’s done you can add the hosts using the steps outlined in Part 7.

1. Log in using an account that has permission to configure the environment.

2. Select Home and Hosts and Clusters.

3. Right click the datacenter we created in Part 7 and select New Cluster.

4. Give the cluster a name. In this case I have user Site1. Leave the other settings off or on Default and click OK.

5. You should now have a new Cluster called Site1.

You can now follow the same steps from Part 7 that we used to add our primary host.

Nested Home Lab – Part 10 – Initial Host Network Config

In today’s post we’ll look at configuring the first networking for your host.  
1.      Open up a console to your first nested ESXi Host and press F2 to start the login
2.       Login with username root and the password you defined when you were installing the host.
3.       Scroll down to Configure Management Network and press enter

4.       Scroll down to IPv4 Configuration and press enter.
5.       Enter in the IP address details that you have assigned for this host and press enter.
6.       Scroll down to DNS Configuration and press enter.
7.       Enter in the DNS details that you have assigned and enter in the FQDN and press enter.
8.       Back on the Configure Management Network page press Esc to accept the changes
9.       Press Y to accept the changes.
10.   It’ll take a few seconds but once its reconfigured you should be able to ping the host.

Now you need to configure the other two hosts.

vExpert 2015


This morning I woke up to find out that I have been awarded the vExpert Status for 2015. I did come across this information at 6 am and had to double check to make sure.

For me its a really great honour and something I’ve wanted for a while.

Before i sign off I want to say thank you to the vExpert team for assigning this award to me and congratulations to all the new vExperts out there.

I guess the next thing is to make sure I keep it in the 2016 nominations.

Brief interlude… VCAP5-DCD

Its been  about a month since I last posted here, I’ve been busy studying for the VCAP5-DCD and been on holiday.
About four months ago I decided to give it another go. Having tried the 5.1 DCD exam previously and failed, i had a clear idea of the amount of work involved. I didn’t really want to wait for the VCIX exams to be released as I wanted the option of going for the VCDX5 in early 2016.
The first thing I did was go to Google and read all the reviews of the exam I could find. A common theme amongst all the posts was make the blueprint your bible, and it’s true. In there you will find exactly what you need to know. Read it from cover to cover, then read it again.
Its a tough exam. Really tough. I’m not going to rehash what other (more capable) bloggers have covered about the exam suffice to say that I finished with about 20 minutes to spare, took a couple of deep breaths and went through the questions again. This was a huge help as I tweaked one of my designs and saw a glaring error in one of the drag-and-drop questions.

Resources I used:

Tips for the Exam:

  • Read the questions twice. Everything you need to complete the required task will be in the question.
  • Eat and drink before the exam. I get cranky when I’m hungry. Be aware that if you need to go to the toilet the exam timer doesn’t stop.
  • If something is taking a long time, flag it for review and move on.
  • Make sure you understand the below (it is a design exam after all).
    • Requirements (both functional and non-functional)
    • Risks
    • Constraints
    • Assumptions
  • Make sure you know the differences between conceptual, logical, and physical designs.
  • Get to the test centre a few minutes early and try to relax, difficult I know but try.
Passing is a great feeling. Don’t worry if you don’t get it on your first try, its annoying and expensive, but treat it as a learning experience.
Oh and remember, organise your time, both for study and during the exam.

Nested Home Lab – Part 9 – Deploying a Nested ESXi Host

Carrying on with our VSAN enabled nested environment, we’ll be deploying our new hosts using the VCSA and the web client and not the C# client. Reason? Well we will be setting specific parameters for the vCPU to pass through the virtualization extensions. otherwise we will need to do this by editing the VMX file.
Now that we have the networking in place that we configured in the previous post we’ll go on to deploy three ESXi VM’s.
Each host should have the following spec:
  • 2 X CPU or cores (Min requirement for ESXi)
  • 6GB Ram (Min requirement for VSAN)
  • 2 X Nics on the VM Network
  • 2 X Nics of the LAN Network
  • 1 X 10g HDD disk (ESXi install)
  • 1 X SSD disk for the caching tier.
  • 1 X HDD for data Tier.


The VSAN disk configuration of my nested ESXi servers is:
  • 1 X 40GB SSD
  • 1 X 100GB HDD
This configuration worked for me ask I was able to run a couple of smaller VM’s in my nested environment. I was also able to add a second 100GB HDD to continue to test VSAN functionality, such as striping and disk policies.

Installing a nested ESXi host.

1.   Log in using an account that has permission to configure the environment.

 2.  Select Home and the Hosts and Clusters

3.   Select the Hosts and Clusters icon and then select your primary host, right click and Select New Virtual Machine and New Virtual Machine.

4.   Select the Create New Virtual Machine and Click Next.

5.   Give the Virtual Machine a name and select the Datacenter we created in Part 7 and Click Next.

6. Select your physical host for the Compute Resource and Click Next.

6. Select the disk you want to run the ESXi host on and Click Next. If you have both a SSD and a HDD look to put the primary disk on the HDD. Once ESXi boots it runs mostly in memory.

7. Select Compatable With: ESXi 6.0 and later and Click Next.

7. Guest OS Family set to Other and Guest OS Version: Version ESXi 6.x and Click Next.

8. Ok so a fair bit to do here:
8.1. Set the VM to have two cores and one CPU. This will save on licensing if you have a VMUG advantage subscription. In addition you need to tick the Hardware Virtualization check box to pass through the additional virtualization features of the CPU. If you don’t you’ll get an error during install.
8.2. 6 GB Ram as the minimum supported with VSAN enabled nodes.
8.3. Your first HDD reduce to 10GB
8.4. Add three additional Nic’s. Set them in this order. NIC 1 and NIC2 on the VM Network, NIC 3 and NIC4 on the LAN Network. Ensure that you set you NIC type to VMXNET3.
8.5. Add two disks. One SSD and One HDD. The SSD can be small,10GB, if required. and the HDD should be at least 50GB. If you don’t have an SSD, have a look at the end of this post and I’ll include a link to instructions which will show you how to “fool” ESXi into thinking you have a SSD when you don’t.
8.6. Add the ESXi ISO to the new CD/DVD Drive, check the Connect Check box.
8.6. Click Next,

9. Review your changes and click Next.

A brief pause here to look at what we’ve built. One ESXi VM with the components necessary for to to be a part of a VSAN cluster. 

10. Power on the VM. Right Click the VM and select Power On.

11. Open a console to the VM. (Click Launch Remote Console).

12. Boot Strapping and kernel goodness loading

11. More goodness

12. Press Enter

13. Press F11

14. Select the small 10GB disk (not the SSD).

15. Choose your keyboard type and press Enter.

16. Enter in your root password and confirm.

17. Scanning

18.1 This error will appear if you have not set the Hardware Virtualization Flag in the CPU settings of the VM and you’ll need to go back and set it.

 18.2 Example of the Settings.

19. Press F11.

20. Installing.

21. Press Enter 

22. VM rebooting.

There we go one working ESXi VM. Now we are going to need another two of these to make up the three minimum required for VSAN.
To mark a disk as SSD; This is one way to do it and this is another I’ve tried both methods and they work. I personally prefer William Lam’s method.

Nested Home Lab – Part 8 – Primary Host networking

So in the previous post we added our primary host to the vcsa we built in part 4. Before we build our first virtualized ESXi host we need to add a single standard virtual switch. The foundation for this is discussed in part 2, please take a moment to read it as we’ll be using some of those details.

We want the primary network layer to look like the diagram below. two standard switches. vSwitch0 will already have been created by default and you’ll have a few VM in the VM Network already. The second, vSwitch1, will have only one port group, which I have called LAN. This port is going to be trunked to all VLANs. In addition we’ll also set the configuration for VM Network so that nested ESXi servers pass traffic from their nested VM’s correctly.

Configuring the networking for the VM Network port group.

1.     Log in using an account that has permission to configure the environment.

 2.     Select Home and the Hosts and Clusters

3.     Select the Hosts and Clusters icon and then select your primary host.

4. In the right hand pane:
4.1 Click Manage.
4.2 Click Networking.
4.3 Click Virtual Switches.
4.4 Click the “VM Network” port group and click the edit icon.

5. In the Edit Settings windows:
5.1 Select Security
5.2 Tick the boxes to override Promiscuous Mode and Forged Transmits.
5.3 Set Promiscuous Mode and Forged Transmits to Accept.
5.4 Click OK.

That’s the VM network setup. Now we want to setup a new vSwitch with a single port with the same security settings as above.

1. Carrying on from above. Select the icon to create a new standard vSwitch.

2. Select Virtual Machine Port Group for a Standard Switch. Click Next

3. Select New standard switch. Select Next

4. Select Next.

5. Click Next. This warning is just to let you know that the switch doesn’t have any physical NIC’s associated with it, which is fine for our lab.

5. Name the virual port group (I chose LAN) and set the VLAN ID to 4095. VLAN 4095 is the promiscuous vlan. Click Next

6. Select Next.

7. A new standard virtual switch has been created. You still need to configure the security settings of the switch following the process above.

We now have everything we need to install the virtual ESXi servers (post 8) and VSAN (post 9).

Nested Home Lab – Part 7 – Creating a Datacenter and Adding a host.

In today’s post we’ll look at adding your primary ESXi host (this is the host that holds your nested environment) to the vCenter server and configuring it up. 
Just before we add the primary host we’ll be needing a Datacenter.
1.     Log in using an account that has permission to configure the environment.
2.     Select Home and the Hosts and Clusters
3.     Right click on the VCSA we created and select New Datacenter.

4.     Give it a logical name and click OK.

Now to add the primary host.
1.     Right click the newly created Datacenter and select Add Host.
2.     Add in the hostname or IP address of the Primary host and select Next.
3.     Enter in the Username (most likely root) and the password you use to administer this host. Click Next.
4.     Check the host summary and click Next. Note that I already have some VM’s created and they have shown up in the Virtual Machines pane.
5.     Select a license key, if you have one installed. Click Next.
6.     Leave lock down mode disable for now. In later posts we’ll be ssh’ing into the hosts to do a few things and have a poke around. It’s usually my preference to leave lockdown mode disabled unless I have a specific reason not to do so.
7.     Select your Datacenter and click Next.
8.     Review the host detail and select Finish.
OK so now we’ve added the first host we’ll want to setup networking (next post) for our nested hosts. Just before we get into that, have a look the Mac learning fling here and William Lam’s blog post about it here. I would recommend getting that installed.