Dela via


Replikera virtuella datorer som körs i en Utökad Azure-zon till en Azure-region

Den här artikeln beskriver hur du replikerar, redundansväxlar och redundansväxlar virtuella Azure-datorer som körs i en Utökad Azure-zon till den överordnade Azure-regionen.

Viktigt!

Azure Site Recovery-funktionerna för utökade zoner är i förhandsversionstillstånd.

Haveriberedskap i Azure Extended Zone

Site Recovery säkerställer affärskontinuitet genom att hålla arbetsbelastningarna igång under avbrott genom att kontinuerligt replikera arbetsbelastningen från en primär till en sekundär plats. ASR-funktionerna för utökade zoner är i förhandsversion.

Här är den primära platsen en Utökad Azure-zon och den sekundära platsen är den överordnade region som Azure Extended Zone är ansluten till.

Viktigt!

  • När den virtuella datorn skapas stöder vi inte replikering i utökad zon. Den kan aktiveras på den virtuella datorn eller på valvsidorna när den virtuella datorn har skapats.
  • Om du använder ett konto för utökad zonlagring som cachelagringskonto stöds endast Block Blob Premium Storage-konton.
  • Om du använder ett konto för utökad zonlagring som cachelagringskonto stöds endast hög omsättning.

Om lagringskontot i Azure-regionen används som cachelagringskonto stöds både normal och hög omsättning.

Konfigurera haveriberedskap för virtuella datorer i en Utökad Azure-zon med PowerShell

Följande är kraven för att konfigurera haveriberedskap för virtuella datorer i en Utökad Azure-zon med hjälp av PowerShell:

Förutsättningar

  • Kontrollera att Azure Az PowerShell-modulen är installerad. Information om hur du installerar finns i Installera Azure Az PowerShell-modulen.

  • Den lägsta Azure Az PowerShell-versionen måste vara 4.1.0. Använd följande kommando för att se den aktuella versionen:

    Get-InstalledModule -Name Az
    
  • Se till att Linux-distributionsversionen och kerneln stöds av Azure Site Recovery. Mer information finns i supportmatrisen.

Replikera virtuella datorer som körs i en Utökad Azure-zon till en Azure-region

Följ dessa steg för att replikera virtuella datorer som körs i en Utökad Azure-zon till en Azure-region:

Kommentar

