Menyiapkan pemulihan bencana VMware VM ke Azure dengan PowerShell

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan rencanakan yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Dalam artikel ini, Anda akan melihat cara mereplikasi dan melakukan failover komputer virtual VMware ke Azure menggunakan Azure PowerShell.

Anda akan mempelajari cara untuk:

  • Membuat kubah Layanan Pemulihan dan mengatur konteks kubah.
  • Validasi pendaftaran server di kubah.
  • Menyiapkan replikasi, termasuk kebijakan replikasi. Menambahkan server vCenter Server Anda dan menemukan komputer virtual.
  • Menambahkan server vCenter Server dan menemukan
  • Membuat akun penyimpanan untuk menyimpan log atau data replikasi, dan replikasi komputer virtual.
  • Melakukan failover. Mengonfigurasi pengaturan failover, lakukan pengaturan untuk mereplikasi komputer virtual.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Prasyarat

Sebelum memulai:

Masuk ke Azure

Masuk ke langganan Azure Anda menggunakan cmdlet Connect-AzAccount:

Connect-AzAccount

Pilih langganan Azure yang ingin Anda replikasi komputer virtual VMware Anda. Gunakan cmdlet Get-AzSubscription untuk mendapatkan daftar langganan Azure yang dapat Anda akses. Pilih langganan Azure untuk dikerjakan menggunakan cmdlet Select-AzSubscription.

Select-AzSubscription -SubscriptionName "ASR Test Subscription"

Menyiapkan kubah Layanan Pemulihan

  1. Buat grup sumber daya untuk membuat brankas Layanan Pemulihan. Dalam contoh berikut, grup sumber daya diberi nama VMwareDRtoAzurePS dan dibuat di wilayah Asia Timur.

    New-AzResourceGroup -Name "VMwareDRtoAzurePS" -Location "East Asia"
    
    ResourceGroupName : VMwareDRtoAzurePS
    Location          : eastasia
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRtoAzurePS
    
  2. Buat kubah layanan Pemulihan. Dalam contoh berikut, vault layanan Pemulihan diberi nama VMwareDRToAzurePs, dan dibuat di wilayah Asia Timur dan di grup sumber daya yang dibuat pada langkah sebelumnya.

    New-AzRecoveryServicesVault -Name "VMwareDRToAzurePs" -Location "East Asia" -ResourceGroupName "VMwareDRToAzurePs"
    
    Name              : VMwareDRToAzurePs
    ID                : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs
    Type              : Microsoft.RecoveryServices/vaults
    Location          : eastasia
    ResourceGroupName : VMwareDRToAzurePs
    SubscriptionId    : xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties
    
  3. Unduh kunci pendaftaran kubah untuk kubah. Kunci pendaftaran kubah digunakan untuk mendaftarkan Server Konfigurasi lokal ke kubah ini. Pendaftaran adalah bagian dari proses instalasi perangkat lunak Server Konfigurasi.

    #Get the vault object by name and resource group and save it to the $vault PowerShell variable 
    $vault = Get-AzRecoveryServicesVault -Name "VMwareDRToAzurePS" -ResourceGroupName "VMwareDRToAzurePS"
    
    #Download vault registration key to the path C:\Work
    Get-AzRecoveryServicesVaultSettingsFile -SiteRecovery -Vault $Vault -Path "C:\Work\"
    
    FilePath
    --------
    C:\Work\VMwareDRToAzurePs_2017-11-23T19-52-34.VaultCredentials
    
  4. Gunakan kunci pendaftaran vault yang diunduh dan ikuti langkah-langkah berikut dalam artikel untuk menyelesaikan penginstalan dan pendaftaran Server Konfigurasi.

Mengatur konteks vault

Atur konteks kubah menggunakan cmdlet Set-ASRVaultContext. Setelah konteks kubah diatur, operasi Azure Site Recovery dalam sesi PowerShell dilakukan dalam konteks kubah yang dipilih.

Tip

