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.
Logga in på ditt Azure-konto.
Connect-AzAccount
Välj Rätt prenumeration.
$subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" Set-AzContext $subscription.Id
Hämta information om den virtuella dator som du planerar att replikera.
$VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>" Write-Output $VM
Skapa en resursgrupp för Recovery Services-valvet i den sekundära Azure-regionen.
New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<AzureRegion>"
Skapa ett nytt Recovery Services-valv i den sekundära regionen.
$vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" - ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>" Write-Output $vault
Ange valvkontexten.
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
Skapa infrastrukturresurser för primär site recovery.
$TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<AzureRegion>” - Name "EdgeZoneFabric"
Spåra jobbstatus för att söka efter slutförande.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
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 }
När jobbet har slutförts måste jobbtillståndet vara Lyckades.
Write-Output $TempASRJob.State $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
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"
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
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"
Skapar en replikeringsprincip.
$TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name "ReplicationPolicy" -RecoveryPointRetentionInHours 24 - ApplicationConsistentSnapshotFrequencyInHours 4
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 }
När jobbet har slutförts måste jobbtillståndet vara Lyckades.
Write-Output $TempASRJob.State $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
Skapa en skyddscontainermappning mellan de primära containrarna och återställningsskyddscontainrarna med replikeringsprincipen.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer $PrimaryProtectionContainer -RecoveryProtectionContainer $RecoveryProtectionContainer
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 }
När jobbet har slutförts måste jobbtillståndet vara Lyckades.
Write-Output $TempASRJob.State $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
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
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 }
När jobbet har slutförts måste jobbtillståndet vara Lyckades.
Write-Output $TempASRJob.State $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
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
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
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.
Hämta den resursgrupp som den virtuella datorn måste skapas i när den redväxeras.
$RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location " <AzureRegion>"
Hämta den virtuella datorn och visa innehåll.
$vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
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
Datadisk
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
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”
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 }
Kontrollera om jobbet har slutförts. Det uppdaterade jobbtillståndet för ett slutfört jobb måste vara Lyckades.
Write-Output $TempASRJob.State
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.
När replikeringen är klar visas valvreplikeringsobjekten enligt nedan:
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.
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.
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
Utför ett redundanstest.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
Vänta tills jobbet är klart.
while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq "NotStarted")){ sleep 10; $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob }
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
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
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
När redundansjobbet lyckas kan du checka in redundansväxlingen.
$CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob - ReplicationProtectedItem $ReplicationProtectedItem
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
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.Skapa cachelagringskonto för replikeringsloggar i återställningsregionen.
$EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" - ResourceGroupName "<ResourceGroupName>" -Location '<AzureRegion>' -SkuName Standard_LRS -Kind Storage
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.
Inaktivera replikering.
Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem $ReplicationProtectedItem
Rensa miljön. Det här steget är valfritt och kan användas för att ta bort resursgruppen.
Remove-AzResourceGroup -Name $Name -Force