Durch die Verwendung von dynamisch wachsenden VHD/VHDX Files kann es dazu kommen, dass auf der Virtual Cluster Disk kein freier Speicher mehr zur Verfügung steht. Dieses Script erfasst den aktuell verbrauchten Speicher und den zugewiesenen Speicher aller VMs und kann so eine eventuelle Überprovisionierung aufzeigen.
# region description # Shows the differences between the physical allocated size and the maximum provisioned size # It uses the file path from the storage cluster for example c:\storagecluster\disk1\..... c:\storagecluster\disk2\..... # # written by: Patrick Hoeft # www.hoeft.tech - patrick@hoeft.tech # version 0.2, 08.04.2019 # # endregion # region variables $S2D_VMs = @() $storage = @() # Cluster Virtual Disk Size in TB $storageMaxSize = 10 # Cluster Name $clusterName = "THE-CLUSTER-NAME" # Specify here the parts of the storage path to be grouped by $clusterStoragePath = @("DISK-1", "DISK-2", "DISK-3", "DISK-4", "DISK-5") # endregion $nodes = Get-ClusterNode -Cluster $clusterName foreach($node in $nodes){ $S2D_VMs += Invoke-Command -ComputerName $node.Name -ScriptBlock { Get-VM | Get-VMHardDiskDrive | Get-VHD } } foreach($path in $clusterStoragePath){ $storage += New-Object -TypeName PSObject -Property @{name = $path; phySize = 0; provSize = 0; freePercentage = 0} } foreach($vm in $S2D_VMs){ $path = $vm.path.split("\") $storageName = $path[2] $tempStorage = $storage | Where {$_.name -eq $storageName} $tempStorage.phySize += [math]::Round($vm.FileSize/1tb,3) $tempStorage.provSize += [math]::Round($vm.Size/1tb,3) } foreach($stor in $storage){ $stor.freePercentage = (1-$stor.phySize/$storageMaxSize)*100 } $storage | ft -Property name, phySize, provSize, freePercentage
Ausgabe auf einem Testcluster (angenommen wurde eine CVD von 10TB). Zu erkennen ist, dass Disk-3 mit 18TB überprovisioniert ist jedoch physikalisch noch 20% freier Speicher vorliegt.
name phySize provSize freePercentage ---- ------- -------- -------------- DISK-1 4.336 6.27 56.64 DISK-2 1.936 3.690 80.64 DISK-3 7.842 18.372 21.58 DISK-4 4.332 6.296 56.68 DISK-5 6.325 7.146 36.75