Modul Azure Site Recovery PowerShell (modul Az.RecoveryServices) hadir dengan alias yang mudah digunakan untuk sebagian besar cmdlet. Cmdlet dalam modul mengambil bentuk <Operasi>-AzRecoveryServicesAsr<Objek> dan memiliki alias yang setara yang mengambil bentuk <Operasi>-ASR<Objek>. Anda dapat mengganti cmdlet alias untuk kemudahan penggunaan.

Dalam contoh berikut, detail vault dari variabel $vault digunakan untuk menentukan konteks vault untuk sesi PowerShell.

Set-ASRVaultContext -Vault $vault
ResourceName      ResourceGroupName ResourceNamespace          ResourceType
------------      ----------------- -----------------          -----------
VMwareDRToAzurePs VMwareDRToAzurePs Microsoft.RecoveryServices vaults

Sebagai alternatif untuk cmdlet Set-ASRVaultContext, seseorang juga dapat menggunakan cmdlet Import-AzRecoveryServicesAsrVaultSettingsFile untuk mengatur konteks kubah. Tentukan jalur di mana file kunci pendaftaran kubah terletak sebagai parameter -path ke cmdlet Import-AzRecoveryServicesAsrVaultSettingsFile. Contohnya:

Get-AzRecoveryServicesVaultSettingsFile -SiteRecovery -Vault $Vault -Path "C:\Work\"
Import-AzRecoveryServicesAsrVaultSettingsFile -Path "C:\Work\VMwareDRToAzurePs_2017-11-23T19-52-34.VaultCredentials"

Bagian selanjutnya dari artikel ini mengasumsikan bahwa konteks kubah untuk operasi Azure Site Recovery telah ditetapkan.

Memvalidasi pendaftaran kubah

Untuk contoh ini, kami memiliki persyaratan berikut:

  • Server konfigurasi (ConfigurationServer) telah didaftarkan ke kubah ini.
  • Server proses tambahan (ScaleOut-ProcessServer) telah didaftarkan ke ConfigurationServer
  • Akun (vCenter_account, WindowsAccount, LinuxAccount) telah disiapkan di server Konfigurasi. Akun-akun ini digunakan untuk menambahkan server vCenter Server untuk menemukan komputer virtual dan untuk mendorong-menginstal perangkat lunak layanan mobilitas pada server Windows dan Linux yang akan direplikasi.
  1. Server konfigurasi terdaftar diwakili oleh objek fabrik dalam Site Recovery. Dapatkan daftar objek fabrik di kubah dan identifikasi server konfigurasi.

    # Verify that the Configuration server is successfully registered to the vault
    $ASRFabrics = Get-AzRecoveryServicesAsrFabric
    $ASRFabrics.count
    
    1
    
    #Print details of the Configuration Server
    $ASRFabrics[0]
    
    Name                  : 2c33d710a5ee6af753413e97f01e314fc75938ea4e9ac7bafbf4a31f6804460d
    FriendlyName          : ConfigurationServer
    ID                    : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationFabrics
                            /2c33d710a5ee6af753413e97f01e314fc75938ea4e9ac7bafbf4a31f6804460d
    Type                  : Microsoft.RecoveryServices/vaults/replicationFabrics
    FabricType            : VMware
    SiteIdentifier        : ef7a1580-f356-4a00-aa30-7bf80f952510
    FabricSpecificDetails : Microsoft.Azure.Commands.RecoveryServices.SiteRecovery.ASRVMWareSpecificDetails
    
  2. Identifikasi server proses yang dapat digunakan untuk mereplikasi komputer.

    $ProcessServers = $ASRFabrics[0].FabricSpecificDetails.ProcessServers
    for($i=0; $i -lt $ProcessServers.count; $i++) {
     "{0,-5} {1}" -f $i, $ProcessServers[$i].FriendlyName
    }
    
    0     ScaleOut-ProcessServer
    1     ConfigurationServer
    

    Dari output di atas $ProcessServers[0]_sesuai dengan ScaleOut-ProcessServer dan $ProcessServers[1] sesuai dengan peran Server Proses di ConfigurationServer

  3. Identifikasi akun yang telah disiapkan di Server Konfigurasi.

    $AccountHandles = $ASRFabrics[0].FabricSpecificDetails.RunAsAccounts
    #Print the account details
    $AccountHandles
    
    AccountId AccountName
    --------- -----------
    1         vCenter_account
    2         WindowsAccount
    3         LinuxAccount
    

    Dari output di atas $AccountHandles[0]_ sesuai dengan akun vCenter_account, $AccountHandles[1] untuk akun WindowsAccount, dan $AccountHandles[2] ke akun LinuxAccount

