Udostępnij za pośrednictwem


Błędy, które często występują podczas migracji z modelu klasycznego do usługi Azure Resource Manager

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux maszyny wirtualne z ✔️ systemem Windows

Ważne

Obecnie około 90% maszyn wirtualnych IaaS korzysta z usługi Azure Resource Manager. Od 28 lutego 2020 r. klasyczne maszyny wirtualne zostały wycofane i zostaną w pełni wycofane 6 września 2023 r. Dowiedz się więcej o tym wycofaniu i sposobie jego wpływu na Ciebie.

W tym artykule skatalogowano najbardziej typowe błędy i środki zaradcze w trakcie migracji zasobów IaaS z klasycznego modelu wdrażania platformy Azure do stosu usługi Azure Resource Manager.

Lista błędów

Ciąg błędu Czynności zapobiegawcze
Wewnętrzny błąd serwera W niektórych przypadkach jest to błąd przejściowy, który znika przy ponownej próbie. Jeśli ten błąd będzie się powtarzać, skontaktuj się z pomocą techniczną platformy Azure, ponieważ wymaga to badania dzienników platformy.

UWAGA: Po śledzeniu zdarzenia przez zespół pomocy technicznej nie należy podejmować żadnych prób samodzielnego ograniczania ryzyka, ponieważ może to mieć niezamierzone konsekwencje dla twojego środowiska.
Migracja nie jest obsługiwana w przypadku wdrożenia {nazwa-wdrożenia} w usłudze hostowanej {nazwa-usługi_hostowanej}, ponieważ jest to wdrożenie PaaS (Sieć Web/Proces roboczy). Ma to miejsce w przypadku, gdy wdrożenie zawiera rolę sieci Web/procesu roboczego. Ponieważ migracja jest obsługiwana tylko w przypadku maszyn wirtualnych, usuń rolę sieci Web/procesu roboczego z wdrożenia i spróbuj ponownie przeprowadzić migrację.
Wdrożenie szablonu {nazwa_szablonu} nie powiodło się. CorrelationId={guid} W zapleczu usługi migracji używamy szablonów usługi Azure Resource Manager do tworzenia zasobów w stosie usługi Azure Resource Manager. Ponieważ szablony są idempotentne, zwykle możesz bezpiecznie ponowić próbę operacji migracji, aby pokonać ten błąd. Jeśli ten błąd będzie nadal występować, skontaktuj się z pomoc techniczna platformy Azure i nadaj mu identyfikator CorrelationId.

UWAGA: Po śledzeniu zdarzenia przez zespół pomocy technicznej nie należy podejmować żadnych prób samodzielnego ograniczania ryzyka, ponieważ może to mieć niezamierzone konsekwencje dla twojego środowiska.
Sieć wirtualna {virtual-network-name} nie istnieje. Może to się zdarzyć, jeśli sieć wirtualna została utworzona w nowej witrynie Azure Portal. Rzeczywista nazwa sieci wirtualnej jest zgodna ze wzorcem "Group * <VNET name>"
Maszyna wirtualna {vm-name} w usłudze hostowanej {nazwa_usługi_hostowanej} zawiera rozszerzenie {nazwa-rozszerzenia}, które nie jest obsługiwane w usłudze Azure Resource Manager. Zaleca się odinstalowanie go z maszyny wirtualnej przed kontynuowaniem migracji. UWAGA: Komunikat o błędzie jest w trakcie aktualizowania, w przyszłości jest wymagany do odinstalowania rozszerzenia przed migracją rozszerzeń XML, takich jak BGInfo 1.* nie są obsługiwane w usłudze Azure Resource Manager. W związku z tym nie można migrować tych rozszerzeń.
Maszyna wirtualna {nazwa_maszyny_wirtualnej} w usłudze hostowanej {nazwa_usługi_hostowanej} zawiera rozszerzenie VMSnapshot/VMSnapshotLinux, które nie jest obecnie obsługiwane dla migracji. Odinstaluj je z maszyny wirtualnej i dodaj ponownie za pomocą usługi Azure Resource Manager po zakończeniu migracji Jest to scenariusz, w którym maszyna wirtualna jest skonfigurowana na potrzeby usługi Azure Backup. Ponieważ jest to obecnie nieobsługiwany scenariusz, postępuj zgodnie z obejściem pod adresem https://aka.ms/vmbackupmigration
Maszyna wirtualna {vm-name} w usłudze hostowanej {nazwa_usługi_hostowanej} zawiera rozszerzenie {nazwa-rozszerzenia}, którego stan nie jest zgłaszany z maszyny wirtualnej. W związku z tym nie można migrować tej maszyny wirtualnej. Upewnij się, że stan rozszerzenia jest zgłaszany, lub odinstaluj rozszerzenie z maszyny wirtualnej i ponów próbę migracji.

