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.
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:
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.
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"
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
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"
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.
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"
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"
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.
- Az alapértelmezett adatmegőrzési szabályzat megtekintéséhez használja a Get-AzRecoveryServicesBackupRetentionPolicyObject parancsot.
- Hasonlóképpen használhatja a Get-AzRecoveryServicesBackupSchedulePolicyObject parancsot az alapértelmezett ütemezési szabályzat beszerzéséhez.
- A New-AzRecoveryServicesBackupProtectionPolicy parancsmag létrehoz egy PowerShell-objektumot, amely biztonsági mentési szabályzat adatait tartalmazza.
- Az ütemezési és adatmegőrzési szabályzat objektumai a New-AzRecoveryServicesBackupProtectionPolicy parancsmag bemeneteként szolgálnak.
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 BackupRecoveryPoint
lefelé.
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:
Kérje le azt a tárolóazonosítót , amellyel a virtuális gépek védettek.
Válassza ki a visszaállításhoz megfelelő biztonsági mentési elemet.
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]
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
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:
- 1. lépés: A lemezek visszaállítása
- 2. lépés: Adatlemez leválasztása a PowerShell használatával
- 3. lépés: Adatlemez csatolása Windows rendszerű virtuális géphez a PowerShell használatával
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
- Az AzureAz 3.0.0-s vagy újabb modulja szükséges.
- 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.
- 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).
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>
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
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.
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"]
Á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
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"
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.
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
Hozza létre a virtuális gépet.
New-AzVM -ResourceGroupName "test" -Location "WestUS" -VM $vm
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.