Buat kebijakan replikasi

Dalam langkah ini, dua kebijakan replikasi dibuat. Salah satu kebijakan untuk mereplikasi komputer virtual VMware ke Azure, dan yang lain untuk mereplikasi kegagalan atas komputer virtual yang berjalan di Azure kembali ke situs VMware lokal.

Catatan

Sebagian besar operasi Azure Site Recovery dijalankan secara asinkron. Saat Anda memulai operasi, tugas Azure Site Recovery dikirimkan dan objek penelusuran pekerjaan dikembalikan. Objek pelacakan pekerjaan ini dapat digunakan untuk memantau status operasi.

  1. Buat kebijakan replikasi bernama ReplicationPolicy untuk mereplikasi komputer virtual VMware ke Azure dengan properti yang ditentukan.

    $Job_PolicyCreate = New-AzRecoveryServicesAsrPolicy -VMwareToAzure -Name "ReplicationPolicy" -RecoveryPointRetentionInHours 24 -ApplicationConsistentSnapshotFrequencyInHours 4 -RPOWarningThresholdInMinutes 60
    
    # Track Job status to check for completion
    while (($Job_PolicyCreate.State -eq "InProgress") -or ($Job_PolicyCreate.State -eq "NotStarted")){
            sleep 10;
            $Job_PolicyCreate = Get-ASRJob -Job $Job_PolicyCreate
    }
    
    #Display job status
    $Job_PolicyCreate
    
    Name             : 8d18e2d9-479f-430d-b76b-6bc7eb2d0b3e
    ID               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationJobs/8d18e2d
                       9-479f-430d-b76b-6bc7eb2d0b3e
    Type             :
    JobType          : AddProtectionProfile
    DisplayName      : Create replication policy
    ClientRequestId  : a162b233-55d7-4852-abac-3d595a1faac2 ActivityId: 9895234a-90ea-4c1a-83b5-1f2c6586252a
    State            : Succeeded
    StateDescription : Completed
    StartTime        : 11/24/2017 2:49:24 AM
    EndTime          : 11/24/2017 2:49:23 AM
    TargetObjectId   : ab31026e-4866-5440-969a-8ebcb13a372f
    TargetObjectType : ProtectionProfile
    TargetObjectName : ReplicationPolicy
    AllowedActions   :
    Tasks            : {Prerequisites check for creating the replication policy, Creating the replication policy}
    Errors           : {}
    
  2. Buat kebijakan replikasi yang akan digunakan untuk failback dari Azure ke situs VMware lokal.

    $Job_FailbackPolicyCreate = New-AzRecoveryServicesAsrPolicy -AzureToVMware -Name "ReplicationPolicy-Failback" -RecoveryPointRetentionInHours 24 -ApplicationConsistentSnapshotFrequencyInHours 4 -RPOWarningThresholdInMinutes 60
    

    Gunakan detail pekerjaan di $Job_FailbackPolicyCreate untuk melacak operasi hingga selesai.

    • Buat pemetaan kontainer perlindungan untuk memetakan kebijakan replikasi dengan Server Konfigurasi.
    #Get the protection container corresponding to the Configuration Server
    $ProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $ASRFabrics[0]
    
    #Get the replication policies to map by name.
    $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
    $FailbackReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy-Failback"
    
    # Associate the replication policies to the protection container corresponding to the Configuration Server.
    
    $Job_AssociatePolicy = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "PolicyAssociation1" -PrimaryProtectionContainer $ProtectionContainer -Policy $ReplicationPolicy
    
    # Check the job status
    while (($Job_AssociatePolicy.State -eq "InProgress") -or ($Job_AssociatePolicy.State -eq "NotStarted")){
            sleep 10;
            $Job_AssociatePolicy = Get-ASRJob -Job $Job_AssociatePolicy
    }
    $Job_AssociatePolicy.State
    
    <# In the protection container mapping used for failback (replicating failed over virtual machines
       running in Azure, to the primary VMware site.) the protection container corresponding to the
       Configuration server acts as both the Primary protection container and the recovery protection
       container
    #>
     $Job_AssociateFailbackPolicy = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "FailbackPolicyAssociation" -PrimaryProtectionContainer $ProtectionContainer -RecoveryProtectionContainer $ProtectionContainer -Policy $FailbackReplicationPolicy
    
    # Check the job status
    while (($Job_AssociateFailbackPolicy.State -eq "InProgress") -or ($Job_AssociateFailbackPolicy.State -eq "NotStarted")){
            sleep 10;
            $Job_AssociateFailbackPolicy = Get-ASRJob -Job $Job_AssociateFailbackPolicy
    }
    $Job_AssociateFailbackPolicy.State
    
    

