Hyper-V virtuális gépek Azure-ba történő vészhelyreállításának beállítása a PowerShell és az Azure Resource Manager használatával

Az Azure Site Recovery hozzájárul az üzletmenet-folytonossági és vészhelyreállítási (BCDR) stratégiához az Azure-beli virtuális gépek (virtuális gépek), valamint a helyszíni virtuális gépek és fizikai kiszolgálók replikációjának, feladatátvételének és helyreállításának vezénylésével.

Ez a cikk azt ismerteti, hogyan replikálhat Hyper-V virtuális gépeket az Azure-ba a Windows PowerShell és az Azure Resource Manager együttes használatával. A cikkben használt példa bemutatja, hogyan replikálhat egyetlen Hyper-V-gazdagépen futó virtuális gépet az Azure-ba.

Megjegyzés:

We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Azure PowerShell

Az Azure PowerShell parancsmagokkal kezeli az Azure-t a Windows PowerShell használatával. Az Azure Resource Managerhez készült Azure PowerShell-lel elérhető Site Recovery PowerShell-parancsmagok segítenek megvédeni és helyreállítani a kiszolgálókat az Azure-ban.

A cikk használatához nem kell PowerShell-szakértőnek lennie, de ismernie kell az alapvető fogalmakat, például a modulokat, a parancsmagokat és a munkameneteket. További információkért tekintse meg a PowerShell dokumentációját és az Azure PowerShell azure Resource Managerrel való használatát.

Megjegyzés:

A Felhőszolgáltató (CSP) programban részt vevő Microsoft-partnerek konfigurálhatják és kezelhetik az ügyfélkiszolgálók védelmét a megfelelő CSP-előfizetéseik (bérlői előfizetéseik) számára.

Before you start

Győződjön meg arról, hogy a következő előfeltételek teljesülnek:

  • Egy Microsoft Azure-fiók . Kezdésként használhatja az ingyenes próbaverziót is. Emellett az Azure Site Recovery Manager díjszabásáról is olvashat.
  • Azure PowerShell. A kiadással és a telepítés módjával kapcsolatos információkért lásd az Azure PowerShell telepítését ismertető témakört.

Emellett a cikkben ismertetett konkrét példa a következő előfeltételekkel rendelkezik:

  • Egy Windows Server 2012 R2 vagy Microsoft Hyper-V Server 2012 R2 rendszerű Hyper-V gazdagép, amely egy vagy több virtuális gépet tartalmaz. A Hyper-V-kiszolgálókat közvetlenül vagy proxyn keresztül kell csatlakoztatni az internethez.
  • A replikálni kívánt virtuális gépeknek meg kell felelniük ezeknek az előfeltételeknek.

1. lépés: Bejelentkezés az Azure-fiókba

  1. Nyisson meg egy PowerShell-konzolt, és futtassa ezt a parancsot az Azure-fiókba való bejelentkezéshez. A parancsmag egy weblapot jelenít meg, amely a fiók hitelesítő adatainak megadását kéri: Connect-AzAccount.

    • A hitelesítő adatok paraméterként is megadhatóak a Connect-AzAccount parancsmagban.
    • Ha Ön egy bérlő nevében dolgozó CSP-partner, adja meg az ügyfelet bérlőként a bérlőazonosító vagy a bérlő elsődleges tartományneve használatával. For example: Connect-AzAccount -Tenant "fabrikam.com"
  2. Társítsa a fiókhoz használni kívánt előfizetést, mivel egy fiók több előfizetéssel is rendelkezhet:

    Set-AzContext -Subscription $SubscriptionName
    
  3. Ellenőrizze, hogy az előfizetés regisztrálva van-e a Recovery Services és a Site Recovery Azure-szolgáltatóinak használatára az alábbi parancsok használatával:

    Get-AzResourceProvider -ProviderNamespace  Microsoft.RecoveryServices
    
  4. Győződjön meg arról, hogy a parancs kimenetében a RegistrationState be van állítva Regisztrált értékre, továbbléphet a 2. lépésre. Ha nem, regisztrálja a hiányzó szolgáltatót az előfizetésében az alábbi parancsok futtatásával:

    Register-AzResourceProvider -ProviderNamespace Microsoft.RecoveryServices
    
  5. Ellenőrizze, hogy a szolgáltatók sikeresen regisztráltak-e a következő parancsokkal:

    Get-AzResourceProvider -ProviderNamespace  Microsoft.RecoveryServices
    

