Como criar automaticamente uma VM do Hyper-V e instalar um aplicativo usando o PowerShell

2

Eu estou projetando uma infraestrutura de teste para um aplicativo WPF. Eu quero um sistema que irá criar uma máquina virtual quando um novo MSI aparece em uma pasta e instalar o MSI na VM recém-criada. Eu estou usando o Hyper-V e PowerShell. A pasta assistindo e kickoff é tudo que eu posso fazer, mas é o aspecto do Hyper-V onde estou preso. Eu tenho uma VM que eu quero usar como base, mas não sei para onde ir a partir daqui.

É melhor exportar a VM e, em seguida, ter o script PS Import / Copy the VM? É melhor "copiar" a VM diretamente? Devem os checkpoints entrar em jogo? Existe uma abordagem melhor?

Se alguém tiver um link para um recurso que fala sobre a configuração automática de VM / App usando PS, isso seria incrível. Eu sou um desenvolvedor e, por isso, não conheço lugares para coisas como essa.

Obrigado Erick

    
por Erick T 24.02.2014 / 07:24

1 resposta

1

I have a VM that I want to use as the base, but I don't know where to go from here.

A "resposta certa" é usar Modelos de máquinas virtuais no SCCVM , embora julgue tom da sua pergunta eu estou supondo que você não tem SCCVM.

O que você pode fazer, embora leve substancialmente mais tempo, é criar uma VM de imagem mestre, sysprep e, em seguida, use o VHD resultante para suas máquinas virtuais subseqüentes.

Supondo que você já tenha feito o backup de sua imagem mestra (antes e depois do sysprep), você pode fazer algo simples como este:

Copy-Item C:\Hyper-V\MasterImage\MasterImage_CDrive.vhdx C:\Hyper-V\$SpawnVM\$SpawnVM.vhdx
New-VM $SpawnVM -Path "C:\Hyper-V"
Add-VMDisk -VM $SpawnVM -ControllerId 0 -Lun 0 -Path "C:\Hyper-V\$SpawnVM\$SpawnVM.vhdx"


Esse snippet do PowerShell deve copiar o VHD de sua imagem mestra, criar uma nova VM e, em seguida, anexá-la. Provavelmente, há muito mais do que você deseja fazer, então vou direcionar você para Cmdlets do Hyper-V em Windows PowerShell , que é bastante perigoso em destaque no Windows 8.1 / Windows Server 2012 R2. Se você tiver perguntas específicas mais tarde, sinta-se à vontade para trazê-las de volta.


Should checkpoints come into play?

Talvez. Você pode criar uma nova máquina virtual a partir de pontos de verificação existentes exportando uma VM de um ponto de verificação (acredito que isso mescla o disco diferencial e o disco pai para que você não salve a qualquer momento). Os pontos de verificação devem ser reservados para restaurações pontuais no tempo :

Checkpoints are intended to provide a temporary backup when you need to restore a virtual machine to a previous state after a change, such as a system or application update. However, you should not use checkpoints for the permanent backup of the operating system, applications, or files.



I'm a developer, and so I don't know the go to places for things like this.

Por favor, não leve a mal, mas se você estiver fazendo algo sério com este processo, converse com sua equipe de administração de sistemas ou contrate alguém no local ou um contratado que tenha a experiência relevante. Um pequeno livro poderia ser escrito em cada um desses tópicos. Pode ser bom para você hackear algum PowerShell para automatizar algum desenvolvimento ou teste de VMs, mas isso não parece ser uma boa maneira de começar a descer para coisas sérias de produção. Apenas uma palavra de cautela ... certifique-se de que o seu DevOps não é todo Dev e nenhum Ops.

Espero que isso comece você. Se você estiver fazendo isso com alguma regularidade e volume em um ambiente de Produção, deverá fornecer O System Center 2012 R2 Virtual Machine Manager e o System Center 2012 R2 Orchestrator têm uma aparência séria. p>     

por 25.02.2014 / 19:14