Menambahkan server vCenter Server dan menemukan VM

Tambahkan server vCenter Server dengan alamat IP atau nama host. Parameter -port menentukan port pada server vCenter Server untuk disambungkan, parameter -Nama menentukan nama yang ramah untuk digunakan server vCenter Server, dan parameter -Akun menentukan pegangan akun pada server Konfigurasi untuk digunakan untuk menemukan komputer virtual yang dikelola oleh server vCenter Server.

# The $AccountHandles[0] variable holds details of vCenter_account

$Job_AddvCenterServer = New-AzRecoveryServicesAsrvCenter -Fabric $ASRFabrics[0] -Name "MyvCenterServer" -IpOrHostName "10.150.24.63" -Account $AccountHandles[0] -Port 443

#Wait for the job to complete and ensure it completed successfully

while (($Job_AddvCenterServer.State -eq "InProgress") -or ($Job_AddvCenterServer.State -eq "NotStarted")) {
        sleep 30;
        $Job_AddvCenterServer = Get-ASRJob -Job $Job_AddvCenterServer
}
$Job_AddvCenterServer
Name             : 0f76f937-f9cf-4e0e-bf27-10c9d1c252a4
ID               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationJobs/0f76f93
                   7-f9cf-4e0e-bf27-10c9d1c252a4
Type             :
JobType          : DiscoverVCenter
DisplayName      : Add vCenter server
ClientRequestId  : a2af8892-5686-4d64-a528-10445bc2f698 ActivityId: 7ec05aad-002e-4da0-991f-95d0de7a9f3a
State            : Succeeded
StateDescription : Completed
StartTime        : 11/24/2017 2:41:47 AM
EndTime          : 11/24/2017 2:44:37 AM
TargetObjectId   : 10.150.24.63
TargetObjectType : VCenter
TargetObjectName : MyvCenterServer
AllowedActions   :
Tasks            : {Adding vCenter server}
Errors           : {}

Membuat akun penyimpanan untuk replikasi

Untuk menulis ke disk terkelola, gunakan modul Powershell Az.RecoveryServices 2.0.0 dan seterusnya. Ini hanya memerlukan pembuatan akun penyimpanan log. Disarankan untuk menggunakan jenis akun standar dan redundansi LRS karena digunakan untuk menyimpan hanya log sementara. Pastikan bahwa akun penyimpanan dibuat di wilayah Azure yang sama dengan kubah.

Jika Anda menggunakan versi modul Az.RecoveryServices yang lebih lama dari 2.0.0, gunakan langkah-langkah berikut untuk membuat akun penyimpanan. Akun penyimpanan ini digunakan nanti untuk mereplikasi komputer virtual. Pastikan bahwa akun penyimpanan dibuat di wilayah Azure yang sama dengan kubah. Anda dapat melompati langkah ini jika Anda berencana menggunakan akun penyimpanan yang ada untuk replikasi.

Catatan

