[PSH] Rescan & Refresh en one-liner

Il est parfois nécessaire de faire un rescan/refresh de la partie stockage de plusieurs ESX au delà d’un seul cluster. Depuis vSphere 4, la fonction “Rescan for Datastores…” disponible au niveau du cluster améliore grandement l’administration quotidienne mais la fonction “Refresh host storage system“, qui permet par exemple de rafraichir l’espace disponible sur les partages NFS, n’est disponible qu’individuellement sur chaque host.

Voici donc un petit one-liner qui permet de combiner les actions de rescan et refresh :

Get-View -ViewType HostSystem -Property ConfigManager.StorageSystem -Filter @{"Name"="^vmvisor"}|%{Get-View $_.ConfigManager.StorageSystem|%{$_.RescanAllHba();$_.RefreshStorageSystem()}}

L’équivalent en moins rapide mais en plus simple :

Get-VMHost vmvisor*|Get-VMHostStorage -RescanAllHba -Refresh

Vous aurez remarqué que nous n’avons pas inclus de RescanVmfs car selon le vSphere API Reference, la méthode RefreshStorageSystem l’intègre :

The RefreshStorageSystem method obtains information from the host platform and it performs a rescan of VMFS volumes. It does not look for new devices.

Bonus : la même commande pour la partie réseau, dont le refresh n’est aussi disponible qu’individuellement sur chaque host :

Get-View -ViewType HostSystem -Property ConfigManager.NetworkSystem -Filter @{"Name"="^vmvisor"}|%{Get-View $_.ConfigManager.NetworkSystem|%{$_.RefreshNetworkSystem()}}

Inutile de vous rappeler qu’il vous faudra ajuster le filtrage de la commande Get-View à votre nomenclature.

Tags: , , , , ,

Leave a Reply