Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, bir Azure Genişletilmiş Bölgesi üzerinde çalışan Azure sanal makinelerini (VM' ler) üst Azure bölgesine çoğaltma, yük devretme ve yeniden çalışma işlemleri açıklanmaktadır.
Önemli
Genişletilmiş Bölgeler için Azure Site Recovery işlevi önizleme durumundadır.
Azure Genişletilmiş Bölgesi'nde olağanüstü durum kurtarma çözümleri
Site Recovery, iş yükünü birincil konumdan ikincil bir konuma sürekli çoğaltarak kesintiler sırasında iş yüklerini çalışır durumda tutarak iş sürekliliğini sağlar. Genişletilmiş Bölgeler için ASR işlevselliği önizleme aşamasındadır.
Burada birincil konum bir Azure Genişletilmiş Bölgesi, ikincil konum ise Azure Genişletilmiş Bölgesi'nin bağlı olduğu üst bölgedir.
Önemli
- VM oluşturma sırasında Genişletilmiş Bölge'de çoğaltmayı desteklemiyoruz. VM oluşturulduktan sonra, VM veya Kasa sayfalarında etkinleştirilebilir.
- Önbellek depolama hesabı olarak Genişletilmiş Bölge Depolama hesabı kullanılıyorsa yalnızca Blok Blobu Premium Depolama Hesapları desteklenir.
- Önbellek depolama hesabı olarak Genişletilmiş Bölge Depolama hesabı kullanılıyorsa yalnızca High-Churn desteklenir.
Azure bölge depolama hesabı önbellek depolama hesabı olarak kullanılıyorsa hem normal hem de yüksek değişim sıklığı desteklenir.
PowerShell kullanarak Azure Genişletilmiş Bölgesi'ndeki VM'ler için olağanüstü durum kurtarmayı ayarlama
PowerShell kullanarak Azure Genişletilmiş Bölgesi'ndeki VM'ler için olağanüstü durum kurtarmayı ayarlama önkoşulları aşağıdadır:
Önkoşullar
Azure Az PowerShell modülünün yüklü olduğundan emin olun. Yükleme hakkında bilgi için bkz . Azure Az PowerShell modülünü yükleme.
En düşük Azure Az PowerShell sürümü 4.1.0 olmalıdır. Geçerli sürümü görmek için aşağıdaki komutu kullanın:
Get-InstalledModule -Name AzLinux dağıtım sürümünün ve çekirdeğinin Azure Site Recovery tarafından desteklendiğinden emin olun. Daha fazla bilgi için, bkz. destek matrisi.
Azure Genişletilmiş Bölgesinde çalışan sanal makineleri Azure bölgesine çoğaltma
Azure Genişletilmiş Bölgesinde çalışan VM'leri bir Azure bölgesine çoğaltmak için şu adımları izleyin:
Not
Bu örnekte birincil konum bir Azure Genişletilmiş Bölgesi, ikincil/kurtarma konumu ise Azure Genişletilmiş Bölgesi'nin bölgesidir.
Azure hesabınızda oturum açın.
Connect-AzAccountDoğru abonelik'i seçin.
$subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" Set-AzContext $subscription.IdÇoğaltmayı planladığınız sanal makinenin ayrıntılarını alın.
$VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>" Write-Output $VMİkincil Azure bölgesinde Azure Recovery Services için bir kaynak grubu oluşturun.
New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<AzureRegion>"İkincil bölgede yeni bir Kurtarma Hizmetleri kasası oluşturun.
$vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" - ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>" Write-Output $vaultKasa bağlamını ayarlayın.
Set-AzRecoveryServicesAsrVaultContext -Vault $vaultBirincil Site Kurtarma yapısı oluşturun.
$TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<AzureRegion>” - Name "EdgeZoneFabric"Tamamlanmasını denetlemek için İş durumunu izleyin.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){İş tamamlanmamışsa, iş durumunu yeniden denetlemeden önce 10 saniye uyku moduna geçin.
sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }Başarıyla tamamlandığında, iş durumu Başarılı olmalıdır.
Write-Output $TempASRJob.State $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
Ana kumaşı kullanarak hem birincil hem de kurtarma koruma kapları oluşturun.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject $PrimaryFabric -Name "EdgeZoneProtectionContainer"Tamamlanmasını denetlemek için İş durumunu izleyin.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob } Write-Output $TempASRJob.StateHem birincil hem de kurtarma koruma kapsayıcıları birincil bölgede (birincil doku içinde) oluşturulur.
$PrimaryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer" $RecoveryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer-t"
Bir çoğaltma ilkesi oluşturma.
$TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name "ReplicationPolicy" -RecoveryPointRetentionInHours 24 - ApplicationConsistentSnapshotFrequencyInHours 4Tamamlanmasını denetlemek için İş durumunu izleyin.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }Başarıyla tamamlandığında, iş durumu Başarılı olmalıdır.
Write-Output $TempASRJob.State $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
Çoğaltma ilkesiyle birincil ve kurtarma koruma kapsayıcıları arasında bir koruma kapsayıcısı eşlemesi oluşturun.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer $PrimaryProtectionContainer -RecoveryProtectionContainer $RecoveryProtectionContainerTamamlanmasını denetlemek için İş durumunu izleyin.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }Başarıyla tamamlandığında, iş durumu Başarılı olmalıdır.
Write-Output $TempASRJob.State $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"Geri dönüş için, kurtarma ve birincil koruma kapsayıcıları arasında Replikasyon politikası ile bir koruma kapsayıcısı eşlemesi oluşturun.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer $RecoveryProtectionContainer -RecoveryProtectionContainer $PrimaryProtectionContainerTamamlanmasını denetlemek için İş durumunu izleyin.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }Başarıyla tamamlandığında, iş durumu Başarılı olmalıdır.
Write-Output $TempASRJob.State $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
Birincil bölgedeki çoğaltma günlükleri için bir önbellek depolama hesabı oluşturun. Önbellek depolama hesabı birincil bölgede oluşturulur.
$CacheStorageAccount = New-AzStorageAccount -Name "cachestorage" -ResourceGroupName "<primary ResourceGroupName>" -Location '<AzureRegion>' -SkuName Standard_LRS - Kind StorageHedef konumda bir sanal ağ oluşturduğunuzdan emin olun. Kurtarma bölgesinde bir Kurtarma Ağı oluşturun.
$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.IdAzure Genişletilmiş Bölge sanal makinesini yönetilen disklerle çoğaltmak için aşağıdaki PowerShell cmdlet'ini kullanın. Bu adımın tamamlanması yaklaşık 20 dakika sürebilir.
Başarısız olduğunda sanal makinenin oluşturulması gereken kaynak grubunu alın.
$RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location " <AzureRegion>"Sanal Makinayı al ve içeriği görüntüle.
$vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupNameÇoğaltılması gereken vm'nin her diski için çoğaltma özelliklerini belirtin (disk çoğaltma yapılandırması oluşturma).
#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 $RecoveryOSDiskAccountTypeVeri diski
VM'de veri diski varsa, disk yapılandırması oluşturmak için aşağıdaki komutu kullanın. Aksi takdirde bu bölümü atlayabilirsiniz.
$datadiskIddeğerinden$DataDisk1ReplicationConfig $datadiskId = $vm.StorageProfile.OSDisk.ManagedDisk.Iddeğerine.Alternatif olarak:
$RecoveryReplicaDiskAccountType = "Premium_LRS" $RecoveryTargetDiskAccountType = "Premium_LRS" $RecoveryRGId = $RecoveryRG.ResourceId $DataDisk1ReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig -ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id ` -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRGId - RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType ` -RecoveryTargetDiskAccountType $RecoveryTargetDiskAccountType
Çoğaltmayı başlatmak için çoğaltma korumalı bir öğe oluşturun. Replikasyon korumalı öğenin adının benzersizliğini sağlamak için ad olarak bir GUID kullanın. Bir Kullanılabilirlik Alanına kurtarma yapmıyorsanız,
-RecoveryAvailabilityZoneparametresini sağlamayın.$TempASRJob = New-AzRecoveryServicesAsrReplicationProtectedItem -AzureToAzure -AzureVmId $VM.Id -Name $vm.Name -ProtectionContainerMapping $EdgeZoneToAzurePCMapping - AzureToAzureDiskReplicationConfiguration $DataDisk1ReplicationConfig - RecoveryResourceGroupId $RecoveryRGId -RecoveryAvailabilityZone “1” - RecoveryAzureNetworkId $recoveryVnet.Id -RecoveryAzureSubnetName “defaultsubnetconf”Tamamlanmasını denetlemek için İş durumunu izleyin.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }İşin başarıyla tamamlandığını denetleyin. Başarıyla tamamlanmış bir işin güncellenmiş iş durumu Başarılı olmalıdır.
Write-Output $TempASRJob.StateÇoğaltmayı başlatma işlemi başarılı olduktan sonra sanal makine verileri kurtarma bölgesine çoğaltılır.
Başlangıçta, çoğaltma işlemi başladığında, kurtarma bölgesindeki sanal makinenin çoğaltma disklerinin bir kopyasını oluşturur. Bu aşama, ilk çoğaltma aşaması olarak adlandırılır. Bu adım yaklaşık 20 dakika sürer. Kasa bölümünde bulunan Çoğaltılan öğeler altında çoğaltmanın durumunu kontrol edin.
Çoğaltma tamamlandığında Kasa çoğaltma öğeleri aşağıdaki gibi görünür:
Artık sanal makine korunuyor ve yük devretme testi işlemi gerçekleştirebilirsiniz. Sanal makineyi temsil eden çoğaltılan öğenin çoğaltma durumu, ilk çoğaltma tamamlandıktan sonra korumalı duruma geçer.
Sanal makineye karşılık gelen çoğaltma korumalı öğenin ayrıntılarını alarak sanal makine için çoğaltma durumunu ve çoğaltma sağlığını izleyin.
$PE = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $PrimaryProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth $PEProtectionState içinde Protected ifadesini görürseniz, yük devretme testine devam etmeye hazırsınız.
Bir yük devretme testini gerçekleştir, doğrula ve temizle. Yük devretme testini atlayabilirsiniz. Ancak, ikincil bölgenizin beklendiği gibi çalıştığından emin olmak için yük devretme testi yürütmenizi öneririz.
Yük devretme testi için ayrı bir ağ oluşturun (DR ağıma bağlı değil).
$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.IdYük devretme testi gerçekleştirin.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecoveryİş bitene kadar bekleyin.
while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq "NotStarted")){ sleep 10; $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob }Yük devretme testinin tamamlanmasını bekleyin.
Get-AzRecoveryServicesAsrJob -Job $TFOJob
Not
Ayrıca portala gidip Kasa'yı ve ardından Site Recovery İşleri'ni seçerek işin ilerleme durumunu de kontrol edebilirsiniz.
Yük devretme testi işi başarıyla tamamlandıktan sonra sanal makine üzerinden başarısız olan teste bağlanabilir ve yük devretme testini doğrulayabilirsiniz. Test yük devretme işlemi uygulanan sanal makinede testler tamamlandığında, temizleme test yük devretme operasyonunu başlatarak test kopyasını temizleyin. Bu işlem, yük devretme testi tarafından oluşturulan sanal makinenin test kopyasını siler. Konum, ağ ayarı, veri bozulması olmaması ve hedef VM'de veri kaybı olmaması dahil olmak üzere tüm hedef ayarların yük devretme testi VM'sinde doğru olduğunu doğrulayın. Artık yük devretme testini silebilir ve yük devretmeyi başlatabilirsiniz.
$Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob - ReplicationProtectedItem $ReplicationProtectedItem Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select StateSonraki adım sanal makinenin yükünü devretmek olacaktır. Bu adım, kurtarma bölgesindeki çoğaltılan diskleri kullanarak VM'yi oluşturur.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $RecoveryPoints = Get-AzRecoveryServicesAsrRecoveryPoint -ReplicationProtectedItem $ReplicationProtectedItemDöndürülen kurtarma noktalarının listesi kronolojik olarak sıralanmayabilir. Sanal makinenin en eski veya en son kurtarma noktalarını bulmak için önce bunları sıralamanız gerekir.
"{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[- 1].RecoveryPointTimeFailover işini başlatı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
Yük devretme işi başarılı olduğunda, yük devretmeyi onaylayabilirsiniz.
$CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob - ReplicationProtectedItem $ReplicationProtectedItemYük devretme işlemi bitene kadar bekleyin.
while (($CommitFailoverJob.State -eq "InProgress") -or ($CommitFailoverJob.State -eq "NotStarted")){ sleep 10; $CommitFailoverJob = Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJob } Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJOb
Yük devretme işleminden sonra, özgün bölgeye geri dönmeye hazır olduğunuzda, çoğaltma korumalı öğe için ters çoğaltmayı başlatmak üzere
Update-AzRecoveryServicesAsrProtectionDirectioncmdlet'ini kullanın.Kurtarma bölgesindeki çoğaltma günlükleri için Önbellek depolama hesabı oluşturun.
$EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" - ResourceGroupName "<ResourceGroupName>" -Location '<AzureRegion>' -SkuName Standard_LRS -Kind StorageKurtarma koruma kapsayıcısını, Azure Genişletilmiş Bölgesi'nin bulunduğu bölgedeki yeni önbellek depolama hesabını ve kaynak bölgenin VM kaynak grubunu kullanın.
$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
Bu adım yaklaşık 20 dakika sürer ve durum Devam Ediyor'dan Başarılı'ya taşınır.
Çoğaltmayı devre dışı bırakın.
Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem $ReplicationProtectedItemOrtamı temizleyin. Bu adım isteğe bağlıdır ve kaynak grubunu kaldırmak için kullanılabilir.
Remove-AzResourceGroup -Name $Name -Force