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.

Nested Home Lab – Part 6 – Adding your first user

Now we have a working PSC and a working VCSA, and the whole set-up enabled for domain authentication. Next we should add a user (you) and if your using ESXi as your hypervizor then next post we’ll add your ESXi host to the VCSA, adding the host won’t be necessary if you’re using workstation.

But first it is important to know, you don’t technically need a directory service but most places will have one and usually it’ll be Microsoft’s Active Directory that’s why I’m including it in these posts.

So before you begin the below make sure you have an Active Directory account created for yourself.

1. If you aren’t already logged in, browse to the vSphere client, accepting any security errors (https://vcsa.domain:9443/vsphere-client), and login using administrator@your.vmwaredomain. In my case I left the SSO domain name as the default. administrator@vsphere.local

2. Select Home and then Hosts and Clusters

3. Select your VCSA server
3.1 Manage
3.2 Permissions
3.3 Then click the “+” icon.

4. Select Add

5. Select your Domain
5.1 Type in the name of the user account or group you want to search for.
5.2 Select the name
5.3 Select Add
5.4 Select OK

6. Once your user is added assign a role and select OK.

You should now see your user or group added to your VCSA. Depending on your permissions you should now be able to login do various bits and pieces.

Permissions can be added to items below the VCSA but it is important to note that permission propagate down the tree. So adding a user to the cluster will give that user rights to the cluster and all objects controlled by the cluster (unless explicitly denied), however this will not give you rights to the VCSA.

Nested Home Lab – Part 5 – Adding an Active Directory identity source to your PSC / VCSA

Since the aim in these posts is to make a simple lab environment that you can use to test various scenarios, we’ll also want to have domain authentication set-up. However the lab will still run without domain authentication and you can use local user accounts. I personally prefer to enable domain authentication.

Remember, DNS is a very important part of Identity, so if you run into issues you might want to add that to your trouble shooting.

This part of the guide can be taken on its own but is based on a separate Platform Services Controller and vCenter Server Appliance.

1.   Browse to the vSphere client, accepting any security errors (https://vcsa.domain:9443/vsphere-client), and login using administrator@your.vmwaredomain. In my case I left the SSO domain name as the default. administrator@vsphere.local. 

2.   Browse to Administrator, then System Configuration and select your PSC

3.   Select Active Directory and click Join.

4.   Enter in the details for a Domain a user account that has permissions to join computer to the domain. Note: The user account format has to be @. Click OK when done.

5.   Once this has completed (without any errors) reboot the PSC. Right click on the node and select Reboot.

6.   Enter in a reason for rebooting the node if you want (I prefer to do this. Its a good habit to get into) and click OK. Rebooting the PSC will not mess up your VCSA session but will take about 5 mins or so.

7.   Once its back, refresh the page. You might need to browse back to the System Configuration page. You should now see the domain field populated and the join button will be greyed out.

8.   Click on Administration to take you back a page.

9.   Click on Configuration, select the Identity Sources tab and click the “+” sign to add a new identity source.

10. On this popup you will be offered four choices.
10.1  Select Active Directory (Integrated Windows Authentication Once you’ve selected that the Domain name field should automatically populate. If it didn’t then your PSC hasn’t joined the domain correctly.
10.2  Select Use Service Principle Name (SPN). STS/
10.3  Enter in the Service Principle name using the @. This account should have permission to browse your domain.
10.4  And the Password for the above account.
10.5  Click OK

11. If all goes well then you should see a new entry in you identity sources.

And that’s it you can now go and add your first domain user account to the permissions, which I’ll show you in the next post.