WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple

Search Results for: nested esxi

vdq - A useful little VSAN utility

02.14.2014 by William Lam // 9 Comments

While re-building a couple of my Nested ESXi VMs for VSAN using some newer builds, I came across a nifty little VSAN utility called vdq which I assume stands for either VMware Disk Query or VSAN Disk Query. I actually found this utility by accident while poking around in the ESXi Shell as I was looking for a quick way to inspect the disks and I know there are a couple other methods which are officially supported by VMware such as RVC or ESXCLI.

Disclaimer: This is not officially supported by VMware, please use at your own risk. 

vdq provides two useful commands, one that queries the disks on your ESXi host and show whether they are eligible or not for VSAN. The other is the disk mappings once VSAN has been configured and enabled on your ESXi host.

To query the disks on your ESXi host, you can run the following command: vdq -q

You will be presented with a lot of useful information such as the disk device name, VSAN node UUID, the state of the disk (whether or not it can be used by VSAN or if it is already in use), reason which includes more details, whether the disk is an SSD or HDD and also if the device is in a PDL (Permanent Device Loss) state.

You can also specify the -H option which makes the output a bit more readable as the default output is using Python. In this next screenshot, if we enable VSAN through the vSphere Web Client we now see that the VSANUUID property is now populated and the state of the disks have now changed.

The next command that is also handy once VSAN is enabled is to quickly get the VSAN disk group mapping by running the following command: vdq -i

With this command you can quickly find out the SSD that is front-ending the set of HDD for a given disk group. This command came in handy while re-building my ESXi hosts as I wanted to blow away the existing VSAN configuration. To do so, you would need to use ESXCLI and by leveraging vdq, I was able to quickly get the disk mappings and more importantly a command I could easily remember.

In general, I would still recommend using either ESXCLI or RVC which is already pretty simple to use but thought I share this little tip if you ever need to just quickly inspect an ESXi host for VSAN.

Categories // VSAN Tags // ESXi 5.5, vdq, VSAN, vSphere 5.5

Apple Mac

Here is a consolidated page on all the articles I have written about Apple Mac Mini, Apple Mac Pro and random Apple topics as they apply to VMware and virtualization. Hopefully this will be useful when looking for anything related to Apple.

Apple Mac Pro

  • Apple NVMe driver for ESXi using new Community NVMe Driver for ESXi Fling
  • GPU passthrough with ESXi on the Apple 2019 Mac Pro 7,1
  • Update on ESXi on Apple Mac Mini 2018 & Mac Pro 2019
  • ESXi on the new 2019 Apple Mac Pro
  • Heads Up – Apple Mac Pro 6,1 fails to boot after upgrading to ESXi 6.7 Update 1
  • ESXi 6.5 support for Apple Mac Pro 6,1
  • Apple Mac Pro 6,1 PCIe SSD issue resolved w/ESXi 6.0 Update 2
  • Heads up: ESXi 5.x & 6.0 unable to detect newer Apple Mac Pro 6,1 local SSD Device
  • ESXi 6.0 support for Mac Pro
  • How to install ESXi 5.5 Patch03 on the new Mac Pro 6,1?
  • Apple Mac Pro 6,1 (black) officially supported on ESXi 5.5 Patch03
  • Quick Update - ESXi support for Apple Mac Pro 6,1
  • ESXi 5.1 Officially Certified on Apple Mac Pro

Apple Mac Mini

  • ESXi 8.0 Update 2 not detecting Apple NVMe on Apple Mac Mini 2018
  • Apple NVMe driver for ESXi using new Community NVMe Driver for ESXi Fling
  • Passthrough of Integrated GPU (iGPU) for Apple Mac Mini 2018
  • Update on ESXi on Apple Mac Mini 2018 & Mac Pro 2019
  • Apple Mac Mini on VMware HCL
  • ESXi on the new 2018 Apple Mac Mini
  • ESXi 6.0 support for Mac Mini
  • ESXi Support for 2014 Apple Mac Mini 7,1
  • Running ESXi 5.5 Update 2 on Mac Mini
  • Running ESXi 5.5  & ESXi 5.5 Update 1 on Apple Mac Mini + Thunderbolt Ethernet Adapter Caveat
  • Running ESXi 5.1 Update 1 on Mac Mini (No Custom ISO/patches Needed!) 
  • Enable Auto Startup After Power Failure For Apple Mac Mini
  • Thunderbolt Ethernet Adapter in Apple Mac Mini on ESXi 5
  • Configure Apple Mac Mini to Default Boot ESXi
  • Running ESXi 5.0 Update 2 on Mac Mini (No Custom ISO/patches Needed!)
  • Running ESXi 5.0 & 5.1 on Apple Mac Mini 5,3
  • Running ESXi 5.0 & 5.1 on 2012 Mac Mini 6,2