I det här exemplet är den primära platsen en Utökad Azure-zon och den sekundära platsen/återställningsplatsen är Azure Extended Zone-regionen.

  1. Logga in på ditt Azure-konto.

    Connect-AzAccount
    
  2. Välj Rätt prenumeration.

    $subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" 
    Set-AzContext $subscription.Id  
    
  3. Hämta information om den virtuella dator som du planerar att replikera.

    $VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>"   
    Write-Output $VM  
    
  4. Skapa en resursgrupp för Recovery Services-valvet i den sekundära Azure-regionen.

    New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<AzureRegion>"
    
  5. Skapa ett nytt Recovery Services-valv i den sekundära regionen.

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

    Set-AzRecoveryServicesAsrVaultContext -Vault $vault  
    
  7. Skapa infrastrukturresurser för primär site recovery.

    $TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<AzureRegion>” -
    Name "EdgeZoneFabric"
    
    1. Spåra jobbstatus för att söka efter slutförande.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      
    2. Om jobbet inte har slutförts kan du viloläge i 10 sekunder innan du kontrollerar jobbstatusen igen.

      sleep 10;
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    3. När jobbet har slutförts måste jobbtillståndet vara Lyckades.

      Write-Output $TempASRJob.State
      $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
      
  8. Använd den primära infrastrukturresursen för att skapa både primära containrar och återställningsskyddscontainrar.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject 
    $PrimaryFabric -Name "EdgeZoneProtectionContainer"
    
    1. Spåra jobbstatus för att söka efter slutförande.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      Write-Output $TempASRJob.State
      
    2. Både primära containrar och återställningsskyddscontainrar skapas i den primära regionen (inom den primära infrastrukturresursen).

      $PrimaryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric 
      $primaryFabric -Name "EdgeZoneProtectionContainer"
      $RecoveryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric 
      $primaryFabric -Name "EdgeZoneProtectionContainer-t"
      
  9. Skapar en replikeringsprincip.

    $TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name 
    "ReplicationPolicy" -RecoveryPointRetentionInHours 24 -
    ApplicationConsistentSnapshotFrequencyInHours 4
    
    1. Spåra jobbstatus för att söka efter slutförande.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. När jobbet har slutförts måste jobbtillståndet vara Lyckades.

      Write-Output $TempASRJob.State
      
      $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
      
  10. Skapa en skyddscontainermappning mellan de primära containrarna och återställningsskyddscontainrarna med replikeringsprincipen.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
    "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
    $PrimaryProtectionContainer -RecoveryProtectionContainer 
    $RecoveryProtectionContainer
    
    1. Spåra jobbstatus för att söka efter slutförande.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. När jobbet har slutförts måste jobbtillståndet vara Lyckades.

      Write-Output $TempASRJob.State
      
      $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
      ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
      
    3. Skapa en skyddscontainermappning för återställning efter fel mellan återställningscontainrar och primära skyddscontainrar med replikeringsprincipen.

      $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
      "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
      $RecoveryProtectionContainer -RecoveryProtectionContainer 
      $PrimaryProtectionContainer
      
      1. Spåra jobbstatus för att söka efter slutförande.

        while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
        "NotStarted")){
         sleep 10;
         $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
        }
        
      2. När jobbet har slutförts måste jobbtillståndet vara Lyckades.

        Write-Output $TempASRJob.State 
        $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
        ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
        
  11. Skapa ett cachelagringskonto för replikeringsloggar i den primära regionen. Cachelagringskontot skapas i den primära regionen.

    $CacheStorageAccount = New-AzStorageAccount -Name "cachestorage" -ResourceGroupName 
    "<primary ResourceGroupName>" -Location '<AzureRegion>' -SkuName Standard_LRS -
    Kind Storage
    
  12. Se till att skapa ett virtuellt nätverk på målplatsen. Skapa ett återställningsnätverk i återställningsregionen.

    $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. Använd följande PowerShell-cmdlet för att replikera en virtuell Azure Extended Zone-dator med hanterade diskar. Det här steget kan ta cirka 20 minuter att slutföra.

    1. Hämta den resursgrupp som den virtuella datorn måste skapas i när den redväxeras.

      $RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location "
      <AzureRegion>"
      
    2. Hämta den virtuella datorn och visa innehåll.

      $vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
      
    3. Ange replikeringsegenskaper för varje disk på den virtuella datorn som måste replikeras (skapa diskreplikeringskonfiguration).

      #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. Datadisk

      1. Om den virtuella datorn har datadisk använder du följande kommando för att skapa diskkonfiguration. Annars kan du hoppa över det här avsnittet. Från $datadiskId till $DataDisk1ReplicationConfig $datadiskId = $vm.StorageProfile.OSDisk.ManagedDisk.Id.

        Du kan också göra så här:

        $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. Skapa ett replikeringsskyddat objekt för att starta replikeringen. Använd ett GUID för namnet på det replikeringsskyddade objektet för att säkerställa att namnet är unikt. Om du inte återställer till en tillgänglighetszon anger du inte parametern -RecoveryAvailabilityZone .

      $TempASRJob = New-AzRecoveryServicesAsrReplicationProtectedItem -AzureToAzure -AzureVmId 
      $VM.Id -Name $vm.Name -ProtectionContainerMapping $EdgeZoneToAzurePCMapping -
      AzureToAzureDiskReplicationConfiguration $DataDisk1ReplicationConfig -
      RecoveryResourceGroupId $RecoveryRGId -RecoveryAvailabilityZone “1” -
      RecoveryAzureNetworkId $recoveryVnet.Id -RecoveryAzureSubnetName “defaultsubnetconf”
      
    6. Spåra jobbstatus för att söka efter slutförande.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      sleep 10; 
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob 
      } 
      
    7. Kontrollera om jobbet har slutförts. Det uppdaterade jobbtillståndet för ett slutfört jobb måste vara Lyckades.

      Write-Output $TempASRJob.State
      
    8. När åtgärden för att starta replikeringen har slutförts replikeras data för virtuella datorer till återställningsregionen.

    När replikeringsprocessen startar skapar den först en kopia av de replikerande diskarna för den virtuella datorn i återställningsregionen. Den här fasen kallas för den inledande replikeringsfasen. Det här steget tar cirka 20 minuter. Se status för replikeringen på bladet Valv under Replikerade objekt.

    Skärmbild av replikerade objekt.

    När replikeringen är klar visas valvreplikeringsobjekten enligt nedan:

    Skärmbild av valvreplikering.

    Nu är den virtuella datorn skyddad och du kan utföra en redundansteståtgärd. Replikeringstillståndet för det replikerade objektet som representerar den virtuella datorn går till det skyddade tillståndet när den inledande replikeringen har slutförts.

    Övervaka replikeringstillståndet och replikeringshälsan för den virtuella datorn genom att hämta information om det replikeringsskyddade objekt som motsvarar det:

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

    Om du ser Skyddat i ProtectionState är du redo att testa redundansväxlingen.

    Skärmbild av skyddstillstånd.

  14. Utför, verifiera och rensa ett redundanstest. Du kan hoppa över redundanstestet. Vi rekommenderar dock att du kör redundanstestet för att se till att den sekundära regionen visas som förväntat.

    1. Skapa ett separat nätverk för redundanstest (inte anslutet till mitt DR-nätverk).

      $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. Utför ett redundanstest.

      $ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem -
      FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer
      
      $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem 
      $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
      
    3. Vänta tills jobbet är klart.

      while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob
      }
      
    4. Vänta tills redundanstestet har slutförts.

      Get-AzRecoveryServicesAsrJob -Job $TFOJob
      

    Kommentar

    Du kan också kontrollera förloppet för jobbet genom att gå till portalen, välja valvet och sedan välja Site Recovery-jobben.

    När redundanstestet har slutförts kan du ansluta till testet redundansväxla den virtuella datorn och verifiera redundanstestet. När testningen har slutförts på den virtuella datorn redundansväxla du testkopian genom att starta redundanstestet. Den här åtgärden tar bort testkopian av den virtuella datorn som skapades vid redundanstestet. Kontrollera att alla målinställningar är rätt i den virtuella datorn för redundanstest, inklusive plats, nätverksinställning, inga skadade data och att inga data går förlorade på den virtuella måldatorn. Nu kan du ta bort redundanstestet och starta redundansväxlingen.

    $Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select State
    
  15. Nästa steg är att redundansväxla den virtuella datorn. Det här steget skapar den virtuella datorn med de replikerade diskarna i återställningsregionen.

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

    Listan över returnerade återställningspunkter kanske inte sorteras kronologiskt. Du måste sortera dessa först för att hitta de äldsta eller senaste återställningspunkterna för den virtuella datorn.

     "{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[-
    1].RecoveryPointTime
    
    1. Starta redundansjobbet.

      $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. När redundansjobbet lyckas kan du checka in redundansväxlingen.

     $CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    
    1. Vänta tills redundansjobbet har slutförts.

      while (($CommitFailoverJob.State -eq "InProgress") -or ($CommitFailoverJob.State 
      -eq "NotStarted")){
       sleep 10;
       $CommitFailoverJob = Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJob
      }
       Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJOb
      
  17. Efter en redundansväxling startar du omvänd replikering för det replikeringsskyddade objektet med hjälp av cmdleten Update-AzRecoveryServicesAsrProtectionDirection när du är redo att gå tillbaka till den ursprungliga regionen.

    1. Skapa cachelagringskonto för replikeringsloggar i återställningsregionen.

      $EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" -
      ResourceGroupName "<ResourceGroupName>" -Location '<AzureRegion>' -SkuName 
      Standard_LRS -Kind Storage
      
    2. Använd återställningsskyddscontainern, det nya cachelagringskontot i Azure Extended Zone-regionen och resursgruppen för den virtuella källregionen.

      $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
      

    Det här steget tar ~20 minuter och statusen flyttas från Pågår till Lyckades.

    Skärmbild av listan Över skyddade objekt.

  18. Inaktivera replikering.

    Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem 
    $ReplicationProtectedItem
    
  19. Rensa miljön. Det här steget är valfritt och kan användas för att ta bort resursgruppen.

    Remove-AzResourceGroup -Name $Name -Force
    

Nästa steg

  • Visa PowerShell-referensen för Azure Site Recovery för att lära dig hur du kan skapa återställningsplaner, utföra redundans och återställning efter fel med PowerShell.