Bagikan melalui


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.

  1. Masuk ke akun Azure Anda.

    Connect-AzAccount
    
  2. Pilih Langganan yang tepat.

    $subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" 
    Set-AzContext $subscription.Id 
    
  3. Dapatkan detail komputer virtual yang Anda rencanakan untuk direplikasi.

    $VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>" 
    
    Write-Output $VM 
    
  4. Buat grup sumber daya untuk vault layanan pemulihan di wilayah Azure sekunder.

    New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<EdgeZoneRegion>"
    
  5. Buat vault layanan Pemulihan baru di wilayah sekunder.

    $vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" -
    ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>"
    Write-Output $vault
    
  6. Atur konteks vault.

    Set-AzRecoveryServicesAsrVaultContext -Vault $vault 
    
  7. Buat fabric Site Recovery Primer.

    $TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<EdgeZoneRegion>” -
    Name "EdgeZoneFabric"
    
    1. Lacak status Pekerjaan untuk memeriksa penyelesaian.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      
    2. Jika pekerjaan belum selesai, tidur selama 10 detik sebelum memeriksa status pekerjaan lagi.

      sleep 10;
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    3. Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.

      Write-Output $TempASRJob.State
      $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
      
  8. Gunakan fabric primer untuk membuat kontainer perlindungan primer dan pemulihan.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject 
    $PrimaryFabric -Name "EdgeZoneProtectionContainer"
    
    1. 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
      
    2. 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"
      
  9. Buat kebijakan replikasi.

    $TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name 
    "ReplicationPolicy" -RecoveryPointRetentionInHours 24 -
    ApplicationConsistentSnapshotFrequencyInHours 4
    
    1. Lacak status Pekerjaan untuk memeriksa penyelesaian.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.

      Write-Output $TempASRJob.State
      
      $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
      
  10. Buat pemetaan kontainer perlindungan antara kontainer perlindungan utama dan pemulihan dengan kebijakan Replikasi.

    $TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name 
    "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer 
    $PrimaryProtectionContainer -RecoveryProtectionContainer 
    $RecoveryProtectionContainer
    
    1. Lacak status Pekerjaan untuk memeriksa penyelesaian.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
      }
      
    2. Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.

      Write-Output $TempASRJob.State
      
      $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
      ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
      
    3. 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
      
      1. Lacak status Pekerjaan untuk memeriksa penyelesaian.

        while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq 
        "NotStarted")){
         sleep 10;
         $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob
        }
        
      2. Setelah berhasil diselesaikan, status pekerjaan harus Berhasil.

        Write-Output $TempASRJob.State 
        $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -
        ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
        
  11. 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
    
  12. 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
    
  13. 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.

    1. Dapatkan grup sumber daya tempat komputer virtual harus dibuat saat gagal.

      $RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location "
      <EdgeZoneRegion>"
      
    2. Mendapatkan VM dan menampilkan konten.

      $vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
      
    3. 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
      
    4. Disk data

      1. 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
        
    5. 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”
      
    6. Lacak status Pekerjaan untuk memeriksa penyelesaian.

      while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
      sleep 10; 
      $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob 
      } 
      
    7. Periksa apakah Pekerjaan berhasil diselesaikan. Status pekerjaan yang diperbarui dari pekerjaan yang berhasil diselesaikan harus Berhasil.

      Write-Output $TempASRJob.State
      
    8. 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.

    Cuplikan layar item yang direplikasi.

    Ketika replikasi selesai, item replikasi Vault akan ditampilkan seperti di bawah ini:

    Cuplikan layar replikasi Vault.

    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.

    Cuplikan layar status Perlindungan.

  14. 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.

    1. 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
      
    2. Lakukan uji failover.

      $ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem -
      FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer
      
      $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem 
      $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
      
    3. Tunggu hingga pekerjaan selesai.

      while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq 
      "NotStarted")){
       sleep 10;
       $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob
      }
      
    4. 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
    
  15. 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
    
    1. 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
      
  16. Ketika pekerjaan failover berhasil, Anda dapat melakukan failover.

     $CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob -
    ReplicationProtectedItem $ReplicationProtectedItem 
    
    1. 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
      
  17. Setelah failover, ketika Anda siap untuk kembali ke wilayah asli, mulai replikasi terbalik untuk item yang dilindungi replikasi menggunakan Update-AzRecoveryServicesAsrProtectionDirection cmdlet.

    1. Buat akun penyimpanan Cache untuk log replikasi di wilayah pemulihan.

      $EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" -
      ResourceGroupName "<ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName 
      Standard_LRS -Kind Storage
      
    2. 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.

    Cuplikan layar daftar item terproteksi.

  18. Menonaktifkan Replikasi.

    Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem 
    $ReplicationProtectedItem
    
  19. Bersihkan lingkungan. Langkah ini bersifat opsional dan dapat digunakan untuk menghapus grup sumber daya.

    Remove-AzResourceGroup -Name $Name -Force