强制禁止虚拟机和esxi同步时间

即使在虚拟机guest os vmwaretools命令行中关闭了时间同步,当重启guestos或vmtools服务时,虚拟机仍会跟esxi同步,要彻底禁止虚拟机和esxi同步,还需在该虚拟机vmx文件中添加以下代码:

1
2
3
4
5
6
7
8
tools.syncTime = "0"
time.synchronize.continue "0"
time.synchronize.restore = "0"
time.synchronize.resume.disk = "0"
time.synchronize.shrink = "0"
time.synchronize.tools.startup = "0"
time.synchronize.tools.enable = "0"
time.synchronize.resume.host = "0"


也可通过powercli编写脚本文件批量执行:

1
2
3
4
5
6
 $vm get-view (get-vm test-time).Id       #虚机名为test-time
 $vmConfigSpec New-Object VMware.Vim.VirtualMachineConfigSpec
 $vmConfigSpec.extraconfig = New-Object VMware.Vim.optionvalue
 $vmConfigSpec.extraconfig[0].Key="time.synchronize.continue"  #键名
 $vmConfigSpec.extraconfig[0].Value="0"             #键值  
 $vm.ReconfigVM($vmConfigSpec)

#执行脚本后,会创建time.synchronize.continue键值,并且值为0,但是这个脚本有个缺点,就是每添加一个键值都需要重新运行一次新的脚本。

以下脚本可以一次运行,添加所有键值:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 $spec New-Object VMware.Vim.VirtualMachineConfigSpec
 $spec.extraConfig = New-Object VMware.Vim.OptionValue[] (8)
 $spec.extraConfig[0] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[0].Key="tools.syncTime"
 $spec.extraConfig[0].Value="0"
 $spec.extraConfig[1] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[1].Key="time.synchronize.continue"
 $spec.extraConfig[1].Value="0"
 $spec.extraConfig[2] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[2].Key="time.synchronize.restore"
 $spec.extraConfig[2].Value="0"
 $spec.extraConfig[3] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[3].Key="time.synchronize.resume.disk"
 $spec.extraConfig[3].Value="0"
 $spec.extraConfig[4] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[4].Key="time.synchronize.shrink"
 $spec.extraConfig[4].Value="0"
 $spec.extraConfig[5] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[5].Key="time.synchronize.tools.startup"
 $spec.extraConfig[5].Value="0"
 $spec.extraConfig[6] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[6].Key="time.synchronize.tools.enable"
 $spec.extraConfig[6].Value="0"
 $spec.extraConfig[7] = New-Object VMware.Vim.optionvalue
 $spec.extraConfig[7].Key="time.synchronize.resume.host"
 $spec.extraConfig[7].Value="0"
 $_this get-view (get-vm test).Id
 $_this.ReconfigVM_Task($spec)

get-vm test是选择test这个VM做为对象,如果想对所有关机的VM进行修改,可以把()里的内容替换成如下两种代码的任意一种:

1
2
 get-vm where-object {$_.powerstate -eq "poweredoff"}  
 get-vm | ? {$_.PowerState -like "poweredoff"}









本文转自 qq8658868 51CTO博客,原文链接:http://blog.51cto.com/hujizhou/1979336,如需转载请自行联系原作者
上一篇:Django运维后台的搭建之二:建立template和对应的ModelForm


下一篇:积分商城App积分商城小程序开发