Modificare il disco del sistema operativo usato da una macchina virtuale di Azure usando PowerShell

Si applica a: ✔️ Macchine ✔️ virtuali Linux Macchine virtuali ✔️ Windows Set di scalabilità flessibili

Se è disponibile una macchina virtuale esistente, ma si vuole scambiare il disco con un disco di backup o un altro disco del sistema operativo, è possibile usare Azure PowerShell per scambiare i dischi del sistema operativo. Non è necessario eliminare e ricreare la macchina virtuale. È anche possibile usare un disco gestito in un altro gruppo di risorse, purché non sia già in uso.

La macchina virtuale non deve essere arrestata\deallocata. L'ID risorsa del disco gestito può essere sostituito con l'ID risorsa di un disco gestito diverso.

Assicurarsi che il tipo di archiviazione e le dimensioni della macchina virtuale siano compatibili con il disco che si intende collegare. Ad esempio, se il disco che si vuole usare si trova in Archiviazione Premium, la macchina virtuale deve essere idonea per Archiviazione Premium (ad esempio con le dimensioni della serie DS). Entrambi i dischi devono essere anche le stesse dimensioni. Assicurarsi di non combinare una macchina virtuale non crittografata con un disco del sistema operativo crittografato, questo non è supportato. Se la macchina virtuale non usa Crittografia dischi di Azure, il disco del sistema operativo in cui viene scambiato non deve usare Crittografia dischi di Azure. Se i dischi usano set di crittografia dischi, entrambi i dischi devono appartenere allo stesso set di crittografia dischi.

Ottenere un elenco di dischi in un gruppo di risorse usando Get-AzDisk

Get-AzDisk -ResourceGroupName myResourceGroup | Format-Table -Property Name

Quando si conosce il nome del disco che si vuole usare, impostarlo come disco del sistema operativo per la VM. Questo esempio arresta\dealloca la VM denominata myVM e assegna il disco denominato newDisk come nuovo disco del sistema operativo.

# Get the VM 
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM 

# (Optional) Stop/ deallocate the VM
Stop-AzVM -ResourceGroupName myResourceGroup -Name $vm.Name -Force

# Get the new disk that you want to swap in
$disk = Get-AzDisk -ResourceGroupName myResourceGroup -Name newDisk

# Set the VM configuration to point to the new disk  
Set-AzVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name 

# Update the VM with the new OS disk
Update-AzVM -ResourceGroupName myResourceGroup -VM $vm 

# Start the VM
Start-AzVM -Name $vm.Name -ResourceGroupName myResourceGroup

Passaggi successivi

Per creare una copia di un disco, vedere Snapshot di un disco.