Если у вас много виртуальных машин на 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 :
Вместо ИмяСервера ставим ИП или имя хоста сервера с нашим vServer, ясное дело. Также можно указать логин и пароль, типа как тут:
Connect-VIServer -Server 192.168.1.3 -Protocol https -User administrator -Password xxx
У меня же всё работало на локальной машине, потому прокатило просто localhost
Далее создаем 2 батника, которые будут вызывать павер шелл, в него пихать powerCLI, а в powerCLI уже наш скрипт - о как :)
1й - addsnapshots.bat :
%SystemRoot%\system32\windowspowershell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command "c:\scripts\addsnapshots.ps1"
2й - removesnapshots.bat :
%SystemRoot%\system32\windowspowershell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command "c:\scripts\removesnapshots.ps1"
Только проверьте пути! У вас они могут отличаться - к павер шеллу, к примочке и к скрипту.
Теперь добавляем батники в планировщик (например, добавление снапшотов - раз в день, а удаление - раз в неделю).
Всё :)
Затем качаем саму примочку - 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%\system32\windowspowershell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command "c:\scripts\addsnapshots.ps1"
2й - removesnapshots.bat :
%SystemRoot%\system32\windowspowershell\v1.0\powershell.exe -psc "C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command "c:\scripts\removesnapshots.ps1"
Только проверьте пути! У вас они могут отличаться - к павер шеллу, к примочке и к скрипту.
Теперь добавляем батники в планировщик (например, добавление снапшотов - раз в день, а удаление - раз в неделю).
Всё :)
Комментариев нет:
Отправить комментарий