Azure-beli virtuális gépek biztonsági mentése és visszaállítása a PowerShell-lel

Ez a cikk azt ismerteti, hogyan lehet biztonsági másolatot készíteni és visszaállítani egy Azure-beli virtuális gépet egy Azure Backup Recovery Services-tárolóban PowerShell-parancsmagok használatával.

Ebben a cikkben az alábbiakkal fog megismerkedni:

  • Hozzon létre egy Recovery Services-tárolót, és állítsa be a tárolókörnyezetet.
  • Biztonsági mentési szabályzat meghatározása
  • A biztonsági mentési szabályzat alkalmazása több virtuális gép védelme érdekében
  • Igény szerinti biztonsági mentési feladat aktiválása a védett virtuális gépekhez A virtuális gépek biztonsági mentéséhez (vagy védelméhez) el kell végeznie a környezet virtuális gépek védelmére való előkészítésének előfeltételeit .

Előkészületek

  • További információ a Recovery Services-tárolókról.
  • Tekintse át az Azure-beli virtuális gépek biztonsági mentésének architektúráját, ismerje meg a biztonsági mentés folyamatát, és tekintse át a támogatást, a korlátozásokat és az előfeltételeket.
  • Tekintse át a Recovery Services PowerShell-objektumhierarchiáját.

Recovery Services-objektumhierarchia

Az objektumhierarchia összegzése az alábbi ábrán látható.

Recovery Services-objektumhierarchia

Tekintse át az Az.RecoveryServicesparancsmag-referenciareferenciáját az Azure-kódtárban.

Beállítás és regisztráció

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell-modullal kommunikáljon az Azure-ral. Az első lépésekért lásd: Azure PowerShell telepítése. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

A kezdéshez:

  1. A PowerShell legújabb verziójának letöltése

  2. Keresse meg az elérhető Azure Backup PowerShell-parancsmagokat a következő parancs beírásával:

    Get-Command *azrecoveryservices*
    

    Megjelennek a Azure Backup, az Azure Site Recovery és a Recovery Services-tároló aliasai és parancsmagjai. Az alábbi kép egy példa arra, hogy mit fog látni. Ez nem a parancsmagok teljes listája.

    helyreállítási szolgáltatások listája

  3. Jelentkezzen be az Azure-fiókjába a Connect-AzAccount használatával. Ez a parancsmag egy weblapot jelenít meg, amely a fiók hitelesítő adatainak megadását kéri:

    • Másik lehetőségként a -Credential paraméterrel megadhatja a fiók hitelesítő adatait paraméterként a Connect-AzAccount parancsmagban.
    • Ha Ön egy bérlő nevében dolgozó CSP-partner, bérlőként adja meg az ügyfelet a bérlőazonosító vagy a bérlő elsődleges tartományneve használatával. Például: Connect-AzAccount -Tenant "fabrikam.com"
  4. 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:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  5. Ha első alkalommal használja a Azure Backup, a Register-AzResourceProvider parancsmaggal regisztrálnia kell az Azure Recovery Service-szolgáltatót az előfizetésében.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  6. A következő parancsokkal ellenőrizheti, hogy a szolgáltatók sikeresen regisztráltak-e:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

    A parancs kimenetében a RegistrationState értéknek Regisztrált értékre kell változnia. Ha nem, futtassa újra a Register-AzResourceProvider parancsmagot.

Recovery Services-tároló létrehozása

Az alábbi lépések végigvezetik egy Recovery Services-tároló létrehozásán. A Recovery Services-tárolók különböznek a Backup-tárolóktól.

  1. A Recovery Services-tároló egy Resource Manager erőforrás, ezért egy erőforráscsoportban kell elhelyeznie. Használhat egy meglévő erőforráscsoportot, vagy létrehozhat egy erőforráscsoportot a New-AzResourceGroup parancsmaggal. Erőforráscsoport létrehozásakor adja meg az erőforráscsoport nevét és helyét.

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. A Recovery Services-tároló létrehozásához használja a New-AzRecoveryServicesVault parancsmagot. Ügyeljen arra, hogy ugyanazt a helyet adja meg a tárolóhoz, mint amelyet az erőforráscsoporthoz használt.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    
  3. Adja meg a használni kívánt tárolóredundancia típusát. Használhat helyileg redundáns tárolást (LRS),georedundáns tárolást (GRS) vagy zónaredundáns tárolást (ZRS). Az alábbi példa a testvault-BackupStorageRedundancy beállítását mutatja GeoRedundant értékre állítva.

    $vault1 = Get-AzRecoveryServicesVault -Name "testvault"
    Set-AzRecoveryServicesBackupProperty  -Vault $vault1 -BackupStorageRedundancy GeoRedundant
    

    Tipp

    Számos Azure Backup-parancsmaghoz szükséges bemenetként a helyreállítási tár objektum. Ezért célszerű a Backup Recovery Services-tároló objektumot egy változóban tárolni.

Az előfizetésben lévő tárolók megtekintése

Az előfizetés összes tárolójának megtekintéséhez használja a Get-AzRecoveryServicesVault parancsot:

Get-AzRecoveryServicesVault

A kimenet az alábbi példához hasonló, figyelje meg, hogy a társított ResourceGroupName és Location paraméter meg van adva.

Name              : Contoso-vault
ID                : /subscriptions/1234
Type              : Microsoft.RecoveryServices/vaults
Location          : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId    : 1234-567f-8910-abc
Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties

Azure-beli virtuális gépek biztonsági mentése

A virtuális gépek védelméhez használjon recovery services-tárolót. A védelem alkalmazása előtt állítsa be a tároló környezetét (a tárolóban védett adatok típusát), és ellenőrizze a védelmi szabályzatot. A védelmi szabályzat a biztonsági mentési feladatok futtatásának ütemezése, valamint az egyes biztonsági mentési pillanatképek megőrzésének időpontja.

Tárolókörnyezet beállítása

Mielőtt engedélyezi a védelmet egy virtuális gépen, használja a Set-AzRecoveryServicesVaultContext parancsot a tárolókörnyezet beállításához. A tárolási környezet beállítását követően az minden további parancsmagra érvényes lesz. Az alábbi példa a testvault tároló tárolókörnyezetét állítja be.

