Nastavení zotavení po havárii do Azure pro virtuální počítače Hyper-V s využitím PowerShellu a Azure Resource Manageru
Azure Site Recovery přispívá ke strategii provozní kontinuity a zotavení po havárii (BCDR) orchestrací replikace, převzetí služeb při selhání a obnovení virtuálních počítačů Azure a místních virtuálních počítačů a fyzických serverů.
Tento článek popisuje, jak pomocí Prostředí Windows PowerShell společně s Azure Resource Managerem replikovat virtuální počítače Hyper-V do Azure. Příklad použitý v tomto článku ukazuje, jak replikovat jeden virtuální počítač spuštěný na hostiteli Hyper-V do Azure.
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Azure PowerShell
Azure PowerShell poskytuje rutiny pro správu Azure pomocí Windows PowerShellu. Rutiny PowerShellu site Recovery dostupné v Azure PowerShellu pro Azure Resource Manager pomáhají chránit a obnovovat servery v Azure.
Abyste mohli tento článek používat, nemusíte být odborníkem na PowerShell, ale potřebujete porozumět základním konceptům, jako jsou moduly, rutiny a relace. Další informace najdete v dokumentaci k PowerShellu a použití Azure PowerShellu s Azure Resource Managerem.
Poznámka:
Partneři Microsoftu v programu Cloud Solution Provider (CSP) můžou nakonfigurovat a spravovat ochranu zákaznických serverů s příslušnými předplatnými CSP (předplatná tenanta).
Než začnete
Ujistěte se, že máte splněné tyto požadavky:
- Účet Microsoft Azure. Můžete začít s bezplatnou zkušební verzí. Kromě toho si můžete přečíst o cenách Azure Site Recovery Manageru.
- Azure PowerShell: Informace o této verzi a o tom, jak ji nainstalovat, najdete v tématu Instalace Azure PowerShellu.
Kromě toho má konkrétní příklad popsaný v tomto článku následující požadavky:
- Hostitel Hyper-V se systémem Windows Server 2012 R2 nebo Microsoft Hyper-V Server 2012 R2 obsahující jeden nebo více virtuálních počítačů. Servery Hyper-V by měly být připojené k internetu, a to buď přímo, nebo přes proxy server.
- Virtuální počítače, které chcete replikovat, by měly splňovat tyto požadavky.
Krok 1: Přihlášení k účtu Azure
Otevřete konzolu PowerShellu a spuštěním tohoto příkazu se přihlaste ke svému účtu Azure. Rutina zobrazí webovou stránku s výzvou k zadání přihlašovacích údajů k vašemu účtu:
Connect-AzAccount
.- Případně můžete do rutiny zahrnout přihlašovací údaje svého účtu jako parametr
Connect-AzAccount
pomocí parametru Credential . - Pokud jste partner CSP, který pracuje jménem tenanta, zadejte zákazníka jako tenanta pomocí jeho ID tenanta nebo primárního názvu domény tenanta. Příklad:
Connect-AzAccount -Tenant "fabrikam.com"
- Případně můžete do rutiny zahrnout přihlašovací údaje svého účtu jako parametr
Přidružte předplatné, které chcete použít k účtu, protože účet může mít několik předplatných:
Set-AzContext -Subscription $SubscriptionName
Pomocí těchto příkazů ověřte, že je vaše předplatné zaregistrované k používání poskytovatelů Azure pro Recovery Services a Site Recovery:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
Ověřte, že ve výstupu příkazu je vlastnost RegistrationState nastavená na Hodnotu Registrováno, můžete pokračovat krokem 2. Pokud ne, měli byste ve svém předplatném zaregistrovat chybějícího poskytovatele spuštěním těchto příkazů:
Register-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
Pomocí následujících příkazů ověřte, že se poskytovatelé úspěšně zaregistrovali:
Get-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
Krok 2: Nastavení trezoru
Vytvořte skupinu prostředků Azure Resource Manageru, ve které se má trezor vytvořit, nebo použijte existující skupinu prostředků. Následujícím způsobem vytvořte novou skupinu prostředků. Proměnná
$ResourceGroupName
obsahuje název skupiny prostředků, kterou chcete vytvořit, a proměnná $Geo obsahuje oblast Azure, ve které se má skupina prostředků vytvořit (například Brazílie – jih).New-AzResourceGroup -Name $ResourceGroupName -Location $Geo
Pokud chcete získat seznam skupin prostředků ve vašem předplatném, spusťte rutinu
Get-AzResourceGroup
.Následujícím způsobem vytvořte nový trezor služby Azure Recovery Services:
$vault = New-AzRecoveryServicesVault -Name <string> -ResourceGroupName <string> -Location <string>
Pomocí rutiny můžete načíst seznam existujících trezorů Get-AzRecoveryServicesVault
.
Krok 3: Nastavení kontextu trezoru služby Recovery Services
Nastavte kontext trezoru následujícím způsobem:
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
Krok 4: Vytvoření lokality Hyper-V
Vytvořte novou lokalitu Hyper-V následujícím způsobem:
$sitename = "MySite" #Specify site friendly name New-AzRecoveryServicesAsrFabric -Type HyperVSite -Name $sitename
Tato rutina spustí úlohu Site Recovery pro vytvoření lokality a vrátí objekt úlohy Site Recovery. Počkejte, až se úloha dokončí, a ověřte, že se úloha úspěšně dokončila.
Pomocí rutiny
Get-AzRecoveryServicesAsrJob
načtěte objekt úlohy a zkontrolujte aktuální stav úlohy.Vygenerujte a stáhněte registrační klíč pro lokalitu následujícím způsobem:
$SiteIdentifier = Get-AzRecoveryServicesAsrFabric -Name $sitename | Select-Object -ExpandProperty SiteIdentifier $path = Get-AzRecoveryServicesVaultSettingsFile -Vault $vault -SiteIdentifier $SiteIdentifier -SiteFriendlyName $sitename
Zkopírujte stažený klíč do hostitele Hyper-V. K registraci hostitele Hyper-V do lokality potřebujete klíč.
Krok 5: Instalace zprostředkovatele a agenta
Stáhněte si instalační program pro nejnovější verzi poskytovatele od Microsoftu.
Spusťte instalační program na hostiteli Hyper-V.
Na konci instalace pokračujte krokem registrace.
Po zobrazení výzvy zadejte stažený klíč a dokončete registraci hostitele Hyper-V.
Následujícím způsobem ověřte, že je hostitel Hyper-V zaregistrovaný v lokalitě:
$server = Get-AzRecoveryServicesAsrFabric -Name $siteName | Get-AzRecoveryServicesAsrServicesProvider -FriendlyName $server-friendlyname
Pokud používáte základní server Hyper-V, stáhněte instalační soubor a postupujte takto:
Spuštěním následujícího příkazu extrahujte soubory z AzureSiteRecoveryProvider.exe do místního adresáře:
AzureSiteRecoveryProvider.exe /x:. /q
Spusťte následující příkaz:
.\setupdr.exe /i
Výsledky se protokolují do %ProgramData%\ASRLogs\DRASetupWizard.log.
Spuštěním tohoto příkazu zaregistrujte server:
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"
Krok 6: Vytvoření zásady replikace
Než začnete, měl by být zadaný účet úložiště ve stejné oblasti Azure jako trezor a měl by mít povolenou geografickou replikaci.
Vytvořte zásadu replikace následujícím způsobem:
$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
Zkontrolujte vrácenou úlohu a ujistěte se, že vytvoření zásady replikace proběhne úspěšně.
Načtěte kontejner ochrany, který odpovídá lokalitě, následujícím způsobem:
$protectionContainer = Get-AzRecoveryServicesAsrProtectionContainer
Kontejner ochrany přidružte k zásadám replikace následujícím způsobem:
$Policy = Get-AzRecoveryServicesAsrPolicy -FriendlyName $PolicyName $associationJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name $mappingName -Policy $Policy -PrimaryProtectionContainer $protectionContainer[0]
Počkejte, až se úloha přidružení úspěšně dokončí.
Načtěte mapování kontejneru ochrany.
$ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $protectionContainer
Krok 7: Povolení ochrany virtuálních počítačů
Načtěte chránitelnou položku, která odpovídá virtuálnímu počítači, který chcete chránit, následujícím způsobem:
$VMFriendlyName = "Fabrikam-app" #Name of the VM $ProtectableItem = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName
Chraňte virtuální počítač. Pokud je k virtuálnímu počítači, který chráníte, připojeno více než jeden disk, zadejte disk operačního systému pomocí parametru 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
Počkejte, až se virtuální počítače dostanou do chráněného stavu po počáteční replikaci. To může chvíli trvat v závislosti na faktorech, jako je množství dat, která se mají replikovat, a dostupnou upstreamovou šířku pásma do Azure. Při umístění chráněného stavu se úloha State a StateDescription aktualizují následujícím způsobem:
PS C:\> $DRjob = Get-AzRecoveryServicesAsrJob -Job $DRjob PS C:\> $DRjob | Select-Object -ExpandProperty State Succeeded PS C:\> $DRjob | Select-Object -ExpandProperty StateDescription Completed
Aktualizujte vlastnosti obnovení (například velikost role virtuálního počítače) a síť Azure, ke které se má po převzetí služeb při selhání připojit síťová karta virtuálního počítače.
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
Poznámka:
Pokud chcete replikovat na spravované disky s podporou CMK v Azure, postupujte následovně pomocí Az PowerShellu 3.3.0 dál:
- Povolení převzetí služeb při selhání na spravované disky aktualizací vlastností virtuálního počítače
- Použití rutiny
Get-AzRecoveryServicesAsrReplicationProtectedItem
k načtení ID disku pro každý disk chráněné položky - Vytvořte objekt slovníku pomocí
New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]"
rutiny, který bude obsahovat mapování ID disku na sadu šifrování disku. Tyto sady šifrování disků jsou předem vytvořeny v cílové oblasti. - Aktualizujte vlastnosti virtuálního počítače pomocí
Set-AzRecoveryServicesAsrReplicationProtectedItem
rutiny předáním objektu slovníku v parametru DiskIdToDiskEncryptionSetMap .
Krok 8: Spuštění testovacího převzetí služeb při selhání
Spusťte testovací převzetí služeb při selhání následujícím způsobem:
$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
Ověřte, že je testovací virtuální počítač vytvořený v Azure. Úloha testovacího převzetí služeb při selhání se po vytvoření testovacího virtuálního počítače v Azure pozastaví.
Pokud chcete vyčistit a dokončit testovací převzetí služeb při selhání, spusťte:
$TFjob = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $rpi -Comment "TFO done"
Další kroky
Přečtěte si další informace o Azure Site Recovery pomocí rutin PowerShellu v Azure Resource Manageru.