Convertire i dischi non gestiti di una VM Windows in dischi gestitiConvert a Windows virtual machine from unmanaged disks to managed disks

Se si hanno macchine virtuali (VM) Windows che usano dischi non gestiti, è possibile convertire le VM all'uso di dischi gestiti mediante il servizio Azure Managed Disks.If you have existing Windows virtual machines (VMs) that use unmanaged disks, you can convert the VMs to use managed disks through the Azure Managed Disks service. Questo processo consente di convertire sia il disco del sistema operativo che eventuali dischi dati collegati.This process converts both the OS disk and any attached data disks.

Questo articolo illustra come convertire le VM con Azure PowerShell.This article shows you how to convert VMs by using Azure PowerShell. Se è necessario eseguirne l'installazione o l'aggiornamento, vedere Installare e configurare Azure PowerShell.If you need to install or upgrade it, see Install and configure Azure PowerShell.

Prima di iniziareBefore you begin

  • La conversione richiede un riavvio della macchina virtuale, quindi pianificare la migrazione delle macchine virtuali in una finestra di manutenzione preesistente.The conversion requires a restart of the VM, so schedule the migration of your VMs during a pre-existing maintenance window.

  • La conversione non è reversibile.The conversion is not reversible.

  • Assicurarsi di testare la conversione.Be sure to test the conversion. Eseguire la migrazione di una macchina virtuale di test prima di eseguire la migrazione nell'ambiente di produzione.Migrate a test virtual machine before you perform the migration in production.

  • Durante la conversione la macchina virtuale verrà deallocata.During the conversion, you deallocate the VM. La macchina virtuale riceve un nuovo indirizzo IP quando viene avviata dopo la conversione.The VM receives a new IP address when it is started after the conversion. Se necessario, è possibile assegnare un indirizzo IP statico alla VM.If needed, you can assign a static IP address to the VM.

  • I dischi rigidi virtuali originali e l'account di archiviazione usato dalla macchina virtuale prima della conversione non verranno eliminatiThe original VHDs and the storage account used by the VM before conversion are not deleted. e i costi correlati continueranno a essere addebitati.They continue to incur charges. Per evitare addebiti per questi elementi, eliminare i BLOB VHD originali dopo aver verificato che la conversione sia stata completata.To avoid being billed for these artifacts, delete the original VHD blobs after you verify that the conversion is complete.

Convertire VM a istanza singolaConvert single-instance VMs

Questa sezione descrive come convertire i dischi delle macchine virtuali di Azure a istanza singola da non gestiti a gestiti.This section covers how to convert single-instance Azure VMs from unmanaged disks to managed disks. Se le VM sono in un set di disponibilità, vedere la sezione successiva.(If your VMs are in an availability set, see the next section.)

  1. Deallocare la VM mediante il cmdlet Stop-AzureRmVM.Deallocate the VM by using the Stop-AzureRmVM cmdlet. L'esempio seguente dealloca la macchina virtuale denominata myVM nel gruppo di risorse myResourceGroup:The following example deallocates the VM named myVM in the resource group named myResourceGroup:

    $rgName = "myResourceGroup"
    $vmName = "myVM"
    Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force
    
  2. Convertire i dischi della VM in dischi gestiti mediante il cmdlet ConvertTo-AzureRmVMManagedDisk.Convert the VM to managed disks by using the ConvertTo-AzureRmVMManagedDisk cmdlet. Il processo seguente converte la macchina virtuale precedente, incluso il disco del sistema operativo ed eventuali dischi dati:The following process converts the previous VM, including the OS disk and any data disks:

    ConvertTo-AzureRmVMManagedDisk -ResourceGroupName $rgName -VMName $vmName
    
  3. Avviare la VM dopo la conversione ai dischi gestiti mediante Start-AzureRmVM.Start the VM after the conversion to managed disks by using Start-AzureRmVM. L'esempio seguente riavvia la VM precedente:The following example restarts the previous VM:

    Start-AzureRmVM -ResourceGroupName $rgName -Name $vmName
    

