Kesalahan yang umumnya terjadi selama migrasi Klasik ke Azure Resource Manager

Berlaku untuk: ✔️ VM Linux ✔️ VM Windows

Penting

Saat ini, sekitar 90% Komputer Virtual IaaS menggunakan Azure Resource Manager. Pada 28 Februari 2020, VM klasik telah ditolak dan akan sepenuhnya dihentikan pada 6 September 2023. Pelajari lebih lanjut tentang penghentian ini dan bagaimana hal itu memengaruhi Anda.

Artikel ini mengatalogkan kesalahan dan mitigasi yang paling umum selama migrasi sumber daya IaaS dari model penyebaran klasik Azure ke tumpukan Azure Resource Manager.

Daftar kesalahan

Kesalahan string Mitigasi
Kesalahan server internal Dalam beberapa kasus, ini adalah kesalahan sementara yang hilang dengan mencoba kembali. Jika terus berlanjut, hubungi dukungan Azure karena perlu investigasi log platform.

CATATAN: Setelah insiden dilacak oleh tim dukungan, jangan mencoba mitigasi diri karena ini mungkin memiliki konsekuensi yang tidak diinginkan pada lingkungan Anda.
Migrasi tidak didukung untuk Penyebaran {nama-penyebaran} di HostedService {nama-layanan-dihosting} karena merupakan penyebaran PaaS (Web/Pekerja). Ini terjadi ketika penyebaran berisi peran web/pekerja. Karena migrasi hanya didukung untuk Komputer Virtual, hapus peran web/pekerja dari penyebaran dan coba migrasi lagi.
Penyebaran templat {nama-templat} gagal. CorrelationId={guid} Di backend layanan migrasi, kami menggunakan templat Azure Resource Manager untuk membuat sumber daya di tumpukan Azure Resource Manager. Karena templat idempoten, biasanya Anda dapat dengan aman mencoba kembali operasi migrasi untuk melewati kesalahan ini. Jika kesalahan ini terus berlanjut, hubungi dukungan Azure dan beri mereka CorrelationId.

CATATAN: Setelah insiden dilacak oleh tim dukungan, jangan mencoba mitigasi diri karena ini mungkin memiliki konsekuensi yang tidak diinginkan pada lingkungan Anda.
Jaringan virtual {nama-network-virtual} tidak ada. Ini dapat terjadi jika Anda membuat Virtual Network di portal Microsoft Azure baru. Nama Virtual Network yang sebenarnya mengikuti pola "Grup * <nama VNET>"
VM {nama-vm} di HostedService {nama-layanan-dihosting} berisi Ekstensi {nama-ekstensi} yang tidak didukung di Azure Resource Manager. Disarankan untuk membongkar pemasangan dari VM sebelum melanjutkan migrasi. CATATAN: Pesan Kesalahan sedang dalam proses diperbarui, ke depannya perlu menghapus instalan ekstensi sebelum ekstensi XML migrasi seperti BGInfo 1.* tidak didukung di Azure Resource Manager. Karena itu, ekstensi ini tidak dapat dimigrasikan.
VM {vm-name} di HostedService {hosted-service-name} berisi Ekstensi VMSnapshot/VMSnapshotLinux, yang saat ini tidak didukung untuk Migrasi. Copot pemasangannya dari VM dan tambahkan kembali menggunakan Azure Resource Manager setelah Migrasi Selesai Ini adalah skenario di mana komputer virtual dikonfigurasikan untuk Azure Backup. Karena ini saat ini adalah skenario yang tidak didukung, ikuti solusinya di https://aka.ms/vmbackupmigration
VM {vm-name} di HostedService {hosted-service-name} berisi Ekstensi {extension-name} yang Statusnya tidak dilaporkan dari VM. Karena itu, VM ini tidak dapat dimigrasikan. Pastikan bahwa status Ekstensi sedang dilaporkan atau hapus instalasi ekstensi dari VM dan coba kembali migrasi.

