即使在虚拟机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,如需转载请自行联系原作者