2. lépés: A tároló beállítása

  1. Hozzon létre egy Azure Resource Manager-erőforráscsoportot, amelyben létrehozza a tárolót, vagy használjon egy meglévő erőforráscsoportot. Hozzon létre egy új erőforráscsoportot az alábbiak szerint. A $ResourceGroupName változó tartalmazza a létrehozni kívánt erőforráscsoport nevét, a $Geo változó pedig azt az Azure-régiót, amelyben létre kívánja hozni az erőforráscsoportot (például "Dél-Brazília").

    New-AzResourceGroup -Name $ResourceGroupName -Location $Geo
    
  2. Az előfizetésben található erőforráscsoportok listájának lekéréséhez futtassa a Get-AzResourceGroup parancsmagot.

  3. Hozzon létre egy új Azure Recovery Services-tárolót az alábbiak szerint:

    $vault = New-AzRecoveryServicesVault -Name <string> -ResourceGroupName <string> -Location <string>
    

A parancsmaggal lekérheti a Get-AzRecoveryServicesVault meglévő tárolók listáját.

3. lépés: A Recovery Services-tároló környezetének beállítása

Állítsa be a tárolókörnyezetet az alábbiak szerint:

Set-AzRecoveryServicesAsrVaultContext -Vault $vault

4. lépés: Hyper-V-webhely létrehozása

  1. Hozzon létre egy új Hyper-V-webhelyet az alábbiak szerint:

    $sitename = "MySite"                #Specify site friendly name
    New-AzRecoveryServicesAsrFabric -Type HyperVSite -Name $sitename
    
  2. Ez a parancsmag elindít egy Site Recovery-feladatot a hely létrehozásához, és visszaad egy Site Recovery-feladatobjektumot. Várja meg, amíg a feladat befejeződik, és ellenőrizze, hogy a feladat sikeresen befejeződött-e.

  3. Get-AzRecoveryServicesAsrJob A parancsmaggal lekérheti a feladatobjektumot, és ellenőrizheti a feladat aktuális állapotát.

  4. Hozzon létre és töltsön le egy regisztrációs kulcsot a webhelyhez az alábbiak szerint:

    $SiteIdentifier = Get-AzRecoveryServicesAsrFabric -Name $sitename | Select-Object -ExpandProperty SiteIdentifier
    $path = Get-AzRecoveryServicesVaultSettingsFile -Vault $vault -SiteIdentifier $SiteIdentifier -SiteFriendlyName $sitename
    
  5. Másolja a letöltött kulcsot a Hyper-V gazdagépre. A Hyper-V-gazdagép webhelyre való regisztrálásához szüksége van a kulcsra.

5. lépés: A szolgáltató és az ügynök telepítése

  1. Töltse le a telepítőt a Szolgáltató legújabb verziójához a Microsofttól.

  2. Futtassa a telepítőt a Hyper-V gazdagépen.

  3. A telepítés végén folytassa a regisztrációs lépéssel.

  4. Amikor a rendszer kéri, adja meg a letöltött kulcsot, és fejezze be a Hyper-V-gazdagép regisztrációját.

  5. Ellenőrizze, hogy a Hyper-V-gazdagép regisztrálva van-e a webhelyen az alábbiak szerint:

    $server = Get-AzRecoveryServicesAsrFabric -Name $siteName | Get-AzRecoveryServicesAsrServicesProvider -FriendlyName $server-friendlyname
    

Ha Hyper-V magkiszolgálót futtat, töltse le a telepítőfájlt, és kövesse az alábbi lépéseket:

  1. A következő parancs futtatásával bontsa ki a fájlokat az AzureSiteRecoveryProvider.exe fájlból egy helyi könyvtárba:

    AzureSiteRecoveryProvider.exe /x:. /q
    
  2. Futtassa az alábbi parancsot:

    .\setupdr.exe /i
    

    Az eredmények naplózása a következőbe : %ProgramData%\ASRLogs\DRASetupWizard.log.

  3. Regisztrálja a kiszolgálót a következő paranccsal:

    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"
    

6. lépés: Replikációs szabályzat létrehozása