Get-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "Contoso-docs-rg" | Set-AzRecoveryServicesVaultContext

A tárolóazonosító beolvasása

Tervezzük a tárolókörnyezet beállításának elavulását Azure PowerShell irányelveknek megfelelően. Ehelyett tárolhatja vagy lekérheti a tárolóazonosítót, és továbbíthatja a megfelelő parancsok számára. Ha tehát még nem állította be a tárolókörnyezetet, vagy meg szeretné adni a futtatandó parancsot egy adott tárolóhoz, adja meg a tárolóazonosítót "-vaultID" néven az összes releváns parancsnak, az alábbiak szerint:

$targetVault = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault"
$targetVault.ID

Vagy

$targetVaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID

A tárreplikációs beállítások módosítása

Használja a Set-AzRecoveryServicesBackupProperty parancsot a tároló tárolóreplikációs konfigurációjának beállításához LRS/GRS értékre

Set-AzRecoveryServicesBackupProperty -Vault $targetVault -BackupStorageRedundancy GeoRedundant/LocallyRedundant

Megjegyzés

A tárredundancia csak akkor módosítható, ha nincsenek a tárolóban védett biztonsági mentési elemek.

Védelmi szabályzat létrehozása

Helyreállítási tár létrehozásakor a tár alapértelmezett védelmi és megőrzési szabályzatokkal rendelkezik. Az alapértelmezett védelmi szabályzat naponta egyszer, adott időben aktivál egy biztonsági mentési feladatot. Az alapértelmezett megőrzési szabályzat 30 napig őrzi meg a napi helyreállítási pontokat. Az alapértelmezett szabályzattal gyorsan megvédheti a virtuális gépet, és később más részletekkel szerkesztheti a szabályzatot.

Használja a Get-AzRecoveryServicesBackupProtectionPolicy parancsot a tárolóban elérhető védelmi szabályzatok megtekintéséhez. Ezzel a parancsmaggal lekérhet egy adott szabályzatot, vagy megtekintheti a számítási feladattípushoz társított szabályzatokat. Az alábbi példa lekéri az AzureVM számításifeladat-típusra vonatkozó szabályzatokat.

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID

A kimenet a következő példához hasonló:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
DefaultPolicy        AzureVM            AzureVM              4/14/2016 5:00:00 PM

Megjegyzés

A PowerShell BackupTime mezőjének időzónája UTC. Ha azonban a biztonsági mentési idő megjelenik a Azure Portal, az idő a helyi időzónához igazodik.

A biztonsági mentési védelmi szabályzat legalább egy adatmegőrzési szabályzattal van társítva. A megőrzési szabályzat határozza meg, hogy a helyreállítási pontok mennyi ideig legyenek megőrizve a törlés előtt.

Alapértelmezés szerint a kezdési időpont az Ütemezési házirend objektumban van meghatározva. Az alábbi példában a kezdési időpontot a kívánt kezdési időpontra módosíthatja. A kívánt kezdési időpontnak UTC-ben is meg kell lennie. Az alábbi példa feltételezi, hogy a napi biztonsági mentésekhez a kívánt kezdési időpont 01:00 (UTC) lesz.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime

Fontos

A kezdési időpontot csak 30 perces többszörösökben kell megadnia. A fenti példában csak "01:00:00" vagy "02:30:00" lehet. A kezdési időpont nem lehet "01:15:00"

Az alábbi példa az ütemezési házirendet és a megőrzési szabályzatot változókban tárolja. A példa ezeket a változókat használja a paraméterek meghatározására a NewPolicy nevű védelmi szabályzat létrehozásakor.

$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType "AzureVM" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultId $targetVault.ID

A kimenet a következő példához hasonló:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewPolicy           AzureVM            AzureVM              4/24/2016 1:30:00 AM

Védelem engedélyezése

A védelmi szabályzat definiálása után továbbra is engedélyeznie kell a szabályzatot egy elemhez. A védelem engedélyezéséhez használja az Enable-AzRecoveryServicesBackupProtection parancsot. A védelem engedélyezéséhez két objektumra van szükség: az elemre és a szabályzatra. Miután a szabályzatot társította a tárolóhoz, a biztonsági mentési munkafolyamat a szabályzatütemezésben meghatározott időpontban aktiválódik.

Fontos

Ha a PowerShell használatával egyszerre több virtuális gépről is engedélyezi a biztonsági mentést, győződjön meg arról, hogy egyetlen szabályzathoz nem tartozik több mint 100 virtuális gép. Ez egy ajánlott eljárás. Jelenleg a PowerShell-ügyfél nem tiltja le explicit módon, ha több mint 100 virtuális gép van, de az ellenőrzést a jövőben tervezik hozzáadni.

Az alábbi példák a NewPolicy szabályzatot használó V2VM elem védelmét teszik lehetővé. A példák eltérnek attól függően, hogy a virtuális gép titkosítva van-e, és hogy milyen típusú titkosításról van szó.

A nem titkosított Resource Manager virtuális gépek védelmének engedélyezése:

$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

A titkosított (BEK és KEK használatával titkosított) virtuális gépek védelmének engedélyezéséhez engedélyt kell adnia a Azure Backup szolgáltatásnak a kulcsok és titkos kódok key vaultból való beolvasására.

Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToKeys backup,get,list -PermissionsToSecrets get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

A titkosított virtuális gépek védelmének engedélyezéséhez (csak BEK használatával titkosítva) engedélyt kell adnia a Azure Backup szolgáltatásnak a titkos kulcsok key vaultból való olvasásához.

Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToSecrets backup,get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID

Megjegyzés

Ha a Azure Government felhőt használja, használja a ServicePrincipalName paraméter értékét ff281ffe-705c-4f53-9f37-a40e6f2c68f3 a Set-AzKeyVaultAccessPolicy parancsmagban.

Ha szelektíven szeretne biztonsági másolatot készíteni néhány lemezről, és kizárni másokat az ezekben a forgatókönyvekben leírtak szerint, akkor csak a megfelelő lemezek védelmét és biztonsági mentését konfigurálhatja az itt dokumentált módon.

