Having recently been involved in a data quality assessment and remediation project one of the most common issues we came across was that of being able to link Virtual Machines to underlying Infrastructure and connected devices.
Our approach on the project started with looking at the discovery runs to see if there were any notable ECA errors and then to look at the Discovery Platform scripts and TPL patterns to understand how BMC Discovery was expecting to query and understand these relationships.
When looking through the patterns the most common, and in some cases only, method used to link CI’s to the Virtual Machine is to use the UUID of the Virtual Machine. For example within the VirtualDevice to VM Linkage pattern you find:
Vm_search := seach(VirtualMachine where vm_uuid = %device_serial_lower%);
Device_search := search(StorageDevice where serial has substring %virtual_machine.vm_uuid%);
This was particularly true for being able to link Virtual Machine Disks to the underlying storage and in analysing the data collected by BMC Discovery we found that in a lot of cases the UUID was not being returned. Rather than being an issue with BMC Discovery or the patterns this is down to a setting within VMware itself. The disk.EnabledUUID=True was missing from the configuration meaning that the UUID of the VMDK was not being passed through.
In order for the VMDK UUID to be passed through to Windows the advanced configuration disk.EnableUUID=”TRUE” needed adding to the VMX file via the vCenter. This was achieved using the following steps.
1. Edit the settings of the virtual machine while powered off.
2. Under Options > Advanced > General select Configuration Parameters…
3. Select Add Row and enter the name disk.EnableUUID with Value of TRUE.
4. Select OK twice then power on.
5. In Windows open Powershell and run the command “wmic diskdrive get serialnumber”, this should show the serial numbers now.
With this setting and a rescan – the issue of linking VM Disk to Storage was resolved