Saat mereplikasi komputer virtual lokal ke akun penyimpanan premium, Anda perlu menentukan akun penyimpanan standar tambahan (akun penyimpanan log). Akun penyimpanan log menyimpan log replikasi sebagai penyimpanan perantara hingga log dapat diterapkan pada target penyimpanan premium.


$PremiumStorageAccount = New-AzStorageAccount -ResourceGroupName "VMwareDRToAzurePs" -Name "premiumstorageaccount1" -Location "East Asia" -SkuName Premium_LRS

$LogStorageAccount = New-AzStorageAccount -ResourceGroupName "VMwareDRToAzurePs" -Name "logstorageaccount1" -Location "East Asia" -SkuName Standard_LRS

$ReplicationStdStorageAccount= New-AzStorageAccount -ResourceGroupName "VMwareDRToAzurePs" -Name "replicationstdstorageaccount1" -Location "East Asia" -SkuName Standard_LRS

Replikasi VMware VM

Dibutuhkan sekitar 15-20 menit agar komputer virtual ditemukan dari server vCenter Server. Setelah ditemukan, objek item yang dapat dilindungi dibuat di Azure Site Recovery untuk setiap komputer virtual yang ditemukan. Dalam langkah ini, tiga komputer virtual yang ditemukan direplikasi ke akun Azure Storage yang dibuat pada langkah sebelumnya.

Untuk melindungi komputer virtual yang ditemukan, Anda butuh detail berikut:

  • Item yang dapat dilindungi untuk direplikasi.
  • Akun penyimpanan untuk mereplikasi komputer virtual (hanya jika Anda mereplikasi ke akun penyimpanan).
  • Penyimpanan log diperlukan untuk melindungi komputer virtual ke akun penyimpanan premium atau ke disk terkelola.
  • Server Proses yang akan digunakan untuk replikasi. Daftar server proses yang tersedia telah diambil dan disimpan dalam variabel $ProcessServers[0](ScaleOut-ProcessServer) dan $ProcessServers[1](ConfigurationServer).
  • Akun yang digunakan untuk mendorong-menginstal perangkat lunak layanan Mobilitas ke mesin. Daftar akun yang tersedia telah diambil dan disimpan dalam variabel $AccountHandles.
  • Pemetaan kontainer perlindungan untuk kebijakan replikasi yang akan digunakan untuk replikasi.
  • Grup sumber daya di mana komputer virtual harus dibuat pada failover.
  • Secara opsional, jaringan virtual Azure dan subnet yang gagal melalui komputer virtual harus tersambung.

Sekarang replikasi komputer virtual berikut menggunakan pengaturan yang ditentukan dalam tabel ini:

Komputer virtual Server Proses Akun Penyimpanan Akun Penyimpanan Log Kebijakan Akun untuk penginstalan layanan Mobilitas Grup sumber daya target Jaringan virtual target Subnet target
CentOSVM1 ConfigurationServer T/A logstorageaccount1 ReplicationPolicy LinuxAccount VMwareDRToAzurePs ASR-vnet Subnet-1
Menangkan 2K12VM1 ScaleOut-ProcessServer premiumstorageaccount1 logstorageaccount1 ReplicationPolicy WindowsAccount VMwareDRToAzurePs ASR-vnet Subnet-1
CentOSVM2 ConfigurationServer replicationstdstorageaccount1 T/A ReplicationPolicy LinuxAccount VMwareDRToAzurePs ASR-vnet Subnet-1

#Get the target resource group to be used
$ResourceGroup = Get-AzResourceGroup -Name "VMwareToAzureDrPs"

#Get the target virtual network to be used
$RecoveryVnet = Get-AzVirtualNetwork -Name "ASR-vnet" -ResourceGroupName "asrrg" 

#Get the protection container mapping for replication policy named ReplicationPolicy
$PolicyMap  = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $ProtectionContainer | where PolicyFriendlyName -eq "ReplicationPolicy"

#Get the protectable item corresponding to the virtual machine CentOSVM1
$VM1 = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $ProtectionContainer -FriendlyName "CentOSVM1"