Biztonsági mentési feladat figyelése

A Azure Portal használata nélkül figyelheti a hosszú ideig futó műveleteket, például a biztonsági mentési feladatokat. Folyamatban lévő feladat állapotának lekéréséhez használja a Get-AzRecoveryservicesBackupJob parancsmagot. Ez a parancsmag lekéri egy adott tároló biztonsági mentési feladatait, és ez a tároló a tárolókörnyezetben van megadva. Az alábbi példa tömbként lekéri egy folyamatban lévő feladat állapotát, és az állapotot a $joblist változóban tárolja.

$joblist = Get-AzRecoveryservicesBackupJob –Status "InProgress" -VaultId $targetVault.ID
$joblist[0]

A kimenet a következő példához hasonló:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM             Backup               InProgress            4/23/2016                5:00:30 PM                cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

Ahelyett, hogy lekérdezi ezeket a feladatokat a befejezéshez – ami felesleges további kód – használja a Wait-AzRecoveryServicesBackupJob parancsmagot. Ez a parancsmag szünetelteti a végrehajtást, amíg a feladat befejeződik, vagy el nem éri a megadott időtúllépési értéket.

Wait-AzRecoveryServicesBackupJob -Job $joblist[0] -Timeout 43200 -VaultId $targetVault.ID

Azure-beli virtuális gépek biztonsági mentésének kezelése

Védelmi szabályzat módosítása

A védelmi szabályzat módosításához használja a Set-AzRecoveryServicesBackupProtectionPolicy parancsot az SchedulePolicy vagy a RetentionPolicy objektumok módosításához.

Ütemezett idő módosítása

Védelmi szabályzat létrehozásakor a rendszer alapértelmezés szerint kezdési időpontot rendel hozzá. Az alábbi példák bemutatják, hogyan módosíthatja egy védelmi szabályzat kezdési időpontját.

$SchPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z" (This is the time that you want to start the backup)
$UtcTime = $UtcTime.ToUniversalTime()
$SchPol.ScheduleRunTimes[0] = $UtcTime
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -SchedulePolicy $SchPol -VaultId $targetVault.ID

Adatmegőrzés módosítása

Az alábbi példa 365 napra módosítja a helyreállítási pont megőrzését.

$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
$retPol.DailySchedule.DurationCountInDays = 365
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol  -RetentionPolicy $RetPol -VaultId $targetVault.ID

Az azonnali visszaállítás pillanatkép-megőrzésének konfigurálása

Megjegyzés

Azure PowerShell 1.6.0-s verziójától kezdve frissíthető a pillanatkép-megőrzési időszak a szabályzatban a PowerShell használatával

$bkpPol = Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID
$bkpPol.SnapshotRetentionInDays=7
Set-AzRecoveryServicesBackupProtectionPolicy -policy $bkpPol -VaultId $targetVault.ID

Az alapértelmezett érték 2 lesz. Az értéket legalább 1 és legfeljebb 5 értékre állíthatja be. A heti biztonsági mentési szabályzatok esetében az időszak 5-ösre van állítva, és nem módosítható.

Azure Backup erőforráscsoport létrehozása pillanatkép-megőrzés közben

Megjegyzés

A Azure PowerShell 3.7.0-s verziójától kezdve létrehozhatja és szerkesztheti az azonnali pillanatképek tárolására létrehozott erőforráscsoportot.

Az erőforráscsoport-létrehozási szabályokkal és más kapcsolódó részletekkel kapcsolatos további információkért tekintse meg Virtual Machines dokumentáció Azure Backup erőforráscsoportot.

$bkpPol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -name "DefaultPolicyForVMs"
$bkpPol.AzureBackupRGName="Contosto_"
$bkpPol.AzureBackupRGNameSuffix="ForVMs"
Set-AzureRmRecoveryServicesBackupProtectionPolicy -policy $bkpPol

Védett virtuális gép lemezeinek kizárása

Az Azure-beli virtuális gépek biztonsági mentése lehetővé teszi az ilyen esetekben hasznos lemezek szelektív kizárását vagy belefoglalását. Ha a virtuális gépet már védi az Azure-beli virtuális gép biztonsági mentése, és minden lemezről biztonsági másolatot készít, akkor módosíthatja a védelmet úgy, hogy szelektíven foglalja bele vagy zárja ki a lemezeket az itt leírtak szerint.

Biztonsági mentés aktiválása

Biztonsági mentési feladat aktiválásához használja a Backup-AzRecoveryServicesBackupItem parancsot. Ha ez a kezdeti biztonsági mentés, akkor teljes biztonsági mentés. A későbbi biztonsági mentések növekményes másolatot készítnek. Az alábbi példa egy virtuális gép biztonsági mentését 60 napig őrzi meg.

$namedContainer = Get-AzRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$item = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM" -VaultId $targetVault.ID
$endDate = (Get-Date).AddDays(60).ToUniversalTime()
$job = Backup-AzRecoveryServicesBackupItem -Item $item -VaultId $targetVault.ID -ExpiryDateTimeUTC $endDate

A kimenet a következő példához hasonló:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM              Backup              InProgress          4/23/2016                  5:00:30 PM                cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

Megjegyzés

A PowerShell StartTime és EndTime mezőinek időzónája UTC. Ha azonban az idő megjelenik a Azure Portal, az idő a helyi időzónához lesz igazítva.

Biztonsági mentési elemek házirendjének módosítása

Módosíthatja a meglévő szabályzatot, vagy módosíthatja a biztonsági mentési elem szabályzatát Policy1-ről Policy2-ra. Ha biztonsági mentési elem házirendjeire szeretne váltani, kérje le a vonatkozó szabályzatot és biztonsági mentési elemet, és használja az Enable-AzRecoveryServices parancsot biztonsági mentési elemlel paraméterként.

$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID

A parancs megvárja, amíg a biztonsági mentés konfigurálása befejeződik, és a következő kimenetet adja vissza.

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
TestVM           ConfigureBackup      Completed            3/18/2019 8:00:21 PM      3/18/2019 8:02:16 PM      654e8aa2-4096-402b-b5a9-e5e71a496c4e

A védelem kikapcsolása

Adatok megőrzése

