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 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
- Gambaran umum migrasi sumber daya IaaS yang didukung platform dari klasik ke Azure Resource Manager
- Pembahasan teknis mendalam tentang migrasi yang didukung platform dari klasik ke Azure Resource Manager
- Merencanakan migrasi sumber daya IaaS dari klasik ke Azure Resource Manager
- Menggunakan PowerShell untuk memigrasikan sumber daya IaaS dari klasik ke Azure Resource Manager
- Menggunakan CLI untuk memigrasikan sumber daya IaaS dari klasik ke Azure Resource Manager
- Alat komunitas untuk membantu migrasi sumber daya IaaS dari klasik ke Azure Resource Manager
- Meninjau pertanyaan umum tentang memigrasikan sumber daya IaaS dari klasik ke Azure Resource Manager