Azure-beli virtuális gépek biztonsági mentése és visszaállítása az Azure PowerShell használatával

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.

Az Azure Backup független és elkülönített biztonsági másolatokat biztosít, ezzel védelmet nyújtva a virtuális gépeken lévő adatok nem szándékos megsemmisítésével szemben. A biztonsági másolatok egy helyreállítási tárban vannak tárolva, a helyreállítási pontok beépített kezelésével. A konfigurálás és a skálázás egyszerű, a biztonsági másolatok optimalizálva vannak, és szükség esetén egyszerűen helyreállíthatók.

Egy virtuális gép biztonsági mentése (vagy védelme) előtt meg kell felelnie azoknak az előfeltételeknek, amelyek felkészítik a környezetet a virtuális gépek védelmére.

Before you start

  • 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áit, ismerje meg a biztonsági mentési folyamatot, é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 objektumhierarchiát az alábbi diagram foglalja össze.

Disgram shows the Recovery Services object hierarchy.

Tekintse át az Az.RecoveryServicesparancsmag hivatkozási hivatkozását az Azure-kódtárban.

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

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.

To begin:

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

  2. Az alábbi parancs beírásával keresse meg az elérhető Azure Backup PowerShell-parancsmagokat:

    Get-Command *azrecoveryservices*
    

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

    Screenshot shows the list of Recovery Services.

  3. Jelentkezzen be azure-fiókjába az Csatlakozás-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 az Csatlakozás-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. Például: Csatlakozás-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 az Azure Backupot, a Register-AzResourceProvider parancsmaggal regisztrálnia kell az Azure Recovery Service-szolgáltatót az előfizetésével.

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

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

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

Helyreállítási tár 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 eltérnek a Backup-tárolóktól.

  1. A Recovery Services-tároló egy Resource Manager-erőforrás, ezért azt egy erőforráscsoporton belül 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 az erőforráscsoporthoz használt tároló helyét adja meg.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    
  3. Adja meg a használni kívánt tárolási 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 -BackupStorageRedundancy beállítást mutatja be a GeoRedundant beállításhoz testvault.

    $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ó objektumát egy változóban tárolni.

A tárolók megtekintése előfizetésben

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

Get-AzRecoveryServicesVault

A kimenet hasonló a következő példához, figyelje meg, hogy a társított ResourceGroupName és Location elem 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 futásának ütemezése, valamint az egyes biztonsági mentési pillanatképek megtartása.

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

Mielőtt engedélyezi a virtuális gépek védelmét, a Set-AzRecoveryServicesVaultContext használatával állítsa be a tárolókörnyezetet. 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 tároló tárolókörnyezetét állítja be. testvault

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

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

Az Azure PowerShell-irányelveknek megfelelően tervezzük a tároló környezeti beállításának elavultra állítását. Ehelyett tárolhatja vagy lekérheti a tárolóazonosítót, és átadhatja a megfelelő parancsok számára. Ha tehát még nem állította be a tárolókörnyezetet, vagy meg szeretné adni egy adott tárolóhoz futtatandó parancsot, adja át a tárolóazonosítót "-vaultID" azonosítóként 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

A Set-AzRecoveryServicesBackupProperty paranccsal állítsa a tároló tárolási replikációs konfigurációját LRS/GRS értékre

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

Megjegyzés:

A tárolóredundancia csak akkor módosítható, ha nincsenek biztonsági mentési elemek védve a tárolóhoz.

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.

A Get-AzRecoveryServicesBackupProtectionPolicy használatával megtekintheti a tárolóban elérhető védelmi szabályzatokat. 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ási feladattí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 az Azure Portalon, az idő a helyi időzónához lesz igazítva.

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

Alapértelmezés szerint a kezdési időpont az Ütemezési szabályzat 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ések kezdési ideje 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 szabályzatot é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 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 házirend társítva lett a tárolóval, a biztonsági mentési munkafolyamat a szabályzatütemezésben meghatározott időpontban aktiválódik.

Fontos