Ha le szeretné állítani a védelmet, használja a Disable-AzRecoveryServicesBackupProtection PowerShell parancsmagot. Ez leállítja az ütemezett biztonsági mentéseket, de az eddig biztonsági másolatban tárolt adatok örökre megmaradnak.

$bkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -Name "<backup item name>" -VaultId $targetVault.ID
Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID

Biztonsági mentés folytatása

Ha a védelem le van állítva, és a biztonsági mentési adatok megmaradnak, ismét folytathatja a védelmet. A megújult védelemhez szabályzatot kell hozzárendelnie. A parancsmag megegyezik a biztonsági mentési elemek változásszabályzatával.

$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID

Biztonsági mentési adatok törlése

A tárolóban tárolt biztonsági mentési adatok teljes eltávolításához adja hozzá a "-RemoveRecoveryPoints" jelzőt/ kapcsolót a "disable" védelmi parancshoz.

Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID -RemoveRecoveryPoints

Azure-beli virtuális gép visszaállítása

Fontos különbség van a virtuális gép Azure Portal használatával történő visszaállítása és a virtuális gép PowerShell-lel történő visszaállítása között. A PowerShell használatával a visszaállítási művelet befejeződik a helyreállítási pont lemezeinek és konfigurációs adatainak létrehozása után. A visszaállítási művelet nem hozza létre a virtuális gépet. Ha lemezről szeretne virtuális gépet létrehozni, olvassa el a Virtuális gép létrehozása visszaállított lemezekről című szakaszt. Ha nem szeretné visszaállítani a teljes virtuális gépet, de szeretne visszaállítani vagy helyreállítani néhány fájlt egy Azure-beli virtuális gép biztonsági mentéséből, tekintse meg a fájlhelyreállítási szakaszt.

Tipp

A visszaállítási művelet nem hozza létre a virtuális gépet.

Az alábbi ábra az objektumhierarchiát mutatja be a RecoveryServicesVaulttól a BackupRecoveryPointig.

A Recovery Services objektumhierarchiája a BackupContainert jeleníti meg

A biztonsági mentési adatok visszaállításához azonosítsa a biztonsági mentési elemet és az időponthoz kötött adatokat tároló helyreállítási pontot. A Restore-AzRecoveryServicesBackupItem paranccsel visszaállíthatja az adatokat a tárból a fiókjába.

Az Azure-beli virtuális gépek visszaállításának alapvető lépései a következők:

  • Válassza ki a virtuális gépet.
  • Válasszon egy helyreállítási pontot.
  • Állítsa vissza a lemezeket.
  • Hozza létre a virtuális gépet a tárolt lemezekről.

Mostantól a PowerShell használatával közvetlenül is visszaállíthatja a biztonsági mentési tartalmat egy virtuális gépre (eredeti/új), anélkül, hogy külön hajtja végre a fenti lépéseket. További információ: Adatok visszaállítása virtuális gépre a PowerShell használatával.

Válassza ki a virtuális gépet (fájlok visszaállításakor)

A megfelelő biztonsági mentési elemet azonosító PowerShell-objektum lekéréséhez kezdje a tárolóból, és lépjen lefelé az objektumhierarchián. A virtuális gépet képviselő tároló kiválasztásához használja a Get-AzRecoveryServicesBackupContainer parancsmagot, és adja meg a Get-AzRecoveryServicesBackupItem parancsmagnak.

$namedContainer = Get-AzRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM" -VaultId $targetVault.ID

Helyreállítási pont kiválasztása (fájlok visszaállításakor)

A Get-AzRecoveryServicesBackupRecoveryPoint parancsmaggal listázhatja a biztonsági mentési elem összes helyreállítási pontjának listáját. Ezután válassza ki a visszaállítani kívánt helyreállítási pontot. Ha nem biztos abban, hogy melyik helyreállítási pontot szeretné használni, érdemes a listában a legutóbbi RecoveryPointType = AppConsistent pontot választani.

A következő szkriptben a $rp változó a kijelölt biztonsági mentési elem helyreállítási pontjainak tömbje az elmúlt hét napból. A tömb fordított sorrendben van rendezve, a legújabb helyreállítási pont pedig a 0 indexben. A helyreállítási pont kiválasztásához használja a standard PowerShell-tömbindexelést. A példában $rp[0] kiválasztja a legújabb helyreállítási pontot.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]

A kimenet a következő példához hasonló:

RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

A lemezek visszaállítása

A Restore-AzRecoveryServicesBackupItem parancsmaggal visszaállíthatja egy biztonsági mentési elem adatait és konfigurációját egy helyreállítási pontra. Miután azonosított egy helyreállítási pontot, használja azt a -RecoveryPoint paraméter értékeként. A fenti mintában $rp[0] volt a használni kívánt helyreállítási pont. Az alábbi mintakódban $rp[0] a lemez visszaállításához használandó helyreállítási pont.

A lemezek és a konfigurációs adatok visszaállítása:

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID
$restorejob

Felügyelt lemezek visszaállítása

Megjegyzés

Ha a háttérbeli virtuális gép rendelkezik felügyelt lemezekkel, és felügyelt lemezként szeretné visszaállítani őket, bevezettük a képességet Azure PowerShell RM modul 6.7.0-s verzióban. Től.

Adjon meg egy további TargetResourceGroupName paramétert annak az RG-nek a megadásához, amelyre a felügyelt lemezek vissza lesznek állítva.

Fontos

Erősen ajánlott a TargetResourceGroupName paramétert használni a felügyelt lemezek visszaállításához, mivel jelentős teljesítménybeli javulást eredményez. Ha ez a paraméter nincs megadva, akkor nem használhatja ki az azonnali visszaállítási funkciót, és a visszaállítási művelet lassabb lesz. Ha a cél a felügyelt lemezek nem felügyelt lemezekként való visszaállítása, akkor ne adja meg ezt a paramétert, és a paraméter megadásával tegye egyértelművé a -RestoreAsUnmanagedDisks szándékot. A -RestoreAsUnmanagedDisks paraméter a Azure PowerShell 3.7.0-tól kezdve érhető el. A jövőbeli verziókban kötelező lesz ezen paraméterek egyikét megadni a megfelelő visszaállítási élmény érdekében.

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID

A VMConfig.JSON fájl vissza lesz állítva a tárfiókba, és a felügyelt lemezek a megadott cél RG-be lesznek visszaállítva.

A kimenet a következő példához hasonló:

WorkloadName     Operation          Status               StartTime                 EndTime            JobID
------------     ---------          ------               ---------                 -------          ----------
V2VM              Restore           InProgress           4/23/2016 5:00:30 PM                        cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

A Wait-AzRecoveryServicesBackupJob parancsmaggal várja meg, amíg a visszaállítási feladat befejeződik.

Wait-AzRecoveryServicesBackupJob -Job $restorejob -Timeout 43200

A visszaállítási feladat befejezése után a Get-AzRecoveryServicesBackupJobDetail parancsmaggal kérje le a visszaállítási művelet részleteit. A JobDetails tulajdonság tartalmazza a virtuális gép újraépítéséhez szükséges információkat.

$restorejob = Get-AzRecoveryServicesBackupJob -Job $restorejob -VaultId $targetVault.ID
$details = Get-AzRecoveryServicesBackupJobDetail -Job $restorejob -VaultId $targetVault.ID

Felügyelt identitás használata lemezek visszaállításához

Azure Backup lehetővé teszi a felügyelt identitás (MSI) használatát is a visszaállítási művelet során azokhoz a tárfiókokhoz való hozzáféréshez, amelyekbe lemezeket kell visszaállítani. Ez a beállítás jelenleg csak felügyelt lemez-visszaállítás esetén támogatott.

Ha a tároló rendszer által hozzárendelt felügyelt identitását szeretné használni a lemezek visszaállításához, adjon át egy további -UseSystemAssignedIdentity jelzőt a Restore-AzRecoveryServicesBackupItem parancsnak. Ha felhasználó által hozzárendelt felügyelt identitást szeretne használni, adjon meg egy -UserAssignedIdentityId paramétert a tároló felügyelt identitásának Azure Resource Manager-azonosítójával a paraméter értékeként. Ebből a cikkből megtudhatja, hogyan engedélyezheti a felügyelt identitásokat a tárolókhoz.

Szelektív lemezek visszaállítása

A felhasználók a teljes biztonsági mentési készlet helyett csak néhány lemezt állíthatnak vissza. Adja meg a szükséges lemez LUN-okat paraméterként, hogy csak az itt dokumentált teljes készlet helyett állítsa vissza őket.

Fontos

A lemezek szelektív visszaállításához szelektíven kell biztonsági másolatot készíteni a lemezekről. További részleteket itt talál.

A lemezek visszaállítása után lépjen a következő szakaszra a virtuális gép létrehozásához.

Lemezek visszaállítása másodlagos régióba

Ha a régiók közötti visszaállítás engedélyezve van azon a tárolón, amellyel védte a virtuális gépeket, a biztonsági mentési adatok a másodlagos régióba lesznek replikálva. A biztonsági mentési adatok használatával visszaállítást hajthat végre. Hajtsa végre a következő lépéseket egy visszaállítás indításához a másodlagos régióban:

  1. Kérje le azt a tárolóazonosítót , amellyel a virtuális gépek védettek.

  2. Válassza ki a visszaállítani kívánt biztonsági mentési elemet.

  3. Válassza ki a visszaállításhoz használni kívánt másodlagos régióban a megfelelő helyreállítási pontot.

    A lépés végrehajtásához futtassa a következő parancsot:

    $rp=Get-AzRecoveryServicesBackupRecoveryPoint -UseSecondaryRegion -Item $backupitem -VaultId $targetVault.ID
    $rp=$rp[0]
    
  4. Futtassa a Restore-AzRecoveryServicesBackupItem parancsmagot a paraméterrel, -RestoreToSecondaryRegion hogy visszaállítást aktiváljon a másodlagos régióban.

    A lépés végrehajtásához futtassa a következő parancsot:

    $restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID -VaultLocation $targetVault.Location -RestoreToSecondaryRegion -RestoreOnlyOSDisk
    

    A kimenet az alábbi példához hasonló lesz:

    WorkloadName     Operation             Status              StartTime                 EndTime          JobID
    ------------     ---------             ------              ---------                 -------          ----------
    V2VM             CrossRegionRestore   InProgress           4/23/2016 5:00:30 PM                       cf4b3ef5-2fac-4c8e-a215-d2eba4124f27
    
  5. Hajtsa végre a Get-AzRecoveryServicesBackupJob parancsmagot a paraméterrel a -UseSecondaryRegion visszaállítási feladat monitorozásához.

    A lépés végrehajtásához futtassa a következő parancsot:

    Get-AzRecoveryServicesBackupJob -From (Get-Date).AddDays(-7).ToUniversalTime() -To (Get-Date).ToUniversalTime() -UseSecondaryRegion -VaultId $targetVault.ID
    

    A kimenet az alábbi példához hasonló lesz:

    WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
    ------------     ---------            ------               ---------                 -------                   -----
    V2VM             CrossRegionRestore   InProgress           2/8/2021 4:24:57 PM                                 2d071b07-8f7c-4368-bc39-98c7fb2983f7
    

Zónák közötti visszaállítás

Az Azure-zónában rögzített virtuális gépeket visszaállíthatja ugyanazon régió bármely rendelkezésre állási zónájában .

Ha vissza szeretne állítani egy virtuális gépet egy másik zónába, adja meg a TargetZoneNumber paramétert a Restore-AzRecoveryServicesBackupItem parancsmagban.

$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID -TargetZoneNumber 3

A kimenet az alábbi példához hasonló lesz:

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
zonevmeus2       Restore              InProgress           1/3/2022 10:27:20 AM                                b2298...

