Azure nyilvános MEC-ben futó virtuális gépek replikálása azure-régióba
Fontos
A nyilvános MEC Azure Site Recovery funkciója előzetes verzióban érhető el.
Ez a cikk azt ismerteti, hogyan replikálhatja, feladatátvételt és feladat-visszavételt az Azure-beli nyilvános MEC-n futó Azure-beli virtuális gépek (VM-ek) a szülő Azure-régióba, ahol az Azure Public MEC egy bővítmény.
Vészhelyreállítás az Azure Public MEC-ben
Site Recovery biztosítja az üzletmenet folytonosságát azáltal, hogy folyamatosan replikálja a számítási feladatokat az elsődlegesről a másodlagos helyre. A MEC ASR-funkciója előzetes verzióban érhető el.
Itt az elsődleges hely egy Azure-beli nyilvános MEC, a másodlagos hely pedig az a szülőrégió, amelyhez az Azure Nyilvános MEC csatlakozik.
Virtuális gépek vészhelyreállításának beállítása azure-beli nyilvános MEC-ben a PowerShell használatával
Előfeltételek
Győződjön meg arról, hogy az Azure Az PowerShell-modul telepítve van. A telepítés módjáról további információt az Azure Az PowerShell-modul telepítése című témakörben talál.
Az Azure Az PowerShell minimális verziójának 4.1.0-snak kell lennie. Az aktuális verzió megtekintéséhez használja a következő parancsot:
Get-InstalledModule -Name Az
Győződjön meg arról, hogy az Azure Site Recovery támogatja a Linux disztribúciós verziót és a kernelt. További információt a támogatási mátrixban talál.
Azure-beli nyilvános MEC-ben futó virtuális gépek replikálása azure-régióba
Az Azure nyilvános MEC-ben futó virtuális gépek Azure-régióba való replikálásához kövesse az alábbi lépéseket:
Megjegyzés
Ebben a példában az elsődleges hely egy Azure Nyilvános MEC, a másodlagos/helyreállítási hely pedig az Azure Nyilvános MEC régiója.
Jelentkezzen be az Azure-fiókjába.
Connect-AzAccount
Válassza a Jobb előfizetés lehetőséget.
$subscription = Get-AzSubscription -SubscriptionName "<SubscriptionName>" Set-AzContext $subscription.Id
Kérje le a replikálni kívánt virtuális gép részleteit.
$VM = Get-AzVM -ResourceGroupName "<ResourceGroupName>" -Name "<VMName>" Write-Output $VM
Hozzon létre egy erőforráscsoportot a helyreállítási tárhoz a másodlagos Azure-régióban.
New-AzResourceGroup -Name "edgezonerecoveryrg" -Location "<EdgeZoneRegion>"
Hozzon létre egy új Helyreállítási tárat a másodlagos régióban.
$vault = New-AzRecoveryServicesVault -Name "EdgeZoneRecoveryVault" - ResourceGroupName "edgezonerecovery" -Location "\<EdgeZoneRegion\>" Write-Output $vault
Állítsa be a tárolókörnyezetet.
Set-AzRecoveryServicesAsrVaultContext -Vault $vault
Elsődleges Site Recovery háló létrehozása.
$TempASRJob = New-AzRecoveryServicesAsrFabric -Azure -Location “<EdgeZoneRegion>” - Name "EdgeZoneFabric"
A feladat állapotának nyomon követése a befejezés ellenőrzéséhez.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){
Ha a feladat még nem fejeződött be, a feladat állapotának ismételt ellenőrzése előtt 10 másodpercig aludjon.
sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Sikeres befejezés esetén a feladat állapotának Sikeresnek kell lennie.
Write-Output $TempASRJob.State $PrimaryFabric = Get-AzRecoveryServicesAsrFabric -Name "EdgeZoneFabric"
Az elsődleges hálóval elsődleges és helyreállítási védelmi tárolókat is létrehozhat.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainer -InputObject $PrimaryFabric -Name "EdgeZoneProtectionContainer"
A feladat állapotának nyomon követése a befejezés ellenőrzéséhez.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob } Write-Output $TempASRJob.State
Az elsődleges és a helyreállítási védelmi tárolók az elsődleges régióban (az elsődleges hálón belül) jönnek létre.
$PrimaryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer" $RecoveryProtectionContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $primaryFabric -Name "EdgeZoneProtectionContainer-t"
Hozzon létre replikációs szabályzatot.
$TempASRJob = New-AzRecoveryServicesAsrPolicy -AzureToAzure -Name "ReplicationPolicy" -RecoveryPointRetentionInHours 24 - ApplicationConsistentSnapshotFrequencyInHours 4
A feladat állapotának nyomon követése a befejezés ellenőrzéséhez.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Sikeres befejezés esetén a feladat állapotának Sikeresnek kell lennie.
Write-Output $TempASRJob.State $ReplicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "ReplicationPolicy"
Hozzon létre egy védelmi tárolóleképezést az elsődleges és a helyreállítási védelmi tárolók között a Replikációs szabályzattal.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "PrimaryToRecovery" -Policy $ReplicationPolicy -PrimaryProtectionContainer $PrimaryProtectionContainer -RecoveryProtectionContainer $RecoveryProtectionContainer
A feladat állapotának nyomon követése a befejezés ellenőrzéséhez.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Sikeres befejezés esetén a feladat állapotának Sikeresnek kell lennie.
Write-Output $TempASRJob.State $EdgeZoneToAzurePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $PrimaryProtectionContainer -Name "PrimaryToRecovery"
Hozzon létre egy védelmi tárolóleképezést a feladat-visszavételhez a helyreállítási és az elsődleges védelmi tárolók között a replikációs szabályzattal.
$TempASRJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name "RecoveryToPrimary" -Policy $ReplicationPolicy -PrimaryProtectionContainer $RecoveryProtectionContainer -RecoveryProtectionContainer $PrimaryProtectionContainer
A feladat állapotának nyomon követése a befejezés ellenőrzéséhez.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Sikeres befejezés esetén a feladat állapotának Sikeresnek kell lennie.
Write-Output $TempASRJob.State $AzureToEdgeZonePCMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping - ProtectionContainer $RecoveryProtectionContainer -Name "RecoveryToPrimary"
Hozzon létre egy gyorsítótár-tárfiókot a replikációs naplókhoz az elsődleges régióban. A gyorsítótár tárfiókja az elsődleges régióban jön létre.
$CacheStorageAccount = New-AzStorageAccount -Name "cachestorage" -ResourceGroupName "<primary ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName Standard_LRS - Kind Storage
Győződjön meg arról, hogy létrehoz egy virtuális hálózatot a célhelyen. Hozzon létre egy helyreállítási hálózatot a helyreállítási régióban.
$recoveryVnet = New-AzVirtualNetwork -Name "recoveryvnet" -ResourceGroupName "recoveryrg" -Location '<EdgeZoneRegion>' -AddressPrefix "10.0.0.0/16" Add-AzVirtualNetworkSubnetConfig -Name "defaultsubnetconf" -VirtualNetwork $recoveryVnet -AddressPrefix "10.0.0.0/24" | Set-AzVirtualNetwork $recoveryNetwork = $recoveryVnet.Id
Az alábbi PowerShell-parancsmaggal replikálhat egy Azure-beli nyilvános MEC Azure-beli virtuális gépet felügyelt lemezekkel. Ez a lépés körülbelül 20 percet vehet igénybe.
Kérje le azt az erőforráscsoportot, amelyben a virtuális gépet létre kell hozni a feladatátvételkor.
$RecoveryRG = Get-AzResourceGroup -Name "edgezonerecoveryrg" -Location " <EdgeZoneRegion>"
Virtuális gép lekérése és tartalom megjelenítése.
$vm = Get-AzVM -Name $vmName -ResourceGroupName $primaryResourceGroupName
Adja meg a replikálandó virtuális gép minden lemezének replikációs tulajdonságait (lemezreplikációs konfiguráció létrehozása).
#OsDisk $OSdiskId = $vm.StorageProfile.OsDisk.ManagedDisk.Id $RecoveryOSDiskAccountType = $vm.StorageProfile.OsDisk.ManagedDisk.StorageAccountType $RecoveryReplicaDiskAccountType = $vm.StorageProfile.OsDisk.ManagedDisk.StorageAccountType $OSDiskReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig - ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id ` -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRG.ResourceId - RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType ` -RecoveryTargetDiskAccountType $RecoveryOSDiskAccountType
Adatlemez
Ha a virtuális gép rendelkezik adatlemezzel, az alábbi paranccsal hozzon létre lemezkonfigurációt. Ha nem, kihagyhatja ezt a szakaszt. From
$datadiskId
to$DataDisk1ReplicationConfig $datadiskId = $vm.StorageProfile.OSDisk.ManagedDisk.Id
.Vagylagosan
$RecoveryReplicaDiskAccountType = "Premium_LRS" $RecoveryTargetDiskAccountType = "Premium_LRS" $RecoveryRGId = $RecoveryRG.ResourceId $DataDisk1ReplicationConfig = New-AzRecoveryServicesAsrAzureToAzureDiskReplicationConfig -ManagedDisk -LogStorageAccountId $CacheStorageAccount.Id ` -DiskId $OSdiskId -RecoveryResourceGroupId $RecoveryRGId - RecoveryReplicaDiskAccountType $RecoveryReplicaDiskAccountType ` -RecoveryTargetDiskAccountType $RecoveryTargetDiskAccountType
Hozzon létre egy replikációval védett elemet a replikáció elindításához. A név egyediségének biztosításához használjon GUID azonosítót a replikációval védett elem nevéhez. Ha nem áll helyre rendelkezésre állási zónába, ne adja meg a paramétert
-RecoveryAvailabilityZone
.$TempASRJob = New-AzRecoveryServicesAsrReplicationProtectedItem -AzureToAzure -AzureVmId $VM.Id -Name $vm.Name -ProtectionContainerMapping $EdgeZoneToAzurePCMapping - AzureToAzureDiskReplicationConfiguration $DataDisk1ReplicationConfig - RecoveryResourceGroupId $RecoveryRGId -RecoveryAvailabilityZone “1” - RecoveryAzureNetworkId $recoveryVnet.Id -RecoveryAzureSubnetName “defaultsubnetconf”
A feladat állapotának nyomon követése a befejezés ellenőrzéséhez.
while (($TempASRJob.State -eq "InProgress") -or ($TempASRJob.State -eq "NotStarted")){ sleep 10; $TempASRJob = Get-AzRecoveryServicesAsrJob -Job $TempASRJob }
Ellenőrizze, hogy a feladat sikeresen befejeződött-e. A sikeresen befejezett feladat frissített feladatállapotának Sikeresnek kell lennie.
Write-Output $TempASRJob.State
Miután a replikáció indítására irányuló művelet sikeres volt, a rendszer replikálja a virtuálisgép-adatokat a helyreállítási régióba.
Kezdetben a replikációs folyamat elindulásakor létrehozza a virtuális gép replikáló lemezeinek másolatát a helyreállítási régióban. Ezt a fázist kezdeti replikációs fázisnak nevezzük. Ez a lépés körülbelül 20 percet vesz igénybe. Tekintse meg a replikáció állapotát a Tároló panel Replikált elemek területén.
A replikáció befejezése után a tároló replikációs elemei az alábbiak szerint jelennek meg:
Most a virtuális gép védett, és elvégezhet egy feladatátvételi tesztet. A virtuális gépet képviselő replikált elem replikációs állapota a kezdeti replikáció befejezése után a védett állapotba kerül.
A virtuális gép replikációs állapotának és replikációs állapotának monitorozása a hozzá tartozó replikációval védett elem részleteinek lekérésével:
$PE = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $PrimaryProtectionContainer | Select FriendlyName, ProtectionState, ReplicationHealth $PE
Ha a Védett elemet látja a ProtectionState-ban, készen áll a feladatátvétel tesztelésére.
Feladatátvételi teszt végrehajtása, ellenőrzése és törlése. A feladatátvételi teszt kihagyható. Javasoljuk azonban a feladatátvételi teszt végrehajtását annak biztosítása érdekében, hogy a másodlagos régió a várt módon jöjjön létre.
Hozzon létre egy külön hálózatot a feladatátvétel teszteléséhez (nem csatlakozik a DR-hálózathoz).
$TFOVnet = New-AzVirtualNetwork -Name "TFOvnet" -ResourceGroupName "edgezonerecoveryrg" -Location '<EdgeZoneRegion>' -AddressPrefix "10.3.0.0/26" Add-AzVirtualNetworkSubnetConfig -Name "default" -VirtualNetwork $TFOVnet -AddressPrefix "10.3.0.0/26" | Set-AzVirtualNetwork $TFONetwork= $TFOVnet.Id
Feladatátvételi teszt végrehajtása.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $TFOJob = Start-AzRecoveryServicesAsrTestFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem -AzureVMNetworkId $TFONetwork -Direction PrimaryToRecovery
Várjon, amíg a feladat befejeződik.
while (($TFOJob.State -eq "InProgress") -or ($TFOJob.State -eq "NotStarted")){ sleep 10; $TFOJob = Get-AzRecoveryServicesAsrJob -Job $TFOJob }
Várja meg, amíg a feladatátvételi teszt befejeződik.
Get-AzRecoveryServicesAsrJob -Job $TFOJob
Megjegyzés
A feladat előrehaladását a portálon, a tároló kiválasztásával, majd a Site Recovery feladatok kiválasztásával is ellenőrizheti.
Miután a feladatátvételi feladat sikeresen befejeződött, kapcsolódhat a virtuális gépen meghiúsult teszthez, és ellenőrizheti a feladatátvételi tesztet. Ha a tesztelés befejeződött a virtuális gépen végrehajtott teszten, törölje a tesztpéldányt a feladatátvételi feladatátvételi művelet elindításával. Ez a művelet törli a feladatátvételi teszt által létrehozott virtuális gép tesztpéldányát. Győződjön meg arról, hogy a feladatátvételi virtuális gépen minden célbeállítás megfelelő, beleértve a helyet, a hálózati beállítást, az adatsérülést, és a cél virtuális gépen nem vesznek el adatok. Most törölheti a feladatátvételi tesztet, és elindíthatja a feladatátvételt.
$Job_TFOCleanup = Start-AzRecoveryServicesAsrTestFailoverCleanupJob - ReplicationProtectedItem $ReplicationProtectedItem Get-AzRecoveryServicesAsrJob -Job $Job_TFOCleanup | Select State
A következő lépés a virtuális gép feladatátvétele. Ez a lépés létrehozza a virtuális gépet a helyreállítási régióban található replikált lemezek használatával.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName "<VMName>" -ProtectionContainer $PrimaryProtectionContainer $RecoveryPoints = Get-AzRecoveryServicesAsrRecoveryPoint -ReplicationProtectedItem $ReplicationProtectedItem
Előfordulhat, hogy a visszaadott helyreállítási pontok listája nem rendezhető időrendben. Ezeket először rendeznie kell, hogy megtalálja a virtuális gép legrégebbi vagy legújabb helyreállítási pontjait.
"{0} {1}" -f $RecoveryPoints[0].RecoveryPointType, $RecoveryPoints[- 1].RecoveryPointTime
Indítsa el a feladatátvételi feladatot.
$Job_Failover = Start-AzRecoveryServicesAsrUnplannedFailoverJob - ReplicationProtectedItem $ReplicationProtectedItem -Direction PrimaryToRecovery - RecoveryPoint $RecoveryPoints[-1] do { $Job_Failover = Get-AzRecoveryServicesAsrJob -Job $Job_Failover; sleep 30; } while (($Job_Failover.State -eq "InProgress") -or ($JobFailover.State -eq "NotStarted")) $Job_Failover.State
Ha a feladatátvételi feladat sikeres, véglegesítheti a feladatátvételt.
$CommitFailoverJob = Start-AzRecoveryServicesAsrCommitFailoverJob - ReplicationProtectedItem $ReplicationProtectedItem
Várjon, amíg a feladatátvételi feladat véglegesítése befejeződött.
while (($CommitFailoverJob.State -eq "InProgress") -or ($CommitFailoverJob.State -eq "NotStarted")){ sleep 10; $CommitFailoverJob = Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJob } Get-AzRecoveryServicesAsrJob -Job $CommitFailoverJOb
A feladatátvétel után, amikor készen áll az eredeti régióra való visszalépésre, indítsa el a replikációval védett elem fordított replikációját a
Update-AzRecoveryServicesAsrProtectionDirection
parancsmag használatával.Gyorsítótár-tárfiók létrehozása a helyreállítási régióban található replikációs naplókhoz.
$EdgeZoneCacheStorageAccount = New-AzStorageAccount -Name "cachestorageedgezone" - ResourceGroupName "<ResourceGroupName>" -Location '<EdgeZoneRegion>' -SkuName Standard_LRS -Kind Storage
Használja a helyreállítási védelmi tárolót, az azure-beli nyilvános mec régiójában található új gyorsítótár-tárfiókot és a forrásrégió virtuálisgép-erőforráscsoportját.
$ReplicationProtectedItem = Get-AzRecoveryServicesAsrReplicationProtectedItem - FriendlyName $vm.name -ProtectionContainer $PrimaryProtectionContainer $sourceVMResourcegroupId = $(Get-AzResourceGroup -Name $vm.ResourceGroupName). ResourceId Update-ASRProtectionDirection -ReplicationProtectedItem $ReplicationProtectedItem ` -AzureToAzure ` -ProtectionContainerMapping $AzureToEdgeZonePCMapping ` -LogStorageAccountId $EdgeZoneCacheStorageAccount.Id ` -RecoveryResourceGroupID $sourceVMResourcegroupId
Ez a lépés körülbelül 20 percet vesz igénybe, és az állapot a Folyamatban állapotról a Sikeresre változik.
Tiltsa le a replikációt.
Remove-AzRecoveryServicesAsrReplicationProtectedItem -ReplicationProtectedItem $ReplicationProtectedItem
Tisztítsa meg a környezetet. Ez a lépés nem kötelező, és az erőforráscsoport eltávolítására használható.
Remove-AzResourceGroup -Name $Name -Force