Convertire VM in un set di disponibilitàConvert VMs in an availability set

Se le macchine virtuali che si desidera convertire in dischi gestiti si trovano in un set di disponibilità, è innanzitutto necessario convertire il set di disponibilità in un set di disponibilità gestito.If the VMs that you want to convert to managed disks are in an availability set, you first need to convert the availability set to a managed availability set.

  1. Convertire il set di disponibilità mediante il cmdlet Update-AzureRmAvailabilitySet.Convert the availability set by using the Update-AzureRmAvailabilitySet cmdlet. L'esempio seguente aggiorna il set di disponibilità denominato myAvailabilitySet nel gruppo di risorse myResourceGroup:The following example updates the availability set named myAvailabilitySet in the resource group named myResourceGroup:

    $rgName = 'myResourceGroup'
    $avSetName = 'myAvailabilitySet'
    
    $avSet = Get-AzureRmAvailabilitySet -ResourceGroupName $rgName -Name $avSetName
    Update-AzureRmAvailabilitySet -AvailabilitySet $avSet -Sku Aligned 
    

    Se l'area in cui si trova il set di disponibilità ha solo 2 domini di errore gestiti, ma il numero di domini di errore non gestiti è 3, questo comando visualizza un errore di questo tipo: "Il conteggio del dominio di errore specificato 3 deve essere compreso nell'intervallo 1-2".If the region where your availability set is located has only 2 managed fault domains but the number of unmanaged fault domains is 3, this command shows an error similar to "The specified fault domain count 3 must fall in the range 1 to 2." Per correggere l'errore, impostare il dominio di errore su 2 e impostare Sku su Aligned come segue:To resolve the error, update the fault domain to 2 and update Sku to Aligned as follows:

    $avSet.PlatformFaultDomainCount = 2
    Update-AzureRmAvailabilitySet -AvailabilitySet $avSet -Sku Aligned
    
  2. Deallocare e convertire le VM nel set di disponibilità.Deallocate and convert the VMs in the availability set. Lo script seguente dealloca ogni VM mediante il cmdlet Stop-AzureRmVM, la converte mediante ConvertTo-AzureRmVMManagedDisk e la riavvia mediante Start-AzureRmVM:The following script deallocates each VM by using the Stop-AzureRmVM cmdlet, converts it by using ConvertTo-AzureRmVMManagedDisk, and restarts it by using Start-AzureRmVM:

    $avSet = Get-AzureRmAvailabilitySet -ResourceGroupName $rgName -Name $avSetName
    
    foreach($vmInfo in $avSet.VirtualMachinesReferences)
    {
      $vm = Get-AzureRmVM -ResourceGroupName $rgName | Where-Object {$_.Id -eq $vmInfo.id}
      Stop-AzureRmVM -ResourceGroupName $rgName -Name $vm.Name -Force
      ConvertTo-AzureRmVMManagedDisk -ResourceGroupName $rgName -VMName $vm.Name
    }
    

Risoluzione dei problemiTroubleshooting

Se si verifica un errore durante la conversione o se una VM si trova in uno stato di errore a causa di problemi in una conversione precedente, eseguire di nuovo il cmdlet ConvertTo-AzureRmVMManagedDisk.If there is an error during conversion, or if a VM is in a failed state because of issues in a previous conversion, run the ConvertTo-AzureRmVMManagedDisk cmdlet again. In genere è sufficiente riprovare per sbloccare la situazione.A simple retry usually unblocks the situation. Prima di eseguire la conversione, assicurarsi che lo stato di tutte le estensioni di macchina virtuale corrisponda a 'Provisioning completato'. In caso contrario, la conversione avrà esito negativo con codice di errore 409.Before converting, make sure all the VM extensions are in the 'Provisioning succeeded' state or the conversion will fail with the error code 409.

Passaggi successiviNext steps

Convertire i dischi gestiti da Standard a PremiumConvert standard managed disks to premium

Eseguire una copia di sola lettura di una VM usando snapshot.Take a read-only copy of a VM by using snapshots.