Obsługa specjalnych przypadków podczas przenoszenia maszyn wirtualnych do grupy zasobów lub subskrypcji

W tym artykule opisano specjalne przypadki, które wymagają dodatkowych kroków podczas przenoszenia maszyny wirtualnej do nowej grupy zasobów lub subskrypcji platformy Azure. Jeśli maszyna wirtualna używa szyfrowania dysków, planu witryny Marketplace lub usługi Azure Backup, należy użyć jednego z obejść opisanych w tym artykule. W przypadku wszystkich innych scenariuszy przenieś maszynę wirtualną ze standardowymi operacjami dla witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell. W przypadku interfejsu wiersza polecenia platformy Azure użyj polecenia az resource move . W przypadku programu Azure PowerShell użyj polecenia Move-AzResource .

Jeśli chcesz przenieść maszynę wirtualną do nowego regionu, zobacz Samouczek: przenoszenie maszyn wirtualnych platformy Azure między regionami.

Scenariusze nieobsługiwane

Następujące scenariusze nie są jeszcze obsługiwane:

  • Nie można przenieść zestawów skalowania maszyn wirtualnych z usługą Load Balancer w warstwie Standardowa lub publicznym adresem IP jednostki SKU w warstwie Standardowa.
  • Maszyny wirtualne w istniejącej sieci wirtualnej można przenieść do nowej subskrypcji tylko wtedy, gdy sieć wirtualna i wszystkie jej zasoby zależne również zostaną przeniesione.
  • Maszyny wirtualne utworzone na podstawie zasobów witryny Marketplace z dołączonymi planami nie mogą być przenoszone między subskrypcjami. Aby uzyskać potencjalne obejście, zobacz Maszyny wirtualne z planami witryny Marketplace.
  • Maszyny wirtualne o niskim priorytecie i zestawy skalowania maszyn wirtualnych o niskim priorytecie nie mogą być przenoszone między grupami zasobów ani subskrypcjami.
  • Maszyny wirtualne w zestawie dostępności nie można przenosić pojedynczo.
  • Maszyny wirtualne korzystające z zaplanowanego stosowania poprawek nie mogą być przenoszone między grupami zasobów ani subskrypcjami. Aby uzyskać potencjalne obejście, zobacz Zarządzanie aktualizacjami maszyn wirtualnych przy użyciu konfiguracji konserwacji

Szyfrowanie dysków platformy Azure

Maszyna wirtualna zintegrowana z magazynem kluczy w celu zaimplementowania usługi Azure Disk Encryption dla maszyn wirtualnych z systemem Linux lub usługi Azure Disk Encryption dla maszyn wirtualnych z systemem Windows może zostać przeniesiona do innej grupy zasobów w stanie cofnięcia przydziału.

Jednak aby przenieść taką maszynę wirtualną do innej subskrypcji, należy wyłączyć szyfrowanie.

az vm encryption disable --resource-group demoRG --name myVm1 --volume-type all

Maszyny wirtualne z planami witryny Marketplace

Maszyny wirtualne utworzone na podstawie zasobów witryny Marketplace z dołączonymi planami nie mogą być przenoszone między subskrypcjami. Aby obejść to ograniczenie, możesz usunąć aprowizę maszyny wirtualnej w bieżącej subskrypcji i wdrożyć ją ponownie w nowej subskrypcji. Poniższe kroki ułatwiają ponowne utworzenie maszyny wirtualnej w nowej subskrypcji. Mogą one jednak nie działać w przypadku wszystkich scenariuszy. Jeśli plan nie jest już dostępny w witrynie Marketplace, te kroki nie będą działać.

  1. Uzyskaj informacje o planie.

    az vm show --resource-group demoRG --name myVm1 --query plan
    
  2. Sprawdź, czy oferta nadal istnieje w witrynie Marketplace.

    az vm image list-skus --publisher Fabrikam --offer LinuxServer --location centralus
    
  3. Sklonuj dysk systemu operacyjnego do subskrypcji docelowej lub przenieś oryginalny dysk po usunięciu maszyny wirtualnej z subskrypcji źródłowej.

  4. W subskrypcji docelowej zaakceptuj warunki witryny Marketplace dla planu. Warunki można zaakceptować, uruchamiając następujące polecenie programu PowerShell:

    az vm image terms accept --publisher {publisher} --offer {product/offer} --plan {name/SKU}
    

    Możesz też utworzyć nowe wystąpienie maszyny wirtualnej z planem za pośrednictwem portalu. Maszynę wirtualną można usunąć po zaakceptowaniu warunków w nowej subskrypcji.

  5. W subskrypcji docelowej utwórz ponownie maszynę wirtualną z sklonowanego dysku systemu operacyjnego przy użyciu programu PowerShell, interfejsu wiersza polecenia lub szablonu usługi Azure Resource Manager. Uwzględnij plan witryny Marketplace dołączony do dysku. Informacje o planie powinny być zgodne z planem zakupionym w nowej subskrypcji. Aby uzyskać więcej informacji, zobacz Tworzenie maszyny wirtualnej.

