Назад | Перейти на главную страницу

Изменение атрибутов виртуальной машины из VMware 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.

Очевидно, когда инструмент 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
…

Не то чтобы это действительно работало! Кажется, что он вносит изменения, но на самом деле ничего не меняет!