Arphexa
Contributor
Contributor

Getting real size of VMDKs

I wrote a script with Powercli to get the sum of all VMDK files per Datastore.

Tested it on my workstation (XP) with version 4.0.1.2164 of PowerCLI and it reported the real disk sizes (a disk of 40GB was reported as 40GB and not how much data really was allocated). Then I installed Powercli version 4.1.1.2816 on a Windows 2003 server to automate the script with a scheduled task, but then the script reported the disk sizes with how much they really used on the datastore. So my 40GB virtual disk now showed as 8,5GB instead of the full size.

I got the virtual disk sizes in a loop with get-harddisk -datastore <datastorename> | select capacityKB

I've also tried (get-vm $vm.name).harddisks, but that gave the same output.

Searched all places, but I can't get it to work anymore on the new PowerCLI versions.

Does anyone know how to get the full size of VMDK disks per Datastore ?

0 Kudos
5 Replies
LucD
Leadership
Leadership

Strange, the Harddisks property gives me the allocated disk size (for Thick and for Thin vdisks).

The following gives the full disk size for me

Get-VM -Name $vmName | Select -ExpandProperty Harddisks | ft -Autosize

While this gives the used size of each each hard disk on a datastore

Get-HardDisk -Datastore $dsName | ft -AutoSize


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Arphexa
Contributor
Contributor

Strange indeed, when I run the Get-VM -Name $vmName | Select -ExpandProperty Harddisks | ft -Autosize command, the output differs:

From the Windows 2003 server:

CapacityKB Persistence   Filename
---------- -----------   --------
183808     Unknown       [DATASTORE] FOLDER/VM1.vmdk

From the XP workstation:

CapacityKB Persistence   Filename
---------- -----------   --------
10485760   Unknown       [DATASTORE] FOLDER/VM1.vmdk

0 Kudos
avlieshout
VMware Employee
VMware Employee

Is the 2003 64bit?

If yes, try running PowerCLI in 32bit mode

Arnim van Lieshout Blogging: http://www.van-lieshout.com Twitter: http://www.twitter.com/avlieshout If you find this information useful, please award points for "correct" or "helpful".
0 Kudos
Arphexa
Contributor
Contributor

It's a Windows 2003 32-bit Std Server and the workstation is also 32bit.

But I honestly can't see what the OS version of the server has to do with this. The data it collects comes from Virtual Center.

A colleague of mine has run the script from his workstation (same specs as mine), but with the same version of PowerCLI as the server and it collects the same data as the W2003 Server, not the data from my workstation.

0 Kudos
Arphexa
Contributor
Contributor

Installed 4.0.1.2164 on the server and it's collects the full disk sizes...

0 Kudos