![]() |
Задача c клонированием VM.
Приветствую друзья!
Собственно в создании скриптов я полный ноль, посему без вашей помощи никак. Задача следующая: Есть VM на HyperV назовем ее BOSS_MAIN Так же есть еще две VM BOSS_1 and BOSS_2 Необходимо написать скрипт, при запуске которого будут останавливаться и удаляться BOSS_1 и BOSS_2, далее делать копию с VM BOSS_MAIN и заново создавать с нее BOSS_1 BOSS_2 Вопрос следующий можно ли просто скопировать BOSS_MAIN и создать две VM, либо надо сначала экспортировать BOSS_MAIN потом создать две голые VM и только потом импортировать на них экспорт BOSS_MAIN? Собственно нашел у вас следующий скрипт и немного подредактировал, чтобы сразу создавались VM без запроса параметров и перед созданием остановил, удалил BOSS_1 BOSS_2 и сделал экспорт BOSS_MAIN: Stop-VM -vm BOSS_1 Remove-VM -vm BOSS_1 Stop-VM -vm BOSS_2 Remove-VM -vm BOSS_2 export-vm -vm BOSS_MAIN -path D:\backups\VM -copystate -wait -force # Variables $SRV1 = "BOSS_1" $SRAM = 512MB $SRV1VHD =40GB $VMLOC = C:\HyperV $Network1 = "Network1" # Configure Hyper-V Virtual Network remove-vmswitch $Network1 -force -erroractionsilentlycontinue new-vmprivateswitch $Network1 # Create Virtual Machines MD $VMLoc -erroractionsilentlycontinue new-vm $SRV1 -path $VMLoc new-vhd -vhdpaths $VMLoc\$SRV1 -size $SRV1VHD add-vmdisk -vm $SRV1 -controllerid 0 -lun 0 -path $VMLoc\$SRV1 get-vm $SRV1 | add-vmdrive -controllerid 1 -lun 0 -dvd get-vm $SRV1 | set-vmmemory -memory $SRAM get-vm $SRV1 | add-vmnic -virtualswitch $Network1 $SRV1 = "BOSS_2" $SRAM = 512MB $SRV1VHD =40GB $VMLOC = C:\HyperV2 $Network1 = "Network2" # Configure Hyper-V Virtual Network remove-vmswitch $Network2 -force -erroractionsilentlycontinue new-vmprivateswitch $Network2 # Create Virtual Machines MD $VMLoc -erroractionsilentlycontinue new-vm $SRV2 -path $VMLoc new-vhd -vhdpaths $VMLoc\$SRV2 -size $SRV1VHD add-vmdisk -vm $SRV1 -controllerid 0 -lun 0 -path $VMLoc\$SRV1 get-vm $SRV2 | add-vmdrive -controllerid 1 -lun 0 -dvd get-vm $SRV2 | set-vmmemory -memory $SRAM get-vm $SRV2 | add-vmnic -virtualswitch $Network2 #Дальше, как мне сделать обратный импорт BOSS_MAIN на эти две виртуалки? предположу, что так: Import-VM -vm BOSS_1 -path D:\backups\VM -copystate -wait -force Import-VM -vm BOSS_2 -path D:\backups\VM -copystate -wait -force #Я же правильно понимаю, что при импорте, я так же, как и при экспорте указываю ту же директорию, или же я должен указать директорию новых VM? |
Немного поправил скрипт:
Код:
Stop-VM -vm BOSS_1 И еще такой вопрос при остановке и удалении VM он меня спрашивает, точно ли я хочу провести это действие, можно ли как то это обойти, чтобы он сразу останавливал и удалял их без запроса? Еще вопрос: после того, как он создает заново VM BOSS_1 BOSS_2 , то начинает ругаться при создании VHD мол, что уже такой жесткий существует, это что получается, при удалении VM VHD не удаляется? это надо отдельно прописать, чтобы VHD удалялось после удаления VM? |
Если делаю команду на импорт такой :
Код:
Import-VM -vm BOSS_1 -path 'F:\VM\export\BOSS_MAIN\export\BOSS_MAIN\Virtual Machines\37057F64-D1E1-48FD-80B6-1B28ED948AB2.exp' –Copy -GenerateNewId[/b] |
Mishanya3624, код на форуме оформляется тэгом [code].
|
Поправил, жду теперь помощи.
По поводу: Код:
И еще такой вопрос при остановке и удалении VM он меня спрашивает, точно ли я хочу провести это действие, можно ли как то это обойти, чтобы он сразу останавливал и удалял их без запроса? Код:
Stop-VM -vm BOSS_1 |
Ну что никто, никак, ничем не поможет?
|
При записи строки импорта:
Код:
Import-VM BOSS_1 -path 'F:\VM\export\BOSS_MAIN\export\BOSS_MAIN\Virtual Machines\37057F64-D1E1-48FD-80B6-1B28ED948AB2.exp' Код:
Get-WmiObject : Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA) Что может быть? |
Разговор с самим собой:)))
|
Ну неужели никто не работал с VM через Power shell......
|
не совсем понятно. BOSS_MAIN это работающая машина? или держите как шаблон для BOSS_1 И BOSS_2.
По поводу ошибки Цитата:
не нашел там параметра '-vm' |
BOSS_MAIN это эталон для двух других, то есть после удаления BOSS_1 и BOSS_2 должны создатся опять же они, но в точной копии, как BOSS_MAIN, в каком состоянии она будет все равно, хоть всегда в выключенном.
По ошибке, я уже разобрался ему не нравилось дублирование -vm |
Ну вот попробовал сегодня... и проблем вообще не нашел..
Исходное состояние BOSS_MAIN - Делаем шаблон, делаем экспорт виртуалки в отдельную папку. Удаляем виртуальную машину. далее.. то что ниже. |
То есть получается, что BOSS_MAIN удаляется? А если мне необходимо, чтобы она всегда была, мне надо будет помимо BOSS_1 и BOSS_2 также еще и импортировать ее же в BOSS_MAIN?
Код:
export-vm BOSS_MAIN -path D:\backups\VM -copystate -wait -force |
Попробовал запустить через повер шел это:
Код:
export-vm BOSS_MAIN -path D:\bacupVM -copystate -wait -force Код:
PS D:\> .\ps1 |
Цитата Mishanya3624:
Он ругается так(не понимает команды): » Какая версия Hyper-V и PS. Я пробовал на Windows 8 и Windows Hyper-V Server 2012 R2 Цитата Mishanya3624: То есть получается, что BOSS_MAIN удаляется? А если мне необходимо, чтобы она всегда была, мне надо будет помимо BOSS_1 и BOSS_2 также еще и импортировать ее же в BOSS_MAIN? » А зачем чтобы она была постоянно? Ну можно и постоянно. |
Все из-под WinServer 2008R2
Постоянно, чтобы каждый раз было с чего копировать, то есть на BOSS_MAIN будет стоят настроенная винда, а BOSS_1 BOSS_2 это будут ПК тестестировщиков и вот, когда они убьют ее, то по нажатию кнопки их машины удалятся и создадутся заново с BOSS_MAIN и снова тестить пока опять не убьют систему. |
Цитата:
Цитата:
|
Ок, попробую поднять на виртуалке 2012R2 и там попробовать.
|
Время: 15:33. |
Время: 15:33.
© OSzone.net 2001-