# Enable replication for virtual machine CentOSVM1 using the Az.RecoveryServices module 2.0.0 onwards to replicate to managed disks
# The name specified for the replicated item needs to be unique within the protection container. Using a random GUID to ensure uniqueness
$Job_EnableReplication1 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM1 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -ProcessServer $ProcessServers[1] -Account $AccountHandles[2] -RecoveryResourceGroupId $ResourceGroup.ResourceId -logStorageAccountId $LogStorageAccount.Id -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

# Alternatively, if the virtual machine CentOSVM1 has CMK enabled disks, enable replication using Az module 3.3.0 onwards as below
# $diskID is the Disk Encryption Set ID to be used for all replica managed disks and target managed disks in the target region
$Job_EnableReplication1 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM1 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -ProcessServer $ProcessServers[1] -Account $AccountHandles[2] -RecoveryResourceGroupId $ResourceGroup.ResourceId -logStorageAccountId -DiskEncryptionSetId $diskId $LogStorageAccount.Id -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

#Get the protectable item corresponding to the virtual machine Win2K12VM1
$VM2 = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $ProtectionContainer -FriendlyName "Win2K12VM1"

# Enable replication for virtual machine Win2K12VM1
$Job_EnableReplication2 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM2 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -RecoveryAzureStorageAccountId $PremiumStorageAccount.Id -LogStorageAccountId $LogStorageAccount.Id -ProcessServer $ProcessServers[0] -Account $AccountHandles[1] -RecoveryResourceGroupId $ResourceGroup.ResourceId -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

#Get the protectable item corresponding to the virtual machine CentOSVM2
$VM3 = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $ProtectionContainer -FriendlyName "CentOSVM2"

# Enable replication for virtual machine CentOSVM2
$Job_EnableReplication3 = New-AzRecoveryServicesAsrReplicationProtectedItem -VMwareToAzure -ProtectableItem $VM3 -Name (New-Guid).Guid -ProtectionContainerMapping $PolicyMap -RecoveryAzureStorageAccountId $ReplicationStdStorageAccount.Id  -ProcessServer $ProcessServers[1] -Account $AccountHandles[2] -RecoveryResourceGroupId $ResourceGroup.ResourceId -RecoveryAzureNetworkId $RecoveryVnet.Id -RecoveryAzureSubnetName "Subnet-1"

Setelah pengaktifan pekerjaan replikasi berhasil diselesaikan, replikasi awal dimulai untuk komputer virtual. Replikasi awal mungkin memakan waktu cukup lama tergantung pada jumlah data yang akan direplikasi dan bandwidth yang tersedia untuk replikasi. Setelah replikasi awal selesai, komputer virtual berpindah ke kondisi terlindungi. Setelah komputer virtual mencapai kondisi terlindungi, Anda dapat melakukan uji failover untuk komputer virtual, menambahkannya ke rencana pemulihan dll.

Anda dapat memeriksa kondisi replikasi dan kesehatan replikasi komputer virtual dengan cmdlet Get-ASRReplicationProtectedItem.

Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $ProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth
FriendlyName ProtectionState                 ReplicationHealth
------------ ---------------                 -----------------
CentOSVM1    Protected                       Normal
CentOSVM2    InitialReplicationInProgress    Normal
Win2K12VM1   Protected                       Normal

Mengonfigurasi pengaturan failover

Pengaturan failover untuk komputer terproteksi dapat diperbarui menggunakan cmdlet Set-ASRReplicationProtectedItem. Beberapa pengaturan yang dapat diperbarui melalui cmdlet ini adalah:

  • Nama komputer virtual yang akan dibuat pada failover
  • Nama komputer virtual yang akan dibuat pada failover
  • Jaringan virtual Azure dan subnet yang NIC komputer virtual harus disambungkan ke failover
  • Failover ke disk terkelola
  • Terapkan Keuntungan Penggunaan Azure Hybrid
  • Tetapkan alamat IP statis dari jaringan virtual target yang akan ditetapkan ke komputer virtual saat failover.

