Последнее время я почти полностью перешел на Hyper-V, основной причиной стало то что свежая бесплатная версия ESXi не имеет возможностей для автоматизации работы с виртуальными машинами.
Для меня же возможность из скрипта запустить\выключить\откатить машину очень важна, т.к. это активно используется в тестах.
А вот у Hyper-V c автоматизацией все великолепно, используя вот эту библиотеку можно с легкостью писать скрипты на PowerShell
Вот например откат машины к последнему снэпшоту:
import-module hyperV
Get-VMSnapshot -VM LABNAME -Server HOSTNAME -newest | Restore-VMsnapshot -Force -Restart
Но столкнулся я с тем что при перемещении виртуальных машин между хостами, например с целью оптимизации, мне приходилось лезть в скрипты и менять там имя хоста.
Все мои виртуальные машины имеют уникальные имена и у меня родилась идея сделать так, чтобы скрипт сам находил нужный хост.
Вот что из этого вышло:
PARAM ($vmName)
import-module hyperV
$serverslist = ( 'hostname1','hostname2','hostname3')
$serverslist | % { Get-VM -Server $_} | ? {$_.ElementName.ToUpper() -eq $vmName.ToUpper()} | Get-VMSnapshot -newest | Restore-VMsnapshot -Force -Restart
Очень удобно. Рекомендую!
2 комментария:
PowerCLI?
http://www.vsphere.ru/2011/09/vmware-esxi-5-powercli-poster/
Он же для free ESXi не работает.
Отправка комментария