vSphere 6.x: The datastore file browser converts VMDKs to thick-provisioned when copy/move data to the target VMFS datastore

It came as a surprise to me that the datastore file browser in vSphere 6.5 (and all other versions) would convert VMDK disks to thick-provisioned when you copy or move them across from one VMFS datastore to another. This is a default behaviour, even if the initial VMDK file was thin-provisioned and the target datastore supports thin provisioning.

This can potentially cause an outage to the virtual machines resided on the Virtual Machine File System. Unfortunately, when you initiate a copy/move operation in the datastore file browser, the system doesn’t warn you about this change. So you need to remember about it and calculate the required disk space ahead of transferring data.

What is more interesting, I haven’t been able to find any reference to this in the official documentation to vSphere. It actually states quite opposite:

“Virtual disk files are moved or copied without format conversion.”

To illustrate the observed behaviour, I had created a virtual machine named TEST-VM with one thin-provisioned disk of 10 GB.

VMFS-Thick-Issue-01

After the VM was powered on, it reported the following data usage in the datastore file browser:

VMFS-Thick-Issue-02

The Inflate button on the image above indicates that “you can convert the thin disk to a virtual disk in thick provision format.”

The PowerCLI commands below helped me to show the used and provisioned space for TEST-VM:

Get-VM -Name “TEST-VM” | Select Name,@{N=’Used Space (GB)’;E={[math]::Round($_.UsedSpaceGB,2)}},@{N=’Prov. Space (GB)’;E={[math]::Round($_.ProvisionedSpaceGB,2)}} | Format-List

The result was as expected:

VMFS-Thick-Issue-03

I powered off the VM and copied the TEST-VM folder via the datastore file browser to another VMFS datastore.

VMFS-Thick-Issue-04

After this task completes, the resulted VMDK looked different:

VMFS-Thick-Issue-05

Please note the Inflate button is greyed out now. This means the virtual disk is thick provisioned.

I have looked on the Internet for any information and found a few community threads from 2009 discussing this issue – here and here. So the problem exists for a while. According to those threads, during the copy/move operation initiated via the datastore file browser, the underlying vmkfstools utility executes with the default settings creating a thick provisioned disk.

The only workaround is to use the following command to convert the VMDK to thin again:

vmkfstools -i <source.vmdk> <destination.vmdk> -d thin

If the intent is to replace the source thick-provisioned VMDK with a new thin-provisioned one, make sure to use vmkfstools utility for that operation. It will change names for both *.vmdk and *flat.vmdk files, as well as the extent description value in *.vmdk.

vSphere 6.5 Update 1 has been released!

VMware has just released a major update to vCenter Server 6.5 with a plenty of exciting features including:

  • Ability to run the vCenter Server Appliance GUI and CLI installers on Microsoft Windows 2012 x64 bit, Microsoft Windows 2012 R2 x64 bit, Microsoft Windows 2016 x64 bit, and macOS Sierra
  • vSAN software upgrades through integration with vSphere Update Manager
  • Support for Microsoft SQL Server 2016, Microsoft SQL Server 2016 SP1, and Microsoft SQL Server 2014 SP2 as external databases for vCenter Server
  • Improved HTML5-based vSphere Client
  • Increased configuration maximums for the Linked vCenter Server instances
  • vSphere Replication updates
  • Driver updates and hips of resolved issue.

The following products have been updated:

Updated packages can be found here.

More information about new features is available following those links:

I have a few support requests with VMware GSS open, which should be resolved in this release of the product.

Will keep you posted after upgrading my environment and finishing testing.

vSphere HTML5 Web Client (Fling): installation tips

VMware has officially introduced vSphere Client (HTML5) in the release 6.5 of the platform. The company is working hard to make it a real replacement for vSphere Web Client (Flash/Flex client) and to deliver seamless functionality to the former one.

The vSphere Client released in vSphere 6.5 GA is using vSphere HTML5 Web Client (Fling) v2.7. Although it lacks many features of the old brother, the whole HTML5 experience should be a real benefit for many of us.

Meanwhile, it is interesting to test features available in the new versions of the Fling. Even if it is unsupported, some people are ready to go further and use it in the production environment with vSphere 6.0.

I doubt VMware has any plans to include this functionality in vSphere 6.0. However, for those who delay upgrading to version 6.5, playing with the Fling helps to get a better understanding of the new interface.

vsphere-client-fling-01

Current documentation for the Fling is a bit clunky. So I would like to clarify some steps that are required to setup this software correctly.

According to the documentation, the Fling setup has been tested with the following configurations:

  • GUI and CLI setup
    • vCenter Server Appliance with an embedded Platform Services Controller
    • vCenter Server Appliance with an external Platform Services Controller
  • CLI setup only
    • vCenter Server for Windows with an embedded Platform Services Controller
    • vCenter Server for Windows with an external Platform Services Controller.

In the paragraphs below, I describe the configuration process for the vCenter Server Appliance with an embedded Platform Services Controller.

After you downloaded the OVA file and provisioned the VM, a few steps below help to pair it with the vCenter Server.

Firstly, we need to enable SSH login (if disabled) and bash shell on the Platform Services Controller (PSC). The easiest way to do it is to use the Appliance Management User Interface at https://<PSC-FQDN-or-IP>:5480. Both options can be found in the Access settings window.

amui-access-settings

The next step is to change the default shell for PSC. You should create the SSH session to the virtual appliance and run the following command to complete this task:

/usr/bin/chsh -s “/bin/bash” root

Using the default username root and the password demova, log in to the Fling Appliance Management Interface (FAMI) at https://<Fling-FQDN-or-IP>:5490.

vsphere-client-fling-02

Starting from here, the configuration process is straightforward:

  1. Add PSC FQDN or IP address, username, and the password.
  2. Optionally, you can add NTP servers.
  3. Click on Configure to initiate the configuration process.

vsphere-client-fling-03

After approximately one and a half minute the setup finishes and the application will be up and running.

vsphere-client-fling-04

For those who prefer SSH connection and a command line interface (CLI), the following command does the magic:

/usr/local/bin/vsphere-client-config-ui configure –vc <PSC-FQDN-or-IP> –user root –ntp <NTP-FQDN-or-IP>

In this case, you need to start the Web Server manually after it is all done:

/usr/local/bin/vsphere-client start

Open the web browser on https://<Fling-FQDN-or-IP>/ui. It is time to explore a true HTML5 client, yay!