Errori comuni durante la migrazione dalla distribuzione classica ad Azure Resource ManagerCommon errors during Classic to Azure Resource Manager migration

Questo articolo descrive gli errori più comuni e le relative soluzioni per agevolare la migrazione delle risorse IaaS dal modello di distribuzione classica di Azure allo stack di Azure Resource Manager.This article catalogs the most common errors and mitigations during the migration of IaaS resources from Azure classic deployment model to the Azure Resource Manager stack.

Elenco degli erroriList of errors

Stringa di erroreError string MitigazioneMitigation
Errore interno del serverInternal server error In alcuni casi, si tratta di un errore temporaneo che si risolve con un nuovo tentativo.In some cases, this is a transient error that goes away with a retry. Se l'errore persiste, contattare il supporto tecnico Azure perché esamini i log della piattaforma.If it continues to persist, contact Azure support as it needs investigation of platform logs.

NOTA: una volta che il team di supporto ha rilevato l'evento imprevisto, non tentare altre soluzioni in autonomia per evitare conseguenze impreviste nell'ambiente.NOTE: Once the incident is tracked by the support team, please do not attempt any self-mitigation as this might have unintended consequences on your environment.
La migrazione non è supportata per la distribuzione {nome-distribuzione} in HostedService {nome-servizio-ospitato} perché si tratta di una distribuzione PaaS (Web/di lavoro).Migration is not supported for Deployment {deployment-name} in HostedService {hosted-service-name} because it is a PaaS deployment (Web/Worker). Ciò si verifica quando una distribuzione contiene un ruolo Web o di lavoro.This happens when a deployment contains a web/worker role. Dal momento che la migrazione è supportata solo per le macchine virtuali, rimuovere il ruolo Web o di lavoro dalla distribuzione e tentare nuovamente la migrazione.Since migration is only supported for Virtual Machines, please remove the web/worker role from the deployment and try migration again.
Distribuzione del modello {nome modello} non riuscita.Template {template-name} deployment failed. CorrelationId={guid}CorrelationId={guid} Nel back-end del servizio di migrazione, vengono usati i modelli di Azure Resource Manager per creare risorse nello stack di Azure Resource Manager.In the backend of migration service, we use Azure Resource Manager templates to create resources in the Azure Resource Manager stack. Dal momento che i modelli sono idempotenti, in genere è possibile ritentare in modo sicuro l'operazione di migrazione per superare l'errore.Since templates are idempotent, usually you can safely retry the migration operation to get past this error. Se l'errore persiste, contattare il supporto tecnico Azure e fornire il CorrelationId.If this error continues to persist, please contact Azure support and give them the CorrelationId.

NOTA: una volta che il team di supporto ha rilevato l'evento imprevisto, non tentare altre soluzioni in autonomia per evitare conseguenze impreviste nell'ambiente.NOTE: Once the incident is tracked by the support team, please do not attempt any self-mitigation as this might have unintended consequences on your environment.
La rete virtuale {nome-rete-virtuale} non esiste.The virtual network {virtual-network-name} does not exist. Questa situazione può verificarsi se la rete virtuale è stata creata nel nuovo portale di Azure.This can happen if you created the Virtual Network in the new Azure portal. Il nome effettivo della rete virtuale segue il modello "Group * "The actual Virtual Network name follows the pattern "Group * "
La VM {nome-vm} in HostedService {nome-servizio-ospitato} contiene l'estensione {nome-estensione} non supportata in Azure Resource Manager.VM {vm-name} in HostedService {hosted-service-name} contains Extension {extension-name} which is not supported in Azure Resource Manager. È consigliabile disinstallare l'estensione dalla macchina virtuale prima di continuare con la migrazione.It is recommended to uninstall it from the VM before continuing with migration. Le estensioni XML, ad esempio BGInfo 1.*, non sono supportate in Azure Resource Manager.XML extensions such as BGInfo 1.* are not supported in Azure Resource Manager. Queste estensioni non possono essere migrate.Therefore, these extensions cannot be migrated. Se queste estensioni non vengono disinstallate dalla macchina virtuale, vengono automaticamente disinstallate prima di completare la migrazione.If these extensions are left installed on the virtual machine, they are automatically uninstalled before completing the migration.
La macchina virtuale {nome-vm} nel servizio ospitato {nome-servizio-ospitato} contiene l'estensione VMSnapshot/VMSnapshotLinux che non è attualmente supportata per la migrazione.VM {vm-name} in HostedService {hosted-service-name} contains Extension VMSnapshot/VMSnapshotLinux, which is currently not supported for Migration. Disinstallare l'estensione dalla macchina virtuale e riaggiungerla tramite Azure Resource Manager al termine della migrazioneUninstall it from the VM and add it back using Azure Resource Manager after the Migration is Complete Questo è lo scenario in cui la macchina virtuale è configurata per Backup di Azure.This is the scenario where the virtual machine is configured for Azure Backup. Poiché si tratta di uno scenario attualmente non supportato, attenersi alla soluzione descritta in https://aka.ms/vmbackupmigration.Since this is currently an unsupported scenario, please follow the workaround at https://aka.ms/vmbackupmigration
La VM {nome-vm} in HostedService {nome-servizio-ospitato} contiene l'estensione {nome-estensione} il cui stato non viene segnalato dalla macchina virtuale.VM {vm-name} in HostedService {hosted-service-name} contains Extension {extension-name} whose Status is not being reported from the VM. Di conseguenza, non è possibile eseguire la migrazione di questa VM.Hence, this VM cannot be migrated. Assicurarsi che venga segnalato lo stato dell'estensione o disinstallare l'estensione dalla macchina virtuale e ripetere la migrazione.Ensure that the Extension status is being reported or uninstall the extension from the VM and retry migration.

