Script: Ausgabe Speicherbelegung und Provisionierung aller Cluster Virtual Disks eines Storage Pools

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.