Ha egyszerre több virtuális gép biztonsági mentését szeretné engedélyezni a PowerShell használatával, győződjön meg arról, hogy egyetlen szabályzathoz nincs több mint 100 virtuális gép társítva. Ez ajánlott eljárás. A PowerShell-ügyfél jelenleg 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 attól függenek, hogy a virtuális gép titkosítva van-e, és hogy milyen típusú titkosítást használnak.

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 az Azure Backup szolgáltatásnak a kulcsok és titkos kódok kulcsainak és titkos kulcsainak a kulcstartóbó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 az Azure Backup szolgáltatásnak a kulcstartó titkos kulcsainak olvasására.

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 az 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 említettek 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

Az 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 a tároló a tárolókörnyezetben van megadva. Az alábbi példa egy folyamatban lévő feladat állapotát tömbként kapja meg, é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 szükségtelen 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 a megadott időtúllépési érték el nem éri.

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 a védelmi szabályzat kezdő 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

Megő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

Pillanatképek azonnali visszaállításának konfigurálása

Megjegyzés:

Az Azure PowerShell 1.6.0-s verziójától kezdve frissíthető az azonnali visszaállítás pillanatkép-megőrzési ideje 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őtartam 5, és nem módosítható.

Azure Backup-erőforráscsoport létrehozása pillanatkép-megőrzés során

Megjegyzés:

Az 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ályokról és egyéb releváns részletekről az Azure Backup virtuális gépekhez készült erőforráscsoport dokumentációjában olvashat bővebben.

$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 helyzetekben 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 vegye fel 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, az egy 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éldában a virtuális gépek biztonsági mentését 60 napig kell megőrizni.

$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 az Azure Portalon, 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-re. Ha biztonsági mentési elem házirendjeire szeretne váltani, kérje le a vonatkozó szabályzatot és készítsen biztonsági másolatot az elemet, és használja az Enable-AzRecoveryServices parancsot biztonsági mentési elemként 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 a biztonsági mentés konfigurálását, é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

Védelem leállítása

Adatok megőrzése

Ha le szeretné állítani a védelmet, használhatja 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újított 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

Delete backup data

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épek Azure Portalon történő visszaállítása és a virtuális gépek PowerShell használatával történő visszaállítása között. A PowerShell használatával a visszaállítási művelet a helyreállítási pont lemezeinek és konfigurációs adatainak létrehozása után befejeződik. A visszaállítási művelet nem hozza létre a virtuális gépet. Ha virtuális gépet szeretne létrehozni lemezről, 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 egy Azure-beli virtuális gép biztonsági mentéséből szeretne visszaállítani vagy helyreállítani néhány fájlt, 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 ábrán az objektumhierarchia látható lefelé RecoveryServicesVault és a BackupRecoveryPointlefelé.

Screenshot shows the BackupContainer listed by Recovery Services object hierarchy.

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 használatával visszaállíthatja az adatokat a tárolóbó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.

Most a PowerShell használatával közvetlenül visszaállíthatja a biztonsági mentési tartalmat egy virtuális gépre (eredeti/új), anélkül, hogy külön-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óban lévő tárolóval, és haladjon végig az objektumhierarchián. A virtuális gépet jelképező tároló kiválasztásához használja a Get-AzRecoveryServicesBackupContainer parancsmagot, és állítsa be a Get-AzRecoveryServicesBackupItem parancsmagba.

$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á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 kiválasztani a lista legújabb RecoveryPointType = AppConsistent pontját.

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 időrendben 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 lemezek visszaállítása

A Restore-AzRecoveryServicesBackupItem parancsmaggal visszaállíthatja a 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álható 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 támogatott virtuális gép felügyelt lemezekkel rendelkezik, és felügyelt lemezként szeretné visszaállítani őket, bevezettük a képességet az Azure PowerShell RM 6.7.0-s moduljából. Től.

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

Fontos

Erősen ajánlott a TargetResourceGroupName paraméter használata 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 összehasonlítva. 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 szándékot -RestoreAsUnmanagedDisks . A -RestoreAsUnmanagedDisks paraméter az Azure PowerShell 3.7.0-s verzióiban érhető el. A jövőbeni verziókban kötelező lesz ezen paraméterek egyikét megadni a megfelelő visszaállítási felülethez.

