All 0s UUID, PernixData and the AMIDEDOS Fix

Let me start off by saying this isn’t an issue directly with PernixData FVP.  This is a subsequent issue with PernixData FVP caused by Supermicro not putting a UUID on the motherboards I bought. Two problems for the price of one.

I ran across an issue with the three whitebox Supermicro boards that I purchased for my home lab. I was attempting to install PernixData FVP on them to do some testing, when I ran across a strange issue. After I installed the host extension VIB on all my machines, only one of them would show up in the PernixData tab in vCenter. And when I would reboot them or uninstall the host extension, one of the other ones would show up.

Given that it’s a simple VIB install command, I didn’t figure it was anything to do with the installation itself but I uninstalled it anyway and by uninstalling and paying very close attention, I found my issue right away. The host UUID of the system was all 0s.

uuid_pic1I opened up the ‘prnxcli’ on one of my other hosts and verified my guess. As you can see, both UUIDs are all 0s. This was playing hell with the FVP Management server and my guess is it didn’t know which host was which.

uuid_pic2I did some quick searching and found this KB article discussing the issue, but it didn’t give me much in the way of how to fix the problem other than to contact the manufacturer. Given that the system is running an American Megatrends Inc, BIOS, I did some quick searching around and found a utility that will auto generate a UUID and hopefully resolve the issue. Finding the download was kind of a pain so I improvised after I found a link to a Lenovo posting and then I found it on the Lenovo driver site. All you need is the AMIDEDOS.EXE file, nothing more so you can get it from the following BIOS download.   Just download this file and extract the executable. I put it on a DOS USB key that I formatted using Rufus.

uuid_pic3Then I just booted up my host to the USB key and ran the following command:

 amidedos.exe /su auto

According to the instruction file, this will auto generate a new UUID for the system. You should see a screen similar after it performs the change.

uuid_pic4I went ahead and booted up my host to see if the change took affect and it looks like it did!

uuid_pic5I went ahead and changed the UUID on the other two hosts and booted them all back up. When I got into vCenter, I noticed that the PernixData Management Server was still seeing strange SSDs from my hosts. I removed all three hosts from vCenter and re-added them, restarted the PernixData Management Server and now magically all the host SSDs showed up correctly when I went to add them to the Flash Cluster.

uuid_pic6All in all, this was a perfect storm which I seem very good at creating from time to time. As much as I cursed trying to figure it out at first, it was fun learning about something I’ve never ran across.


QNAP vSphere Plug-in Basics

I have a QNAP TS-459 Pro II which I use for my home lab to serve both NFS and iSCSI for my lab. QNAP provides a vSphere plug-in to help with provisioning and attaching storage to your ESXi hosts. It can really help make things go a bit faster when you want to add a new LUN or NFS datastore. This only works on the C# client unfortunately/fortunately (whichever you prefer to think).

Installation/Add device for provisioning

The plug-in requires QTS version 3.8 or higher to work for your device. You can download the plug-in from the following link. It’s very straightforward and uneventful really.

We’re looking for this download

qnap_download_pic1Once downloaded we’ll run the installation

qnap_download_pic2Take the defaults for all the install properties. Open up the vSphere Client and go to Plugins>Manage and Enable the QNAP vSphere Plug-in

qnap_download_pic3We need to add a QNAP Storage device to the interface so we can manage and deploy datastores from it. I’m going to add it in from the Home>Solutions and Applications>QNAP application.

qnap_download_pic4Click on ‘Add QNAP Storage in the upper right-hand corner

qnap_download_pic5Put in the IP address of the QNAP and put in the admin password. Click ‘Add’ when done.

qnap_download_pic6 Now we can see the storage added



Add NFS/iSCSI datastore

We should now see that the QNAP has been added to the ‘QNAP Storages’ tab. Let’s add an NFS and an iSCSI datastore.

I want to add two new datastores for my ‘MGMT_CLUSTER’ group of hosts. First iSCSI:

I right-click on ‘MGMT_CLUSTER’ and go down to the QNAP option and select ‘Create a datastore’


I can see that it picks up both of the hosts and it has selected the ‘SLAVE1’ QNAP device. Ensure that you CTRL+click to highlight both hosts.

qnap_download_pic9We’ll select the ‘iSCSI’ option.

qnap_download_pic10We’ll set the name to ‘qnap_test’, put the size at 5GB and enable ‘Thin Provisioning’.

qnap_download_pic11We’ll confirm all our settings and click on ‘Finish’.

qnap_download_pic12We’ll see that a static target it created (if necessary) to the QNAP, the datastore is created and formatted with VMFS.

qnap_download_pic13Now we’ll quickly add an NFS datastore following the same process as above. Except we’ll select the ‘NFS’ option

qnap_download_pic14Then we’ll call the datastore ‘qnap_test2’

qnap_download_pic15Verify our settings and click ‘Finish’

qnap_download_pic16We can see that an datastore is built and attached as NFS to our hosts

