Powershell – Space Reclaim

Powershell – Space Reclaim

A partir de la version VMware 6.5, la récupération d’espace après la suppression ou le déplacement d’une VM peut se faire de façon asynchrone et automatiquement sur les Datastores en VMFS 6, les VVOLs,  NFS.

Par contre, sur les Datastores en VMFS 5 le « Space reclaim » est une action manuelle que l’on execute grâce aux commandes Esxcli.

Commande unmap en Esxcli

Pour exécuter le « Space Reclaim » sur un Datastore, il faut être connecté à un ESXI qui a accès au datastore cible et lancer la commande : 

« esxcli storage vmfs unmap –volume-label NomDuDatastore« 

Pour lister les datastores vu par l’ Esxi, on peut lancer la commande esxcli :

esxcli storage filesystem list

Pour lancer la commande unmap sur l’ensemble de ses datastores, on peut donc lancer la commande esxcli suivante :

esxcli storage filesystem list | grep PaternNomDatastore | awk ‘{print $2}’ | while read d; do da=$(date); echo « $(da) – Processing $d … »; esxcli storage vmfs unmap –volume-label $d; done

Space Reclaim en Powershell

En Powershell, on s’appuie également sur les commandes esxcli.

Pour cela, il faut tout d’abord se connecter à un Esxi, puis : 

  • On créé un objet contenant les commandes esxcli, cela permettra d’exécuter en PowerShell les commandes Esxcli.

$esxcli = get-Esxcli -vmhost $esxName -V2

  • On créé une hashtable avec le nom du datastore sur lequel la commande « unmap » doit être appliquer.

$sParam = @{ volumelabel = $datastoreName }

  • Et on lance la commande unmap

$esxcli.storage.vmfs.unmap.invoke($sParam)

A lire : 

No Comments

Sorry, the comment form is closed at this time.