Dela via


Replikera virtuella datorer som körs i en offentlig Azure-MEC till Azure-region

Viktigt

Azure Site Recovery-funktionen för offentlig MEC är i förhandsversionstillstånd.

Den här artikeln beskriver hur du replikerar, redundansväxlar och återställer virtuella Azure-datorer (VM) som körs på Azure Public MEC till den överordnade Azure-regionen där Azure Public MEC är ett tillägg.

Haveriberedskap i Azure Public MEC

Site Recovery säkerställer affärskontinuitet genom att hålla arbetsbelastningar igång under avbrott genom att kontinuerligt replikera arbetsbelastningen från den primära till den sekundära platsen. ASR-funktionen för MEC är i förhandsversion.

Här är den primära platsen en offentlig MEC i Azure och den sekundära platsen är den överordnade region som Azure Public MEC är ansluten till.

Konfigurera haveriberedskap för virtuella datorer i en offentlig MEC i Azure 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 offentlig MEC i Azure till En Azure-region

Följ dessa steg om du vill replikera virtuella datorer som körs i en offentlig Azure MEC till Azure-region:

Anteckning

I det här exemplet är den primära platsen en offentlig MEC för Azure och den sekundära platsen/återställningsplatsen är Azure Public MEC:s region.

  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 "<EdgeZoneRegion>"
    
  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 en primär Site Recovery infrastrukturresurser.

    $TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<EdgeZoneRegion>” -
    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 vila i 10 sekunder innan du kontrollerar jobbstatusen igen.

      sleep 10;
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    3. När jobbet har slutförts måste det 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 det 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 det 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ällningscontainrarna och de primära skyddscontainrarna 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 det 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 '<EdgeZoneRegion>' -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 '<EdgeZoneRegion>' -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 azure public MEC Azure-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 redansväxeras.

      $RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location "
      <EdgeZoneRegion>"
      
    2. Hämta vm och visningsinnehåll.

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

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

        Alternativt

        $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 som namn 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 replikeringen 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 har slutförts 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 försätts i 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 fortsätta att testa redundansväxlingen.

    Skärmbild av skyddstillstånd.

  14. Utför, validera och rensa ett redundanstest. Du kan hoppa över redundanstestet. Vi rekommenderar dock att du kör redundanstestet för att säkerställa att den sekundära regionen kommer upp 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 '<EdgeZoneRegion>' -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 har slutförts.

      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
      

    Anteckning

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

    När redundanstestet har slutförts kan du ansluta till testet redundansväxla den virtuella datorn och verifiera redundanstestet. När testningen är klar på den redundansväxla virtuella datorn rensar du testkopian genom att starta redundanstestet. Den här åtgärden tar bort testkopian av den virtuella datorn som skapades av 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 hjälp av 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. När du är redo att gå tillbaka till den ursprungliga regionen efter en redundansväxling startar du omvänd replikering för det replikeringsskyddade objektet med hjälp av cmdleten Update-AzRecoveryServicesAsrProtectionDirection .

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

      $EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" -
      ResourceGroupName "<ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName 
      Standard_LRS -Kind Storage
      
    2. Använd återställningsskyddscontainern, det nya cachelagringskontot i Azure Public MEC:s region 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 cirka 20 minuter och statusen flyttas från Pågår till Lyckades.

    Skärmbild av listan 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