Apple Macbook Pro/air & iMac

  • Want to run ESXi on an Apple MacBook Pro, MacBook Air & iMac?

Additional Resources:

  • ESXi 8.0 Update 2 not detecting Apple NVMe on Apple Mac Mini 2018
  • vSphere 8 on Apple Mac Hardware
  • vSphere ESXi 7.x will be last version to officially support Apple macOS Virtualization
  • Aquantia/Marvell AQtion (Atlantic) driver now inbox in ESXi 7.0 Update 2
  • Quick Tip – How to use Apple Thunderbolt 2 ethernet adapter with ESXi 7.0 or greater
  • MacOS 10.16 (Big Sur) Beta 1 on ESXi
  • Virtually Speaking Podcast: MacOS Virtualization and MacStadium
  • Aquantia 10GbE ESXi Driver for Apple 2018 Mac Mini
  • Retrieving Apple hardware details (Model, Serial, Board & EFI Boot ROM & SMC Version) from ESXi
  • Thunderbolt to 10GbE Network Adapters for ESXi
  • ATTO’s ESXi Thunderbolt Driver is now officially on VMware HCL
  • Using vSphere Auto Deploy to Netboot ESXi onto Apple Mac Hardware
  • How to Netboot install ESXi onto Apple Mac Hardware?
  • VMXNET3 driver now included in Mac OS X 10.11 (El Capitan)+
  • Heads Up – Workaround for changing Mac OS X VM display resolution in vSphere & Fusion
  • ESXi 6.0 on Apple Xserve 3,1
  • ESXi 6.0 on Apple Xserve 2,1
  • Automating installation of VMware Tools for Mac OS X
  • Quick Tip - How to change serial number for Mac OS X VM?
  • Quick Tip – Cloning Mac OS X VMs with unique serial numbers in vCloud Director
  • Standalone VMRC now available for Mac OS X
  • Thunderbolt Storage for ESXi
  • How to build custom ESXi ISO for Apple Mac Mini?
  • How to run Nested Mac OS X guest on Nested ESXi on top VMware Fusion?
  • Useful Links - Installing Mac OS X in a VM & P2V’ing Mac OS X
  • How to change hardware serial number for Mac OS X Guest?
  • Can You Backup & Restore Apple Mac OS X Guests Using vSphere Data Protection (VDP)?
  • VMware Tools For Apple Mac OS X Guests?
  • When Can I Run Apple OSX on vSphere 5.x?

Community stories for VMware & Apple OS X in Production:

  • Community stories of VMware & Apple OS X in Production: Part 1
  • Community stories of VMware & Apple OS X in Production: Part 2
  • Community stories of VMware & Apple OS X in Production: Part 3
  • Community stories of VMware & Apple OS X in Production: Part 4
  • Community stories of VMware & Apple OS X in Production: Part 5
  • Community stories of VMware & Apple OS X in Production: Part 6
  • Community stories of VMware & Apple OS X in Production: Part 7
  • Community stories of VMware & Apple OS X in Production: Part 8
  • Community stories of VMware & Apple OS X in Production: Part 9
  • Community stories of VMware & Apple OS X in Production: Part 10

Did you know OVF supports a cool feature called Dynamic Disks?

12.02.2013 by William Lam // 7 Comments

A couple of weeks back I had the pleasure of meeting Anders Madsen who is the lead engineer for the very popular and useful tool called ovftool. While having a discussion on a variety of topics with Anders I came to learn about a cool little feature of the OVF specification call Dynamic Disks. This lesser-known feature has actually been around since OVF 1.1 but I suspect that most people have probably not heard of this capability unless you are intimately familiar with the OVF format which I  I know I am not.

When you deploy an OVF you are pretty much deploying a static pre-configured Virtual Appliance that contains a certain amount of cpu, memory and storage. One can easily increase the CPU/Memory of the appliance after provisioning or leverage OVF's Flexible Deployment Options during the deployment of an OVF. On the Storage front it is a bit more difficult since the maximum capacity of each virtual disk is already pre-defined. Similar to CPU/Memory, once the OVF has been deployed you can easily extend the virtual disk(s) but you must also ensure you extend it in the guestOS either manually or automatically using built-in intelligence from the application.

