Como criar uma VM do Hyper-V Server com o PowerShell

Partilhar

Aprenda neste artigo como criar uma VM do Hyper-V Server com o PowerShell de maneira fácil, rápida e conveniente.

O deploy de novos servidores ou a criação de máquinas virtuais (a partir daqui VM) pode ser um trabalho muito chato, principalmente quando é preciso implementar muitos servidores com o mesmo perfil ou com perfis semelhantes.

Por esta razão, ao longo deste pequeno artigo iremos falar sobre como podemos utilizar a interface da Microsoft, ou seja, o PowerShell, para implementar VMs à base de comandos, com a vantagem de podermos reutilizar estes comandos para gerar scripts que permitem para automatizar implementações de VMs.

 

Como criar uma VM do Hyper-V Server com o PowerShell

Comandos básicos para criar VMs no Hyper-V Server:

O PowerShell possui muitos comandos que permitem trabalhar com inúmeros processos e serviços e, como não poderia deixar de ser, também possui comandos para gerir o Hyper-V e as suas máquinas virtuais, o que deveria ser óbvio, tendo em conta o nome deste artigo.

NOTA: Nas conclusões encontrará outros artigos onde falamos sobre o Hyper-V e o PowerShell.

Neste caso, como estamos a falar da criação de VMs do Hyper-V com PowerShell, temos de usar o comando “New-VM”, que é o comando adequado para esta tarefa e eixo central deste artigo gira e do deploy de VMs.

Este comando tem uma sintaxe bastante rica e dá-nos muitas opções:

