Introduction
In case you are using Microsoft Failover Clustering over Vmware Infrastructure, you should have received a request from the Operating System Team to increase the Storage as there is a requirement for more. In this situation, you request the Storage Team to increase the Storage from the Backend and later you go ahead and extend the VMDK File Associated with the VM.
In certain situations where the customer is using MSCS, they might have a requirement of using SCSI Bus Sharing for using the VMDK as a Shared Virtual Disk. This sharing can be Physical or Virtual. An example of this can be seen below:
Also, there is a recommendation to always use a Thick Provisioning Eager Zeroed VMDK in the MSCS Clustering, this is because it doesn’t put any performance load on the storage while we are writing the data:
There is a big-time difference between different types of VMDKs which we can create on a vSphere Environment.
Thin Provisioning: This takes very little time and generally doesn’t take a lot of space on creation.
Thick Provisioning Lazy Zeroed: Allocates the Space on the Datastore, but doesn’t zero all the bits, so it’s relatively faster.
Thick Provisioning Eager Zeroed: Allocates the Space on the datastore and zeroes all the bits claimed. This is the slowest operation and takes a long time to complete.
As per one of the Requirements for Microsoft Failover Clustering, is that the VMDK needs to be Thick Eager Zeroed. However, when you extend the VMDK using the Edit Disk Option to extend the datastore quickly Vmware changes the Type of VMDK to Thick Provision Eager Zeroed, no matter if the SCSI Bus Sharing is enabled or not.
See the Images Below:
Created a Disk with Thick Provision Eager Zeroed.
Extended it and the Type Changed.
Since the Thick Provisioning Eager zeroed requires time and resources, vSphere doesn’t convert a disk directly to it and rather gives you an option of Doing this using the command line:
vmkfstools -X 60G -d eagerzeroedthick /vmfs/volumes/Datastore_name/virtual_Machine_folder/virtualmachinedisk.vmdk
Please note: VMware recommends that you perform this operation outside of production, as it writes to the disk and takes significant time to complete.
Since vSphere cannot look into the Virtual Machine to find if the MSCS Clustering is enabled. It replies to a few settings on the vSphere to understand that Failover Clustering is used. This SCSI Sharing is One of those settings.
Once you Extend the VMDK and it changes to Thick Provision Lazy zeroed, it is considered an unsupported scenario for the MSCS Cluster Configuration. Due to this reason why you were getting the Error.
Solution:
- The solution to this is to Extend the Virtual Disk using the vmkfstools command so that we can keep the disk type as Thick Eager zeroed.
vmkfstools -X 60G -d eagerzeroedthick /vmfs/volumes/Datastore_name/virtual_Machine_folder/virtualmachinedisk.vmdk
- In case you have already extended the Disk you can do a Storage vMotion of the Disk and then try to bring the VM Online.
For more information please refer to: https://kb.vmware.com/s/article/1033570