понедельник, 29 декабря 2008 г.

применение API к ESX для автоматизации действий с ВМ

Автоматизация рутинных действий с ВМ:

У VMware существует штука под названием VIX API.
В прикладном смысле это небольшой дистрибутив, после установки которого у нас появляется программа vmrun ( на Windows она лежит в %PROGRAMFILES%\VMware\VMware VIX, на Linux тоже где то лежит).
И с ней мы можем например такое делать:

  1. Вместо открытия VI клиента,
  2. открытия консоли к ВМ,
  3. авторизации,
  4. запуска cmd и выполнения(к примеру)
route add -p 192.168.100.0 mask 255.255.255.0 192.168.15.1 1


мы можем сделать так:
  1. Открыть cmd и сделать
vmrun -T esx -h https://esx/sdk -u cody.bunch -p password -gu guest.user -gp guest.password runProgramInGuest "[datastore] vm/vmx.vmx" c:\windows\system32\route.exe add -p 192.168.100.0 mask 255.255.255.0 192.168.15.1


с тем же эффектом.

Еще один пример:
Копирование файла MSI с рабочего стола внутрь ВМ:
vmrun -T esx -h https://esx.example.com/sdk -u root -p secretpw -gu user -gp userpw copyFileFromHostToGuest "[storage1] Windows/Windows.vmx" "c:\program files\my agent software\agent.msi" c:\agent.msi


Еще примеры и список доступных действий тут - Managing VM guests using vmrun.

2 комментария:

  1. попробовал эту фичу, чтобы закачать 1.5 Гб дистрибутив продукта в ВМ. Примерно 36 кбайт/сек, с сайта микрософт оный дистрибутив скачивался 300-400 кбайт/сек. Похоже намного быстрее "прожечь" ISO под виртуальный DVD.

    ОтветитьУдалить
  2. Вы абсолютно правы, уважаемый аноним: ISO...
    "Эта фича" совсем для другого предназначена.
    Мощное средство автоматизации администрирования.

    ОтветитьУдалить