Delen via


Virtuele machines die worden uitgevoerd in een Uitgebreide Azure-zone repliceren naar een Azure-regio

In dit artikel wordt beschreven hoe u virtuele Azure-machines (VM's) die worden uitgevoerd op een uitgebreide Azure-zone repliceren, failover en failback uitvoeren naar de bovenliggende Azure-regio.

Belangrijk

De Azure Site Recovery-functionaliteit voor uitgebreide zones heeft de preview-status.

Herstel na noodgevallen in de uitgebreide Azure-zone

Site Recovery zorgt voor bedrijfscontinuïteit door workloads uit te voeren tijdens storingen door de workload continu te repliceren van een primaire naar een secundaire locatie. De ASR-functionaliteit voor uitgebreide zones is in preview.

Hier is de primaire locatie een uitgebreide Azure-zone en de secundaire locatie is de bovenliggende regio waarmee de Uitgebreide Azure-zone is verbonden.

Belangrijk

  • Tijdens het maken van een VIRTUELE machine worden replicatie in de uitgebreide zone niet ondersteund. Deze kan worden ingeschakeld op de virtuele machine of op de kluispagina's zodra de virtuele machine is gemaakt.
  • Als u een Extended Zone Storage-account gebruikt als cacheopslagaccount, worden alleen Blok-Blob Premium Storage-accounts ondersteund.
  • Als u een Extended Zone Storage-account gebruikt als cacheopslagaccount, wordt alleen hoog verloop ondersteund.

Als azure-regioopslagaccount wordt gebruikt als cacheopslagaccount, worden beide normaal en hoog verloop ondersteund.

Herstel na noodgevallen instellen voor VM's in een uitgebreide Azure-zone met behulp van PowerShell

Hieronder volgen de vereisten voor het instellen van herstel na noodgevallen voor VM's in een uitgebreide Azure-zone met behulp van PowerShell:

Vereisten

  • Zorg ervoor dat de Azure Az PowerShell-module is geïnstalleerd. Zie De Azure Az PowerShell-module installeren voor meer informatie over het installeren.

  • De minimale Versie van Azure Az PowerShell moet 4.1.0 zijn. Gebruik de volgende opdracht om de huidige versie te bekijken:

    Get-InstalledModule -Name Az
    
  • Zorg ervoor dat de Linux-distributieversie en -kernel worden ondersteund door Azure Site Recovery. Zie de ondersteuningsmatrix voor meer informatie.

Virtuele machines repliceren die worden uitgevoerd in een uitgebreide Azure-zone naar een Azure-regio

Voer de volgende stappen uit om VM's die worden uitgevoerd in een Uitgebreide Azure-zone te repliceren naar een Azure-regio:

Notitie

In dit voorbeeld is de primaire locatie een uitgebreide Azure-zone en is de secundaire/herstellocatie de regio van de Azure Extended Zone.

  1. Meld u aan bij uw Azure-account.

    Connect-AzAccount
    
  2. Selecteer Het juiste abonnement.

    $subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" 
    Set-AzContext $subscription.Id  
    
  3. Haal de details op van de virtuele machine die u wilt repliceren.

    $VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>"   
    Write-Output $VM  
    
  4. Maak een resourcegroep voor de Recovery Services-kluis in de secundaire Azure-regio.

    New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<AzureRegion>"
    
  5. Maak een nieuwe Recovery Services-kluis in de secundaire regio.

    $vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" -
    ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>"
    Write-Output $vault
    
  6. Stel de kluiscontext in.

    Set-AzRecoveryServicesAsrVaultContext -Vault $vault  
    
  7. Primaire Site Recovery-infrastructuur maken.

    $TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<AzureRegion>” -
    Name "EdgeZoneFabric"
    
    1. Houd de taakstatus bij om te controleren op voltooiing.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      
    2. Als de taak nog niet is voltooid, slaapt u 10 seconden voordat u de taakstatus opnieuw controleert.

      sleep 10;
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    3. Als de taak is voltooid, moet de taakstatus zijn voltooid.

      Write-Output $TempASRJob.State
      $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
      
  8. Gebruik de primaire infrastructuur om zowel primaire als herstelbeveiligingscontainers te maken.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject 
    $PrimaryFabric -Name "EdgeZoneProtectionContainer"
    
    1. Houd de taakstatus bij om te controleren op voltooiing.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      Write-Output $TempASRJob.State
      
    2. Zowel primaire als herstelbeveiligingscontainers worden gemaakt in de primaire regio (binnen de primaire infrastructuur).

      $PrimaryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric 
      $primaryFabric -Name "EdgeZoneProtectionContainer"
      $RecoveryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric 
      $primaryFabric -Name "EdgeZoneProtectionContainer-t"
      
  9. Een replicatiebeleid maken.

    $TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name 
    "ReplicationPolicy" -RecoveryPointRetentionInHours 24 -
    ApplicationConsistentSnapshotFrequencyInHours 4
    
    1. Houd de taakstatus bij om te controleren op voltooiing.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. Als de taak is voltooid, moet de taakstatus zijn voltooid.

      Write-Output $TempASRJob.State
      
      $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
      
  10. Maak een beveiligingscontainertoewijzing tussen de primaire en herstelbeveiligingscontainers met het replicatiebeleid.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
    "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
    $PrimaryProtectionContainer -RecoveryProtectionContainer 
    $RecoveryProtectionContainer
    
    1. Houd de taakstatus bij om te controleren op voltooiing.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. Als de taak is voltooid, moet de taakstatus zijn voltooid.

      Write-Output $TempASRJob.State
      
      $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
      ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
      
    3. Maak een beveiligingscontainertoewijzing voor failback, tussen de herstel- en primaire beveiligingscontainers met het replicatiebeleid.

      $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
      "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
      $RecoveryProtectionContainer -RecoveryProtectionContainer 
      $PrimaryProtectionContainer
      
      1. Houd de taakstatus bij om te controleren op voltooiing.

        while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
        "NotStarted")){
         sleep 10;
         $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
        }
        
      2. Als de taak is voltooid, moet de taakstatus zijn voltooid.

        Write-Output $TempASRJob.State 
        $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
        ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
        
  11. Maak een cacheopslagaccount voor replicatielogboeken in de primaire regio. Het cacheopslagaccount wordt gemaakt in de primaire regio.

    $CacheStorageAccount = New-AzStorageAccount -Name "cachestorage" -ResourceGroupName 
    "<primary ResourceGroupName>" -Location '<AzureRegion>' -SkuName Standard_LRS -
    Kind Storage
    
  12. Zorg ervoor dat u een virtueel netwerk maakt op de doellocatie. Maak een herstelnetwerk in de herstelregio.

    $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. Gebruik de volgende PowerShell-cmdlet om een azure Extended Zone-VM te repliceren met beheerde schijven. Deze stap kan ongeveer 20 minuten duren.

    1. Haal de resourcegroep op waarin de virtuele machine moet worden gemaakt wanneer er een failover is uitgevoerd.

      $RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location "
      <AzureRegion>"
      
    2. Vm ophalen en inhoud weergeven.

      $vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
      
    3. Geef replicatie-eigenschappen op voor elke schijf van de VIRTUELE machine die moet worden gerepliceerd (maak de configuratie van schijfreplicatie).

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

      1. Als de VM een gegevensschijf heeft, gebruikt u de volgende opdracht om schijfconfiguratie te maken. Zo niet, dan kunt u deze sectie overslaan. Van $datadiskId in $DataDisk1ReplicationConfig $datadiskId = $vm.StorageProfile.OSDisk.ManagedDisk.Id.

        U kunt ook het volgende doen:

        $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. Maak een met replicatie beveiligd item om de replicatie te starten. Gebruik een GUID voor de naam van het met replicatie beveiligde item om de uniekheid van de naam te garanderen. Als u niet herstelt naar een beschikbaarheidszone, geeft u de -RecoveryAvailabilityZone parameter niet op.

      $TempASRJob = New-AzRecoveryServicesAsrReplicationProtectedItem -AzureToAzure -AzureVmId 
      $VM.Id -Name $vm.Name -ProtectionContainerMapping $EdgeZoneToAzurePCMapping -
      AzureToAzureDiskReplicationConfiguration $DataDisk1ReplicationConfig -
      RecoveryResourceGroupId $RecoveryRGId -RecoveryAvailabilityZone “1” -
      RecoveryAzureNetworkId $recoveryVnet.Id -RecoveryAzureSubnetName “defaultsubnetconf”
      
    6. Houd de taakstatus bij om te controleren op voltooiing.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      sleep 10; 
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob 
      } 
      
    7. Controleer of de taak is voltooid. De bijgewerkte taakstatus van een voltooide taak moet zijn voltooid.

      Write-Output $TempASRJob.State
      
    8. Nadat de bewerking voor het starten van de replicatie is geslaagd, worden de gegevens van de virtuele machine gerepliceerd naar de herstelregio.

    Wanneer het replicatieproces wordt gestart, wordt in eerste instantie een kopie gemaakt van de replicerende schijven van de virtuele machine in de herstelregio. Deze fase wordt de initiële replicatiefase genoemd. Deze stap duurt ongeveer 20 minuten. Bekijk de status van de replicatie op de blade Kluis onder Gerepliceerde items.

    Schermopname van gerepliceerde items.

    Wanneer de replicatie is voltooid, worden de kluisreplicatie-items weergegeven zoals hieronder:

    Schermopname van Kluisreplicatie.

    De virtuele machine is nu beveiligd en u kunt een testfailoverbewerking uitvoeren. De replicatiestatus van het gerepliceerde item dat de virtuele machine vertegenwoordigt, gaat naar de beveiligde status nadat de initiële replicatie is voltooid.

    Bewaak de replicatiestatus en replicatiestatus voor de virtuele machine door details op te halen van het met replicatie beveiligde item dat ermee overeenkomt:

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

    Als u Protected in protectionState ziet, bent u klaar om door te gaan met het testen van failover.

    Schermopname van de beveiligingsstatus.

  14. Een testfailover uitvoeren, valideren en opschonen. U kunt de testfailover overslaan. We raden u echter aan een testfailover uit te voeren om ervoor te zorgen dat uw secundaire regio naar verwachting wordt weergegeven.

    1. Maak een afzonderlijk netwerk voor testfailover (niet verbonden met mijn DR-netwerk).

      $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. Voer een testfailover uit.

      $ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem -
      FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer
      
      $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem 
      $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
      
    3. Wacht totdat de taak is voltooid.

      while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob
      }
      
    4. Wacht tot de testfailover is voltooid.

      Get-AzRecoveryServicesAsrJob -Job $TFOJob
      

    Notitie

    U kunt ook de voortgang van de taak controleren door naar de portal te gaan, de kluis te selecteren en vervolgens de Site Recovery-taken te selecteren.

    Nadat de testfailovertaak is voltooid, kunt u verbinding maken met de virtuele machine waarvoor de test is mislukt en de testfailover valideren. Zodra het testen is voltooid op de virtuele machine waarvoor de test is uitgevoerd, schoont u de testkopie op door de testfailoverbewerking te starten. Met deze bewerking verwijdert u de testkopie van de virtuele machine die is gemaakt door de testfailover. Controleer of alle doelinstellingen zich in de testfailover-VM bevinden, inclusief locatie, netwerkinstelling, geen beschadiging van gegevens en dat er geen gegevens verloren gaan in de doel-VM. U kunt nu de testfailover verwijderen en de failover starten.

    $Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select State
    
  15. Volgende stap is het uitvoeren van een failover van de virtuele machine. Met deze stap maakt u de virtuele machine met behulp van de gerepliceerde schijven in de herstelregio.

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

    De lijst met geretourneerde herstelpunten kan niet chronologisch worden gesorteerd. U moet deze eerst sorteren om de oudste of de meest recente herstelpunten voor de virtuele machine te vinden.

     "{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[-
    1].RecoveryPointTime
    
    1. Start de failovertaak.

      $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. Wanneer de failovertaak is geslaagd, kunt u de failover doorvoeren.

     $CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    
    1. Wacht totdat de doorvoerfailovertaak is voltooid.

      while (($CommitFailoverJob.State -eq "InProgress") -or ($CommitFailoverJob.State 
      -eq "NotStarted")){
       sleep 10;
       $CommitFailoverJob = Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJob
      }
       Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJOb
      
  17. Wanneer u na een failover terug wilt gaan naar de oorspronkelijke regio, start u omgekeerde replicatie voor het met replicatie beveiligde item met behulp van de Update-AzRecoveryServicesAsrProtectionDirection cmdlet.

    1. Maak cacheopslagaccount voor replicatielogboeken in de herstelregio.

      $EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" -
      ResourceGroupName "<ResourceGroupName>" -Location '<AzureRegion>' -SkuName 
      Standard_LRS -Kind Storage
      
    2. Gebruik de container voor herstelbeveiliging, het nieuwe cacheopslagaccount in de regio van azure Extended Zone en de resourcegroep van de bronregio-VM.

      $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
      

    Deze stap duurt ongeveer 20 minuten en de status wordt verplaatst van Wordt uitgevoerd naar Geslaagd.

    Schermopname van de lijst met beveiligde items.

  18. Replicatie uitschakelen.

    Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem 
    $ReplicationProtectedItem
    
  19. Maak de omgeving schoon. Deze stap is optioneel en kan worden gebruikt om de resourcegroep te verwijderen.

    Remove-AzResourceGroup -Name $Name -Force
    

Volgende stappen

  • Bekijk de Naslaginformatie over Azure Site Recovery PowerShell voor meer informatie over het maken van herstelplannen, het uitvoeren van failovers en failbacks met PowerShell.