A zónák közötti visszaállítás csak olyan esetekben támogatott, amikor:

  • A forrás virtuális gép zóna van rögzítve, és NINCS titkosítva.
  • A helyreállítási pont csak a tárolószinten van jelen. Csak pillanatképek, illetve pillanatkép- és tárolószintek nem támogatottak.
  • A helyreállítási lehetőség egy új virtuális gép létrehozása vagy lemezek visszaállítása. A Lemezek cseréje beállítás lecseréli a forrásadatokat; ezért a rendelkezésre állási zóna lehetőség nem alkalmazható.
  • Virtuális gépek/lemezek létrehozása ugyanabban a régióban, ha a tároló tárhelyredundanciája ZRS. Vegye figyelembe, hogy nem működik, ha a tároló tárolási redundanciája GRS, annak ellenére, hogy a forrás virtuális gép zóna van rögzítve.
  • Virtuális gépek/lemezek létrehozása a párosított régióban, ha a tároló tárredundanciája engedélyezve van a régiók közötti visszaállításhoz, és ha a párosított régió támogatja a zónákat.

Lemezek cseréje azure-beli virtuális gépen

A lemezek és a konfigurációs adatok cseréjéhez hajtsa végre a következő lépéseket:

Virtuális gép létrehozása visszaállított lemezekről

A lemezek visszaállítása után az alábbi lépésekkel hozza létre és konfigurálja a virtuális gépet a lemezről.

Megjegyzés

  1. Az AzureAz 3.0.0-s vagy újabb modulja szükséges.
  2. Ha titkosított virtuális gépeket szeretne létrehozni a visszaállított lemezekről, az Azure-szerepkörnek engedéllyel kell rendelkeznie a művelet végrehajtásához( Microsoft.KeyVault/vaults/deploy/action). Ha a szerepköre nem rendelkezik ezzel az engedéllyel, hozzon létre egy egyéni szerepkört ezzel a művelettel. További információ: Egyéni Azure-szerepkörök.
  3. A lemezek visszaállítása után beszerezhet egy üzembe helyezési sablont, amelyet közvetlenül használhat új virtuális gép létrehozásához. A felügyelt/nem felügyelt virtuális gépek létrehozásához nincs szükség különböző PowerShell-parancsmagokra, amelyek titkosítottak vagy titkosítatlanok.

Virtuális gép létrehozása az üzembe helyezési sablonnal

Az eredményül kapott feladat részletei megadják a lekérdezhető és üzembe helyezhető sablon URI-ját.

   $properties = $details.properties
   $storageAccountName = $properties["Target Storage Account Name"]
   $containerName = $properties["Config Blob Container Name"]
   $templateBlobURI = $properties["Template Blob Uri"]

A sablon nem érhető el közvetlenül, mivel az ügyfél tárfiókja és az adott tároló alatt található. A sablon eléréséhez szükségünk van a teljes URL-címre (egy ideiglenes SAS-jogkivonattal együtt).

  1. Először bontsa ki a sablon nevét a templateBlobURI fájlból. A formátumot az alábbiakban említettük. A PowerShell felosztási műveletével kinyerheti a végső sablonnevet ebből az URL-címből.

    https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>
    
  2. Ezután létrehozhatja a teljes URL-címet az itt ismertetett módon.

    Set-AzCurrentStorageAccount -Name $storageAccountName -ResourceGroupName <StorageAccount RG name>
    $templateBlobFullURI = New-AzStorageBlobSASToken -Container $containerName -Blob <templateName> -Permission r -FullUri
    
  3. Helyezze üzembe a sablont egy új virtuális gép létrehozásához az itt ismertetett módon.

    New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateUri $templateBlobFullURI
    

Virtuális gép létrehozása a konfigurációs fájllal

A következő szakasz a virtuális gép VMConfig-fájllal történő létrehozásához szükséges lépéseket sorolja fel.

Megjegyzés

