Mereplikasi komputer virtual yang berjalan di MEC Publik Azure ke wilayah Azure
Penting
Fungsionalitas Azure Site Recovery untuk MEC Publik dalam status pratinjau.
Artikel ini menjelaskan cara mereplikasi, failover, dan failback komputer virtual Azure (VM) yang berjalan di AZURE Public MEC ke wilayah Azure induk tempat Azure Public MEC adalah ekstensi.
Pemulihan bencana di AZURE Public MEC
Site Recovery memastikan kelangsungan bisnis dengan menjaga beban kerja tetap berjalan selama pemadaman dengan terus mereplikasi beban kerja dari lokasi primer ke sekunder. Fungsionalitas ASR untuk MEC sedang dalam pratinjau.
Di sini lokasi utama adalah MEC Publik Azure dan lokasi sekunder adalah wilayah induk tempat AZURE Public MEC tersambung.
Menyiapkan pemulihan bencana untuk VM di MEC Publik Azure menggunakan PowerShell
Prasyarat
Pastikan modul Azure Az PowerShell diinstal. Untuk informasi tentang cara menginstal, lihat Menginstal modul Azure Az PowerShell.
Versi Azure Az PowerShell minimum harus 4.1.0. Gunakan perintah berikut untuk melihat versi saat ini:
Get-InstalledModule -Name Az
Pastikan versi distro Linux dan kernel didukung oleh Azure Site Recovery. Untuk informasi selengkapnya, lihat matriks dukungan.
Mereplikasi Komputer virtual yang berjalan di MEC Publik Azure ke wilayah Azure
Untuk mereplikasi VM yang berjalan di MEC Publik Azure ke wilayah Azure, Ikuti langkah-langkah berikut:
Catatan
Untuk contoh ini, lokasi utama adalah AZURE Public MEC, dan lokasi sekunder/pemulihan adalah wilayah Azure Public MEC.
Masuk ke akun Azure Anda.
Connect-AzAccount
Pilih Langganan yang tepat.
$subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" Set-AzContext $subscription.Id
Dapatkan detail komputer virtual yang Anda rencanakan untuk direplikasi.
$VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>" Write-Output $VM
Buat grup sumber daya untuk vault layanan pemulihan di wilayah Azure sekunder.
New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<EdgeZoneRegion>"
Buat vault layanan Pemulihan baru di wilayah sekunder.
$vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" - ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>" Write-Output $vault
Atur konteks vault.
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
Buat fabric Site Recovery Primer.
$TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<EdgeZoneRegion>” - Name "EdgeZoneFabric"
Lacak status Pekerjaan untuk memeriksa penyelesaian.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
Jika pekerjaan belum selesai, tidur selama 10 detik sebelum memeriksa status pekerjaan lagi.
sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.
Write-Output $TempASRJob.State $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
Gunakan fabric primer untuk membuat kontainer perlindungan primer dan pemulihan.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject $PrimaryFabric -Name "EdgeZoneProtectionContainer"
Lacak status Pekerjaan untuk memeriksa penyelesaian.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob } Write-Output $TempASRJob.State
Kontainer Perlindungan primer dan pemulihan dibuat di wilayah utama (dalam fabric Primer).
$PrimaryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer" $RecoveryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer-t"
Buat kebijakan replikasi.
$TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name "ReplicationPolicy" -RecoveryPointRetentionInHours 24 - ApplicationConsistentSnapshotFrequencyInHours 4
Lacak status Pekerjaan untuk memeriksa penyelesaian.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.
Write-Output $TempASRJob.State $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
Buat pemetaan kontainer perlindungan antara kontainer perlindungan utama dan pemulihan dengan kebijakan Replikasi.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer $PrimaryProtectionContainer -RecoveryProtectionContainer $RecoveryProtectionContainer
Lacak status Pekerjaan untuk memeriksa penyelesaian.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.
Write-Output $TempASRJob.State $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
Buat pemetaan kontainer perlindungan untuk failback, antara pemulihan dan kontainer perlindungan utama dengan kebijakan Replikasi.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer $RecoveryProtectionContainer -RecoveryProtectionContainer $PrimaryProtectionContainer
Lacak status Pekerjaan untuk memeriksa penyelesaian.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.
Write-Output $TempASRJob.State $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
Buat akun penyimpanan cache untuk log replikasi di wilayah utama. Akun penyimpanan cache dibuat di wilayah utama.
$CacheStorageAccount = New-AzStorageAccount -Name "cachestorage" -ResourceGroupName "<primary ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName Standard_LRS - Kind Storage
Pastikan untuk membuat jaringan virtual di lokasi target. Buat Jaringan Pemulihan di wilayah pemulihan.
$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
Gunakan cmdlet PowerShell berikut untuk mereplikasi komputer virtual Azure MEC Azure Publik dengan disk terkelola. Langkah ini mungkin memakan waktu sekitar 20 menit untuk menyelesaikannya.
Dapatkan grup sumber daya tempat komputer virtual harus dibuat saat gagal.
$RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location " <EdgeZoneRegion>"
Mendapatkan VM dan menampilkan konten.
$vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
Tentukan properti replikasi untuk setiap disk VM yang harus direplikasi (buat konfigurasi replikasi disk).
#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
Disk data
Jika VM memiliki disk data, gunakan perintah berikut untuk membuat konfigurasi disk. Jika tidak, Anda dapat melewati bagian ini. Dari
$datadiskId
sampai$DataDisk1ReplicationConfig $datadiskId = $vm.StorageProfile.OSDisk.ManagedDisk.Id
.Atau
$RecoveryReplicaDiskAccountType = "Premium_LRS" $RecoveryTargetDiskAccountType = "Premium_LRS" $RecoveryRGId = $RecoveryRG.ResourceId $DataDisk1ReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig -ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id ` -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRGId - RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType ` -RecoveryTargetDiskAccountType $RecoveryTargetDiskAccountType
Buat item yang dilindungi replikasi untuk memulai replikasi. Gunakan GUID untuk nama item yang dilindungi replikasi untuk memastikan keunikan nama. Jika Anda tidak memulihkan ke Zona Ketersediaan, maka jangan berikan
-RecoveryAvailabilityZone
parameter .$TempASRJob = New-AzRecoveryServicesAsrReplicationProtectedItem -AzureToAzure -AzureVmId $VM.Id -Name $vm.Name -ProtectionContainerMapping $EdgeZoneToAzurePCMapping - AzureToAzureDiskReplicationConfiguration $DataDisk1ReplicationConfig - RecoveryResourceGroupId $RecoveryRGId -RecoveryAvailabilityZone “1” - RecoveryAzureNetworkId $recoveryVnet.Id -RecoveryAzureSubnetName “defaultsubnetconf”
Lacak status Pekerjaan untuk memeriksa penyelesaian.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Periksa apakah Pekerjaan berhasil diselesaikan. Status pekerjaan yang diperbarui dari pekerjaan yang berhasil diselesaikan harus Berhasil.
Write-Output $TempASRJob.State
Setelah operasi untuk memulai replikasi berhasil, data mesin virtual akan direplikasi ke wilayah pemulihan.
Awalnya, ketika proses replikasi dimulai, ia membuat salinan disk replikasi komputer virtual di wilayah pemulihan. Fase ini disebut fase replikasi awal. Langkah ini membutuhkan waktu sekitar 20 menit. Lihat status replikasi di bilah Vault di bawah Item yang direplikasi.
Ketika replikasi selesai, item replikasi Vault akan ditampilkan seperti di bawah ini:
Sekarang komputer virtual dilindungi, dan Anda dapat melakukan operasi failover pengujian. Status replikasi item yang direplikasi yang mewakili komputer virtual masuk ke status terlindungi setelah replikasi awal selesai.
Pantau keadaan replikasi dan kesehatan replikasi untuk mesin virtual dengan mendapatkan detail dari replikasi item terlindungi yang sesuai dengannya:
$PE = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $PrimaryProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth $PE
Jika Anda melihat Dilindungi di ProtectionState, Anda siap untuk melanjutkan untuk menguji failover.
Lakukan, validasi, dan bersihkan pengujian failover. Anda dapat melewati failover Pengujian. Namun, sebaiknya jalankan uji failover untuk memastikan bahwa wilayah sekunder Anda muncul seperti yang diharapkan.
Buat jaringan terpisah untuk failover pengujian (tidak tersambung ke jaringan DR saya).
$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
Lakukan uji failover.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
Tunggu hingga pekerjaan selesai.
while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq "NotStarted")){ sleep 10; $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob }
Tunggu hingga failover pengujian selesai.
Get-AzRecoveryServicesAsrJob -Job $TFOJob
Catatan
Anda juga dapat memeriksa kemajuan pekerjaan dengan masuk ke portal, memilih Vault lalu pilih pekerjaan Site Recovery.
Setelah pekerjaan failover pengujian berhasil diselesaikan, Anda dapat terhubung ke pengujian yang gagal melalui komputer virtual dan memvalidasi failover pengujian. Setelah pengujian selesai pada pengujian fail over melalui komputer virtual, bersihkan salinan pengujian dengan memulai operasi pengujian pembersihan failover. Operasi ini menghapus salinan pengujian komputer virtual yang dibuat oleh pengujian failover. Verifikasi bahwa semua pengaturan target tepat dalam VM failover pengujian termasuk lokasi, pengaturan jaringan, tidak ada kerusakan data, dan tidak ada data yang hilang di VM target. Sekarang Anda dapat menghapus failover pengujian dan memulai failover.
$Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob - ReplicationProtectedItem $ReplicationProtectedItem Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select State
Langkah selanjutnya adalah melakukan failover pada komputer virtual. Langkah ini akan membuat VM menggunakan disk yang direplikasi di wilayah pemulihan.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $RecoveryPoints = Get-AzRecoveryServicesAsrRecoveryPoint -ReplicationProtectedItem $ReplicationProtectedItem
Daftar titik pemulihan yang dikembalikan mungkin tidak diurutkan secara kronologis. Anda perlu mengurutkan ini terlebih dahulu untuk menemukan titik pemulihan terlama atau terbaru untuk komputer virtual.
"{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[- 1].RecoveryPointTime
Mulai pekerjaan failover.
$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
Ketika pekerjaan failover berhasil, Anda dapat melakukan failover.
$CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob - ReplicationProtectedItem $ReplicationProtectedItem
Tunggu hingga tugas penerapan failover selesai.
while (($CommitFailoverJob.State -eq "InProgress") -or ($CommitFailoverJob.State -eq "NotStarted")){ sleep 10; $CommitFailoverJob = Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJob } Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJOb
Setelah failover, ketika Anda siap untuk kembali ke wilayah asli, mulai replikasi terbalik untuk item yang dilindungi replikasi menggunakan
Update-AzRecoveryServicesAsrProtectionDirection
cmdlet.Buat akun penyimpanan Cache untuk log replikasi di wilayah pemulihan.
$EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" - ResourceGroupName "<ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName Standard_LRS -Kind Storage
Gunakan kontainer perlindungan pemulihan, akun penyimpanan cache baru di wilayah AZURE Public MEC, dan grup sumber daya VM wilayah sumber.
$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
Langkah ini membutuhkan waktu ~20 menit dan status akan berpindah dari Sedang berlangsung ke Berhasil.
Menonaktifkan Replikasi.
Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem $ReplicationProtectedItem
Bersihkan lingkungan. Langkah ini bersifat opsional dan dapat digunakan untuk menghapus grup sumber daya.
Remove-AzResourceGroup -Name $Name -Force