qnap_download_pic17We can verify that the new datastores are attached via the QNAP tab.


Add Datastore to another host

Let’s say we wanted to add one of those datastores to another host, we can do that easily by using the ‘Connect the datastore to a new ESX host’ option

qnap_download_pic19We’ll select the NFS datastore and select the ‘esx03.vwilmo.local’ host

qnap_download_pic20Verify our settings

qnap_download_pic21We can now see that the NFS datastore is attached to 3 hosts.


Disconnect/Destroy Datastore

To disconnect a datastore we simply select the host we want to remove it from and follow the same path as before.

qnap_download_pic23We select the ‘qnap_test2’ datastore and verify that there are no VMs on that datastore before removing it.

qnap_download_pic24Confirm and it will be removed

qnap_download_pic25Verify that it’s been removed

qnap_download_pic26To destroy a datastore we can do that following the same path as before.

qnap_download_pic27Select the ‘qnap_test’ datastore

qnap_download_pic28Verify there are no VMs attached before we destroy it.

qnap_download_pic29Confirm and its will be destroyed

qnap_download_pic30Overall its a pretty decent plug-in with the absolute minimum of features but is enough to warrant using it in the home lab for quickly adding storage to your environment.






User-Defined Network Resource Pools

This isn’t anything profound, but as I was going through my VCAP-DCA5 materials, one of the objectives concerns user-defined network resource pools.   While creating them is well documented, in the study guides I was using there were no mentions of where you turn these on.  It’s pretty simple actually.  Here’s a quick recap of what we’re trying to accomplish:

Create a new user-defined network resource pool.

user_net_resource_step1Name the pool

user_net_resource_step2Assign the pool to a dvPortGroup


user_net_resource_step4You can even do it from another interface as well by clicking on the ‘Manage Port Groups’ link in the same window

user_net_resource_step5Another objective point take care of.  Easy stuff.

Enabling VAAI for NFS on NetApp

A quick post about VAAI, NetApp and VMware.  I was messing around with VAAI and installing the NetApp plugin for NFS in my VCAP test environment.  This is a pretty simple process and can be automatically deployed via the NetApp VSC, if installed.  Since I’m working on making sure I can do this from the CLI, think VCAP-DCA5, I’m practicing doing it from there.  I’m using the NetApp Simulator, which is probably the best thing that NetApp could have done for its customers.  Simply amazing piece of software that offers nearly all the functionality of a NetApp filer.

vaai_nfs_plugin_step1I placed the NetApp_bootbank_NetAppNasPlugin_1.0-018.vib on a datastore so that I could access it from the CLI

vaai_nfs_plugin_step2Easy stuff, nothing new here.  Now let’s get this thing installed from the CLI

vaai_nfs_plugin_step3Looks like we got it.  Reboot the host and we’re golden.  Check vCenter to see if our Hardware Acceleration is working.

vaai_nfs_plugin_step4Hmmm, not working as it should.  Let’s check to make sure the vib is showing up in the vib list.

vaai_nfs_plugin_step5Yeah we got it there.  What could be the problem?  Well, let’s check the NetApp to see the NFS options.

vaai_nfs_plugin_step6Ah ha!  There’s our problem right there.  There’s a few options not enabled.  These have to be enabled to allow VAAI functions on the NetApp for NFS datastores.  So let’s enable them

vaai_nfs_plugin_step7Now that it’s enabled, let’s go check our vCenter and NFS datastores again.  A quick rescan of the datastores and we’re working as intended.

vaai_nfs_plugin_step8Or we can check it from the CLI, since we’re concerned about knowing how to check this from there anyway

vaai_nfs_plugin_step9EDIT – So I was building a new controller out in the lab and I confirmed Mike’s assumption.  The need for ‘options nfs.v4.enable on’ is only a requirement using the version of the NetApp simulator that I’m using.  This option is NOT required for a real set of controllers.

VMware VirtualCenter Management Webservices won’t start

I promise to get back to my NCDA study guide when time permits but I’m currently building two data centers and it’s consuming my days and my evenings have been more for relaxing.

This isn’t anything ground-breaking but since it seemed kind of obscure, I figured I’d post it if for anything as a reminder to myself to check this if I see it again.  As I was building out my second vCenter in my other primary data center, I noticed when I linked the two sites together that I was having issues with the vCenter Hardware Status plugin on my remote vCenter when I’d launch the vSphere Client.


Looking into I noticed that the VMware VirtualCenter Management Webservices service was set to Automatic, however was not started.  When I attempted to start the service I was met with a very vague error. service_start_error

Doing some quick searching brought me to this KB article.  However, the memory size was the exact same on my local vCenter and it was running just fine.  As I started to look through the other settings in the Tomcat configuration and comparing the broken vCenter to the working one, I noticed this.


Not Workingtomcat_not_working

A simple copy paste and the service fired right up.  Again, not ground-breaking stuff but irritating.