Maszyna wirtualna {nazwa_maszyny_wirtualnej} w usłudze hostowanej {nazwa_usługi_hostowanej} zawiera rozszerzenie {nazwa_rozszerzenia} zgłaszające stan procedury obsługi: {stan_procedury_obsługi}. W związku z tym nie można migrować maszyny wirtualnej. Upewnij się, że zgłaszanym stanem procedury obsługi rozszerzenia jest {stan_procedury_obsługi} lub odinstaluj rozszerzenie z maszyny wirtualnej i ponów próbę migracji.

Agent maszyny wirtualnej dla maszyny wirtualnej {nazwa_maszyny_wirtualnej} w usłudze hostowanej {nazwa_usługi_hostowanej} zgłasza ogólny stan agenta jako Niegotowy. Z tego powodu nie można migrować maszyny wirtualnej, jeśli ma ona rozszerzenie, które można migrować. Upewnij się, że agent maszyny wirtualnej zgłasza ogólny stan agenta jako Gotowy. Zapoznaj się z tematem https://aka.ms/classiciaasmigrationfaqs.
Agent gościa platformy Azure i rozszerzenia maszyny wirtualnej potrzebują wychodzącego dostępu do Internetu dla konta magazynu maszyny wirtualnej w celu wypełnienia ich stanu. Typowe przyczyny niepowodzenia stanu obejmują
  • sieciowa grupa zabezpieczeń blokująca dostęp wychodzący do Internetu
  • Jeśli sieć wirtualna ma lokalne serwery DNS, a łączność DNS zostanie utracona

    Jeśli nieobsługiwany stan jest nadal wyświetlany, możesz odinstalować rozszerzenia, aby pominąć to sprawdzanie i kontynuować migrację.
  • Migracja nie jest obsługiwana w przypadku wdrożenia {nazwa-wdrożenia} w usłudze hostowanej {nazwa-usługi_hostowanej}, ponieważ ma wiele zestawów dostępności. Obecnie można migrować tylko usługi hostowane, które mają nie więcej niż 1 zestaw dostępności. Aby obejść ten problem, przenieś dodatkowe zestawy dostępności i maszyny wirtualne w tych zestawach dostępności do innej hostowanej usługi.
    Migracja nie jest obsługiwana w przypadku wdrożenia {nazwa-wdrożenia} w usłudze hostowanej {nazwa-usługi-hostowanej, ponieważ ma maszyny wirtualne, które nie są częścią zestawu dostępności, mimo że hostowana usługa zawiera jedną. Obejście problemu w przypadku tego scenariusza polega na przeniesieniu wszystkich maszyn wirtualnych do jednego zestawu dostępności lub usunięciu wszystkich maszyn wirtualnych z zestawu dostępności w usłudze hostowanej.
    Konto magazynu/usługa hostowana/sieć wirtualna {nazwa_sieci_wirtualnej} jest w trakcie migracji i dlatego nie można jej zmienić Ten błąd występuje w przypadku, gdy po zakończeniu operacji migracji „Prepare” dla zasobu wyzwalana jest operacja, która spowodowałaby wprowadzenie zmiany w zasobie. Z powodu blokady na płaszczyźnie zarządzania po wykonaniu operacji „Prepare” wszelkie zmiany zasobu są blokowane. Aby odblokować płaszczyznę zarządzania, można uruchomić operację migracji „Commit” w celu ukończenia migracji lub operację migracji „Abort” w celu wycofania operacji „Prepare”.
    Migracja nie jest dozwolona dla usługi hostowanej {hosted-service-name}, ponieważ ma maszynę wirtualną {vm-name} w stanie: RoleStateUnknown. Migracja jest dozwolona tylko wtedy, gdy maszyna wirtualna jest w jednym z następujących stanów: Uruchomiona, Zatrzymana, Zatrzymana bez alokacji. Maszyna wirtualna może przechodzić przez przejście stanu, co zwykle występuje podczas operacji aktualizacji w usłudze hostowanej, takiej jak ponowny rozruch, instalacja rozszerzenia itp. Zaleca się wykonanie operacji aktualizacji w usłudze HostedService przed podjęciem próby migracji.
    Wdrożenie {nazwa-wdrożenia} w usłudze hostowanej {nazwa_usługi_hostowanej} zawiera maszynę wirtualną {vm-name} z dyskiem danych {data-disk-name}, którego rozmiar fizycznego obiektu blob {size-of-the-vhd-blob-backing-the-data-disk} bajtów nie jest zgodny z rozmiarem logicznym dysku danych maszyny wirtualnej {size-of-the-data-disk-specified-in-the-vm-api}. Migracja będzie kontynuowana bez określania rozmiaru dysku danych maszyny wirtualnej usługi Azure Resource Manager. Ten błąd występuje, jeśli rozmiar obiektu blob dysku VHD został zmieniony bez zaktualizowania rozmiaru w modelu interfejsu API maszyny wirtualnej. Szczegółowe kroki zaradcze przedstawiono poniżej.
    Wystąpił wyjątek magazynu podczas weryfikowania dysku danych {nazwa_dysku_danych} z linkiem multimediów {identyfikator_URI_dysku_danych} dla maszyny wirtualnej {nazwa_maszyny_wirtualnej} w usłudze w chmurze {nazwa_usługi_w_chmurze}. Upewnij się, że link nośnika VHD jest dostępny dla tej maszyny wirtualnej Ten błąd może wystąpić, jeśli dyski maszyny wirtualnej zostały usunięte lub nie są już dostępne. Upewnij się, że dyski maszyny wirtualnej istnieją.
    Maszyna wirtualna {vm-name} w usłudze hostowanej {nazwa usługi w chmurze} zawiera dysk z plikiem MediaLink {vhd-uri}, który ma nazwę obiektu blob {vhd-blob-name}, który nie jest obsługiwany w usłudze Azure Resource Manager. Ten błąd występuje, gdy nazwa obiektu blob ma wartość "/", która nie jest obecnie obsługiwana przez dostawcę zasobów obliczeniowych.
    Migracja nie jest dozwolona dla wdrożenia {nazwa-wdrożenia} w usłudze hostowanej {nazwa usługi w chmurze}, ponieważ nie znajduje się w zakresie regionalnym. Zapoznaj się z artykułem https://aka.ms/regionalscope Przenoszenie tego wdrożenia do zakresu regionalnego. W 2014 r. zespół platformy Azure zapowiedział, że zasoby sieciowe zostaną przeniesione z zakresu poziomu klastra do zakresu regionalnego. Zobacz https://aka.ms/regionalscope , aby uzyskać więcej szczegółów. Ten błąd zdarza się, gdy migrowane wdrożenie nie zostało poddane operacji aktualizacji, która automatycznie przenosi je do zakresu regionalnego. Najlepszym rozwiązaniem jest dodanie punktu końcowego do maszyny wirtualnej lub dysku danych do maszyny wirtualnej, a następnie ponowienie próby migracji.
    Zobacz Jak skonfigurować punkty końcowe na klasycznej maszynie wirtualnej na platformie Azure lub Dołączanie dysku danych do maszyny wirtualnej utworzonej przy użyciu klasycznego modelu wdrażania
    Migracja nie jest obsługiwana w przypadku sieci wirtualnej {vnet-name}, ponieważ ma wdrożenia paaS bez bramy. Ten błąd występuje w przypadku wdrożeń PaaS innych niż brama, takich jak usługa Application Gateway lub usługi API Management połączone z siecią wirtualną.
    Operacje zarządzania na maszynie wirtualnej są niedozwolone, ponieważ migracja jest w toku Ten błąd występuje, ponieważ maszyna wirtualna jest w stanie Przygotowanie i dlatego zablokowana dla każdej operacji aktualizacji/usuwania. Wywołaj abort przy użyciu ps/interfejsu wiersza polecenia na maszynie wirtualnej, aby wycofać migrację i odblokować maszynę wirtualną na potrzeby operacji aktualizacji/usuwania. Wywołanie zatwierdzenia spowoduje również odblokowanie maszyny wirtualnej, ale zatwierdzi migrację do usługi ARM.

    Szczegółowe środki zaradcze

    Maszyna wirtualna, której rozmiar fizyczny obiektu blob (w bajtach) nie jest zgodny z rozmiarem logicznym dysku danych maszyny wirtualnej (w bajtach).

    Dzieje się tak, gdy rozmiar logiczny dysku danych nie jest zsynchronizowany z rzeczywistym rozmiarem obiektu blob wirtualnego dysku twardego. Można to łatwo sprawdzić przy użyciu następujących poleceń:

    Weryfikowanie problemu

    # 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
    

    Korygowanie problemu

    # 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      
    

    Przenoszenie maszyny wirtualnej do innej subskrypcji po zakończeniu migracji

    Po zakończeniu procesu migracji można przenieść maszynę wirtualną do innej subskrypcji. Jednak jeśli masz wpis tajny/certyfikat na maszynie wirtualnej, który odwołuje się do zasobu usługi Key Vault, przenoszenie aktualnie nie jest obsługiwane. Poniższe instrukcje umożliwiają obejście problemu.

    Program PowerShell

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

    Interfejs wiersza polecenia platformy Azure

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

    Następne kroki