La VM {nome-vm} in HostedService {nome-servizio-ospitato} contiene l'estensione {nome-estensione} con Stato Handler: {stato-handler}.VM {vm-name} in HostedService {hosted-service-name} contains Extension {extension-name} reporting Handler Status: {handler-status}. Di conseguenza, non è possibile eseguire la migrazione della VM.Hence, the VM cannot be migrated. Assicurarsi che lo stato handler dell'estensione segnalato sia {stato-handler} o disinstallare l'estensione dalla macchina virtuale e ripetere la migrazione.Ensure that the Extension handler status being reported is {handler-status} or uninstall it from the VM and retry migration.

L'agente VM per la macchina virtuale {nome-vm} in HostedService {nome-servizio-ospitato} indica lo stato generale dell'agente Non pronto.VM Agent for VM {vm-name} in HostedService {hosted-service-name} is reporting the overall agent status as Not Ready. Di conseguenza, se dispone di un'estensione migrabile, la macchina virtuale potrebbe non essere migrata.Hence, the VM may not be migrated, if it has a migratable extension. Assicurarsi che l'agente VM indichi lo stato dell'agente generale Pronto.Ensure that the VM Agent is reporting overall agent status as Ready. Vedere https://aka.ms/classiciaasmigrationfaqs.Refer to https://aka.ms/classiciaasmigrationfaqs.
L'agente guest di Azure e le estensioni delle macchine virtuali hanno bisogno di accesso Internet in uscita per consentire all'account di archiviazione della macchina virtuale di popolare il proprio stato.Azure guest agent & VM Extensions need outbound internet access to the VM storage account to populate their status. Le cause più comuni degli errori di stato includonoCommon causes of status failure include
  • Un gruppo di sicurezza di rete che blocca l'accesso Inernet in uscitaa Network Security Group that blocks outbound access to the internet
  • La rete virtuale dispone di server DNS locali e la connettività DNS si perdeIf the VNET has on-prem DNS servers and DNS connectivity is lost

    Se si continua a visualizzare lo stato non supportato, è possibile disinstallare le estensioni per ignorare il controllo e procedere con la migrazione.If you continue to see an unsupported status, you can uninstall the extensions to skip this check and move forward with migration.
  • La migrazione non è supportata per la distribuzione {nome-distribuzione} in HostedService {nome-servizio-ospitato} poiché esso dispone di più set di disponibilità.Migration is not supported for Deployment {deployment-name} in HostedService {hosted-service-name} because it has multiple Availability Sets. Attualmente è possibile migrare solo i servizi ospitati che dispongono di un massimo di 1 set di disponibilità.Currently, only hosted services that have 1 or less Availability sets can be migrated. Per risolvere questo problema, spostare il set di disponibilità aggiuntivi e le macchine virtuali di questi set di disponibilità su un servizio ospitato differente.To work around this problem, please move the additional Availability sets and Virtual machines in those Availability sets to a different hosted service.
    La migrazione non è supportata per la distribuzione {nome-distribuzione} in HostedService {nome-servizio-ospitato} poiché esso dispone di macchine virtuali che non fanno parte del set di disponibilità, anche se HostedService ne contiene uno.Migration is not supported for Deployment {deployment-name} in HostedService {hosted-service-name because it has VMs that are not part of the Availability Set even though the HostedService contains one. La soluzione alternativa per questo scenario è spostare tutte le macchine virtuali in un unico set di disponibilità o rimuovere tutte le macchine virtuali dal set di disponibilità del servizio ospitato.The workaround for this scenario is to either move all the virtual machines into a single Availability set or remove all Virtual machines from the Availability set in the hosted service.
    Account di archiviazione/HostedService/Rete virtuale {nome-rete-virtuale} sono in fase di migrazione e pertanto non possono essere modificati.Storage account/HostedService/Virtual Network {virtual-network-name} is in the process of being migrated and hence cannot be changed Questo errore si verifica quando l'operazione di migrazione "Prepara" è stata completata sulla risorsa e viene attivata un'operazione che apporta una modifica alla risorsa.This error happens when the "Prepare" migration operation has been completed on the resource and an operation that would make a change to the resource is triggered. A causa del blocco sul piano di gestione dopo l'operazione "Prepara", vengono bloccate tutte le modifiche alla risorsa.Because of the lock on the management plane after "Prepare" operation, any changes to the resource are blocked. Per sbloccare il piano di gestione è possibile eseguire l'operazione di migrazione "Commit" per completare la migrazione o l'operazione di migrazione "Interrompi" per eseguire il rollback dell'operazione "Prepara".To unlock the management plane, you can run the "Commit" migration operation to complete migration or the "Abort" migration operation to roll back the "Prepare" operation.
    La migrazione non è consentita per HostedService {nome-servizio-ospitato} perché comprende una macchina virtuale {nome-vm} con stato: RoleStateUnknown.Migration is not allowed for HostedService {hosted-service-name} because it has VM {vm-name} in State: RoleStateUnknown. La migrazione è consentita solo quando la macchina virtuale si trova in uno dei seguenti stati: In esecuzione, Arrestato, Arrestato deallocato.Migration is allowed only when the VM is in one of the following states - Running, Stopped, Stopped Deallocated. La VM potrebbe essere sottoposta a una transizione di stato che generalmente si verifica quando durante un'operazione di aggiornamento nel servizio ospitato, ad esempio il riavvio, l'installazione dell'estensione e così via. È consigliabile completare l'operazione di aggiornamento su HostedService prima di tentare la migrazione.The VM might be undergoing through a state transition, which usually happens when during an update operation on the HostedService such as a reboot, extension installation etc. It is recommended for the update operation to complete on the HostedService before trying migration.
    La distribuzione {nome-distribuzione} in HostedService {nome-servizio-ospitato} contiene una macchina virtuale {nome-macchina-virtuale} con disco dati {nome-disco-dati} le cui dimensioni BLOB fisiche di {dimensioni-BLOB-disco-rigido-virtuale-per-backup-disco-dati} byte non corrispondono alle dimensioni logiche del disco dati della macchina virtuale di {dimensioni-disco-dati-specificato-in-api-macchina-virtuale} byte.Deployment {deployment-name} in HostedService {hosted-service-name} contains a VM {vm-name} with Data Disk {data-disk-name} whose physical blob size {size-of-the-vhd-blob-backing-the-data-disk} bytes does not match the VM Data Disk logical size {size-of-the-data-disk-specified-in-the-vm-api} bytes. La migrazione viene eseguita senza specificare una dimensione per il disco dati per la macchina virtuale di Azure Resource Manager.Migration will proceed without specifying a size for the data disk for the Azure Resource Manager VM. Questo errore si verifica se è stato ridimensionato il BLOB del disco rigido virtuale senza aggiornare le dimensioni nel modello dell'API VM.This error happens if you've resized the VHD blob without updating the size in the VM API model. Procedure di prevenzione dettagliate sono descritte di seguito.Detailed mitigation steps are outlined below.
    Si è verificata un'eccezione di archiviazione durante la convalida del disco dati {nome del disco dati} con collegamento ai file multimediali {URI disco dati} per la macchina virtuale {nome VM} nel servizio Cloud {nome del servizio Cloud}.A storage exception occurred while validating data disk {data disk name} with media link {data disk Uri} for VM {VM name} in Cloud Service {Cloud Service name}. Verificare che il collegamento ai file multimediali del disco rigido virtuale sia accessibile per questa macchina virtuale.Please ensure that the VHD media link is accessible for this virtual machine Questo errore può verificarsi se i dischi della macchina virtuale sono stati eliminati o non sono più accessibili.This error can happen if the disks of the VM have been deleted or are not accessible anymore. Verificare che esistano i dischi per la macchina virtuale.Please make sure the disks for the VM exist.
    La macchina virtuale {vm-name} nel servizio ospitato {cloud-service-name} contiene un disco che presenta il collegamento multimediale {vhd-uri} e il nome di BLOB {vhd-blob-name} che non è supportato in Azure Resource Manager.VM {vm-name} in HostedService {cloud-service-name} contains Disk with MediaLink {vhd-uri} which has blob name {vhd-blob-name} that is not supported in Azure Resource Manager. Questo errore si verifica quando il nome del BLOB include un carattere "/", che non è attualmente supportato nel provider di risorse di calcolo.This error occurs when the name of the blob has a "/" in it which is not supported in Compute Resource Provider currently.
    La migrazione non è consentita per la distribuzione {nome-distribuzione} nel servizio ospitato {nome-servizio-cloud} perché non è compresa nell'ambito locale.Migration is not allowed for Deployment {deployment-name} in HostedService {cloud-service-name} as it is not in the regional scope. Vedere http://aka.ms/regionalscope per spostare questa distribuzione in un ambito a livello di area.Please refer to http://aka.ms/regionalscope for moving this deployment to regional scope. Nel 2014 Azure ha annunciato lo spostamento delle risorse di rete da un ambito a livello di cluster a un ambito a livello di area.In 2014, Azure announced that networking resources will move from a cluster level scope to regional scope. Vedere [http://aka.ms/regionalscope] per informazioni più dettagliate (http://aka.ms/regionalscope).See [http://aka.ms/regionalscope] for more details (http://aka.ms/regionalscope). Questo errore si verifica quando non è stata eseguita un'operazione di aggiornamento per la distribuzione di cui viene eseguita la migrazione, per spostarla automaticamente in un ambito a livello di area.This error happens when the deployment being migrated has not had an update operation, which automatically moves it to a regional scope. La soluzione migliore sta nell'aggiungere un endpoint o un disco dati a una macchina virtuale e quindi tentare nuovamente la migrazione.Best workaround is to either add an endpoint to a VM or a data disk to the VM and then retry migration.
    Vedere Come configurare gli endpoint in una macchina virtuale Windows classica in Azure o Collegare un disco dati a una macchina virtuale Windows creata con il modello di distribuzione classicoSee How to set up endpoints on a classic Windows virtual machine in Azure or Attach a data disk to a Windows virtual machine created with the classic deployment model
    La migrazione non è supportata per la rete virtuale {vnet-name} perché contiene distribuzioni PaaS non gateway.Migration is not supported for Virtual Network {vnet-name} because it has non-gateway PaaS deployments. Questo errore si verifica quando si hanno distribuzioni PaaS non gateway come il gateway applicazione o servizi Gestione API connessi alla rete virtuale.This error occurs when you have non-gateway PaaS deployments such as Application Gateway or API Management services that are connected to the Virtual Network.

    Soluzioni di prevenzione dettagliateDetailed mitigations

    Macchina virtuale con un disco dati le cui dimensioni BLOB fisiche (in byte) non corrispondono alle dimensioni logiche del disco dati della macchina virtuale (in byte).VM with Data Disk whose physical blob size bytes does not match the VM Data Disk logical size bytes.

    Ciò si verifica quando le dimensioni logiche del disco dati non sono sincronizzate con le dimensioni BLOB del disco rigido virtuale effettive.This happens when the Data disk logical size can get out of sync with the actual VHD blob size. Il problema può essere verificato con facilità usando questi comandi:This can be easily verified using the following commands:

    Verifica del problemaVerifying the issue

    # Store the VM details in the VM object
    $vm = Get-AzureVM -ServiceName $servicename -Name $vmname
    
    # Display the data disk properties
    # NOTE the data disk LogicalDiskSizeInGB below which is 11GB. Also note the MediaLink Uri of the VHD blob as we'll use this in the next step
    $vm.VM.DataVirtualHardDisks
    
    
    HostCaching         : None
    DiskLabel           : 
    DiskName            : coreosvm-coreosvm-0-201611230636240687
    Lun                 : 0
    LogicalDiskSizeInGB : 11
    MediaLink           : https://contosostorage.blob.core.windows.net/vhds/coreosvm-dd1.vhd
    SourceMediaLink     : 
    IOType              : Standard
    ExtensionData       : 
    
    # Now get the properties of the blob backing the data disk above
    # NOTE the size of the blob is about 15 GB which is different from LogicalDiskSizeInGB above
    $blob = Get-AzureStorageblob -Blob "coreosvm-dd1.vhd" -Container vhds 
    
    $blob
    
    ICloudBlob        : Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob
    BlobType          : PageBlob
    Length            : 16106127872
    ContentType       : application/octet-stream
    LastModified      : 11/23/2016 7:16:22 AM +00:00
    SnapshotTime      : 
    ContinuationToken : 
    Context           : Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext
    Name              : coreosvm-dd1.vhd
    

    Prevenzione del problemaMitigating the issue

    # Convert the blob size in bytes to GB into a variable which we'll use later
    $newSize = [int]($blob.Length / 1GB)
    
    # See the calculated size in GB
    $newSize
    
    15
    
    # Store the disk name of the data disk as we'll use this to identify the disk to be updated
    $diskName = $vm.VM.DataVirtualHardDisks[0].DiskName
    
    # Identify the LUN of the data disk to remove
    $lunToRemove = $vm.VM.DataVirtualHardDisks[0].Lun
    
    # Now remove the data disk from the VM so that the disk isn't leased by the VM and it's size can be updated
    Remove-AzureDataDisk -LUN $lunToRemove -VM $vm | Update-AzureVm -Name $vmname -ServiceName $servicename
    
    OperationDescription OperationId                          OperationStatus
    -------------------- -----------                          ---------------
    Update-AzureVM       213xx1-b44b-1v6n-23gg-591f2a13cd16   Succeeded  
    
    # Verify we have the right disk that's going to be updated
    Get-AzureDisk -DiskName $diskName
    
    AffinityGroup        : 
    AttachedTo           : 
    IsCorrupted          : False
    Label                : 
    Location             : East US
    DiskSizeInGB         : 11
    MediaLink            : https://contosostorage.blob.core.windows.net/vhds/coreosvm-dd1.vhd
    DiskName             : coreosvm-coreosvm-0-201611230636240687
    SourceImageName      : 
    OS                   : 
    IOType               : Standard
    OperationDescription : Get-AzureDisk
    OperationId          : 0c56a2b7-a325-123b-7043-74c27d5a61fd
    OperationStatus      : Succeeded
    
    # Now update the disk to the new size
    Update-AzureDisk -DiskName $diskName -ResizedSizeInGB $newSize -Label $diskName
    
    OperationDescription OperationId                          OperationStatus
    -------------------- -----------                          ---------------
    Update-AzureDisk     cv134b65-1b6n-8908-abuo-ce9e395ac3e7 Succeeded 
    
    # Now verify that the "DiskSizeInGB" property of the disk matches the size of the blob 
    Get-AzureDisk -DiskName $diskName
    
    
    AffinityGroup        : 
    AttachedTo           : 
    IsCorrupted          : False
    Label                : coreosvm-coreosvm-0-201611230636240687
    Location             : East US
    DiskSizeInGB         : 15
    MediaLink            : https://contosostorage.blob.core.windows.net/vhds/coreosvm-dd1.vhd
    DiskName             : coreosvm-coreosvm-0-201611230636240687
    SourceImageName      : 
    OS                   : 
    IOType               : Standard
    OperationDescription : Get-AzureDisk
    OperationId          : 1v53bde5-cv56-5621-9078-16b9c8a0bad2
    OperationStatus      : Succeeded
    
    # Now we'll add the disk back to the VM as a data disk. First we need to get an updated VM object
    $vm = Get-AzureVM -ServiceName $servicename -Name $vmname
    
    Add-AzureDataDisk -Import -DiskName $diskName -LUN 0 -VM $vm -HostCaching ReadWrite | Update-AzureVm -Name $vmname -ServiceName $servicename
    
    OperationDescription OperationId                          OperationStatus
    -------------------- -----------                          ---------------
    Update-AzureVM       b0ad3d4c-4v68-45vb-xxc1-134fd010d0f8 Succeeded      
    

    Spostare una macchina virtuale in un'altra sottoscrizione dopo il completamento della migrazioneMoving a VM to a different subscription after completing migration

    Dopo aver completato il processo di migrazione, può essere necessario spostare la VM in un'altra sottoscrizione.After you complete the migration process, you may want to move the VM to another subscription. Se, tuttavia, nella macchina virtuale che fa riferimento alla risorsa insieme di credenziali delle chiavi esiste un segreto/certificato, lo spostamento non è supportato.However, if you have a secret/certificate on the VM that references a Key Vault resource, the move is currently not supported. Le istruzioni seguenti consentono di risolvere il problema.The below instructions will allow you to workaround the issue.

    PowerShellPowerShell

    $vm = Get-AzureRmVM -ResourceGroupName "MyRG" -Name "MyVM"
    Remove-AzureRmVMSecret -VM $vm
    Update-AzureRmVM -ResourceGroupName "MyRG" -VM $vm
    

    Interfaccia della riga di comando di Azure 2.0Azure CLI 2.0

    az vm update -g "myrg" -n "myvm" --set osProfile.Secrets=[]
    

    Passaggi successiviNext steps