WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
    • VMware Cloud Foundation 9.1
    • VMware Cloud Foundation 9.0
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple

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 // OVFTool, vSphere Tags // dynamic disks, ovf

Quick Tip - Useful Flash Player optimization for the vSphere Web Client & other Flash WebApps

11.15.2013 by William Lam // 11 Comments

I recently picked up a useful tidbit from engineering on a Flash Player optimization setting that can be helpful when using the vSphere Web Client or any other Flash web application for that matter. The particular setting is the Website Storage Settings which controls the amount of temporary data that can be stored by the Flash Player on your local disk and by default this is limited to 100Kb. This limited storage footprint is actually done on purposes as a security feature of Flash.

However, at some point the Flash Player will reach this limit and prompt the user to allow additional disk space to be consumed and this is where you may see the vSphere Web Client crash and you would to go through the motions of logging back in.

To avoid this scenario, you can change the default 100Kb to unlimited for a particular site which I was recommended so that I would not hit this problem. I do want to stress that this is not a VMware best practice but more of a general Flash Player best practice but I think it is something to be aware of and could help from a usability perspective.

To check your current settings, Adobe has made it very simple by just navigating to the following URL: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.html

A panel will load and you will get access to a variety of Flash Player settings including the Website Storage Settings which is what the link above will default to.

You will now be able to browser to the particular website, in our case we will be looking for either the hostname or IP Address of your vSphere Web Client Server and you will be able to see its current usage as well as limit. To change the default, you just need to click on the website and then move the toggle at the top to the far right which will show up as "unlimited". I would recommend you make this change for all your vSphere Web Client servers that you access. It would have been nice to see our vSphere Web Client automatically detect this and recommend the change or automatically default to this setting.

Categories // vSphere Tags // adobe, flash, flash player, vsphere web client

Would you like MSSQL (Microsoft SQL Server) support for the VCSA (vCenter Server Appliance)?

10.10.2013 by William Lam // 4 Comments

Many of you know that I am a huge fan of the VCSA (vCenter Server Appliance), especially when it comes to a new deployment and how easy it is compared to the Windows version. I especially like how upgrades work for the VCSA by deploying a new VCSA and then performing a migration based upgrade to the new appliance. This provides a nice roll-back mechanism in case something happens and all I need to do is just power on the original VCSA to get the original environment up and running again.

Having said all this, I know the VCSA is still currently lacking a few features which may prevent customers from fully adopting the solution for their production workload. However, if you take a look a how far the VCSA has come from its initial release in vSphere 5.0 release, it has greatly improved and we continue to enhance it with every release. With release of vSphere 5.5, we now support the following configurations maximums:

ESXi Hosts Virtual Machines
Embedded vPostgres DB 100 3,000
External Oracle DB 1000 10,000

Even before vSphere 5.5 release, VMware has internally pushed the boundaries of the VCSA (vSphere 5.1) and the embedded vPostgres database by running one of the most dynamic and demanding workload in a very short amount of time which is the VMworld's Hands On Lab. This really goes to show the type of scale and performance the VCSA and the embedded vPostgres database can support.

One of the most frequent piece of feedback that I have heard from customers regarding the VCSA is to provide support for Microsoft SQL Server database. This request is quite understandable, especially for a Windows shop where you may already have a team of Database Administrators who are quite familiar with the operational and management aspects of maintaining a MSSQL database.

VMware is actually not opposed to supporting MSSQL for the VCSA which runs on SuSE Linux but the challenge in the past was the lack of a Microsoft ODBC driver for SLES. Well it turns out last year Mircosoft released a Community Tech Preview Microsoft ODBC Driver for SQL Server on SLES, however the driver is currently only a Tech Preview and to do justice for VMware customers, we would want to use a GA (General Available) driver which means that there would be full support from Microsoft.

If you would like the VCSA to have MSSQL support, you can help by providing this feedback to your local Microsoft representative or filing a feature request. The more customer demand we have for this, the more likelihood MSSQL DB support can become a reality.

In addition to providing feedback to Microsoft, I think it would also be useful to let our PMs know how important MSSQL DB support & the VCSA is to you which will also help with the prioritization of features. If you can help fill out this quick survey below, that would also be great.

Categories // vSphere Tags // Microsoft, mssql, odbc, vcenter server appliance, VCSA, vcva

  • « Previous Page
  • 1
  • …
  • 100
  • 101
  • 102
  • 103
  • 104
  • …
  • 110
  • 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
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Quick Tip: How to Identify Which Kubernetes Cluster Owns a vSphere Container Volume (PV) 06/25/2026
  • What Host Lifecycle Operations Are Available after Importing vCenter into VCF 9.x Fleet? 06/24/2026
  • VCF 9.1 - Enabling High Availability for a Small VCF Management Services (VCFMS) Deployment 06/22/2026
  • Clarifying Minimum Required ESX Hosts for VCF Deployments 06/18/2026
  • VCF 9.1 - Auditing VCF Management Services (VCFMS) IP Pool Usage  06/17/2026
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 © 2026