Gerir VMs em Azure Stack HCI usando Windows PowerShell

Aplica-se a: Azure Stack HCI, versões 21H2 e 20H2; Windows Server 2022, Windows Server 2019

Windows PowerShell podem ser usadas para criar e gerir as suas máquinas virtuais (VMs) no Azure Stack HCI.

Normalmente, gere VMs a partir de um computador remoto, em vez de num servidor anfitrião num cluster. Este computador remoto chama-se computador de gestão.

Nota

Ao executar os comandos PowerShell a partir de um computador de gestão, inclua o parâmetro -ComputerName com o nome do servidor anfitrião que está a gerir. São permitidos nomes netbios, endereços IP e nomes de domínio totalmente qualificados.

Para obter a documentação completa de referência para a gestão de VMs utilizando o PowerShell, consulte a referência Hyper-V.

Criar uma VM

O New-VM cmdlet é usado para criar um novo VM. Para uma utilização detalhada, consulte a documentação de referência New-VM.

Aqui estão as definições que pode especificar ao criar um novo VM com um disco rígido virtual existente, onde:

  • - O nome é o nome que fornece para a máquina virtual que está a criar.

  • -MemoryStartupBytes é a quantidade de memória que está disponível para a máquina virtual no arranque.

  • -BootDevice é o dispositivo a que a máquina virtual arranca quando começa. Normalmente, trata-se de um disco rígido virtual (VHD), um ficheiro .iso para a bota baseada em DVD ou um adaptador de rede (NetworkAdapter) para arranque de rede.

  • -VHDPath é o caminho para o disco de máquina virtual que pretende utilizar.

  • -O caminho é o caminho para armazenar os ficheiros de configuração da máquina virtual.

  • - A geração é a geração virtual de máquinas. Utilize a geração 1 para VHD e a geração 2 para VHDX.

  • -O Switch é o nome do interruptor virtual que pretende que a máquina virtual utilize para ligar a outras máquinas virtuais ou à rede. Obtenha o nome do interruptor virtual utilizando o Get-VMSwitch. Por exemplo:

O comando completo da seguinte forma para a criação de um VM chamado VM1:

New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes <Memory> -BootDevice <BootDevice> -VHDPath <VHDPath> -Path <Path> -Generation <Generation> -Switch <SwitchName>

O próximo exemplo cria uma máquina virtual Geração 2 com 4GB de memória. É botas da pasta VMs\Win10.vhdx no diretório atual e utiliza o interruptor virtual chamado ExternalSwitch. Os ficheiros de configuração da máquina virtual são armazenados na pasta VMData.

New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath .\VMs\Win10.vhdx -Path .\VMData -Generation 2 -Switch ExternalSwitch

Os seguintes parâmetros são usados para especificar discos rígidos virtuais.

Para criar uma máquina virtual com um novo disco rígido virtual, substitua o parâmetro -VHDPath do exemplo acima com -NewVHDPath e adicione o parâmetro -NewVHDSizeBytes como mostrado aqui:

New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath .\VMs\Win10.vhdx -Path .\VMData -NewVHDSizeBytes 20GB -Generation 2 -Switch ExternalSwitch  

Para criar uma máquina virtual com um novo disco virtual que se ligue a uma imagem do sistema operativo, consulte o exemplo PowerShell em Criar uma máquina virtual que passa por Hyper-V em Windows 10.

Obtenha uma lista de VMs

O exemplo a seguir devolve uma lista de todos os VMs no Server1.

Get-VM -ComputerName Server1

O exemplo a seguir devolve uma lista de todos os VMs em execução num servidor adicionando um filtro utilizando o Where-Object comando. Para obter mais informações, consulte utilizando a documentação "Onde Objeto".

Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Running"

O próximo exemplo devolve uma lista de todos os VMs desligados no servidor.

Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Off"

Iniciar e parar um VM

Utilize os Start-VM comandos e Stop-VM comandos para iniciar ou parar um VM. Para obter informações detalhadas, consulte a documentação de referência Start-VM e Stop-VM.

O exemplo a seguir mostra como iniciar um VM chamado VM1:

Start-VM -Name VM1 -ComputerName Server1

O exemplo a seguir mostra como desligar um VM chamado TestVM:

Stop-VM -Name VM1 -ComputerName Server1

Mover uma VM

O Move-VM cmdlet move um VM para um servidor diferente. Para mais informações, consulte a documentação de referência move-VM.

O exemplo a seguir mostra como mover um VM para o Server2 quando o VM é armazenado numa partilha SMB no Server1:

Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2

