Sdílet prostřednictvím


Replikace virtuálních počítačů spuštěných v rozšířené zóně Azure do oblasti Azure

Tento článek popisuje, jak replikovat, převzetí služeb při selhání a navrácení služeb po obnovení virtuálních počítačů Azure spuštěných v rozšířené zóně Azure do nadřazené oblasti Azure.

Důležité

Funkce Azure Site Recovery pro rozšířené zóny jsou ve stavu Preview.

Zotavení po havárii v rozšířené zóně Azure

Site Recovery zajišťuje provozní kontinuitu tím, že udržuje úlohy spuštěné během výpadků tím, že nepřetržitě replikuje úlohy z primárního do sekundárního umístění. Funkce ASR pro rozšířené zóny je ve verzi Preview.

Primární umístění je rozšířená zóna Azure a sekundární umístění je nadřazená oblast, ke které je rozšířená zóna Azure připojená.

Důležité

  • Během vytváření virtuálního počítače nepodporujeme replikaci v rozšířené zóně. Po vytvoření virtuálního počítače ho můžete povolit na virtuálním počítači nebo na stránkách trezoru.
  • Pokud jako účet úložiště mezipaměti používáte účet rozšířeného úložiště zóny, budou podporovány pouze účty služby Block Blob Premium Storage.
  • Pokud jako účet úložiště mezipaměti používáte účet rozšířeného úložiště zóny, podporuje se pouze vysoká četnost změn.

Pokud se účet úložiště oblasti Azure používá jako účet úložiště mezipaměti, podporují se obě běžné a vysoké četnosti změn.

Nastavení zotavení po havárii pro virtuální počítače v rozšířené zóně Azure pomocí PowerShellu

Toto jsou požadavky na nastavení zotavení po havárii pro virtuální počítače v rozšířené zóně Azure pomocí PowerShellu:

Požadavky

  • Ujistěte se, že je nainstalovaný modul Azure Az PowerShellu. Informace o instalaci najdete v tématu Instalace modulu Azure Az PowerShell.

  • Minimální verze Azure Az PowerShellu musí být 4.1.0. Aktuální verzi zobrazíte pomocí následujícího příkazu:

    Get-InstalledModule -Name Az
    
  • Ujistěte se, že Azure Site Recovery podporuje verzi distribuce Linuxu a jádro. Další informace najdete v matici podpory.

Replikace virtuálních počítačů spuštěných v rozšířené zóně Azure do oblasti Azure

Pokud chcete replikovat virtuální počítače spuštěné v rozšířené zóně Azure do oblasti Azure, postupujte takto:

Poznámka:

V tomto příkladu je primárním umístěním rozšířená zóna Azure a sekundárním umístěním nebo umístěním obnovení je oblast rozšířené zóny Azure.

  1. Přihlaste se ke svému účtu Azure.

    Connect-AzAccount
    
  2. Vyberte správné předplatné.

    $subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" 
    Set-AzContext $subscription.Id  
    
  3. Získejte podrobnosti o virtuálním počítači, který chcete replikovat.

    $VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>"   
    Write-Output $VM  
    
  4. Vytvořte skupinu prostředků pro trezor služby Recovery Services v sekundární oblasti Azure.

    New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<AzureRegion>"
    
  5. Vytvořte nový trezor služby Recovery Services v sekundární oblasti.

    $vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" -
    ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>"
    Write-Output $vault
    
  6. Nastavte kontext trezoru.

    Set-AzRecoveryServicesAsrVaultContext -Vault $vault  
    
  7. Vytvořte primární prostředky infrastruktury Site Recovery.

    $TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<AzureRegion>” -
    Name "EdgeZoneFabric"
    
    1. Sledujte stav úlohy a zkontrolujte dokončení.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      
    2. Pokud se úloha nedokončila, počkejte 10 sekund, než znovu zkontrolujete stav úlohy.

      sleep 10;
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    3. Po úspěšném dokončení musí být stav úlohy Úspěšný.

      Write-Output $TempASRJob.State
      $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
      
  8. Pomocí primárních prostředků infrastruktury vytvořte primární kontejnery ochrany i kontejnery ochrany pro obnovení.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject 
    $PrimaryFabric -Name "EdgeZoneProtectionContainer"
    
    1. Sledujte stav úlohy a zkontrolujte dokončení.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      Write-Output $TempASRJob.State
      
    2. Primární i obnovovací kontejnery ochrany se vytvoří v primární oblasti (v rámci primárních prostředků infrastruktury).

      $PrimaryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric 
      $primaryFabric -Name "EdgeZoneProtectionContainer"
      $RecoveryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric 
      $primaryFabric -Name "EdgeZoneProtectionContainer-t"
      
  9. Vytvořit zásadu replikace.

    $TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name 
    "ReplicationPolicy" -RecoveryPointRetentionInHours 24 -
    ApplicationConsistentSnapshotFrequencyInHours 4
    
    1. Sledujte stav úlohy a zkontrolujte dokončení.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. Po úspěšném dokončení musí být stav úlohy Úspěšný.

      Write-Output $TempASRJob.State
      
      $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
      
  10. Vytvořte mapování kontejneru ochrany mezi primárními kontejnery ochrany a kontejnery ochrany pro obnovení pomocí zásad replikace.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
    "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
    $PrimaryProtectionContainer -RecoveryProtectionContainer 
    $RecoveryProtectionContainer
    
    1. Sledujte stav úlohy a zkontrolujte dokončení.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. Po úspěšném dokončení musí být stav úlohy Úspěšný.

      Write-Output $TempASRJob.State
      
      $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
      ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
      
    3. Vytvořte mapování kontejneru ochrany pro navrácení služeb po obnovení mezi kontejnery obnovení a primární ochrany pomocí zásad replikace.

      $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
      "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
      $RecoveryProtectionContainer -RecoveryProtectionContainer 
      $PrimaryProtectionContainer
      
      1. Sledujte stav úlohy a zkontrolujte dokončení.

        while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
        "NotStarted")){
         sleep 10;
         $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
        }
        
      2. Po úspěšném dokončení musí být stav úlohy Úspěšný.

        Write-Output $TempASRJob.State 
        $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
        ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
        
  11. Vytvořte účet úložiště mezipaměti pro protokoly replikace v primární oblasti. Účet úložiště mezipaměti se vytvoří v primární oblasti.

    $CacheStorageAccount = New-AzStorageAccount -Name "cachestorage" -ResourceGroupName 
    "<primary ResourceGroupName>" -Location '<AzureRegion>' -SkuName Standard_LRS -
    Kind Storage
    
  12. Ujistěte se, že chcete vytvořit virtuální síť v cílovém umístění. Vytvořte síť obnovení v oblasti obnovení.

    $recoveryVnet = New-AzVirtualNetwork -Name "recoveryvnet" -ResourceGroupName 
    "recoveryrg" -Location '<AzureRegion>' -AddressPrefix "10.0.0.0/16" 
    Add-AzVirtualNetworkSubnetConfig -Name "defaultsubnetconf" -VirtualNetwork 
    $recoveryVnet -AddressPrefix "10.0.0.0/24" | Set-AzVirtualNetwork
    $recoveryNetwork = $recoveryVnet.Id
    
  13. Pomocí následující rutiny PowerShellu replikujte virtuální počítač Azure Extended Zone se spravovanými disky. Dokončení tohoto kroku může trvat přibližně 20 minut.

    1. Získejte skupinu prostředků, ve které musí být virtuální počítač vytvořen při převzetí služeb při selhání.

      $RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location "
      <AzureRegion>"
      
    2. Získejte virtuální počítač a zobrazte obsah.

      $vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
      
    3. Zadejte vlastnosti replikace pro každý disk virtuálního počítače, který se musí replikovat (vytvoření konfigurace replikace disku).

      #OsDisk
      $OSdiskId = $vm.StorageProfile.OsDisk.ManagedDisk.Id
      $RecoveryOSDiskAccountType = $vm.StorageProfile.OsDisk.ManagedDisk.StorageAccountType
      $RecoveryReplicaDiskAccountType = 
      $vm.StorageProfile.OsDisk.ManagedDisk.StorageAccountType
      $OSDiskReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig -
      ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id `
       -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRG.ResourceId -
      RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType `
       -RecoveryTargetDiskAccountType $RecoveryOSDiskAccountType
      
    4. Datový disk

      1. Pokud má virtuální počítač datový disk, pomocí následujícího příkazu vytvořte konfiguraci disku. Pokud ne, můžete tuto část přeskočit. Od $datadiskId do $DataDisk1ReplicationConfig $datadiskId = $vm.StorageProfile.OSDisk.ManagedDisk.Id.

        Nebo:

        $RecoveryReplicaDiskAccountType = "Premium_LRS"
        $RecoveryTargetDiskAccountType = "Premium_LRS"
        $RecoveryRGId = $RecoveryRG.ResourceId
        $DataDisk1ReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig 
        -ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id `
         -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRGId -
        RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType `
         -RecoveryTargetDiskAccountType $RecoveryTargetDiskAccountType
        
    5. Vytvořte chráněnou položku replikace pro spuštění replikace. K zajištění jedinečnosti názvu chráněné položky replikace použijte identifikátor GUID. Pokud se neobnovíte do zóny dostupnosti, nezadávejte -RecoveryAvailabilityZone parametr.

      $TempASRJob = New-AzRecoveryServicesAsrReplicationProtectedItem -AzureToAzure -AzureVmId 
      $VM.Id -Name $vm.Name -ProtectionContainerMapping $EdgeZoneToAzurePCMapping -
      AzureToAzureDiskReplicationConfiguration $DataDisk1ReplicationConfig -
      RecoveryResourceGroupId $RecoveryRGId -RecoveryAvailabilityZone “1” -
      RecoveryAzureNetworkId $recoveryVnet.Id -RecoveryAzureSubnetName “defaultsubnetconf”
      
    6. Sledujte stav úlohy a zkontrolujte dokončení.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      sleep 10; 
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob 
      } 
      
    7. Zkontrolujte, jestli se úloha úspěšně dokončila. Aktualizovaný stav úlohy úspěšně dokončené úlohy musí být úspěšný.

      Write-Output $TempASRJob.State
      
    8. Po úspěšném spuštění replikace se data virtuálního počítače replikují do oblasti obnovení.

    Při spuštění procesu replikace se zpočátku vytvoří kopie replikujících disků virtuálního počítače v oblasti obnovení. Tato fáze se nazývá počáteční fáze replikace. Tento krok trvá přibližně 20 minut. Podívejte se na stav replikace v okně Trezor v části Replikované položky.

    Snímek obrazovky s replikovanými položkami

    Po dokončení replikace se položky replikace trezoru zobrazí takto:

    Snímek obrazovky s replikací trezoru

    Teď je virtuální počítač chráněný a můžete provést testovací operaci převzetí služeb při selhání. Stav replikace replikované položky, která představuje virtuální počítač, přejde po dokončení počáteční replikace do chráněného stavu.

    Sledujte stav replikace a stav replikace pro virtuální počítač získáním podrobností o chráněné položce replikace, která odpovídá této položce:

    $PE = Get-AzRecoveryServicesAsrReplicationProtectedItem
     -ProtectionContainer $PrimaryProtectionContainer
    | Select FriendlyName, ProtectionState, ReplicationHealth
    $PE
    

    Pokud se v protectionState zobrazí ochrana, jste připraveni pokračovat k testovacímu převzetí služeb při selhání.

    Snímek obrazovky se stavem ochrany

  14. Proveďte, ověřte a vyčistěte testovací převzetí služeb při selhání. Testovací převzetí služeb při selhání můžete přeskočit. Doporučujeme ale spustit testovací převzetí služeb při selhání, aby se zajistilo, že vaše sekundární oblast bude fungovat podle očekávání.

    1. Vytvořte samostatnou síť pro testovací převzetí služeb při selhání (nepřipojené k síti zotavení po havárii).

      $TFOVnet = New-AzVirtualNetwork -Name "TFOvnet" -ResourceGroupName "edgezonerecoveryrg" 
      -Location '<AzureRegion>' -AddressPrefix "10.3.0.0/26"
      
      Add-AzVirtualNetworkSubnetConfig -Name "default" -VirtualNetwork $TFOVnet -AddressPrefix 
      "10.3.0.0/26" | Set-AzVirtualNetwork
      
      $TFONetwork= $TFOVnet.Id
      
    2. Proveďte testovací převzetí služeb při selhání.

      $ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem -
      FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer
      
      $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem 
      $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
      
    3. Počkejte, až se úloha dokončí.

      while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob
      }
      
    4. Počkejte na dokončení testovacího převzetí služeb při selhání.

      Get-AzRecoveryServicesAsrJob -Job $TFOJob
      

    Poznámka:

    Průběh úlohy můžete také zkontrolovat tak, že přejdete na portál, vyberete trezor a pak vyberete úlohy Site Recovery.

    Po úspěšném dokončení úlohy testovacího převzetí služeb při selhání se můžete připojit k testovacímu virtuálnímu počítači, u které došlo k převzetí služeb při selhání, a ověřit testovací převzetí služeb při selhání. Po dokončení testování na virtuálním počítači, u které došlo k převzetí služeb při selhání, vyčistíte testovací kopii spuštěním operace testovacího převzetí služeb při selhání. Tato operace odstraní testovací kopii virtuálního počítače vytvořeného testovacím převzetím služeb při selhání. Ověřte, že všechna cílová nastavení jsou přímo na testovacím virtuálním počítači s podporou převzetí služeb při selhání, včetně umístění, nastavení sítě, poškození dat a neztratí se v cílovém virtuálním počítači žádná data. Teď můžete testovací převzetí služeb při selhání odstranit a spustit převzetí služeb při selhání.

    $Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select State
    
  15. Dalším krokem bude převzetí služeb při selhání virtuálního počítače. Tento krok vytvoří virtuální počítač pomocí replikovaných disků v oblasti obnovení.

    $ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem -
    FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer
    $RecoveryPoints = Get-AzRecoveryServicesAsrRecoveryPoint -ReplicationProtectedItem 
    $ReplicationProtectedItem 
    

    Seznam vrácených bodů obnovení nemusí být seřazen chronologicky. Pokud chcete najít nejstarší nebo nejnovější body obnovení virtuálního počítače, musíte je nejprve seřadit.

     "{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[-
    1].RecoveryPointTime
    
    1. Spusťte úlohu převzetí služeb při selhání.

      $Job_Failover = Start-AzRecoveryServicesAsrUnplannedFailoverJob -
      ReplicationProtectedItem $ReplicationProtectedItem -Direction PrimaryToRecovery -
      RecoveryPoint $RecoveryPoints[-1] 
      do { 
      $Job_Failover = Get-AzRecoveryServicesAsrJob -Job $Job_Failover; 
      sleep 30; 
      } while (($Job_Failover.State -eq "InProgress") -or ($JobFailover.State -eq 
      "NotStarted")) 
      $Job_Failover.State
      
  16. Pokud je úloha převzetí služeb při selhání úspěšná, můžete převzetí služeb při selhání potvrdit.

     $CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    
    1. Počkejte, až se úloha převzetí služeb při selhání potvrdí.

      while (($CommitFailoverJob.State -eq "InProgress") -or ($CommitFailoverJob.State 
      -eq "NotStarted")){
       sleep 10;
       $CommitFailoverJob = Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJob
      }
       Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJOb
      
  17. Po převzetí služeb při selhání, až budete připraveni se vrátit k původní oblasti, spusťte pomocí rutiny zpětnou replikaci chráněné položky Update-AzRecoveryServicesAsrProtectionDirection replikace.

    1. Vytvořte účet úložiště mezipaměti pro protokoly replikace v oblasti obnovení.

      $EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" -
      ResourceGroupName "<ResourceGroupName>" -Location '<AzureRegion>' -SkuName 
      Standard_LRS -Kind Storage
      
    2. Použijte kontejner ochrany obnovení, nový účet úložiště mezipaměti v oblasti Rozšířené zóny Azure a skupinu prostředků virtuálního počítače zdrojové oblasti.

      $ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem -
      FriendlyName $vm.name -ProtectionContainer $PrimaryProtectionContainer
       $sourceVMResourcegroupId = $(Get-AzResourceGroup -Name $vm.ResourceGroupName).
      ResourceId
      Update-ASRProtectionDirection -ReplicationProtectedItem $ReplicationProtectedItem `
       -AzureToAzure `
       -ProtectionContainerMapping $AzureToEdgeZonePCMapping `
       -LogStorageAccountId $EdgeZoneCacheStorageAccount.Id `
       -RecoveryResourceGroupID $sourceVMResourcegroupId
      

    Tento krok trvá přibližně 20 minut a stav se přesune z probíhajícího na Úspěšné.

    Snímek obrazovky se seznamem chráněných položek

  18. Zakažte replikaci.

    Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem 
    $ReplicationProtectedItem
    
  19. Vyčistěte prostředí. Tento krok je nepovinný a dá se použít k odebrání skupiny prostředků.

    Remove-AzResourceGroup -Name $Name -Force
    

Další kroky