Thin provisioning : inGuest vs outGuest
Posted by NiTRo | Filed under Tips & Tricks, VMware
Quand on joue un peu trop “le cowboy de l’overcommit”, on peut se retrouver dans une situation où les VM et donc les datastore sont pleins de vide : les filesystem des VM ont été rempli au moins une fois mais ont été vidé depuis. Il y a plusieurs moyens de palier à cela mais avant il est intéressant de savoir quelle volumétrie serait récupérable. Donc on a fait péter le oneliner :
Get-View -ViewType virtualmachine -Property Name, Summary, Config, Guest|?{!$_.snapshot -and $_.Guest.GuestFamily -eq "windowsGuest" -and $_.Guest.ToolsRunningStatus -eq "guestToolsRunning"}|?{!($_.Config.Hardware.Device|?{$_ -is [VMware.Vim.VirtualDisk]}|?{$_.Backing.ThinProvisioned}) -eq $false}|select name, @{n="GuestId";e={$_.Guest.GuestId}}, @{n="vmdkCommitted";e={[math]::round($_.Summary.Storage.Committed/1GB,1)}}, @{n="GuestCommitted";e={[math]::round(($_.Guest.Disk|%{$_.Capacity - $_.FreeSpace})/1GB,1)}}, @{n="ThinDiff";e={[math]::round((($_.Summary.Storage.Committed - (($_.Config.Hardware.MemoryMB*1MB - $_.Config.MemoryAllocation.Reservation) + $_.Config.InitialOverhead.InitialSwapReservation)) - ($_.Guest.Disk|%{$_.Capacity - $_.FreeSpace}))/1GB,1)}}|?{$_.ThinDiff -gt 20}|Out-GridView
Ce petit bout de script vous affichera un beau tableau des VM (windows uniquement – pour l’instant) dont la différence entre la taille commitée outGuest (vmdk) et inGuest (ntfs) est supérieure à 20Go.
Tags: overcommit, thin provisioning, TRIM, UNMAP, vmdk
September 9th, 2013 at 13:35
Dommage, marche pô…
Je lance le script, après quelques instants je récupère le prompt mais aucune fenêtre de résultat, ni aucun message d’erreur.
Je suis pourtant dans la powercli, connecté au vCenter.
Il y a une version de powershell, de cli, de vcenter minimum ?
September 10th, 2013 at 9:03
En fait l’erreur provient du GuestCommitted qui est systématiquement vide. Comme du coup le ThinDiff est vide, il n’y a pas d’affichage.
September 10th, 2013 at 9:39
Ok merci Lolo, on va regarder ça.
November 10th, 2014 at 12:02
[...] depuis le temps que nous voulions le tester, nous sommes enfin tomber sur une VM avec ~60Go à récupérer dans un environnement VMFS5 [...]