New-VM
[[-Name] <String>]
[[-MemoryStartupBytes] <Int64>]
[-BootDevice <BootDevice>]
[-SwitchName <String>]
-NewVHDPath <String>
-NewVHDSizeBytes <UInt64>
[-Path <String>]
[-Version <Version>]
[-Prerelease]
[-Experimental]
[[-Generation] <Int16>]
[-Force]
[-AsJob]
[-CimSession <CimSession[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]

Neste caso vamos ver apenas alguns destes e experimentar com alguns exemplos.

Além disso, embora isto seja discutido noutro artigo, é importante sabermos que podemos atualizar a ajuda do PowerShell com o comando “Update-Help” e que podemos usar a ajuda de cada comando do PowerShell com “Get-Help” <PowerShell_Command>”.

Imagem. Atualização da secção de ajuda do PowerShell com o comando Update-Help.
Imagem. Atualização da secção de ajuda do PowerShell com o comando Update-Help.

 

Primeiros passos da criação de VMs do Hyper-V Server no PowerShell:

Como em tudo na vida, devemos começar pelas coisas simples: vamos criar uma VM simples e depois adicionamos complexidade em sucessivas implementações.

Para começar, vamos ver como criar uma máquina virtual apenas com um nome e uma memória RAM inicial.

# New-VM -Name “<Nome>” -MemoryStartupBytes <Memória_RAM>

Onde:

  • <Nome>: Aqui inserimos o nome da nossa VM.
  • <Memória_RAM>: Deve ser alterado para o tamanho que queremos que a memória principal (RAM) tenha no arranque. Pode ser expresso em Bytes, KB, MB, GB, mas sugerimos fazê-lo em GB para evitar complicações.

Este é um exemplo:

# New-VM -Name “VMPruebas1” -MemoryStartupBytes 1GB

Imagem. Exemplo de comandos do PowerShell para uma implementação relativamente simples de uma VM no Hyper-V Server.
Imagem. Exemplo de comandos do PowerShell para uma implementação relativamente simples de uma VM no Hyper-V Server.

NOTA: É importante colocar sempre nomes, que estes sejam bem pensados ​​e que não sejam trocados constantemente, pois além de servirem para identificar as VMs, também servem para gerar nomes de VHD, etc.

Realmente, esta VM não arrancou nem foi instalada, nem foi preciso fazer nada com os discos, a rede, etc. Mas pode ser interessante usar estes comandos para poder implementar máquinas virtuais de forma massiva para serem instaladas posteriormente.

Veremos outro caso com mais configurações.

Por exemplo, vamos descrever o nome, o tamanho da RAM e do disco rígido, vamos definir onde se guarda a máquina virtual e o disco rígido virtual (VHD/VHDX). Isso consegue-se com o seguinte comando:

# New-VM -Name “<Nome>” -MemoryStartupBytes <Memória_RAM> -Path <Caminho_VM> -NewVHDPath <Caminho_Disco> -NewVHDSizeBytes <Tamanho_Disco>

Onde:

  • <Nome>: é o nome da VM.
  • <Memória_RAM>: o tamanho da RAM em GB.
  • <Caminho_VM>: o caminho onde será alojada a VM.
  • <Caminho_Disco>: O caminho onde será alojado o disco, normalmente um nível por baixo da VM.
  • <Tamanho_Disco>: O tamanho do disco rígido em GB.

Um exemplo pode ser:

# New-VM -Name “<Nome>” -MemoryStartupBytes <Memória_RAM> -Path <Caminho_VM>  -NewVHDPath ‘c:\vhd\base.vhdx’ -NewVHDSizeBytes 40GB

Imagem. Exemplo de uma linha do PowerShell para criar uma VM.
Imagem. Exemplo de uma linha do PowerShell para criar uma VM.

Depois disto, podemos adicionar outras configurações, como por exemplo:

  • Generation <Número_Geração>: é a geração da VM, que pode ser 1 ou 2.
  • BootDevice <Dispositivo_Arranque>: é o dispositivo onde a VM será inicializada.
  • SwitchName <Nome_Swith_Virtual>: é o dispositivo de rede virtual que usará a VM.
Imagem. Exemplo de uma linha do PowerShell para criar uma VM.
Imagem. Exemplo de uma linha do PowerShell para criar uma VM.

Com isto que vimos aqui e sem necessidade de scripts, já poderíamos concluir a VM. Adicionalmente, com algumas alterações, podemos converter os nossos comandos em scripts para implementação automática, mas isso já são outros quinhentos…

 

Conclusões:

Como vimos neste artigo, “Como criar uma VM do Hyper-V Server com o PowerShell“, usar o código do PowerShell para criar máquinas virtuais é uma forma bastante eficiente de fazer implementações de infraestruturas virtualizadas, especialmente quando é necessário implementar um grande volume de máquinas com a máxima rapidez possível. Este processo ajuda a acelerar significativamente estas tarefas, sendo limitado quase exclusivamente pelo hardware da máquina.

A administração da sua infraestrutura virtualizada através do hipervisor da Microsoft permite-nos uma gestão dupla, com a console e por ambiente gráfico, sendo que é um pouco mais fácil usar a interface gráfica. Este pequeno guia ajuda a arrancar o processo e a superar os primeiros passos, sendo uma boa forma de suavizar a curva de aprendizagem, com a vantagem de poupança de tempo que o PowerShell nos oferece.

Se tem interesse neste tópico e deseja testá-lo no seu computador desktop, pode visitar o tutorial (em inglês) Como instalar o Hyper-V no Windows 10. Também pode consultar o artigo Comandos de PowerShell para gerir máquinas virtuais do Hyper-V para aprender outros comandos de gestão do Hyper-V com o PowerShell. Para aprender a gerir os seus pontos de verificação, veja este artigo: Gestão de pontos de verificação no Hyper-V com PowerShell.

Além disso, pode encontrar aqui outros tutoriais e artigos relacionados com o Hyper-V.

Obrigado por acompanhar-nos!

Categorias:Cloud e sistemas

Outros artigos que podem interessar-lhe

21 de Fevereiro de 2024
Como empresa de software, é possível que tenha sentido atração pela reputação, variedade de serviços e solidez de algum
21 de Fevereiro de 2024
Para muitas empresas de software, ter uma infraestrutura própria significa independência e controlo, bem como uma potencial fonte de
21 de Fevereiro de 2024
Para um ISV, escolher o fornecedor de serviços cloud ideal é uma decisão crucial que pode impactar a satisfação