Megosztás a következőn keresztül:


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.

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á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.

A Disgram a Recovery Services objektumhierarchiáját jeleníti meg.

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

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

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. 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. 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.

    Képernyőkép a Recovery Services listájáról.

  3. Jelentkezzen be 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 paraméterként is megadhatja a fiók hitelesítő adatait a Connect-AzAccount parancsmagban.
    • Ha Ön egy bérlő nevében dolgozó CSP-partner, adja meg az ügyfelet bérlőként a bérlőazonosító vagy a bérlő elsődleges tartományneve használatával. 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 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

Feljegyzé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

Feljegyzé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

Feljegyzé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

Feljegyzé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

Feljegyzé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

Feljegyzé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

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é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é.

Képernyőkép a Recovery Services objektumhierarchiája által felsorolt BackupContainerről.

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

Feljegyzé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. előre.

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.

Feljegyzé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.

Feljegyzé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"
      

Feljegyzé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.

Feljegyzé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.

Következő 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.