Dalam contoh ini, kami memperbarui ukuran VM komputer virtual yang akan dibuat pada failover untuk komputer virtual Win2K12VM1 dan menentukan bahwa komputer virtual menggunakan disk terkelola pada failover.

$ReplicatedVM1 = Get-AzRecoveryServicesAsrReplicationProtectedItem -FriendlyName "Win2K12VM1" -ProtectionContainer $ProtectionContainer

Set-AzRecoveryServicesAsrReplicationProtectedItem -InputObject $ReplicatedVM1 -Size "Standard_DS11" -UseManagedDisk True
Name             : cafa459c-44a7-45b0-9de9-3d925b0e7db9
ID               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRToAzurePs/providers/Microsoft.RecoveryServices/vaults/VMwareDRToAzurePs/replicationJobs/cafa459
                   c-44a7-45b0-9de9-3d925b0e7db9
Type             :
JobType          : UpdateVmProperties
DisplayName      : Update the virtual machine
ClientRequestId  : b0b51b2a-f151-4e9a-a98e-064a5b5131f3 ActivityId: ac2ba316-be7b-4c94-a053-5363f683d38f
State            : InProgress
StateDescription : InProgress
StartTime        : 11/24/2017 2:04:26 PM
EndTime          :
TargetObjectId   : 88bc391e-d091-11e7-9484-000c2955bb50
TargetObjectType : ProtectionEntity
TargetObjectName : Win2K12VM1
AllowedActions   :
Tasks            : {Update the virtual machine properties}
Errors           : {}

Menjalankan failover pengujian

  1. Jalankan latihan pemulihan bencana (uji failover) sebagai berikut:

    #Test failover of Win2K12VM1 to the test virtual network "V2TestNetwork"
    
    #Get details of the test failover virtual network to be used
    TestFailovervnet = Get-AzVirtualNetwork -Name "V2TestNetwork" -ResourceGroupName "asrrg" 
    
    #Start the test failover operation
    $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $ReplicatedVM1 -AzureVMNetworkId $TestFailovervnet.Id -Direction PrimaryToRecovery
    
  2. Setelah pekerjaan failover pengujian berhasil diselesaikan, Anda akan melihat bahwa komputer virtual yang diakhiri dengan "-Test" (Win2K12VM1-Test dalam hal ini) untuk namanya dibuat di Azure.

  3. Anda sekarang dapat tersambung ke uji failover melalui komputer virtual, dan memvalidasi uji failover.

  4. Hapus uji failover menggunakan cmdlet Start-ASRTestFailoverCleanupJob. Operasi ini menghapus komputer virtual yang dibuat sebagai bagian dari operasi uji failover.

    $Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $ReplicatedVM1
    

Failover ke Azure

Dalam langkah ini, kami failover komputer virtual Win2K12VM1 ke titik pemulihan tertentu.

  1. Dapatkan daftar titik pemulihan yang tersedia untuk digunakan failover:

    # Get the list of available recovery points for Win2K12VM1
    $RecoveryPoints = Get-AzRecoveryServicesAsrRecoveryPoint -ReplicationProtectedItem $ReplicatedVM1
    "{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[0].RecoveryPointTime
    
    CrashConsistent 11/24/2017 5:28:25 PM
    
    
    #Start the failover job
    $Job_Failover = Start-AzRecoveryServicesAsrUnplannedFailoverJob -ReplicationProtectedItem $ReplicatedVM1 -Direction PrimaryToRecovery -RecoveryPoint $RecoveryPoints[0]
    do {
            $Job_Failover = Get-ASRJob -Job $Job_Failover;
            sleep 60;
    } while (($Job_Failover.State -eq "InProgress") -or ($JobFailover.State -eq "NotStarted"))
    $Job_Failover.State
    
    Succeeded
    
  2. Setelah failover berhasil, Anda dapat menerapkan operasi failover, dan menyiapkan replikasi terbalik dari Azure kembali ke situs VMware lokal.

Langkah berikutnya

Pelajari cara mengotomatisasi tugas lainnya menggunakan referensi Azure Site Recovery PowerShell.