必须有一种方法来做到这一点,我错过了。 我试图从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
我们尝试修改它们:
$ 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
结果是:
/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. …
我正在运行VMware-vSphere-CLI-5.1.0-780721和ESXi 5.1。
显然,当工具DISPLAYSconfiguration时,它使用旧的path样式格式。 但是当它接受它时,它使用数据存储引用:
$ for i in `seq -w 1 24`; do CFG="[nfshost1-data] 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 [nfshost1-data] V-RHEL-01/V-RHEL-01.vmx setguestinfo(memsize 8192) = 1 setguestinfo(sched.mem.min 2048) = 1 …
不是说这个实际上有效! 它似乎做了改变,但实际上并没有改变任何东西!