Herstel na noodgeval instellen naar Azure voor Hyper-V-VM's met behulp van PowerShell en Azure Resource Manager
Azure Site Recovery draagt bij aan uw strategie voor bedrijfscontinuïteit en herstel na noodgevallen (BCDR) door replicatie, failover en herstel van virtuele Azure-machines (VM's) en on-premises VM's en fysieke servers in te delen.
In dit artikel wordt beschreven hoe u Windows PowerShell gebruikt, samen met Azure Resource Manager, om Virtuele Hyper-V-machines te repliceren naar Azure. In het voorbeeld dat in dit artikel wordt gebruikt, ziet u hoe u één VIRTUELE machine die wordt uitgevoerd op een Hyper-V-host, repliceert naar Azure.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Azure PowerShell
Azure PowerShell biedt cmdlets voor het beheren van Azure met Behulp van Windows PowerShell. Site Recovery PowerShell-cmdlets, beschikbaar met Azure PowerShell voor Azure Resource Manager, helpen u bij het beveiligen en herstellen van uw servers in Azure.
U hoeft geen PowerShell-expert te zijn om dit artikel te kunnen gebruiken, maar u moet wel de basisconcepten begrijpen, zoals modules, cmdlets en sessies. Zie de PowerShell-documentatie en het gebruik van Azure PowerShell met Azure Resource Manager voor meer informatie.
Notitie
Microsoft-partners in het CSP-programma (Cloud Solution Provider) kunnen de beveiliging van klantservers configureren en beheren voor hun respectieve CSP-abonnementen (tenantabonnementen).
Voordat u begint
Zorg ervoor dat aan deze vereisten is voldaan:
- Een Microsoft Azure-account . U kunt beginnen met een gratis proefversie. Daarnaast kunt u lezen over prijzen van Azure Site Recovery Manager.
- Azure PowerShell. Zie Azure PowerShell installeren voor informatie over deze release en hoe u deze installeert.
Daarnaast heeft het specifieke voorbeeld dat in dit artikel wordt beschreven de volgende vereisten:
- Een Hyper-V-host met Windows Server 2012 R2 of Microsoft Hyper-V Server 2012 R2 met een of meer VM's. Hyper-V-servers moeten rechtstreeks of via een proxy zijn verbonden met internet.
- De VM's die u wilt repliceren, moeten voldoen aan deze vereisten.
Stap 1: Meld u aan bij uw Azure-account
Open een PowerShell-console en voer deze opdracht uit om u aan te melden bij uw Azure-account. Met de cmdlet wordt een webpagina weergegeven waarin u wordt gevraagd om uw accountreferenties:
Connect-AzAccount
.- U kunt ook uw accountreferenties opnemen als een parameter in de
Connect-AzAccount
cmdlet, met behulp van de referentieparameter. - Als u een CSP-partner bent die namens een tenant werkt, geeft u de klant op als tenant, met behulp van de tenant-id of primaire domeinnaam van de tenant. Bijvoorbeeld:
Connect-AzAccount -Tenant "fabrikam.com"
- U kunt ook uw accountreferenties opnemen als een parameter in de
Koppel het abonnement dat u wilt gebruiken aan het account, omdat een account verschillende abonnementen kan hebben:
Set-AzContext -Subscription $SubscriptionName
Controleer of uw abonnement is geregistreerd voor het gebruik van de Azure-providers voor Recovery Services en Site Recovery met behulp van deze opdrachten:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
Controleer of in de opdrachtuitvoer de RegistrationState is ingesteld op Geregistreerd. U kunt doorgaan met stap 2. Als dat niet het geval is, moet u de ontbrekende provider registreren in uw abonnement door de volgende opdrachten uit te voeren:
Register-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
Controleer of de providers zijn geregistreerd met behulp van de volgende opdrachten:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
Stap 2: De kluis instellen
Maak een Azure Resource Manager-resourcegroep waarin de kluis moet worden gemaakt of gebruik een bestaande resourcegroep. Maak als volgt een nieuwe resourcegroep. De
$ResourceGroupName
variabele bevat de naam van de resourcegroep die u wilt maken en de $Geo variabele bevat de Azure-regio waarin de resourcegroep moet worden gemaakt (bijvoorbeeld 'Brazilië - zuid').New-AzResourceGroup -Name $ResourceGroupName -Location $Geo
Als u een lijst met resourcegroepen in uw abonnement wilt ophalen, voert u de
Get-AzResourceGroup
cmdlet uit.Maak als volgt een nieuwe Azure Recovery Services-kluis:
$vault = New-AzRecoveryServicesVault -Name <string> -ResourceGroupName <string> -Location <string>
U kunt een lijst met bestaande kluizen ophalen met de Get-AzRecoveryServicesVault
cmdlet.
Stap 3: de Recovery Services-kluiscontext instellen
Stel de kluiscontext als volgt in:
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
Stap 4: Een Hyper-V-site maken
Maak als volgt een nieuwe Hyper-V-site:
$sitename = "MySite" #Specify site friendly name New-AzRecoveryServicesAsrFabric -Type HyperVSite -Name $sitename
Met deze cmdlet wordt een Site Recovery-taak gestart om de site te maken en wordt een Site Recovery-taakobject geretourneerd. Wacht tot de taak is voltooid en controleer of de taak is voltooid.
Gebruik de
Get-AzRecoveryServicesAsrJob
cmdlet om het taakobject op te halen en controleer de huidige status van de taak.Genereer en download als volgt een registratiesleutel voor de site:
$SiteIdentifier = Get-AzRecoveryServicesAsrFabric -Name $sitename | Select-Object -ExpandProperty SiteIdentifier $path = Get-AzRecoveryServicesVaultSettingsFile -Vault $vault -SiteIdentifier $SiteIdentifier -SiteFriendlyName $sitename
Kopieer de gedownloade sleutel naar de Hyper-V-host. U hebt de sleutel nodig om de Hyper-V-host te registreren bij de site.
Stap 5: De provider en agent installeren
Download het installatieprogramma voor de nieuwste versie van de Provider van Microsoft.
Voer het installatieprogramma uit op de Hyper-V-host.
Aan het einde van de installatie gaat u verder met de registratiestap.
Wanneer u hierom wordt gevraagd, geeft u de gedownloade sleutel op en voltooit u de registratie van de Hyper-V-host.
Controleer of de Hyper-V-host als volgt is geregistreerd bij de site:
$server = Get-AzRecoveryServicesAsrFabric -Name $siteName | Get-AzRecoveryServicesAsrServicesProvider -FriendlyName $server-friendlyname
Als u een Hyper-V-kernserver gebruikt, downloadt u het installatiebestand en voert u de volgende stappen uit:
Pak de bestanden uit AzureSiteRecoveryProvider.exe uit naar een lokale map door deze opdracht uit te voeren:
AzureSiteRecoveryProvider.exe /x:. /q
Voer de volgende opdracht uit:
.\setupdr.exe /i
De resultaten worden vastgelegd in %ProgramData%\ASRLogs\DRASetupWizard.log.
Registreer de server door de volgende opdracht uit te voeren:
cd C:\Program Files\Microsoft Azure Site Recovery Provider\DRConfigurator.exe" /r /Friendlyname "FriendlyName of the Server" /Credentials "path to where the credential file is saved"
Stap 6: Een replicatiebeleid maken
Voordat u begint, moet het opgegeven opslagaccount zich in dezelfde Azure-regio bevinden als de kluis en moet geo-replicatie zijn ingeschakeld.
Maak als volgt een replicatiebeleid:
$ReplicationFrequencyInSeconds = "300"; #options are 30,300,900 $PolicyName = “replicapolicy” $Recoverypoints = 6 #specify the number of recovery points $storageaccountID = Get-AzStorageAccount -Name "mystorea" -ResourceGroupName "MyRG" | Select-Object -ExpandProperty Id $PolicyResult = New-AzRecoveryServicesAsrPolicy -Name $PolicyName -ReplicationProvider “HyperVReplicaAzure” -ReplicationFrequencyInSeconds $ReplicationFrequencyInSeconds -NumberOfRecoveryPointsToRetain $Recoverypoints -ApplicationConsistentSnapshotFrequencyInHours 1 -RecoveryAzureStorageAccountId $storageaccountID
Controleer de geretourneerde taak om ervoor te zorgen dat het replicatiebeleid is gemaakt.
Haal als volgt de beveiligingscontainer op die overeenkomt met de site:
$protectionContainer = Get-AzRecoveryServicesAsrProtectionContainer
Koppel de beveiligingscontainer als volgt aan het replicatiebeleid:
$Policy = Get-AzRecoveryServicesAsrPolicy -FriendlyName $PolicyName $associationJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name $mappingName -Policy $Policy -PrimaryProtectionContainer $protectionContainer[0]
Wacht totdat de koppelingstaak is voltooid.
Haal de toewijzing van de beveiligingscontainer op.
$ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $protectionContainer
Stap 7: VM-beveiliging inschakelen
Haal als volgt het beveiligbare item op dat overeenkomt met de VM die u wilt beveiligen:
$VMFriendlyName = "Fabrikam-app" #Name of the VM $ProtectableItem = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName
Beveilig de VIRTUELE machine. Als er meer dan één schijf aan de virtuele machine is gekoppeld die u beveiligt, geeft u de besturingssysteemschijf op met behulp van de parameter OSDiskName .
$OSType = "Windows" # "Windows" or "Linux" $DRjob = New-AzRecoveryServicesAsrReplicationProtectedItem -ProtectableItem $VM -Name $VM.Name -ProtectionContainerMapping $ProtectionContainerMapping -RecoveryAzureStorageAccountId $StorageAccountID -OSDiskName $OSDiskNameList[$i] -OS $OSType -RecoveryResourceGroupId $ResourceGroupID
Wacht totdat de VM's na de eerste replicatie een beveiligde status hebben bereikt. Dit kan even duren, afhankelijk van factoren zoals de hoeveelheid gegevens die moet worden gerepliceerd en de beschikbare upstreambandbreedte naar Azure. Wanneer er een beveiligde status is ingesteld, worden de taakstatus en StateDescription als volgt bijgewerkt:
PS C:\> $DRjob = Get-AzRecoveryServicesAsrJob -Job $DRjob PS C:\> $DRjob | Select-Object -ExpandProperty State Succeeded PS C:\> $DRjob | Select-Object -ExpandProperty StateDescription Completed
Hersteleigenschappen bijwerken (zoals de grootte van de VM-rol) en het Azure-netwerk waaraan de VM-NIC moet worden gekoppeld na een failover.
PS C:\> $nw1 = Get-AzVirtualNetwork -Name "FailoverNw" -ResourceGroupName "MyRG" PS C:\> $VMFriendlyName = "Fabrikam-App" PS C:\> $rpi = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName PS C:\> $UpdateJob = Set-AzRecoveryServicesAsrReplicationProtectedItem -InputObject $rpi -PrimaryNic $VM.NicDetailsList[0].NicId -RecoveryNetworkId $nw1.Id -RecoveryNicSubnetName $nw1.Subnets[0].Name PS C:\> $UpdateJob = Get-AzRecoveryServicesAsrJob -Job $UpdateJob PS C:\> $UpdateJob | Select-Object -ExpandProperty state PS C:\> Get-AzRecoveryServicesAsrJob -Job $job | Select-Object -ExpandProperty state Succeeded
Notitie
Als u wilt repliceren naar beheerde schijven met CMK in Azure, voert u de volgende stappen uit met Az PowerShell 3.3.0 en hoger:
- Failover naar beheerde schijven inschakelen door VM-eigenschappen bij te werken
- Gebruik de
Get-AzRecoveryServicesAsrReplicationProtectedItem
cmdlet om de schijf-id op te halen voor elke schijf van het beveiligde item - Maak een woordenlijstobject met behulp van
New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]"
cmdlet om de toewijzing van de schijf-id aan schijfversleutelingsset te bevatten. Deze schijfversleutelingssets moeten vooraf door u in de doelregio worden gemaakt. - Werk de VM-eigenschappen bij met behulp van
Set-AzRecoveryServicesAsrReplicationProtectedItem
cmdlet door het woordenlijstobject door te geven in de parameter DiskIdToDiskEncryptionSetMap .
Stap 8: Een testfailover uitvoeren
Voer als volgt een testfailover uit:
$nw = Get-AzVirtualNetwork -Name "TestFailoverNw" -ResourceGroupName "MyRG" #Specify Azure vnet name and resource group $rpi = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName $TFjob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $VM -Direction PrimaryToRecovery -AzureVMNetworkId $nw.Id
Controleer of de test-VM is gemaakt in Azure. De testfailovertaak wordt onderbroken na het maken van de test-VM in Azure.
Als u de testfailover wilt opschonen en voltooien, voert u het volgende uit:
$TFjob = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $rpi -Comment "TFO done"
Volgende stappen
Meer informatie over Azure Site Recovery met Azure Resource Manager PowerShell-cmdlets.