VM {vm-name} di HostedService {hosted-service-name} berisi Ekstensi {extension-name} Handler Status pelaporan: {handler-status}. Karena itu, VM tidak dapat dimigrasikan. Pastikan bahwa status handler Ekstensi yang dilaporkan adalah {handler-status} atau hapus instalasinya dari VM dan coba lagi migrasi.

Agen VM untuk VM {vm-name} di HostedService {hosted-service-name} melaporkan status agen keseluruhan sebagai Belum Siap. Oleh karena itu, VM mungkin tidak dimigrasikan, jika memiliki ekstensi yang dapat dimigrasikan. Pastikan bahwa Agen VM melaporkan status agen secara keseluruhan sebagai Siap. Lihat https://aka.ms/classiciaasmigrationfaqs.
Agen tamu Azure & Ekstensi VM memerlukan akses internet keluar ke akun penyimpanan VM untuk mengisi status mereka. Penyebab umum kegagalan status meliputi
  • Kelompok Keamanan Jaringan yang memblokir akses keluar ke internet
  • Jika VNET memiliki server DNS lokal dan konektivitas DNS hilang

    Jika Anda terus melihat status yang tidak didukung, Anda bisa copot pemasangan ekstensi untuk melompati pemeriksaan ini dan bergerak maju dengan migrasi.
  • Migrasi tidak didukung untuk Penyebaran {deployment-name} di HostedService {hosted-service-name} karena memiliki beberapa Set Ketersediaan. Saat ini, hanya layanan yang dihosting yang memiliki 1 set Ketersediaan atau kurang yang dapat dimigrasikan. Untuk mengatasi masalah ini, pindahkan set ketersediaan tambahan, dan komputer Virtual di set ketersediaan tersebut, ke layanan yang dihosting yang berbeda.
    Migrasi tidak didukung untuk Penyebaran {deployment-name} di HostedService {hosted-service-name karena memiliki VM yang bukan bagian dari Set Ketersediaan meskipun HostedService berisi VM. Solusi untuk skenario ini adalah memindahkan semua komputer virtual ke dalam satu set Ketersediaan atau menghapus semua komputer Virtual dari Ketersediaan yang diatur dalam layanan yang dihosting.
    Akun penyimpanan/HostedService/Virtual Network {virtual-network-name} sedang dalam proses dimigrasikan dan karenanya tidak dapat diubah Kesalahan ini terjadi ketika operasi migrasi "Siapkan" telah selesai pada sumber daya dan operasi yang akan membuat perubahan pada sumber daya dipicu. Karena penguncian pada sarana manajemen setelah operasi "Siapkan", setiap perubahan pada sumber daya diblokir. Untuk membuka kunci sarana manajemen, Anda dapat menjalankan operasi migrasi "Laksanakan" untuk melengkapi migrasi atau operasi migrasi "Batalkan" untuk mengembalikan operasi "Siapkan".
    Migrasi tidak diperbolehkan untuk HostedService {hosted-service-name} karena memiliki VM {vm-name} di Status: RoleStateUnknown. Migrasi hanya diperbolehkan ketika VM berada di salah satu status berikut - Berjalan, Dihentikan, Dihentikan Batal Dialokasikan. VM mungkin sedang mengalami transisi status, yang biasanya terjadi ketika selama operasi pembaruan pada HostedService seperti reboot, penginstalan ekstensi, dll. Disarankan agar operasi pembaruan selesai di HostedService sebelum mencoba migrasi.
    Penyebaran {deployment-name} di HostedService {hosted-service-name} berisi VM {vm-name} dengan Disk Data {data-disk-name} yang ukuran blob fisiknya {size-of-the-vhd-blob-backing-the-data-disk} byte tidak cocok dengan ukuran logika Disk Data VM {size-of-the-data-disk-specified-in-the-vm-api} byte. Migrasi akan dilanjutkan tanpa menentukan ukuran untuk disk data untuk VM Azure Resource Manager. Kesalahan ini terjadi jika Anda telah mengubah ukuran blob VHD tanpa memperbarui ukuran dalam model API VM. Langkah-langkah mitigasi terperinci diuraikan di bawah ini.
    Pengecualian penyimpanan terjadi saat memvalidasi disk data {data-disk-name} dengan tautan media {data-disk-Uri} untuk VM {VM-name} di Cloud Service {Cloud-Service-name}. Pastikan tautan media VHD dapat diakses untuk komputer virtual ini Kesalahan ini dapat terjadi jika disk VM telah dihapus atau tidak dapat diakses lagi. Pastikan disk untuk VM ada.
    VM {vm-name} di HostedService {cloud-service-name} berisi Disk dengan MediaLink {vhd-uri} yang memiliki nama blob {vhd-blob-name} yang tidak didukung di Azure Resource Manager. Kesalahan ini terjadi ketika nama blob memiliki "/" di dalamnya yang tidak didukung di Penyedia Sumber Daya Komputasi saat ini.
    Migrasi tidak diperbolehkan untuk Penyebaran {deployment-name} di HostedService {cloud-service-name} karena tidak berada dalam cakupan wilayah. https://aka.ms/regionalscope Lihat untuk memindahkan penyebaran ini ke cakupan regional. Pada tahun 2014, Azure mengumumkan bahwa sumber daya jaringan akan berpindah dari cakupan tingkat kluster ke cakupan wilayah. Lihat https://aka.ms/regionalscope untuk detail selengkapnya. Kesalahan ini terjadi ketika penyebaran yang dimigrasikan belum memiliki operasi pembaruan, yang secara otomatis memindahkannya ke cakupan wilayah. Solusi terbaik adalah menambahkan titik akhir ke mesin virtual, atau disk data ke mesin virtual, lalu mencoba kembali migrasi.
    Lihat Cara mengatur titik akhir pada komputer virtual klasik di Azure atau Melampirkan disk data ke komputer virtual yang dibuat dengan model penyebaran klasik
    Migrasi tidak didukung untuk Virtual Network {vnet-name} karena memiliki penyebaran PaaS non-gateway. Kesalahan ini terjadi ketika Anda memiliki penyebaran PaaS non-gateway seperti Application Gateway atau layanan API Management yang terhubung ke Virtual Network.
    Operasi manajemen di Komputer Virtual tidak diizinkan karena migrasi sedang berlangsung Kesalahan ini terjadi karena VM dalam status Siapkan dan karenanya terkunci untuk operasi pembaruan/penghapusan apa pun. Panggil Batalkan menggunakan PS/CLI pada VM untuk mengembalikan migrasi dan membuka kunci VM untuk operasi pembaruan/penghapusan. Panggilan Komit juga akan membuka kunci VM tetapi akan melakukan migrasi ke ARM.

    Mitigasi terperinci

    VM dengan Disk Data yang byte ukuran blob fisiknya tidak cocok dengan byte ukuran logika Disk Data VM.

    Ini terjadi ketika ukuran logika disk Data dapat tidak sinkron dengan ukuran blob VHD yang sebenarnya. Ini dapat dengan mudah diverifikasi menggunakan perintah berikut:

    Memverifikasi masalah

    # 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-AzStorageblob -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
    

    Mengurangi masalah

    # 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      
    

    Memindahkan VM ke langganan lain setelah menyelesaikan migrasi

    Setelah Anda menyelesaikan proses migrasi, Anda mungkin ingin memindahkan VM ke langganan lain. Namun, jika Anda memiliki rahasia/sertifikat pada VM yang mereferensikan sumber daya Key Vault, langkah tersebut saat ini tidak didukung. Instruksi di bawah ini akan memungkinkan Anda untuk mengatasi masalah ini.

    PowerShell

    $vm = Get-AzVM -ResourceGroupName "MyRG" -Name "MyVM"
    Remove-AzVMSecret -VM $vm
    Update-AzVM -ResourceGroupName "MyRG" -VM $vm
    

    Azure CLI

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

    Langkah berikutnya