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, utför redundansväxling och återväxling av virtuella Azure-datorer som körs i en Azure Extended Zone till sin överordnade Azure-region.

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 förändringsfrekvens.

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

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 tygnät för primärplatsåterställning.

    $TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<AzureRegion>” -
    Name "EdgeZoneFabric"
    
    1. Spåra jobbstatus för att kontrollera om det är slutfört.

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

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

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

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject 
    $PrimaryFabric -Name "EdgeZoneProtectionContainer"
    
    1. Spåra jobbstatus för att kontrollera slutförandet.

      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 skyddsbehållare och återställningsskyddsbehållare skapas i den primära regionen (inom den primära infrastrukturen).

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

    $TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name 
    "ReplicationPolicy" -RecoveryPointRetentionInHours 24 -
    ApplicationConsistentSnapshotFrequencyInHours 4
    
    1. Spåra jobbstatus för att kontrollera om det är slutfört.

      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 tillståndet för jobbet vara Lyckats.

      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 kontrollera slutförandet.

      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 tillståndet för jobbet vara Lyckats.

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

      $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
      "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
      $RecoveryProtectionContainer -RecoveryProtectionContainer 
      $PrimaryProtectionContainer
      
      1. Spåra jobbstatus för att kontrollera om det är klart.

        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 tillståndet för jobbet vara Lyckats.

        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. Få tag i den resursgrupp som den virtuella datorn måste skapas i när den växlas över.

      $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. Dataskiva

      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 kontrollera om det är klart.

      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 Slutfört.

      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 Vault-replikering.

    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, validera och städa ett omkopplingstest. Du kan hoppa över testomkörningen. 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 testomkopplingen 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 testöverflyttningen har slutförts framgångsrikt kan du ansluta till den redundansväxlade virtuella datorn och verifiera testöverflyttningen. När testningen har slutförts på den misslyckade redundansväxlade virtuella datorn, rensa testkopian genom att påbörja rengöringsprocessen för 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 växla över den virtuella maskinen. 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 genomföra övergången.

     $CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    
    1. Vänta tills åtgärdsjobbet för failover är slutfört.

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

    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.