PowerShell ile VMware VM'lerinin Azure'a olağanüstü durum kurtarmayı ayarlama
Dikkat
Bu makale, Kullanım Süresi Sonu (EOL) durumu olan bir Linux dağıtımı olan CentOS'a başvurur. Lütfen kullanımınızı göz önünde bulundurun ve uygun şekilde planlayın. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.
Bu makalede, Azure PowerShell kullanarak VMware sanal makinelerini Azure'a çoğaltmayı ve yük devretmeyi göreceksiniz.
Şunları yapmayı öğreneceksiniz:
- Kurtarma Hizmetleri kasası oluşturun ve kasa bağlamını ayarlayın.
- Kasada sunucu kaydını doğrulayın.
- Çoğaltma ilkesi de dahil olmak üzere çoğaltmayı ayarlayın. vCenter sunucunuzu ekleyin ve VM'leri bulun.
- vCenter sunucusu ekleme ve bulma
- Çoğaltma günlüklerini veya verilerini tutmak ve VM'leri çoğaltmak için depolama hesapları oluşturun.
- Yük devretme gerçekleştirin. Yük devretme ayarlarını yapılandırın, sanal makineleri çoğaltmak için bir ayar gerçekleştirin.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Önkoşullar
Başlamadan önce:
- Senaryo mimarisini ve bileşenlerini anladığınızdan emin olun.
- Tüm bileşenler için destek gereksinimlerini gözden geçirin.
- Azure PowerShell
Az
modülüne sahipsiniz. Azure PowerShell'i yüklemeniz veya yükseltmeniz gerekiyorsa, Azure PowerShell'i yüklemek ve yapılandırmak için bu Kılavuzu izleyin.
Azure'da oturum açma
Connect-AzAccount cmdlet'ini kullanarak Azure aboneliğinizde oturum açın:
Connect-AzAccount
VMware sanal makinelerinizi çoğaltmak istediğiniz Azure aboneliğini seçin. Erişiminiz olan Azure aboneliklerinin listesini almak için Get-AzSubscription cmdlet'ini kullanın. Select-AzSubscription cmdlet'ini kullanarak çalışmak için Azure aboneliğini seçin.
Select-AzSubscription -SubscriptionName "ASR Test Subscription"
Kurtarma Hizmetleri kasası ayarlama
Kurtarma Hizmetleri kasasının oluşturulacağı bir kaynak grubu oluşturun. Aşağıdaki örnekte kaynak grubu VMwareDRtoAzurePS olarak adlandırılmıştır ve Doğu Asya bölgesinde oluşturulmuştur.
New-AzResourceGroup -Name "VMwareDRtoAzurePS" -Location "East Asia"
ResourceGroupName : VMwareDRtoAzurePS Location : eastasia ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRtoAzurePS
Kurtarma hizmetleri kasası oluşturun. Aşağıdaki örnekte Kurtarma hizmetleri kasası VMwareDRToAzurePs olarak adlandırılmıştır ve Doğu Asya bölgesinde ve önceki adımda oluşturulan kaynak grubunda oluşturulmuştur.
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
Kasa için kasa kayıt anahtarını indirin. Kasa kayıt anahtarı, şirket içi Yapılandırma Sunucusu'nu bu kasaya kaydetmek için kullanılır. Kayıt, Yapılandırma Sunucusu yazılım yükleme işleminin bir parçasıdır.
#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
İndirilen kasa kayıt anahtarını kullanın ve Yapılandırma Sunucusu yüklemesini ve kaydını tamamlamak için makalelerdeki aşağıdaki adımları izleyin.
Kasa bağlamını ayarlama
Set-ASRVaultContext cmdlet'ini kullanarak kasa bağlamını ayarlayın. Ayarlandıktan sonra, PowerShell oturumundaki sonraki Azure Site Recovery işlemleri seçilen kasa bağlamında gerçekleştirilir.
İpucu
Azure Site Recovery PowerShell modülü (Az.RecoveryServices modülü), çoğu cmdlet için kullanımı kolay diğer adlarla birlikte gelir. Modüldeki cmdlet'ler Operation-AzRecoveryServicesAsr<> Nesnesi> biçimindedir <ve Operation-ASR>< Nesnesi> biçimini <alan eşdeğer diğer adlara sahiptir. Kullanım kolaylığı için cmdlet diğer adlarını değiştirebilirsiniz.
Aşağıdaki örnekte, $vault değişkenindeki kasa ayrıntıları, PowerShell oturumu için kasa bağlamını belirtmek için kullanılır.
Set-ASRVaultContext -Vault $vault
ResourceName ResourceGroupName ResourceNamespace ResourceType
------------ ----------------- ----------------- -----------
VMwareDRToAzurePs VMwareDRToAzurePs Microsoft.RecoveryServices vaults
Set-ASRVaultContext cmdlet'ine alternatif olarak, kasa bağlamını ayarlamak için Import-AzRecoveryServicesAsrVaultSettingsFile cmdlet'ini de kullanabilirsiniz. Import-AzRecoveryServicesAsrVaultSettingsFile cmdlet'inin -path parametresi olarak kasa kayıt anahtarı dosyasının bulunduğu yolu belirtin. Örneğin:
Get-AzRecoveryServicesVaultSettingsFile -SiteRecovery -Vault $Vault -Path "C:\Work\"
Import-AzRecoveryServicesAsrVaultSettingsFile -Path "C:\Work\VMwareDRToAzurePs_2017-11-23T19-52-34.VaultCredentials"
Bu makalenin sonraki bölümlerinde Azure Site Recovery işlemleri için kasa bağlamının ayarlandığı varsayılır.
Kasa kaydını doğrulama
Bu örnekte aşağıdaki gereksinimlere sahibiz:
- Bu kasaya bir yapılandırma sunucusu (ConfigurationServer) kaydedildi.
- ConfigurationServer'a fazladan bir işlem sunucusu (ScaleOut-ProcessServer) kaydedildi
- Yapılandırma sunucusunda hesaplar (vCenter_account, WindowsAccount, LinuxAccount) ayarlanmıştır. Bu hesaplar vCenter sunucusunu eklemek, sanal makineleri bulmak ve çoğaltılacak Windows ve Linux sunucularına mobility hizmeti yazılımını anında yüklemek için kullanılır.
Kayıtlı yapılandırma sunucuları, Site Recovery'deki bir doku nesnesiyle temsil edilir. Kasadaki doku nesnelerinin listesini alın ve yapılandırma sunucusunu tanımlayın.
# 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
Makineleri çoğaltmak için kullanılabilecek işlem sunucularını belirleyin.
$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
Yukarıdaki çıktıdan $ProcessServers[0] ScaleOut-ProcessServer'a karşılık gelir ve $ProcessServers[1] ConfigurationServer'da İşlem Sunucusu rolüne karşılık gelir
Yapılandırma Sunucusu'nda ayarlanmış hesapları tanımlayın.
$AccountHandles = $ASRFabrics[0].FabricSpecificDetails.RunAsAccounts #Print the account details $AccountHandles
AccountId AccountName --------- ----------- 1 vCenter_account 2 WindowsAccount 3 LinuxAccount
Yukarıdaki çıkıştan $AccountHandles[0] hesap vCenter_account, $AccountHandles[1] windowsaccount hesabına, $AccountHandles[2] ise LinuxAccount hesabına karşılık gelir
Çoğaltma ilkesi oluşturma
Bu adımda iki çoğaltma ilkesi oluşturulur. Bir ilke VMware sanal makinelerini Azure'a çoğaltmak için, diğeri ise Azure'da çalışan sanal makineler üzerinden şirket içi VMware sitesine geri yük devredildi.
Not
Azure Site Recovery işlemlerinin çoğu zaman uyumsuz olarak yürütülür. Bir işlemi başlattığınızda, bir Azure Site Recovery işi gönderilir ve bir iş izleme nesnesi döndürülür. Bu iş izleme nesnesi, işlemin durumunu izlemek için kullanılabilir.
VMware sanal makinelerini belirtilen özelliklerle Azure'a çoğaltmak için ReplicationPolicy adlı bir çoğaltma ilkesi oluşturun.
$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 : {}
Azure'dan şirket içi VMware sitesine yeniden çalışma için kullanılacak bir çoğaltma ilkesi oluşturun.
$Job_FailbackPolicyCreate = New-AzRecoveryServicesAsrPolicy -AzureToVMware -Name "ReplicationPolicy-Failback" -RecoveryPointRetentionInHours 24 -ApplicationConsistentSnapshotFrequencyInHours 4 -RPOWarningThresholdInMinutes 60
İşlemin tamamlanmasını izlemek için $Job_FailbackPolicyCreate içindeki iş ayrıntılarını kullanın.
- Çoğaltma ilkelerini Yapılandırma Sunucusu ile eşlemek için bir koruma kapsayıcısı eşlemesi oluşturun.
#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
vCenter sunucusu ekleme ve VM'leri bulma
IP adresine veya ana bilgisayar adına göre bir vCenter Server ekleyin. -port parametresi bağlanacak vCenter sunucusundaki bağlantı noktasını belirtir, -Name parametresi vCenter sunucusu için kullanılacak kolay bir ad belirtir ve -Account parametresi, vCenter sunucusu tarafından yönetilen sanal makineleri bulmak için kullanılacak Yapılandırma sunucusundaki hesap tanıtıcısını belirtir.
# 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 : {}
Çoğaltma için depolama hesapları oluşturma
Yönetilen diske yazmak için PowerShell Az.RecoveryServices modülü 2.0.0'ı kullanın. Yalnızca günlük depolama hesabı oluşturulmasını gerektirir. Yalnızca geçici günlükleri depolamak için kullanıldığından standart hesap türü ve LRS yedekliliği kullanılması önerilir. Depolama hesabının kasayla aynı Azure bölgesinde oluşturulduğundan emin olun.
Az.RecoveryServices modülünün 2.0.0'dan eski bir sürümünü kullanıyorsanız, depolama hesapları oluşturmak için aşağıdaki adımları kullanın. Bu depolama hesapları daha sonra sanal makineleri çoğaltmak için kullanılır. Depolama hesaplarının kasayla aynı Azure bölgesinde oluşturulduğundan emin olun. Çoğaltma için mevcut bir depolama hesabını kullanmayı planlıyorsanız bu adımı atlayabilirsiniz.
Not
Şirket içi sanal makineleri premium depolama hesabına çoğaltırken, ek bir standart depolama hesabı (günlük depolama hesabı) belirtmeniz gerekir. Günlük depolama hesabı, günlükler premium depolama hedefinde uygulanıncaya kadar çoğaltma günlüklerini ara depo olarak tutar.
$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
VMware VM'lerini çoğaltma
Sanal makinelerin vCenter sunucusundan bulunması yaklaşık 15-20 dakika sürer. Keşfedildikten sonra, bulunan her sanal makine için Azure Site Recovery'de korunabilir bir öğe nesnesi oluşturulur. Bu adımda, bulunan sanal makinelerden üçü önceki adımda oluşturulan Azure Depolama hesaplarına çoğaltılır.
Bulunan bir sanal makineyi korumak için aşağıdaki ayrıntılara ihtiyacınız olacaktır:
- Çoğaltılacak korunabilir öğe.
- Sanal makineyi çoğaltmak için depolama hesabı (yalnızca depolama hesabına çoğaltıyorsanız).
- Sanal makineleri premium depolama hesabına veya yönetilen diske korumak için günlük depolaması gerekir.
- Çoğaltma için kullanılacak İşlem Sunucusu. Kullanılabilir işlem sunucularının listesi alındı ve $ProcessServers[0](ScaleOut-ProcessServer) ve $ProcessServers[1] (ConfigurationServer) değişkenlerine kaydedildi.
- Ulaşım hizmeti yazılımını makinelere anında yüklemek için kullanılacak hesap. Kullanılabilir hesapların listesi alındı ve $AccountHandles değişkeninde depolandı.
- Çoğaltma için kullanılacak çoğaltma ilkesi için koruma kapsayıcı eşlemesi.
- Yük devretme sırasında sanal makinelerin oluşturulması gereken kaynak grubu.
- İsteğe bağlı olarak, yük devredilen sanal makinenin bağlandığı Azure sanal ağı ve alt ağı gerekir.
Şimdi bu tabloda belirtilen ayarları kullanarak aşağıdaki sanal makineleri çoğaltın:
Sanal makine | İşlem Sunucusu | Depolama Hesabı | Günlük Depolama hesabı | İlke | Ulaşım hizmeti yükleme hesabı | Hedef kaynak grubu | Hedef sanal ağ | Hedef alt ağ |
---|---|---|---|---|---|---|---|---|
CentOSVM1 | ConfigurationServer | Yok | logstorageaccount1 | ReplicationPolicy | LinuxAccount | VMwareDRToAzurePs | ASR-vnet | Alt ağ-1 |
Win 2K12VM1 | ScaleOut-ProcessServer | premiumstorageaccount1 | logstorageaccount1 | ReplicationPolicy | WindowsAccount | VMwareDRToAzurePs | ASR-vnet | Alt ağ-1 |
CentOSVM2 | ConfigurationServer | replicationstdstorageaccount1 | Yok | ReplicationPolicy | LinuxAccount | VMwareDRToAzurePs | ASR-vnet | Alt ağ-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"
Çoğaltmayı etkinleştirme işi başarıyla tamamlandıktan sonra sanal makineler için ilk çoğaltma başlatılır. İlk çoğaltma, çoğaltılacak veri miktarına ve çoğaltma için kullanılabilir bant genişliğine bağlı olarak biraz zaman alabilir. İlk çoğaltma tamamlandıktan sonra sanal makine korumalı bir duruma geçer. Sanal makine korumalı bir duruma ulaştığında, sanal makine için yük devretme testi gerçekleştirebilir, kurtarma planlarına vb. ekleyebilirsiniz.
Get-ASRReplicationProtectedItem cmdlet'iyle sanal makinenin çoğaltma durumunu ve çoğaltma durumunu de kontrol edebilirsiniz.
Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $ProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth
FriendlyName ProtectionState ReplicationHealth
------------ --------------- -----------------
CentOSVM1 Protected Normal
CentOSVM2 InitialReplicationInProgress Normal
Win2K12VM1 Protected Normal
Yük devretme ayarlarını yapılandırma
Korumalı makineler için yük devretme ayarları Set-ASRReplicationProtectedItem cmdlet'i kullanılarak güncelleştirilebilir. Bu cmdlet aracılığıyla güncelleştirilebilecek ayarlardan bazıları şunlardır:
- Yük devretme sırasında oluşturulacak sanal makinenin adı
- Yük devretme sırasında oluşturulacak sanal makinenin VM boyutu
- Yük devretme sırasında sanal makinenin NIC'lerinin bağlanması gereken Azure sanal ağı ve alt ağı
- Yönetilen disklere yük devretme
- Azure Hibrit Kullanım Avantajı uygulama
- Yük devretme sırasında sanal makineye atanacak hedef sanal ağdan statik bir IP adresi atayın.
Bu örnekte, Win2K12VM1 sanal makinesi için yük devretme sırasında oluşturulacak sanal makinenin VM boyutunu güncelleştirecek ve sanal makinenin yük devretme sırasında yönetilen diskler kullandığını belirteceğiz.
$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 : {}
Yük devretme testi çalıştırma
Aşağıdaki gibi bir olağanüstü durum kurtarma tatbikatı (yük devretme testi) çalıştırın:
#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
Yük devretme testi işi başarıyla tamamlandıktan sonra Azure'da adına "-Test" (bu örnekte Win2K12VM1-Test) ekli bir sanal makinenin oluşturulduğunu göreceksiniz.
Artık sanal makinede başarısız olan teste bağlanabilir ve yük devretme testini doğrulayabilirsiniz.
Start-ASRTestFailoverCleanupJob cmdlet'ini kullanarak yük devretme testini temizleyin. Bu işlem, yük devretme testi işleminin bir parçası olarak oluşturulan sanal makineyi siler.
$Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $ReplicatedVM1
Azure'a yük devretme
Bu adımda Win2K12VM1 sanal makinesini belirli bir kurtarma noktasına devredeceğiz.
Yük devretme için kullanılacak kullanılabilir kurtarma noktalarının listesini alın:
# 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
Yük devretme başarılı bir şekilde başarısız olduktan sonra yük devretme işlemini işleyebilir ve Azure'dan şirket içi VMware sitesine ters çoğaltma ayarlayabilirsiniz.
Sonraki adımlar
Azure Site Recovery PowerShell başvurularını kullanarak daha fazla görevi otomatikleştirmeyi öğrenin.