Einrichten der Notfallwiederherstellung von virtuellen VMware-Computern in Azure mithilfe von PowerShell
Achtung
Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, deren Dienstende (End-of-Life, EOL) ansteht. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS End-of-Life-Leitfaden.
In diesem Artikel erfahren Sie etwas über das Replizieren virtueller VMware-Computer in VMM-Clouds und das Ausführen eines Failovers dafür in Azure mithilfe der Azure PowerShell.
Folgendes wird vermittelt:
- Erstellen eines Recovery Services-Tresors und Einrichten des Tresorkontexts.
- Überprüfen der Registrierung des Servers im Tresor.
- Einrichten der Replikation einschließlich einer Replikationsrichtlinie. Hinzufügen Ihres vCenter-Servers und Erkennung virtueller Computer.
- Hinzufügen eines vCenter-Servers und Erkennung
- Erstellen von Speicherkonten zum Speichern von Replikationsprotokollen oder -daten und Replizieren der virtuellen Computer.
- Ausführen eines Failovers. Konfigurieren von Failovereinstellungen, Vornehmen von Einstellungen für das Replizieren virtueller Computer.
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Voraussetzungen
Vorbereitungen:
- Stellen Sie sicher, dass Sie die Architektur und die Komponenten des Szenarios verstehen.
- Überprüfen Sie die Supportanforderungen für alle Komponenten.
- Sie verfügen über das Azure PowerShell-Modul
Az
. Wenn Sie PowerShell installieren oder aktualisieren müssen, befolgen Sie die Anweisungen unter Handbuch zum Installieren und Konfigurieren von Azure PowerShell.
Anmelden an Azure
Melden Sie sich mit dem Cmdlet „Connect-AzAccount“ bei Ihrem Azure-Konto an:
Connect-AzAccount
Wählen Sie das Azure-Abonnement aus, in dem Sie Ihre VMware-VMs replizieren möchten. Verwenden Sie das Cmdlet „Get-AzSubscription“ zum Abrufen der Liste der Azure-Abonnements, auf die Sie Zugriff haben. Wählen Sie mit dem Cmdlet „Select-AzSubscription“ das gewünschte Azure-Abonnement aus, mit dem Sie arbeiten möchten.
Select-AzSubscription -SubscriptionName "ASR Test Subscription"
Richten Sie einen Recovery Services-Tresor ein.
Erstellen Sie eine Ressourcengruppe, in der der Recovery Services-Tresor erstellt werden soll. Im folgenden Beispiel hat die Ressourcengruppe den Namen VMwareDRtoAzurePS und wird in der Region „Asien, Osten“ erstellt.
New-AzResourceGroup -Name "VMwareDRtoAzurePS" -Location "East Asia"
ResourceGroupName : VMwareDRtoAzurePS Location : eastasia ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/VMwareDRtoAzurePS
Erstellen Sie einen Recovery Services-Tresor. Im folgenden Beispiel hat der Recovery Services-Tresor den Namen VMwareDRToAzurePs und wird in der Region „Asien, Osten“ und in der Ressourcengruppe, die im vorherigen Schritt erstellt wurde, erstellt.
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
Laden Sie den Tresorregistrierungsschlüssel für den Tresor herunter. Mit dem Tresorregistrierungsschlüssel wird der lokale Konfigurationsserver bei diesem Tresor registriert. Die Registrierung ist ein Teil des Installationsvorgangs der Konfigurationsserversoftware.
#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
Verwenden Sie den heruntergeladenen Registrierungsschlüssel, und führen Sie die folgenden Schritte in den Artikeln aus, um die Installation und Registrierung des Konfigurationsservers abzuschließen.
Festlegen des Tresorkontexts
Legen Sie mit dem Cmdlet Set-ASRVaultContext den Tresorkontext fest. Nach dem Festlegen werden nachfolgende Azure Site Recovery-Vorgänge in der PowerShell-Sitzung im Kontext des ausgewählten Tresors ausgeführt.
Tipp
Im Lieferumfang des Azure Site Recovery-PowerShell-Moduls (Az.RecoveryServices) sind einfach zu verwendende Aliase für die meisten Cmdlets enthalten. Die Cmdlets im Model weisen die Form <Vorgang>-AzRecoveryServicesAsr<Objekt> auf und verfügen über gleichwertige Aliase in der Form <Vorgang>-ASR<Objekt>. Sie können die Cmdletaliase zur einfacheren Verwendung ersetzen.
Im folgenden Beispiel wird mit den Tresordetails aus der $vault-Variable der Tresorkontext für die PowerShell-Sitzung angegeben.
Set-ASRVaultContext -Vault $vault
ResourceName ResourceGroupName ResourceNamespace ResourceType
------------ ----------------- ----------------- -----------
VMwareDRToAzurePs VMwareDRToAzurePs Microsoft.RecoveryServices vaults
Als Alternative zum Cmdlet „Set-ASRVaultContext“ kann der Tresorkontext auch mithilfe des Cmdlets „Import-AzRecoveryServicesAsrVaultSettingsFile“ festgelegt werden. Geben Sie für das Cmdlet „Import-AzRecoveryServicesAsrVaultSettingsFile“ mithilfe des Parameters „-path“ den Pfad der Tresorregistrierungsschlüssel-Datei an. Beispiel:
Get-AzRecoveryServicesVaultSettingsFile -SiteRecovery -Vault $Vault -Path "C:\Work\"
Import-AzRecoveryServicesAsrVaultSettingsFile -Path "C:\Work\VMwareDRToAzurePs_2017-11-23T19-52-34.VaultCredentials"
In späteren Abschnitten dieses Artikels wird davon ausgegangen, dass der Tresorkontext für Azure Site Recovery-Vorgänge festgelegt wurde.
Überprüfen der Tresorregistrierung
In diesem Beispiel haben wir die folgenden Anforderungen:
- Ein Konfigurationsserver (ConfigurationServer) wurde bei diesem Tresor registriert.
- Ein zusätzlicher Prozessserver (ScaleOut-ProcessServer) wurde bei ConfigurationServer registriert.
- Konten (vCenter_account, WindowsAccount, LinuxAccount) wurden auf dem Konfigurationsserver eingerichtet. Mit diesen Konten wird der vCenter-Server für die Erkennung virtueller Computer hinzugefügt und die Mobility Service-Clientsoftware auf Windows- und Linux-Servern, die repliziert werden sollen, per Push installiert.
Registrierte Konfigurationsserver werden von einem Fabricobjekt in Site Recovery dargestellt. Rufen Sie die Liste der Fabricobjekte im Tresor ab, und identifizieren Sie den Konfigurationsserver.
# 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
Identifizieren Sie die Prozessserver, die zum Replizieren von Computern verwendet werden können.
$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
In obiger Ausgabe gehört $ProcessServers[0] zu ScaleOut-ProcessServer, und $ProcessServers[1] gehört zur Prozessserverrolle auf ConfigurationServer.
Identifizieren Sie Konten, die auf dem Konfigurationsserver eingerichtet wurden.
$AccountHandles = $ASRFabrics[0].FabricSpecificDetails.RunAsAccounts #Print the account details $AccountHandles
AccountId AccountName --------- ----------- 1 vCenter_account 2 WindowsAccount 3 LinuxAccount
In obiger Ausgabe gehört $AccountHandles[0] zum Konto vCenter_account, $AccountHandles[1] zum Konto WindowsAccount und $AccountHandles[2] zum Konto LinuxAccount.
Erstellen einer Replikationsrichtlinie
In diesem Schritt werden zwei Replikationsrichtlinien erstellt. Eine Richtlinie zum Replizieren von virtuellen VMware-Computern in Azure und die andere zum Replizieren virtueller Failovercomputer, die in Azure ausgeführt werden, auf den lokalen VMware-Standort.
Hinweis
Die meisten Azure Site Recovery-Vorgänge werden asynchron ausgeführt. Wenn Sie einen Vorgang einleiten, wird ein Azure Site Recovery-Auftrag übermittelt und ein Auftragsverfolgungsobjekt zurückgegeben. Dieses Auftragsverfolgungsobjekt kann zum Überwachen des Status des Vorgangs verwendet werden.
Erstellen Sie eine Replikationsrichtlinie mit dem Namen ReplicationPolicy zum Replizieren virtueller VMware-Computer in Azure mit den angegebenen Eigenschaften.
$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 : {}
Erstellen Sie eine Replikationsrichtlinie für Failbacks von Azure auf die lokalen VMware-Standorte.
$Job_FailbackPolicyCreate = New-AzRecoveryServicesAsrPolicy -AzureToVMware -Name "ReplicationPolicy-Failback" -RecoveryPointRetentionInHours 24 -ApplicationConsistentSnapshotFrequencyInHours 4 -RPOWarningThresholdInMinutes 60
Verwenden Sie die Auftragsdetails in $Job_FailbackPolicyCreate zum Nachverfolgen des Vorgangs bis zum Abschluss.
- Erstellen Sie eine Schutzcontainerzuordnung zum Zuordnen von Replikationsrichtlinien beim Konfigurationsserver.
#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
Hinzufügen eines vCenter-Servers und Durchführen einer Erkennung virtueller Computer
Fügen Sie einen vCenter-Server anhand der IP-Adresse oder des Hostnamens hinzu. Der Parameter -port gibt den Port auf dem vCenter-Server für die Verbindung an, der Parameter -Name gibt einen Anzeigenamen für den vCenter-Server an, und der Parameter -Account gibt das Kontohandle auf dem Konfigurationsserver zum Erkennen von VMs an, die vom vCenter-Server verwaltet werden.
# 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 : {}
Erstellen von Speicherkonten für die Replikation
Verwenden Sie zum Schreiben auf den verwalteten Datenträger das PowerShell-Modul „Az.RecoveryServices 2.0.0“ oder höher. Es muss nur ein Protokollspeicherkonto erstellt werden. Sie sollten einen Standardkontotyp und LRS-Redundanz verwenden, da es nur zum Speichern temporärer Protokolle verwendet wird. Stellen Sie sicher, dass das Speicherkonto in derselben Azure-Region wie der Tresor erstellt wird.
Wenn Sie eine Version des Az.RecoveryServices-Moduls verwenden, die älter als 2.0.0 ist, führen Sie die folgenden Schritte aus, um Speicherkonten zu erstellen. Diese Speicherkonten werden später zum Replizieren virtueller Computer verwendet. Stellen Sie sicher, dass die Speicherkonten in derselben Azure-Region wie der Tresor erstellt werden. Sie können diesen Schritt überspringen, wenn Sie ein vorhandenes Speicherkonto für die Replikation verwenden möchten.
Hinweis
Beim Replizieren lokaler virtuellen Computer in einem Storage Premium-Konto müssen Sie ein zusätzliches Storage Standard-Konto (Protokollspeicherkonto) angeben. Das Protokollspeicherkonto enthält Replikationsprotokolle als temporären Speicher, bis die Protokolle auf das Storage Premium-Ziel angewendet werden können.
$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
Replizieren von VMware-VMs
Es dauert etwa 15 bis 20 Minuten, bis virtuelle Computer auf dem vCenter-Server erkannt werden. Nach der Erkennung wird in Azure Site Recovery für jeden ermittelten virtuellen Computer ein Objekt für ein schützbares Element erstellt. In diesem Schritt werden drei der erkannten virtuellen Computer in den im vorherigen Schritt erstellten Azure Storage-Konten repliziert.
Sie benötigen die folgenden Details zum Schützen eines erkannten virtuellen Computers:
- Das zu replizierende schützbare Element.
- Das Speicherkonto, in das der virtuelle Computer repliziert wird (nur, wenn Sie in ein Speicherkonto replizieren).
- Ein Protokollspeicher ist erforderlich, um virtuelle Computer in einem Storage Premium-Konto oder auf einem verwalteten Datenträger zu schützen.
- Der für die Replikation verwendete Prozessserver. Die Liste der verfügbaren Prozessserver wurde abgerufen und in den Variablen $ProcessServers[0] (ScaleOut-ProcessServer) und $ProcessServers[1] (ConfigurationServer) gespeichert.
- Das Konto, über das die Mobility Service-Clientsoftware per Push auf den Computern installiert werden soll. Die Liste der verfügbaren Konten wurde abgerufen und in der Variable $AccountHandles gespeichert.
- Die Schutzcontainerzuordnung der Replikationsrichtlinie, die für die Replikation verwendet werden soll.
- Die Ressourcengruppe, in der virtuelle Computer bei einem Failover erstellt werden müssen.
- (Optional:) Das virtuelle Azure-Netzwerk und das Subnetz, mit denen der virtuelle Failovercomputer verbunden werden soll.
Replizieren Sie nun die folgenden VMs mit den Einstellungen in dieser Tabelle.
Virtueller Computer | Prozessserver | Speicherkonto | Protokollspeicherkonto | Richtlinie | Konto für die Installation des Mobilitätsdiensts | Zielressourcengruppe | Virtuelles Zielnetzwerk | Zielsubnetz |
---|---|---|---|---|---|---|---|---|
CentOSVM1 | ConfigurationServer | – | logstorageaccount1 | ReplicationPolicy | LinuxAccount | VMwareDRToAzurePs | ASR-vnet | Subnet-1 |
Win 2K12VM1 | ScaleOut-ProcessServer | premiumstorageaccount1 | logstorageaccount1 | ReplicationPolicy | WindowsAccount | VMwareDRToAzurePs | ASR-vnet | Subnet-1 |
CentOSVM2 | ConfigurationServer | replicationstdstorageaccount1 | – | 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"
Nachdem der Auftrag zum Aktivieren der Replikation erfolgreich abgeschlossen wurde, wird eine erste Replikation für die virtuellen Computer gestartet. Die erste Replikation kann abhängig von der Menge der zu replizierenden Daten und der für die Replikation verfügbaren Bandbreite einige Zeit dauern. Wenn die erste Replikation abgeschlossen ist, wird der virtuelle Computer in einen geschützten Zustand überführt. Nachdem der virtuelle Computer einen geschützten Zustand erreicht hat, können Sie ein Testfailover für den virtuellen Computer ausführen, ihn Wiederherstellungsplänen hinzufügen usw.
Sie können den Replikationsstatus und die Replikationsintegrität des virtuellen Computers mit dem Cmdlet Get-ASRReplicationProtectedItem überprüfen.
Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $ProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth
FriendlyName ProtectionState ReplicationHealth
------------ --------------- -----------------
CentOSVM1 Protected Normal
CentOSVM2 InitialReplicationInProgress Normal
Win2K12VM1 Protected Normal
Konfigurieren der Failovereinstellungen
Die Failovereinstellungen für geschützte Computer können mit dem Cmdlet Set-ASRReplicationProtectedItem aktualisiert werden. Einige der Einstellungen, die mit diesem Cmdlet aktualisiert werden können, sind die folgenden:
- Name des virtuellen Computers, der bei einem Failover erstellt werden soll
- VM-Größe des virtuellen Computers, der bei einem Failover erstellt werden soll
- Virtuelles Azure-Netzwerk und Subnetz, mit denen die Netzwerkschnittstellenkarten des virtuellen Computers bei einem Failover verbunden werden sollen
- Failover auf verwalteten Datenträgern
- Anwenden des Azure-Hybridvorteils
- Weisen Sie eine statische IP-Adresse aus dem virtuellen Zielnetzwerk zu, die dem virtuellen Computer bei einem Failover zugewiesen werden soll.
In diesem Beispiel aktualisieren wir die VM-Größe des virtuellen Computers, der bei einem Failover für den virtuellen Computer Win2K12VM1 erstellt werden soll, und geben an, dass der virtuelle Computer bei einem Failover verwaltete Datenträger verwenden soll.
$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 : {}
Ausführen eines Testfailovers
Führen Sie mit einem Testfailover eine Notfallwiederherstellungsübung wie folgt durch:
#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
Nachdem der Testfailover-Auftrag erfolgreich abgeschlossen wurde, sehen Sie, dass ein virtueller Computer mit dem Namenssuffix -Test (in diesem Fall „Win2K12VM1-Test“) in Azure erstellt wurde.
Sie können nun eine Verbindung mit dem virtuellen Testfailover-Computer herstellen und das Testfailover überprüfen.
Bereinigen Sie das Testfailover mit dem Cmdlet Start-ASRTestFailoverCleanupJob. Dieser Vorgang löscht den virtuellen Computer, der im Rahmen des Testfailovers erstellt wurde.
$Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $ReplicatedVM1
Failover in Azure
In diesem Schritt führen wir ein Failover des virtuellen Computers Win2K12VM1 auf einem bestimmten Wiederherstellungspunkt aus.
Rufen Sie eine Liste der für das Failover zu verwendenden verfügbaren Wiederherstellungspunkte auf:
# 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
Nachdem das Failover erfolgreich ausgeführt wurde, können Sie den Failovervorgang committen und die umgekehrte Replikation von Azure zurück zum lokalen VMware-Standort einrichten.
Nächste Schritte
Informieren Sie sich in der Azure Site Recovery-PowerShell-Referenz, wie Sie mehr Aufgaben automatisieren können.