Condividi tramite


Gestire macchine virtuali su Azure Stack HCI usando Windows PowerShell

Si applica a: Azure Stack HCI, versioni 23H2 e 22H2; Windows Server 2022, Windows Server 2019

Questo articolo descrive come creare e gestire macchine virtuali in Azure Stack HCI usando Windows PowerShell.

Nota

Il modo consigliato per creare e gestire macchine virtuali in Azure Stack HCI versione 23H2 usa il piano di controllo di Azure Arc. Tuttavia, poiché la funzionalità descritta in questo articolo non è ancora fornita da Azure Arc, è possibile usare Windows Admin Center o PowerShell come descritto di seguito. Si noti che le macchine virtuali create in questo modo non sono macchine virtuali abilitate per Arc. Hanno una gestibilità limitata dal piano di controllo di Azure Arc e meno Vantaggio Azure Hybrid, ad esempio nessun uso gratuito di Azure Update Manager.

Informazioni sulla gestione delle macchine virtuali con PowerShell

In genere, le macchine virtuali vengono gestite da un computer remoto, anziché in un server host in un cluster. Questo computer remoto è denominato computer di gestione.

Quando si eseguono comandi di PowerShell da un computer di gestione, includere il -ComputerName parametro con il nome del server host che si sta gestendo. I nomi NetBIOS, gli indirizzi IP e i nomi di dominio completi sono consentiti.

Per la documentazione di riferimento completa sulla gestione delle macchine virtuali con PowerShell, vedere Le informazioni di riferimento su Hyper-V.

Creazione di una macchina virtuale

Il New-VM cmdlet viene usato per creare una nuova macchina virtuale. Per informazioni dettagliate sull'utilizzo, vedere la documentazione di riferimento su New-VM .

Ecco le impostazioni che è possibile specificare quando si crea una nuova macchina virtuale con un disco rigido virtuale esistente, dove:

  • -Nome è il nome specificato per la macchina virtuale che si sta creando.

  • -MemoryStartupBytes è la quantità di memoria disponibile per la macchina virtuale all'avvio.

  • -BootDevice è il dispositivo in cui viene avviata la macchina virtuale. In genere si tratta di un disco rigido virtuale (VHD), di un file .iso per l'avvio basato su DVD o di una scheda di rete (NetworkAdapter) per l'avvio di rete.

  • -VHDPath è il percorso per il disco di macchina virtuale che si desidera utilizzare.

  • -Path è il percorso per archiviare i file di configurazione macchina virtuale.

  • -Generazione è la generazione della macchina virtuale. Utilizzare la generazione 1 per il disco rigido Virtuale e di generazione 2 per VHDX.

  • -SwitchName è il nome del commutatore virtuale che si vuole che la macchina virtuale usi per connettersi ad altre macchine virtuali o alla rete. Ottenere il nome del commutatore virtuale usando Get-VMSwitch. Ad esempio:

Il comando completo come indicato di seguito per la creazione di una macchina virtuale denominata VM1:

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

Nell'esempio seguente viene creata una macchina virtuale di seconda generazione con 4 GB di memoria. Viene avviato dalla cartella VMs\Win10.vhdx nella directory corrente e il commutatore virtuale denominato ExternalSwitch. Nella cartella VMData sono archiviati i file di configurazione macchina virtuale.

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

I parametri seguenti vengono usati per specificare i dischi rigidi virtuali.

Per creare una macchina virtuale con un nuovo disco rigido virtuale, sostituire il parametro -VHDPath dell'esempio precedente con -NewVHDPath e aggiungere il parametro -NewVHDSizeBytes, come illustrato di seguito:

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

Per creare una macchina virtuale con un nuovo disco virtuale che viene avviato in un'immagine del sistema operativo, vedere l'esempio di PowerShell nella procedura dettagliata Creare una macchina virtuale per Hyper-V in Windows 10.

Ottenere un elenco di macchine virtuali

Nell'esempio seguente viene restituito un elenco di tutte le macchine virtuali in Server1.

Get-VM -ComputerName Server1

Nell'esempio seguente viene restituito un elenco di tutte le macchine virtuali in esecuzione in un server aggiungendo un filtro usando il Where-Object comando . Per altre informazioni, vedere Uso della documentazione di Where-Object .

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

Nell'esempio seguente viene restituito un elenco di tutte le macchine virtuali di arresto nel server.

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

Avviare e arrestare una macchina virtuale

Usare i Start-VM comandi e Stop-VM per avviare o arrestare una macchina virtuale. Per informazioni dettagliate, vedere la documentazione di riferimento relativa all'avvio della macchina virtuale e all'arresto della macchina virtuale.

L'esempio seguente illustra come avviare una macchina virtuale denominata VM1:

Start-VM -Name VM1 -ComputerName Server1

L'esempio seguente illustra come arrestare una macchina virtuale denominata TestVM:

Stop-VM -Name VM1 -ComputerName Server1

Spostare una macchina virtuale

Il Move-VM cmdlet sposta una macchina virtuale in un server diverso. Per altre informazioni, vedere la documentazione di riferimento su Move-VM .

L'esempio seguente illustra come spostare una macchina virtuale in Server2 quando la macchina virtuale viene archiviata in una condivisione SMB in Server1:

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

