Автоматизация управления Snapshot'ами в VMWare vServer, vCenter

Если у вас много виртуальных машин на vServer’e, то создание новых снапшотов и удаление устаревших может стать очень рутинным занятием. Есть тулза, которая ставится вместе с сервером – VMware vCenter Orchestrator. Но её очень напряжно настраивать – для неё нужно настроить MSSQL Server, LDAP/AD и еще много чего) я запнулся на LDAP, т. к. структуры АД не было в той сети, в которой был сервер, а ADAM как-то странно себя вел на том сервере. И я нашел альтернативу 🙂  – примочку к Power Shell. Работало у меня всё под Windows Server 2003, а там нет по умолчанию павер шелла – выкачиваем его отсюда: http://support.microsoft.com/kb/968930/en-us

Затем качаем саму примочку – Power CLI: http://communities.vmware.com/community/vmtn/server/vsphere/automationtools/powercli


По умолчанию в Windows 2003 не разрешено выполнять скрипты PowerShell в соответствии с политиками выполнения сценариев (Execution Policy). Чтобы разрешить это, запустим консоль PowerShell и напечатаем:

Set-ExecutionPolicy RemoteSigned

Теперь можем пользоваться новой примочкой, запустив ее из меню Пуск/Программы.

Ознакомиться с тем, какие команды она воспринимает, можно из гугла, нас сейчас интересует написание скриптов, которые будут автоматом создавать и удалять снапшоты. Для этого создаем 2 текстовых файла, редактируем и переименовываем потом.

1й – addsnapshots.ps1 :

Connect-VIServer ИмяСервера
get-vm | new-snapshot -name “AutoSnapshot”



2й – removesnapshots.ps1 :

Connect-VIServer ИмяСервера
get-vm | get-snapshot | 
Where { $_.Created -lt (Get-Date).AddDays(7)| remove-snapshot -confirm:$false

Вместо ИмяСервера ставим ИП или имя хоста сервера с нашим vServer, ясное дело. Также можно указать логин и пароль, типа как тут:

Connect-VIServer -Server 192.168.1.3 -Protocol https -User administrator -Password xxx

У меня же всё работало на локальной машине, потому прокатило просто localhost

Далее создаем 2 батника, которые будут вызывать павер шелл, в него пихать powerCLI, а в powerCLI уже наш скрипт – о как 🙂

1й – addsnapshots.bat :

%SystemRoot%system32windowspowershellv1.0powershell.exe -psc “C:Program FilesVMwareInfrastructurevSphere PowerCLIvim.psc1” -command “c:scriptsaddsnapshots.ps1”


2й – removesnapshots.bat :

%SystemRoot%system32windowspowershellv1.0powershell.exe -psc “C:Program FilesVMwareInfrastructurevSphere PowerCLIvim.psc1” -command “c:scriptsremovesnapshots.ps1”

Только проверьте пути! У вас они могут отличаться – к павер шеллу, к примочке и к скрипту.

Теперь добавляем батники в планировщик (например, добавление снапшотов – раз в день, а удаление –
раз в неделю).

Всё 🙂

http://geckich.blogspot.com/

Leave a Reply

Your email address will not be published. Required fields are marked *