Tick Tack
Die Uhrzeit-Synchronisation zwischen ESX Host und Client-VM ist sehr wichtig. Fehlt diese, so kann es zu deutlichen Zeitabweichungen zwischen VMs kommen, was weitere Probleme nach sich zieht. Zum Beispiel verweigert Kerberos die Anmeldung, wenn die Zeit um mehr als 5 Minuten abweicht.
Die Kontrolle, ob die Uhrzeit zwischen Host und VM synchronisiert wird ist simpel.
Settings > Options > VMware Tools
Die in der Grafik unten markierte Ckeckbox muss gesetzt sein.
Für eine oder zwei VMs ist das kein Problem. Was aber tun wenn man mehrere hundert VMs überprüfen und den Status setzen möchte? In so einem Fall hilft PowerCLI.
Timesync Status prüfen
Der folgende PowerCLI Oneliner stammt von Grzegorz Kulikowski. Es listet alle VMs mit deren VMtools Timesync Optionen (true/false).
get-vm|select name, @{N="SyncWithHost";E={$_.extensiondata.config.tools.synctimewithhost}}
Status setzen
Die Einstellungen aller betroffenen VMs manuell verändern wäre eine wenig motivierende Beschäftigungstherapie für dressierte Meerschweinchen. Besser man beschäftigt sich einige Minuten mit Powershell und der großen Suchmaschine. Im Blog von vNoob wurde ich fündig. Sein dort vorgestelltes Skript kam meinen Vorstellungen schon sehr nahe. Ich habe es etwas modifiziert, da ich nicht pauschal alle VMs ändern wollte, sondern eine Auswahl. Die Veränderung ermöglicht ein Suchmuster für den VM Namen und lässt den gewünschten Zustand wählen.
# SetTimeSync.ps1 param($vm="*", $sync=$true) $spec = new-object VMware.Vim.VirtualMachineConfigSpec $spec.tools = New-Object VMware.Vim.ToolsConfigInfo $spec.tools.syncTimeWithHost = $sync $vms=get-vm |? {$_.name -like $vm}| ?{$_.extensiondata.config.tools.synctimewithhost -like !$sync} $vms|select -expand name $vms|%{$_.extensiondata.reconfigvm_task($spec)}
Download SetTimeSync.ps1 (ZIP) SetTimeSync
Achtung! Verwendung auf eigene Gefahr! Das Skript verändert den Zustand der Zeitsynchronisation mit dem Host ohne weitere Nachfrage.
Beispiel:
./settimesync.ps1 -vm VDI-W7* -sync $true
Der Aufruf sucht alle VMs, deren Name mit VDI-W7 beginnt und deren Timesync derzeit nicht gesetzt ist. Der Status wird invertiert. Also aus false wird true oder umgekehrt.