Должен быть способ сделать это, которого мне не хватает. Я пытаюсь изменить атрибуты на нескольких виртуальных машинах одновременно из интерфейса командной строки:
Смотри! 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.
Очевидно, когда инструмент DISPLAYS конфигурируется, он использует старый формат стиля пути. Но когда он их принимает, он использует ссылку на хранилище данных:
$ 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
…
Не то чтобы это действительно работало! Кажется, что он вносит изменения, но на самом деле ничего не меняет!