从 VMware CLI 修改虚拟机属性

Mik*_*eyB 6 vmware-vcenter vmware-vsphere

必须有一种方法来做到这一点,我错过了。我正在尝试从 CLI 中同时修改一大堆虚拟机的属性:

看!24 个虚拟机:

$ vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 -l
/vmfs/volumes/volumes/V-RHEL-01/V-RHEL-01.vmx
/vmfs/volumes/volumes/V-RHEL-02/V-RHEL-02.vmx
/vmfs/volumes/volumes/V-RHEL-03/V-RHEL-03.vmx
…
/vmfs/volumes/volumes/V-RHEL-24/V-RHEL-24.vmx
Run Code Online (Sandbox Code Playgroud)

让我们尝试修改它们:

$ for i in `seq -w 1 24`; do
  CFG="/vmfs/volumes/volumes/V-RHEL-$i/V-RHEL-$i.vmx"
  echo $CFG
  vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo memsize 8192
  vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo sched.mem.min 2048
done
Run Code Online (Sandbox Code Playgroud)

结果是:

/vmfs/volumes/volumes/V-RHEL-01/V-RHEL-01.vmx
No virtual machine found.
No virtual machine found.
/vmfs/volumes/volumes/V-RHEL-02/V-RHEL-02.vmx
No virtual machine found.
No virtual machine found.
/vmfs/volumes/volumes/V-RHEL-03/V-RHEL-03.vmx
No virtual machine found.
No virtual machine found.
…
Run Code Online (Sandbox Code Playgroud)

我正在运行 VMware-vSphere-CLI-5.1.0-780721 和 ESXi 5.1。

Mik*_*eyB 4

显然,当该工具显示配置时,它使用旧的路径样式格式。但是当它接受它们时,它会使用数据存储引用:

\n\n
$ for i in `seq -w 1 24`; do\n    CFG="[nfshost1-data] V-RHEL-$i/V-RHEL-$i.vmx"\n    echo $CFG\n    vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo memsize 8192\n    vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo sched.mem.min 2048\n  done\n\n[nfshost1-data] V-RHEL-01/V-RHEL-01.vmx\nsetguestinfo(memsize 8192) = 1\nsetguestinfo(sched.mem.min 2048) = 1\n\xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

但这实际上并不有效!看似做出了改变,但实际上并没有改变任何东西!

\n