Erősen ajánlott a fent részletezett üzembehelyezési sablont használni egy virtuális gép létrehozásához. Ez a szakasz (1–6. pont) hamarosan elavult.

  1. A feladat részleteinek lekérdezése a visszaállított lemeztulajdonságok között.

    $properties = $details.properties
    $storageAccountName = $properties["Target Storage Account Name"]
    $containerName = $properties["Config Blob Container Name"]
    $configBlobName = $properties["Config Blob Name"]
    
  2. Állítsa be az Azure Storage-környezetet, és állítsa vissza a JSON-konfigurációs fájlt.

    Set-AzCurrentStorageAccount -Name $storageaccountname -ResourceGroupName "testvault"
    $destination_path = "C:\vmconfig.json"
    Get-AzStorageBlobContent -Container $containerName -Blob $configBlobName -Destination $destination_path
    $obj = ((Get-Content -Path $destination_path -Raw -Encoding Unicode)).TrimEnd([char]0x00) | ConvertFrom-Json
    
  3. A virtuális gép konfigurációjának létrehozásához használja a JSON-konfigurációs fájlt.

    $vm = New-AzVMConfig -VMSize $obj.'properties.hardwareProfile'.vmSize -VMName "testrestore"
    
  4. Csatlakoztassa az operációsrendszer-lemezt és az adatlemezeket. Ez a lépés példákat tartalmaz a különböző felügyelt és titkosított virtuálisgép-konfigurációkra. Használja a virtuális gép konfigurációjának megfelelő példát.

    • Nem felügyelt és nem titkosított virtuális gépek – Használja az alábbi mintát a nem felügyelt, nem titkosított virtuális gépekhez.
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
            $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nem felügyelt és titkosított virtuális gépek Azure AD (csak BEK esetén) – Nem felügyelt, titkosított virtuális gépek Azure AD (csak BEK használatával titkosítva), a kulcstartóba kell visszaállítania a titkos kódot, mielőtt lemezeket csatolhat. További információ: Titkosított virtuális gép visszaállítása Azure Backup helyreállítási pontról. Az alábbi minta bemutatja, hogyan csatolhat operációs rendszert és adatlemezeket titkosított virtuális gépekhez. Az operációsrendszer-lemez beállításakor mindenképpen említse meg a megfelelő operációsrendszer-típust.
        $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $dekUrl = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows/Linux
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
        foreach($dd in $obj.'properties.storageProfile'.dataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nem felügyelt és titkosított virtuális gépek Azure AD (BEK és KEK) – A Azure AD (BEK és KEK használatával titkosított) nem felügyelt, titkosított virtuális gépek esetén a lemezek csatolása előtt állítsa vissza a kulcsot és a titkos kulcsot a kulcstartóba. További információ: Titkosított virtuális gép visszaállítása Azure Backup helyreállítási pontról. Az alábbi minta bemutatja, hogyan csatolhat operációs rendszert és adatlemezeket titkosított virtuális gépekhez.
        $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
        foreach($dd in $obj.'properties.storageProfile'.dataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nem felügyelt és titkosított virtuális gépek Azure AD nélkül (csak BEK esetén) – Nem felügyelt, titkosított, Azure AD nélküli virtuális gépek esetén (csak BEK használatával titkosítva), ha a forráskulcsVault/secret nem áll rendelkezésre, állítsa vissza a titkos kulcsokat a kulcstartóba a nem titkosított virtuális gépek visszaállítása Azure Backup helyreállítási pontról című témakörben leírt eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-blob titkosítási részleteinek beállításához (ez a lépés nem szükséges adatblobokhoz). A $dekurl a visszaállított keyVaultból lehet lekérni.

    A következő szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/secret nem érhető el.

        $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""}}]}"
        $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd"
        $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName
        $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting
        $osBlob.ICloudBlob.SetMetadata()
    

    Miután a titkos kódok elérhetővé válnak , és a titkosítási adatok is be vannak állítva az operációsrendszer-blobon, csatolja a lemezeket az alábbi szkripttel.

    Ha a forráskulcsVault/secrets már elérhető, akkor a fenti szkriptet nem kell végrehajtani.

        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    
    • Nem felügyelt és titkosított virtuális gépek Azure AD nélkül (BEK és KEK) – Nem felügyelt, titkosított, Azure AD nélküli (BEK & KEK használatával titkosított) virtuális gépek esetén, ha a forráskulcsVault/kulcs/titkos kulcs nem áll rendelkezésre, állítsa vissza a kulcsot és a titkos kulcsokat a kulcstartóba a nem titkosított virtuális gépek visszaállítása Azure Backup helyreállítási pontból című témakörben leírt eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-blob titkosítási részleteinek beállításához (ez a lépés nem szükséges adatblobokhoz). A $dekurl és a $kekurl lekérhetők a visszaállított keyVaultból.

    Az alábbi szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/key/secret nem érhető el.

        $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
        $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
        $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
        $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""},""keyEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""keyUrl"":""$kekUrl""}}]}"
        $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd"
        $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName
        $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting
        $osBlob.ICloudBlob.SetMetadata()
    

    Miután a kulcs/titkos kulcsok elérhetővé válnak , és a titkosítási adatok be vannak állítva az operációsrendszer-blobon, csatolja a lemezeket az alábbi szkripttel.

    Ha a forráskulcsVault/key/secrets elérhető, akkor a fenti szkriptet nem kell végrehajtani.

        Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
        $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
        foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
        {
        $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
        }
    

    Az alábbi szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/secret nem érhető el.

    $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true
    $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement
    $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement]
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement)
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1"
    Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
    

    Miután a titkos kulcsok elérhetővé válnak, és a titkosítási adatok be vannak állítva az operációsrendszer-lemezen, a visszaállított felügyelt lemezek csatolásához lásd: Adatlemez csatolása Windows rendszerű virtuális géphez a PowerShell használatával.

    • Felügyelt és titkosított virtuális gépek Azure AD nélkül (BEK és KEK) – A Azure AD nélküli felügyelt, titkosított virtuális gépek esetében (a BEK & KEK használatával titkosítva), ha a forráskulcsVault/kulcs/titkos kulcs nem érhető el, állítsa vissza a kulcsot és a titkos kulcsokat a Kulcstartóba a nem titkosított virtuális gépek visszaállítása Azure Backup helyreállítási pontról című témakörben leírt eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-lemez titkosítási részleteinek beállításához (ez a lépés adatlemezekhez nem szükséges). A $dekurl és a $kekurl lekérhetők a visszaállított keyVaultból.

    A következő szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/key/secret nem érhető el.

    $dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
    $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true
    $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement
    $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl
    $encryptionSettingsElement.KeyEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndKeyReference
    $encryptionSettingsElement.KeyEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault
    $encryptionSettingsElement.KeyEncryptionKey.SourceVault.Id = $keyVaultId
    $encryptionSettingsElement.KeyEncryptionKey.KeyUrl = $kekUrl
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement]
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement)
    $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1"
    Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
    

    Miután a kulcs/titkos kulcsok elérhetővé válnak, és a titkosítási adatok be vannak állítva az operációsrendszer-lemezen, a visszaállított felügyelt lemezek csatolásához lásd: Adatlemez csatolása Windows rendszerű virtuális géphez a PowerShell használatával.

  5. Adja meg a Hálózati beállításokat.

    $nicName="p1234"
    $pip = New-AzPublicIpAddress -Name $nicName -ResourceGroupName "test" -Location "WestUS" -AllocationMethod Dynamic
    $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName "test" -Location "WestUS" -Name "testvNET" -AddressPrefix 10.0.0.0/16
    $virtualNetwork | Set-AzVirtualNetwork
    $vnet = Get-AzVirtualNetwork -Name "testvNET" -ResourceGroupName "test"
    $subnetindex=0
    $nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName "test" -Location "WestUS" -SubnetId $vnet.Subnets[$subnetindex].Id -PublicIpAddressId $pip.Id
    $vm=Add-AzVMNetworkInterface -VM $vm -Id $nic.Id
    
  6. Hozza létre a virtuális gépet.

    New-AzVM -ResourceGroupName "test" -Location "WestUS" -VM $vm
    
  7. ADE-bővítmény leküldése. Ha az ADE-bővítmények leküldése nem történik meg, akkor az adatlemezek titkosítatlanként lesznek megjelölve, ezért az alábbi lépések végrehajtása kötelező:

    • Azure AD rendelkező virtuális gépek esetén – Az alábbi paranccsal manuálisan engedélyezheti a titkosítást az adatlemezeken

      Csak BEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -VolumeType Data
      

      BEK és KEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId  -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
    • Azure AD nélküli virtuális gépek esetén – Az alábbi paranccsal manuálisan engedélyezheti az adatlemezek titkosítását.

      Ha a parancs végrehajtása során AADClientID-t kér, frissítenie kell a Azure PowerShell.

      Csak BEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
      

      BEK és KEK

      Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
      

