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řepnutí při selhání a obnovení po selhání virtuálních počítačů Azure, které běží 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 úložiště Extended Zone, budou podporovány pouze účty úložiště Block Blob Premium.
  • 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í strukturu 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í základní tkaniny vytvořte jak primární kontejnery ochrany, tak 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 pro ochranu se vytvoří v primární oblasti (v rámci primární 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í mezi primárními a obnovovacími kontejnery ochrany pomocí zásady 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 vrácení zpět mezi kontejnery obnovy a kontejnerem primární ochrany pomocí zásady 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 vytvoříte 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é je nutné vytvořit virtuální počítač při přepnutí na záložní systém.

      $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 úspěšně dokončené úlohy musí být Dokončeno.

      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 panelu Trezor v sekci Replikované položky.

    Snímek obrazovky s replikovanými položkami

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

    Snímek obrazovky s replikací trezoru

    Nyní je virtuální počítač chráněn a můžete provést zkušební převzetí provozu v případě 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 a zdraví replikace pro virtuální počítač získáním podrobností o položce chráněné replikací, která jí odpovídá.

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

    Pokud se v ProtectionState zobrazí Chráněno, 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 zkušební převzetí při selhání. Testování přepnutí můžete přeskočit. Ale doporučujeme spustit testovací převzetí služeb v případě 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í při selhání (není připojena k mé 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 testování 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í převzetí služeb při selhání testu.

      Get-AzRecoveryServicesAsrJob -Job $TFOJob
      

    Poznámka:

    Průběh úlohy můžete také zkontrolovat tak, že přejdete na portál, vyberete trezor a poté zvolíte úlohy služby 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, který byl v rámci testu převeden do režimu převzetí služeb při selhání, vyčistěte testovací kopii spuštěním operace vyčištění testovacího převzetí služeb při selhání. Tato operace odstraní testovací kopii virtuálního počítače, který byl vytvořen testovacím převzetím služeb při selhání. Ověřte, že všechna cílová nastavení jsou správná v testovacím virtuálním počítači pro převzetí při selhání, včetně umístění, nastavení sítě, a že nedochází k poškození dat ani ke ztrátě dat v cílovém virtuálním počítači. Nyní můžete odstranit testovací přepnutí při selhání a spustit přepnutí při selhání.

    $Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select State
    
  15. Dalším krokem bude přepnout virtuální stroj. 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í dokončí.

      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í, když jste připraveni vrátit se do původní oblasti, spusťte zpětnou replikaci chráněné položky replikace pomocí rutiny Update-AzRecoveryServicesAsrProtectionDirection.

    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 pro ochranu obnovy, nový účet pro úložiště mezipaměti v oblasti Azure Extended Zone a skupinu prostředků virtuálního počítače ve 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

  • Prohlédněte si referenci Azure Site Recovery PowerShell a zjistěte, jak můžete vytvářet plány obnovení, provádět převzetí služeb při selhání a navrácení služeb po obnovení pomocí PowerShellu.