$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-hez 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 a visszaállítási feladat befejezését.

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 rendelkezik a virtuális gép újraépítéséhez szükséges információkkal.

$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

Az Azure Backup lehetővé teszi a felügyelt identitás (MSI) használatát a visszaállítási művelet során, hogy hozzáférjen azokhoz a tárfiókokhoz, amelyekbe a lemezeket vissza kell á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 jelölő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ást a tárolókhoz.

Szelektív lemezek visszaállítása

A felhasználók a teljes biztonsági mentési készlet helyett szelektíven állíthatnak vissza néhány lemezt. Adja meg a szükséges lemez LUN-jait 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.

Miután visszaállította a lemezeket, 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 rendszer replikálja a biztonsági mentési adatokat a másodlagos régióba. A biztonsági mentési adatokkal visszaállítást hajthat végre. Hajtsa végre a következő lépéseket egy visszaállítás elindí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ításhoz megfelelő biztonsági mentési elemet.

  3. Válassza ki a megfelelő helyreállítási pontot a másodlagos régióban, amelyet a visszaállítás végrehajtásához használni szeretne.

    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 indítson el 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 figyeléséhez.

    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 az adott régió bármely rendelkezésre állási zónájában visszaállíthatja.

Ha egy virtuális gépet egy másik zónába szeretne visszaállítani, 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, ahol:

  • A forrás virtuális gép zóna rögzített, és NEM titkosított.
  • A helyreállítási pont csak a tárolószinten van jelen. A pillanatképek vagy a pillanatképek é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 beállítás nem alkalmazható.
  • Virtuális gépek/lemezek létrehozása ugyanabban a régióban, ha a tároló tárolási redundanciá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 rögzített.
  • 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 információk 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ó: Azure egyéni szerepkörök.
  3. A lemezek visszaállítása után beszerezhet egy üzembehelyezési sablont, amelyet közvetlenül használhat egy új virtuális gép létrehozásához. Az YOu-nak nincs szüksége különböző PowerShell-parancsmagokra a titkosított/titkosítatlan felügyelt/nem felügyelt virtuális gépek létrehozásához.

Virtuális gép létrehozása az üzembehelyezési sablon használatával

Az eredményül kapott feladatadatok a lekérdezhető és üzembe helyezhető sablon URI-ját adják meg.

   $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 egy ü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-bó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 a teljes URL-cím az itt leírtak szerint hozható létre.

    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 leírtak szerint.

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

Virtuális gép létrehozása a konfigurációs fájl használatával