Megjegyzés

Győződjön meg arról, hogy manuálisan törli a titkosított virtuális gép visszaállítási lemezfolyamatának részeként létrehozott JASON-fájlokat.

Fájlok visszaállítása Azure-beli virtuális gépek biztonsági mentéséből

A lemezek visszaállítása mellett egyes fájlokat is visszaállíthat egy Azure-beli virtuális gép biztonsági másolatából. A fájlok visszaállítása funkció hozzáférést biztosít a helyreállítási pontban lévő összes fájlhoz. A fájlokat a normál fájlokhoz hasonlóan Fájlkezelő kezelheti.

A fájlok Azure-beli virtuális gépek biztonsági mentéséből történő visszaállításának alapvető lépései a következők:

  • Válassza ki a virtuális gépet
  • Helyreállítási pont kiválasztása
  • A helyreállítási pont lemezeinek csatlakoztatása
  • A szükséges fájlok másolása
  • A lemez leválasztása

Válassza ki a virtuális gépet (a virtuális gép visszaállításakor)

A megfelelő biztonsági mentési elemet azonosító PowerShell-objektum lekéréséhez kezdje a tárolóból, és haladjon végig az objektumhierarchián. A virtuális gépet képviselő tároló kiválasztásához használja a Get-AzRecoveryServicesBackupContainer parancsmagot, és adja meg a Get-AzRecoveryServicesBackupItem parancsmagnak.

$namedContainer = Get-AzRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM" -VaultId $targetVault.ID

Helyreállítási pont kiválasztása (a virtuális gép visszaállításakor)

A Get-AzRecoveryServicesBackupRecoveryPoint parancsmaggal listázhatja a biztonsági mentési elem összes helyreállítási pontját. Ezután válassza ki a visszaállítani kívánt helyreállítási pontot. Ha nem biztos abban, hogy melyik helyreállítási pontot használja, érdemes a listában a legutóbbi RecoveryPointType = AppConsistent pontot választani.

A következő szkriptben a $rp változó a kiválasztott biztonsági mentési elem helyreállítási pontjainak tömbje az elmúlt hét napból. A tömb fordított sorrendben van rendezve, a legújabb helyreállítási ponttal a 0.indexnél. A helyreállítási pont kiválasztásához használja a standard PowerShell-tömbindexelést. A példában $rp[0] kiválasztja a legújabb helyreállítási pontot.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]

A kimenet a következő példához hasonló:

RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

A helyreállítási pont lemezeinek csatlakoztatása

A Get-AzRecoveryServicesBackupRPMountScript parancsmaggal kérje le a szkriptet a helyreállítási pont összes lemezének csatlakoztatásához.

Megjegyzés

A lemezek iSCSI-hez csatlakoztatott lemezként vannak csatlakoztatva ahhoz a géphez, amelyen a szkript fut. A csatlakoztatás azonnal megtörténik, és nem kell díjat fizetnie.

Get-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID

A kimenet a következő példához hasonló:

OsType  Password        Filename
------  --------        --------
Windows e3632984e51f496 V2VM_wus2_8287309959960546283_451516692429_cbd6061f7fc543c489f1974d33659fed07a6e0c2e08740.exe

Futtassa a szkriptet azon a gépen, amelyen helyre szeretné állítani a fájlokat. A szkript végrehajtásához meg kell adnia a megadott jelszót. A lemezek csatolása után a Windows Fájlkezelő használatával tallózhat az új kötetek és fájlok között. További információ: Fájlok helyreállítása az Azure-beli virtuális gépek biztonsági mentéséből című biztonsági mentési cikk.

A lemezek leválasztása

A szükséges fájlok másolása után a Disable-AzRecoveryServicesBackupRPMountScript használatával válassza le a lemezeket. Ügyeljen arra, hogy leválasztsa a lemezeket, hogy a helyreállítási pont fájljaihoz való hozzáférés el legyen távolítva.

Disable-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID

Adatok visszaállítása virtuális gépre a PowerShell használatával

Mostantól közvetlenül visszaállíthatja az adatokat az eredeti/alternatív virtuális gépre több lépés végrehajtása nélkül.

Adatok visszaállítása az eredeti virtuális gépre

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$OriginalLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -VaultId $vault.ID -VaultLocation $vault.Location 
WorkloadName    Operation       Status          StartTime              EndTime
------------    ---------       ------          ---------              -------
V2VM            Restore         InProgress      26-Apr-16 1:14:01 PM   01-Jan-01 12:00:00 AM

Az utolsó parancs elindít egy eredeti hely-visszaállítási műveletet az adatok helyben történő visszaállításához a meglévő virtuális gépen.

Adatok visszaállítása újonnan létrehozott virtuális gépre

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$AlternateLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -TargetResourceGroupName "Target_RG" -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -TargetVMName "TagetVirtualMachineName" -TargetVNetName "Target_VNet" -TargetVNetResourceGroup "" -TargetSubnetName "subnetName" -VaultId $vault.ID -VaultLocation $vault.Location 
WorkloadName    Operation       Status          StartTime              EndTime
------------    ---------       ------          ---------              -------
V2VM            Restore         InProgress      26-Apr-16 1:14:01 PM   01-Jan-01 12:00:00 AM

Az utolsó parancs elindít egy alternatív hely-visszaállítási műveletet, amely új virtuális gépet hoz létre Target_RG erőforráscsoportban a TargetVMName, TargetVNetName, TargetVNetName, TargetVNetResourceGroup, TargetSubnetName paraméterek által megadott bemeneteknek megfelelően. Ez biztosítja az adatok visszaállítását a szükséges virtuális gépen, virtuális hálózaton és alhálózaton.

Következő lépések

Ha inkább a PowerShellt szeretné használni az Azure-erőforrások használatához, tekintse meg a Windows Server biztonsági mentésének üzembe helyezése és kezelése című PowerShell-cikket. Ha a DPM biztonsági másolatait kezeli, tekintse meg a DPM biztonsági mentésének üzembe helyezése és kezelése című cikket.