Aby uzyskać więcej informacji, zobacz Przenoszenie maszyny wirtualnej platformy Azure z witryny Marketplace do innej subskrypcji.

Maszyny wirtualne z usługą Azure Backup

Aby przenieść maszyny wirtualne skonfigurowane za pomocą usługi Azure Backup, należy usunąć kolekcje punktów przywracania (migawki) z magazynu. Punkty przywracania, które zostały już skopiowane do magazynu, można przechowywać i przenosić.

Jeśli dla maszyny wirtualnej włączono usuwanie nietrwałe, nie można przenieść maszyny wirtualnej, gdy te punkty przywracania są przechowywane. Wyłącz usuwanie nietrwałe lub poczekaj 14 dni po usunięciu punktów przywracania.

Portal

  1. Tymczasowo zatrzymaj kopię zapasową i zachowaj dane kopii zapasowej.

  2. Aby przenieść maszyny wirtualne skonfigurowane za pomocą usługi Azure Backup, wykonaj następujące czynności:

    1. Znajdź grupę zasobów zawierającą kopie zapasowe. Jeśli użyto domyślnej grupy zasobów, ma on następujący wzorzec nazewnictwa: AzureBackupRG_<VM location>_1. Na przykład nazwa jest w formacie AzureBackupRG_westus2_1.

      Jeśli utworzono niestandardową grupę zasobów, wybierz tę grupę zasobów. Jeśli nie możesz znaleźć grupy zasobów, wyszukaj pozycję Kolekcje punktów przywracania w portalu. Poszukaj kolekcji ze wzorcem AzureBackup_<VM name>_###########nazewnictwa .

    2. Wybierz zasób o typie Restore Point Collection , który ma wzorzec AzureBackup_<VM name>_###########nazewnictwa .

    3. Usuń ten zasób. Ta operacja usuwa tylko natychmiastowe punkty odzyskiwania, a nie dane kopii zapasowej w magazynie.

    4. Po zakończeniu operacji usuwania możesz przenieść maszynę wirtualną.

  3. Przenieś maszynę wirtualną do docelowej grupy zasobów.

  4. Skonfiguruj ponownie kopię zapasową.

Skrypt

  1. Znajdź grupę zasobów zawierającą kopie zapasowe. Jeśli użyto domyślnej grupy zasobów, ma on następujący wzorzec nazewnictwa: AzureBackupRG_<VM location>_1. Na przykład nazwa jest w formacie AzureBackupRG_westus2_1.

    Jeśli utworzono niestandardową grupę zasobów, znajdź ją. Jeśli nie możesz znaleźć grupy zasobów, użyj następującego polecenia i podaj nazwę maszyny wirtualnej.

    az resource list --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<vm-name>')].resourceGroup"
    
  2. Jeśli przenosisz tylko jedną maszynę wirtualną, pobierz kolekcję punktów przywracania dla tej maszyny wirtualnej.

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<VM name>')].id" --output tsv)
    

    Usuń ten zasób. Ta operacja usuwa tylko natychmiastowe punkty odzyskiwania, a nie dane kopii zapasowej w magazynie.

    az resource delete --ids $RESTOREPOINTCOL
    
  3. Jeśli przenosisz wszystkie maszyny wirtualne z kopiami zapasowymi w tej lokalizacji, pobierz kolekcje punktów przywracania dla tych maszyn wirtualnych.

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections)
    

    Usuń każdy zasób. Ta operacja usuwa tylko natychmiastowe punkty odzyskiwania, a nie dane kopii zapasowej w magazynie.

    az resource delete --ids $RESTOREPOINTCOL
    

Następne kroki