修改虚拟机内存CPU热添加,在PowerCLI的层面,逻辑大概是这样的:
1.创建一个配置文件对象
2.追加mem.hotadd=true,和vcpu.hotadd=true的参数到配置文件对象里
3.保存并更新配置文件对象到目标虚拟机
代码如下:
#vmlist.txt的格式为需要批量修改热添加的虚拟机名,一行一个,不需要加字段名 $vmlist = get-content vmlist.txt # 读取文件 foreach($vm in $vmlist) { # 循环遍历虚机列表 $vmview = get-vm $vm | get-view # 获取vm并得到view对象 $vmConfigSpec = new-object VMware.Vim.VirtualMachineconfigSpec # 创建一个配置对象 $extra = new-object VMware.Vim.OptionValue # 创建一个配置 $extra.key = "mem.hotadd" # 内存热添加的配置名 $extra.value = "true" #内存热添加的参数 $vmConfigSpec.ExtraConfig += $extra #追加到配置文件对象里 $extra2 = new-object VMware.Vim.OptionValue # 创建另一个配置 $extra2.key = "vcpu.hotadd" # CPU热添加的配置名 $extra2.value = "true" # CPU热添加的参数 $vmConfigSpec.ExtraConfig += $extra2 #追加到配置文件对象里 $vmview.reconfigvm($vmConfigSpec) # 保存并更新配置对象 }
注意事项:
修改热添加,需要关机。一般用在做模板的时候。