What would be really nice is to have the ability to specify the capacity of a given set of virtual disks during deployment run-time instead of relying on a fixed capacity which is what Dynamic Disks allows you to do. This capability is only applicable for empty virtual disks and does not apply to virtual disks that already contain data such as an operating system or data disk. A great use case for such a feature could be an NFS Server Virtual Appliance where you would have an OS installed on the first virtual disk and then a couple other virtual disks that would be used for the underlying NFS Server volumes. Instead of having a fixed size for the NFS Server Virtual Appliance, it can be dynamically configured during deployment and it is up to the application to have the appropriate logic to handle the setup of the virtual disks during first bootup.

Here is an example of what this would like when deploying an OVF using Dynamic Disks:

You can see from the above screenshot, the OVF I am deploying contains two Dynamic Disks which have a default value of 5GB and 10GB. However, during the deployment I can change these default values to something different.

Instead of of 5GB and 10GB, I decided to change it to 10GB and 15GB and these values will be reflected by the platform that will be used to deploy the OVF whether that is vSphere, Fusion or Workstation. Another great use case for Dynamic Disks is to update the OVF I built to quickly help setup and test VMware VSAN (Virtual SAN) using Nested ESXi. The OVF that I created contains three empty virtual disks: 2GB for ESXi installation, 4GB for virtual SSD and 8GB for mechanical disk. Instead of requiring a user to reconfigure the virtual disks after deployment, you can now specify the capacity you want for each of the virtual disks using the new OVF that I have created here.

I hope to see more Virtual Appliances take advantage of Dynamic Disks capability as it can be useful for providing customized deployment options while still maintaining the notion of a pre-configured system. If you wish to create your own OVF that utilizes Dynamic Disks, please take a look at the instructions below.

Step 1 - Create a Virtual Machine like you normally would that contains both empty and non-empty virtual disks. In the example I have created a VM in vSphere which contains one virtual disk which would contain an OS (in this example its just empty) and two additional virtual disks (disk 2 and 3) which will be used for Dynamic Disks.

Step 2 - Export the VM to an OVF and delete the virtual disks files that will be used as Dynamic Disks as well as the OVF Manifest file as the contents will change.

Step 3 - Next we will need to make a couple of edits to the OVF descriptor file and the first change is to delete the virtual disks reference entries that will be used for Dynamic Disks. In this example that will be disk2 and disk3 as seen in the screenshot below.

Step 4 - We now need to delete the fileRef property for our two virtual disks located in DiskSection which is usually located at the top of the file. We also need to modify the capacity values into variables that will be used within the OVF file. You can select any name you want for the variable and in this example I chose ${disk1size} and ${disk2size}.

Step 5 - Finally, you need to add two new property entries which is embedded in the ProductionSection of the OVF descriptor and usually located towards the bottom of the file. Also make sure this sits under the VirtualHardwareSection but before the VirtualSystem tag as seen in the screenshot below.

    <ProductSection>
      <Info>Information about the installed software</Info>
      <Product>NFS Server</Product>
      <Vendor>virtuallyGhetto</Vendor>
      <Version>1.0</Version>
      <Property ovf:key="disk1size"
            ovf:runtimeConfigurable="false"    
            ovf:type="int"
            ovf:qualifiers="MinValue(1) MaxValue(10000)"
            ovf:value="5"
            ovf:userConfigurable="true">
        <Label>NFS Datastore Size for Disk 1</Label>
        <Description>The size of the disk in gigabytes.</Description>
      </Property>
      <Property ovf:key="disk2size"
            ovf:runtimeConfigurable="false"
            ovf:type="int"
            ovf:qualifiers="MinValue(1) MaxValue(10000)"
            ovf:value="10"
            ovf:userConfigurable="true">
        <Label>NFS Datastore Size for Disk 2</Label>
        <Description>The size of the disk in gigabytes.</Description>
      </Property>
    </ProductSection>

The two disk variables that we defined earlier is used in this section that allows you to specify a default value as well as some additional text that can be displayed for each property. Instead of having you copy/paste from the blog I have provided a sample OVF that consumes Dynamic Disks in which you can use as an example for creating your own. To use this OVF you will need to download the following two files and then import into your environment:

Dynamic-NFS-Server.ovf
Dynamic-NFS-Server-disk1.vmdk

Once you have made all the necessary changes, you can then deploy the new OVF and the OVF wizard should now detect that Dynamic Disks are being used and you should see a message similar to the one below.

Categories // Automation, OVFTool, vSphere Tags // dynamic disks, ovf

  • « Previous Page
  • 1
  • …
  • 56
  • 57
  • 58
  • 59
  • 60
  • …
  • 67
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025