Az alábbi szakasz a virtuális gép fájllal VMConfig 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 sablon használata virtuális gép létrehozásához. Ez a szakasz (1–6. pont) hamarosan megszűnik.

  1. A feladat részleteinek lekérdezése a visszaállított lemeztulajdonságokhoz.

    $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. Csatolja az operációsrendszer-lemezt és az adatlemezeket. Ez a lépés példákat kínál 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 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 Microsoft Entra-azonosítóval (csak BEK esetén) – A nem felügyelt, titkosított virtuális gépekhez a Microsoft Entra ID azonosítóval (csak BEK használatával titkosítva) vissza kell állítania a titkos kulcsot a kulcstartóba, mielőtt lemezeket csatolhat. További információ: Titkosított virtuális gép visszaállítása egy 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 Microsoft Entra-azonosítóval (BEK és KEK) – Nem felügyelt, Microsoft Entra-azonosítóval (BEK és KEK használatával titkosított) 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 Microsoft Entra-azonosító nélkül (csak BEK esetén) – Nem felügyelt, titkosított, Microsoft Entra-azonosítóval nem rendelkező virtuális gépek esetén (csak BEK használatával titkosítva), ha a forráskulcsVault/titkos kulcs nem áll rendelkezésre, állítsa vissza a titkos kulcsokat a kulcstartóba az Azure Backup helyreállítási pontjáról származó, nem titkosított virtuális gép visszaállítása művelettel. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-blob titkosítási adatainak 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/titkos kulcs 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/titkos kulcs 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 Microsoft Entra-azonosító nélkül (BEK és KEK) – Nem felügyelt, Microsoft Entra-azonosítóval nem rendelkező titkosított virtuális gépek esetén (a BEK > KEK használatával titkosítva), ha a forráskulcsVault /kulcs/titkos kulcs nem érhető el , állítsa vissza a kulcsot és titkos kulcsokat a Key Vaultba az Azure Backup helyreállítási pontjáról származó, nem titkosított virtuális gép visszaállításával. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-blob titkosítási adatainak 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 kódok 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/kulcs/titkos kulcs 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"
        }
    
    • Felügyelt és nem titkosított virtuális gépek – Felügyelt, nem titkosított virtuális gépek esetén csatolja a visszaállított felügyelt lemezeket. Részletes információkért 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 Microsoft Entra-azonosítóval (csak BEK esetén) – Microsoft Entra-azonosítóval (csak BEK használatával titkosított) felügyelt, titkosított virtuális gépekhez csatolja a visszaállított felügyelt lemezeket. Részletes információkért 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 Microsoft Entra-azonosítóval (BEK és KEK) – A Microsoft Entra AZONOSÍTÓval (BEK és KEK használatával titkosított) felügyelt titkosított virtuális gépekhez csatolja a visszaállított felügyelt lemezeket. Részletes információkért 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 Microsoft Entra-azonosító nélkül (csak BEK esetén) – Felügyelt, titkosított virtuális gépekhez Microsoft Entra-azonosító nélkül (csak BEK használatával titkosítva), ha a forráskulcsVault/titkos kulcs nem áll rendelkezésre, állítsa vissza a titkos kulcsokat a kulcstartóba az Azure Backup helyreállítási pontról nem titkosított virtuális gép visszaállítása című eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-lemez titkosítási adatainak beállításához (ez a lépés nem szükséges adatlemezhez). A $dekurl a visszaállított keyVaultból lehet lekérni.

    Az alábbi szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/titkos kulcs 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 Microsoft Entra-azonosító (BEK és KEK) nélkül – Microsoft Entra-azonosító nélküli felügyelt, titkosított virtuális gépek esetén (bek és KEK használatával titkosítva), ha a forráskulcsVault /key/secret nem érhető el , állítsa vissza a kulcsot és titkos kulcsokat a kulcstartóba az Azure Backup helyreállítási pontból származó, nem titkosított virtuális gép visszaállítása eljárásával. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-lemez titkosítási adatainak 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. Leküldéses ADE-bővítmény. 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ő:

    • Microsoft Entra-azonosítóval rendelkező virtuális gép esetén – Az alábbi paranccsal manuálisan engedélyezheti az adatlemezek titkosítását

      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
      
    • Microsoft Entra-azonosító 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 az AADClientID-et kéri, frissítenie kell az Azure PowerShellt.

      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álisgép-visszaállítási lemezfolyamat 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 azure-beli virtuális gépek biztonsági mentéséből is visszaállíthatja az egyes fájlokat. A visszaállítási fájlok 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.

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

  • Válassza ki a virtuális gépet
  • Válasszon helyreállítási pontot
  • 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óban lévő tárolóval, és haladjon végig az objektumhierarchián. A virtuális gépet jelképező tároló kiválasztásához használja a Get-AzRecoveryServicesBackupContainer parancsmagot, és állítsa be a Get-AzRecoveryServicesBackupItem parancsmagba.

$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 szeretné használni, érdemes kiválasztani a lista legújabb RecoveryPointType = AppConsistent pontját.

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 időrendben 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-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 csatlakoztatá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ó: Biztonsági mentési cikk: Fájlok helyreállítása az Azure-beli virtuális gépek biztonsági mentéséből.

A lemezek leválasztása

A szükséges fájlok másolása után a Disable-AzRecoveryServicesBackupRPMountScript használatával bontsa 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 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 a meglévő virtuális gépen a helyben lévő adatok visszaállításához.

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 egy másik hely-visszaállítási műveletet indít el, amely új virtuális gépet hoz létre Target_RG erőforráscsoportban a TargetVMName, TargetVNetName, TargetVNetName, TargetVNetResourceGroup, TargetSubnetName paraméterek által megadott bemenetek szerint. 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.

További lépések

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