A kezdés előtt a megadott tárfióknak ugyanabban az Azure-régióban kell lennie, mint a tároló, és engedélyeznie kell a georeplikálást.

  1. Hozzon létre egy replikációs szabályzatot az alábbiak szerint:

    $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
    
  2. Ellenőrizze a visszaadott feladatot, hogy a replikációs házirend létrehozása sikeres legyen.

  3. Kérje le a helynek megfelelő védelmi tárolót az alábbiak szerint:

    $protectionContainer = Get-AzRecoveryServicesAsrProtectionContainer
    
  4. A védelmi tároló társítása a replikációs szabályzattal az alábbiak szerint:

    $Policy = Get-AzRecoveryServicesAsrPolicy -FriendlyName $PolicyName
    $associationJob = New-AzRecoveryServicesAsrProtectionContainerMapping -Name $mappingName -Policy $Policy -PrimaryProtectionContainer $protectionContainer[0]
    
  5. Várja meg, amíg a társítás feladat sikeresen befejeződik.

  6. Kérje le a védelmi tároló leképezését.

    $ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $protectionContainer
    

7. lépés: Virtuálisgép-védelem engedélyezése

  1. Kérje le a védeni kívánt virtuális gépnek megfelelő védhető elemet az alábbiak szerint:

    $VMFriendlyName = "Fabrikam-app"          #Name of the VM
    $ProtectableItem = Get-AzRecoveryServicesAsrProtectableItem -ProtectionContainer $protectionContainer -FriendlyName $VMFriendlyName
    
  2. A virtuális gép védelme. Ha a védeni kívánt virtuális géphez egynél több lemez van csatlakoztatva, adja meg az operációsrendszer-lemezt az OSDiskName paraméterrel.

    $OSType = "Windows"          # "Windows" or "Linux"
    $DRjob = New-AzRecoveryServicesAsrReplicationProtectedItem -ProtectableItem $VM -Name $VM.Name -ProtectionContainerMapping $ProtectionContainerMapping -RecoveryAzureStorageAccountId $StorageAccountID -OSDiskName $OSDiskNameList[$i] -OS $OSType -RecoveryResourceGroupId $ResourceGroupID
    
  3. Várja meg, amíg a virtuális gépek elérik a védett állapotot a kezdeti replikáció után. Ez eltarthat egy ideig, olyan tényezőktől függően, mint a replikálni kívánt adatok mennyisége és az Azure-nak rendelkezésre álló felső sávszélesség. Ha védett állapot van érvényben, a feladat állapota és a StateDescription a következőképpen frissül:

    PS C:\> $DRjob = Get-AzRecoveryServicesAsrJob -Job $DRjob
    
    PS C:\> $DRjob | Select-Object -ExpandProperty State
    Succeeded
    
    PS C:\> $DRjob | Select-Object -ExpandProperty StateDescription
    Completed
    
  4. Frissítse a helyreállítási tulajdonságokat (például a virtuálisgép-szerepkör méretét) és azt az Azure-hálózatot, amelyhez a virtuálisgép-hálózati adaptert a feladatátvétel után csatlakoztatni szeretné.

    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
    

Megjegyzés:

Ha CMK-kompatibilis felügyelt lemezekre szeretne replikálni az Azure-ban, végezze el az alábbi lépéseket az Az PowerShell 3.3.0-s verzióival:

  1. Felügyelt lemezek feladatátvételének engedélyezése a virtuális gép tulajdonságainak frissítésével
  2. Get-AzRecoveryServicesAsrReplicationProtectedItem A parancsmag használatával kérje le a védett elem minden lemezének lemezazonosítóját
  3. Hozzon létre egy szótárobjektumot a parancsmaggal New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]" a lemezazonosító lemeztitkosítási csoporthoz való leképezéséhez. Ezeket a lemeztitkosítási csoportokat előre létre kell hoznia a célrégióban.
  4. Frissítse a virtuálisgép-tulajdonságokat parancsmag használatával Set-AzRecoveryServicesAsrReplicationProtectedItem a DiskIdToDiskEncryptionSetMap paraméter szótárobjektumának átadásával.

8. lépés: Feladatátvételi teszt futtatása

  1. Futtasson egy feladatátvételi tesztet az alábbiak szerint:

    $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
    
  2. Ellenőrizze, hogy a teszt virtuális gép létrejött-e az Azure-ban. A teszt feladatátvételi feladat felfüggesztése a teszt virtuális gép Azure-beli létrehozása után történik.

  3. A feladatátvételi teszt törléséhez és befejezéséhez futtassa a következőt:

    $TFjob = Start-AzRecoveryServicesAsrTestFailoverCleanupJob -ReplicationProtectedItem $rpi -Comment "TFO done"
    

További lépések

További információ az Azure Site Recoveryről az Azure Resource Manager PowerShell-parancsmagjaival.