O exemplo a seguir mostra como mover um VM para o Server2 do Server1 e mover todos os ficheiros associados ao VM para D:\VM_name no computador remoto:

Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2 -IncludeStorage -DestinationStoragePath D:\VM_name

Importar ou exportar um VM

Os Import-VMExport-VM cmdlets importam e exportam um VM. O que se segue mostra alguns exemplos. Para obter mais informações, consulte a documentação de referência Import-VM e Export-VM.

O exemplo a seguir mostra como importar um VM do seu ficheiro de configuração. O VM está registado no local, pelo que os seus ficheiros não são copiados:

Import-VM -ComputerName Server1 -Name VM1 -Path 'C:\<vm export path>\2B91FEB3-F1E0-4FFF-B8BE-29CED892A95A.vmcx'

O exemplo a seguir exporta um VM para a raiz da unidade D:

Export-VM -ComputerName Server1 -Name VM1 -Path D:\

Mudar o nome de um VM

O Rename-VM cmdlet é usado para renomear um VM. Para obter informações detalhadas, consulte a documentação de referência do Recodado-VM.

O exemplo a seguir renomea VM1 para VM2 e exibe a máquina virtual renomeada:

Rename-VM -ComputerName Server1 -Name VM1 -NewName VM2

Criar um ponto de verificação VM

O Checkpoint-VM cmdlet é utilizado para criar um ponto de verificação para um VM. Para obter informações detalhadas, consulte a documentação de referência Checkpoint-VM.

O exemplo a seguir cria um ponto de verificação denominado Pré-instalação Dedates para o Teste de VM nomeado.

Checkpoint-VM -ComputerName Server1 -Name VM1 -SnapshotName BeforeInstallingUpdates

Criar um VHD para um VM

O New-VHD cmdlet é usado para criar um novo VHD para um VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência New-VHD.

O exemplo a seguir cria um disco rígido virtual dinâmico no formato VHDX que tem 10 GB de tamanho. A extensão do nome do ficheiro determina o formato e o tipo de dinâmica predefinido é utilizado porque nenhum tipo é especificado.

Get-ClusterGroup

Adicione um adaptador de rede a um VM

O Add-VMNetworkAdapter cmdlet é utilizado para adicionar um adaptador de rede virtual a um VM. O que se segue mostra alguns exemplos. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência add-VMNetworkAdapter.

O exemplo a seguir adiciona um adaptador de rede virtual chamado Redmond NIC1 a uma máquina virtual chamada VM1:

Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -Name "Redmond NIC1"

Este exemplo adiciona um adaptador de rede virtual a uma máquina virtual chamada VM1 e liga-o a um interruptor virtual chamado Rede:

Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -SwitchName Network

Criar um interruptor virtual para um VM

O New-VMSwitch cmdlet é utilizado para um novo interruptor virtual num hospedeiro VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência New-VMSwitch.

O exemplo a seguir cria um novo interruptor chamado "Interruptor QoS", que se liga a um adaptador de rede chamado Wired Ethernet Connection 3 e suporta a largura de banda mínima baseada no peso.

New-VMSwitch "QoS Switch" -NetAdapterName "Wired Ethernet Connection 3" -MinimumBandwidthMode Weight

Definir a memória para um VM

O Set-VMMemory cmdlet é utilizado para configurar a memória de um VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência Set-VMMemory.

O exemplo a seguir permite a memória dinâmica num VM chamado VM1, define o seu mínimo, arranque e memória máxima, a sua prioridade de memória e o seu tampão.

Set-VMMemory -ComputerName Server1 -Name VM1 -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25

Definir processadores virtuais para um VM

O Set-VMProcessor cmdlet é utilizado para configurar os processadores virtuais para um VM. Para obter informações detalhadas sobre como usá-lo, consulte a documentação de referência do Set-VMProcessor.

O exemplo a seguir configura um VM com o nome VM1 com dois processadores virtuais, uma reserva de 10%, um limite de 75%, e um peso relativo de 200.

Set-VMProcessor -ComputerName Server1 -Name VM1 -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200

Remover um VM

Para remover ou eliminar um VM e os seus recursos, primeiro encontre-os usando o seguinte cmdlet:

Get-ClusterGroup

Em seguida, executar o seguinte cmdlet para cada VM que deseja remover do cluster:

Remove-ClusterGroup -RemoveResources -Name VM1

Passos seguintes

Também pode criar e gerir VMs usando Windows Centro de Administração. Para mais informações, consulte Windows Centro de Administração.