none
Size problem with second vhdx in Hyper-V VM

    Question

  • Good morning,

    I have a bit of a strange problem with a second vhdx attached to a vm on a Windows Server 2012R2 failover cluster. I have a 3 host cluster with 4 Windows Server 2012 R2 vm's.

    For the troublesome vm:

    In failover manager I have 2 CSVs, 1 for the OS drive (300GB) and 1 for the file storage drive (16TB).

    The vhdx for the os drive shows as 274GB free in cluster manager:

    However, the data drive that has a 16TB vhdx, shows only 383GB free in cluster manager:

    BUT on the VM the drive only has 9TB of data and reports it's correct free space.

    This is how we have attached the second disk to the vm:

    Can anyone explain this behaviour.

    The server isn't in use yet but we are preparing to bring it online but want to resolve this first.

    Thanks in advance,

    Matt

    Monday, February 13, 2017 10:36 AM

All replies

  • I'm a little confused by your explanation.  (And you provided the same screen shot for your two different volumes.)

    "For the troublesome vm:

    In failover manager I have 2 CSVs, 1 for the OS drive (300GB) and 1 for the file storage drive (16TB).

    The vhdx for the os drive shows as 274GB free in cluster manager:"

    CSVs are defined at the cluster level, not at the VM level.  So are you saying the CSV is 300 GB, or are you saying the .vhdx assigned to the VM is 300 GB?

    So if you are running four VMs on your host cluster, all four VMs would be taking storage from the two CSVs.  When you look at the amount of free storage available on the CSVs, you are looking at the amount of free storage after reducing the total storage by the sum of the storage used by all the VMs.  When you look at statistics at the physical host level and look at statistics from within the VMs, you are looking at two completely different things.


    . : | : . : | : . tim

    Monday, February 13, 2017 1:10 PM
  • Apologies,

    It looks like the wrong image was uploaded. the OS volume should have been this one:

    The .vhdx for the OS is 300GB and the CSV is 300GB. However, it displays (in Failover Cluster Manager) as above.

    The .vhdx for the storage - shared and home folders, is 16TB and the CSV is also 16TB, but it displays (in Failover Cluster Manager) as 383GB free. 

    This is causing problems when trying to use Veeam to backup the VM. Surely in FCM, it should report as only the used amount of the 16TB .vhdx, which is closer to 9TB in size.

    Apologies if I am not explaining myself very well.

    Kind regards,

    Matt

    Monday, February 13, 2017 1:23 PM
  • You have a bit of a strange configuration.  It is very, very rare that one would create a CSV and dedicate it to a single vhdx.  In your case, you have created two CSVs and dedicated them to two vhdx - an even more rare situation.  The 'S' in 'CSV' stands for 'shared'. The typical configuration is to configure a CSV and put multiple vhdx for multiple VMs on it.  And it gets more confusing when you say you have four VMs on this cluster.  Have you also created separate CSVs for each VM?

    But, to get back to what you are seeing.  My hunch is that you have defined the data vhdx as a dynamically expanding vhdx.  So what you are seeing at the physical level - the CSV - could very well be completely different from what you are seeing within the VM - the vhdx level.  A dynamically expanding vhdx constantly grows over its lifetime until it reaches its maximum size, at which point it continues to operate.  This is because when data is deleted in a dynamically expanding vhdx, it is not immediately being reallocated the next time a request is made for storage by another file.  Requests for new file extensions are placed at the end of the available storage of the vhdx.  So the .vhdx file on the host continues to grow in size, even though the operating system of the VM that owns that vhdx is not seeing the volume grow.  If you want to make the two numbers agree, you need to compress the vhdx (an option in the Hyper-V management console).  Compressing will remove all the deleted files and rearrange the data on the disk to move all the free space to the tail end of the disk.


    . : | : . : | : . tim

    Monday, February 13, 2017 2:14 PM