Stisknutím tlačítka "Enter" přeskočíte na obsah

InstantClone Maintenance – PowerCLI

Možná jste se už dostali do situace, kdy potřebujete vypnout provisioning InstantClone Parent VMs na některých hostech, nebo zpět zapnout.

Je na to jednoduchá věc, nastavíte CustomAttribute „InstantClone.Maintenance“ na hodnotu „1“, resp tuto hodnotu vymažete

Problém nastává, pokud potřebujete z vSphere Clienta tuto hodnotu smazat. Protože pouze prázdná hodnota je pro Connection server informace, že může hosta opět používat. Ve vSphere Clientu z nějakého důvodu hodnotu není schopen smazat.

Druhá možnost jak to nastavit, je spuštěním scriptu z Connection Serveru. Tento script je umístěn ve složce:
C:\Program Files\VMware\VMware View\Server\tools\bin

A jmenuje se icmaint.cmd

Tento script ale musíte spustit pro každý ESX server zvlášť a navíc ještě s parametry vCenter, Uživatele a vždy se Vás zeptá na heslo do vCenter.

Jde to udělat ale samozřejmě i jednodušeji a to pomocí PowerCLI.

Existuje na to velmi jednoduchý „oneliner“

Kdyby někdo očekával použití CommandLet Get-VMhostAttribute nebo Get-CustomAttribute  resp. jejich Set- variantu tak je bohužel vedle jak ta jedle.

Toto nastavení se bude provádět přes Set-Annotation -CustomAttribute

Takže zde jsou ty slibované Onelinery:

Přechod do IC maintenance (nastavit hodnotu 1):

Get-Cluster "<Jmeno_clusteru>" | Get-VMhost | %{ Set-Annotation -CustomAttribute "InstantClone.Maintenance" -Entity $_ -Value "1" }

Přechod zpět z IC maintenance (vymazání hodnoty):

Get-Cluster "<Jmeno_clusteru>" | Get-VMhost | %{ Set-Annotation -CustomAttribute "InstantClone.Maintenance" -Entity $_ -Value "" }