L'esempio seguente illustra come spostare una macchina virtuale in Server2 da Server1 e spostare tutti i file associati alla macchina virtuale in D:\VM_name nel computer remoto:

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

Importare o esportare una macchina virtuale

I Import-VM cmdlet e Export-VM importano ed esportano una macchina virtuale. Di seguito sono riportati alcuni esempi. Per altre informazioni, vedere la documentazione di riferimento su Import-VM ed Export-VM .

L'esempio seguente illustra come importare una macchina virtuale dal relativo file di configurazione. La macchina virtuale è registrata sul posto, quindi i relativi file non vengono copiati:

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

L'esempio seguente esporta una macchina virtuale nella radice dell'unità D:

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

Rinominare una macchina virtuale

Il Rename-VM cmdlet viene usato per rinominare una macchina virtuale. Per informazioni dettagliate, vedere la documentazione di riferimento su Rename-VM .

L'esempio seguente rinomina VM1 in VM2 e visualizza la macchina virtuale rinominata:

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

Creare un checkpoint della macchina virtuale

Il Checkpoint-VM cmdlet viene usato per creare un checkpoint per una macchina virtuale. Per informazioni dettagliate, vedere la documentazione di riferimento su Checkpoint-VM .

L'esempio seguente crea un checkpoint denominato BeforeInstallingUpdates per la macchina virtuale denominata Test.

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

Creare un disco rigido virtuale per una macchina virtuale

Il New-VHD cmdlet viene usato per creare un nuovo disco rigido virtuale per una macchina virtuale. Per informazioni dettagliate su come usarlo, vedere la documentazione di riferimento di New-VHD .

Aggiungere una scheda di rete a una macchina virtuale

Il Add-VMNetworkAdapter cmdlet viene usato per aggiungere una scheda di rete virtuale a una macchina virtuale. Di seguito sono riportati alcuni esempi. Per informazioni dettagliate su come usarlo, vedere la documentazione di riferimento add-VMNetworkAdapter .

L'esempio seguente aggiunge una scheda di rete virtuale denominata Redmond NIC1 a una macchina virtuale denominata VM1:

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

Questo esempio aggiunge una scheda di rete virtuale a una macchina virtuale denominata VM1 e la connette a un commutatore virtuale denominato Rete:

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

Creare un commutatore virtuale per una macchina virtuale

Il New-VMSwitch cmdlet viene usato per il nuovo commutatore virtuale in un host di macchina virtuale. Per informazioni dettagliate su come usarlo, vedere la documentazione di riferimento su New-VMSwitch .

Nell'esempio seguente viene creato un nuovo commutatore denominato "commutatore QoS", che viene associato a una scheda di rete denominata Connessione Ethernet cablata 3 e supporta la larghezza di banda minima basata sul peso.

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

Impostare la memoria per una macchina virtuale

Il Set-VMMemory cmdlet viene usato per configurare la memoria di una macchina virtuale. Per informazioni dettagliate su come usarlo, vedere la documentazione di riferimento su Set-VMMemory .

L'esempio seguente abilita la memoria dinamica in una macchina virtuale denominata VM1, imposta la memoria minima, l'avvio e la memoria massima, la priorità di memoria e il relativo buffer.

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

Impostare processori virtuali per una macchina virtuale

Il Set-VMProcessor cmdlet viene usato per configurare i processori virtuali per una macchina virtuale. Per informazioni dettagliate su come usarlo, vedere la documentazione di riferimento set-VMProcessor .

L'esempio seguente configura una macchina virtuale denominata VM1 con due processori virtuali, una riserva del 10%, un limite del 75% e un peso relativo pari a 200.

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

Rimuovere una macchina virtuale

La rimozione o l'eliminazione di una macchina virtuale tramite PowerShell elimina il file di configurazione della macchina virtuale, ma non elimina i dischi rigidi virtuali associati. Se si vuole eliminare una macchina virtuale con tutti i file, inclusi i dischi rigidi virtuali, è consigliabile usare Windows Admin Center.

Prima di eliminare una macchina virtuale, assicurarsi che la macchina virtuale sia disattivata. Tenere presente che l'eliminazione di una macchina virtuale elimina il file di configurazione in modo irreversibile.

Rimuovere una macchina virtuale da un server

Per rimuovere o eliminare una macchina virtuale e le relative risorse da un server, trovare prima tutte le macchine virtuali nel server usando il cmdlet seguente:

Get-VM -Name VM1

Eseguire quindi il cmdlet seguente per ogni macchina virtuale che si vuole rimuovere dal server:

Remove-VM -Name VM1

Rimuovere una macchina virtuale da un cluster

Per rimuovere o eliminare una macchina virtuale e le relative risorse da un cluster, trovare prima di tutto usando il cmdlet seguente:

Get-ClusterGroup

Eseguire quindi il cmdlet seguente per ogni macchina virtuale che si vuole rimuovere dal cluster:

Remove-ClusterGroup -RemoveResources -Name VM1

Passaggi successivi

È anche possibile creare e gestire macchine virtuali usando Windows Admin Center. Per altre informazioni, vedere Windows Admin Center.