Azure-beli virtuális gépek biztonsági mentése és visszaállítása a PowerShell-lel
Ez a cikk azt ismerteti, hogyan lehet biztonsági másolatot készíteni és visszaállítani egy Azure-beli virtuális gépet egy Azure Backup Recovery Services-tárolóban PowerShell-parancsmagok használatával.
Ebben a cikkben az alábbiakkal fog megismerkedni:
- Hozzon létre egy Recovery Services-tárolót, és állítsa be a tárolókörnyezetet.
- Biztonsági mentési szabályzat meghatározása
- A biztonsági mentési szabályzat alkalmazása több virtuális gép védelme érdekében
- Igény szerinti biztonsági mentési feladat aktiválása a védett virtuális gépekhez A virtuális gépek biztonsági mentéséhez (vagy védelméhez) el kell végeznie a környezet virtuális gépek védelmére való előkészítésének előfeltételeit .
Előkészületek
- További információ a Recovery Services-tárolókról.
- Tekintse át az Azure-beli virtuális gépek biztonsági mentésének architektúráját, ismerje meg a biztonsági mentés folyamatát, és tekintse át a támogatást, a korlátozásokat és az előfeltételeket.
- Tekintse át a Recovery Services PowerShell-objektumhierarchiáját.
Recovery Services-objektumhierarchia
Az objektumhierarchia összegzése az alábbi ábrán látható.
Tekintse át az Az.RecoveryServicesparancsmag-referenciareferenciáját az Azure-kódtárban.
Beállítás és regisztráció
Megjegyzés
Javasoljuk, hogy az Azure Az PowerShell-modullal kommunikáljon az Azure-ral. Az első lépésekért lásd: Azure PowerShell telepítése. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
A kezdéshez:
Keresse meg az elérhető Azure Backup PowerShell-parancsmagokat a következő parancs beírásával:
Get-Command *azrecoveryservices*
Megjelennek a Azure Backup, az Azure Site Recovery és a Recovery Services-tároló aliasai és parancsmagjai. Az alábbi kép egy példa arra, hogy mit fog látni. Ez nem a parancsmagok teljes listája.
Jelentkezzen be az Azure-fiókjába a Connect-AzAccount használatával. Ez a parancsmag egy weblapot jelenít meg, amely a fiók hitelesítő adatainak megadását kéri:
- Másik lehetőségként a -Credential paraméterrel megadhatja a fiók hitelesítő adatait paraméterként a Connect-AzAccount parancsmagban.
- Ha Ön egy bérlő nevében dolgozó CSP-partner, bérlőként adja meg az ügyfelet a bérlőazonosító vagy a bérlő elsődleges tartományneve használatával. Például: Connect-AzAccount -Tenant "fabrikam.com"
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 a Azure Backup, a Register-AzResourceProvider parancsmaggal regisztrálnia kell az Azure Recovery Service-szolgáltatót az előfizetésében.
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
A következő parancsokkal ellenőrizheti, hogy a szolgáltatók sikeresen regisztráltak-e:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
A parancs kimenetében a RegistrationState értéknek Regisztrált értékre kell változnia. Ha nem, futtassa újra a Register-AzResourceProvider parancsmagot.
Recovery Services-tároló létrehozása
Az alábbi lépések végigvezetik egy Recovery Services-tároló létrehozásán. A Recovery Services-tárolók különböznek a Backup-tárolóktól.
A Recovery Services-tároló egy Resource Manager erőforrás, ezért egy erőforráscsoportban kell elhelyeznie. Használhat egy meglévő erőforráscsoportot, vagy létrehozhat egy erőforráscsoportot a New-AzResourceGroup parancsmaggal. Erőforráscsoport létrehozásakor adja meg az erőforráscsoport nevét és helyét.
New-AzResourceGroup -Name "test-rg" -Location "West US"
A Recovery Services-tároló létrehozásához használja a New-AzRecoveryServicesVault parancsmagot. Ügyeljen arra, hogy ugyanazt a helyet adja meg a tárolóhoz, mint amelyet az erőforráscsoporthoz használt.
New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
Adja meg a használni kívánt tárolóredundancia típusát. Használhat helyileg redundáns tárolást (LRS),georedundáns tárolást (GRS) vagy zónaredundáns tárolást (ZRS). Az alábbi példa a testvault-BackupStorageRedundancy beállítását mutatja GeoRedundant értékre állítva.
$vault1 = Get-AzRecoveryServicesVault -Name "testvault" Set-AzRecoveryServicesBackupProperty -Vault $vault1 -BackupStorageRedundancy GeoRedundant
Tipp
Számos Azure Backup-parancsmaghoz szükséges bemenetként a helyreállítási tár objektum. Ezért célszerű a Backup Recovery Services-tároló objektumot egy változóban tárolni.
Az előfizetésben lévő tárolók megtekintése
Az előfizetés összes tárolójának megtekintéséhez használja a Get-AzRecoveryServicesVault parancsot:
Get-AzRecoveryServicesVault
A kimenet az alábbi példához hasonló, figyelje meg, hogy a társított ResourceGroupName és Location paraméter meg van adva.
Name : Contoso-vault
ID : /subscriptions/1234
Type : Microsoft.RecoveryServices/vaults
Location : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId : 1234-567f-8910-abc
Properties : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties
Azure-beli virtuális gépek biztonsági mentése
A virtuális gépek védelméhez használjon recovery services-tárolót. A védelem alkalmazása előtt állítsa be a tároló környezetét (a tárolóban védett adatok típusát), és ellenőrizze a védelmi szabályzatot. A védelmi szabályzat a biztonsági mentési feladatok futtatásának ütemezése, valamint az egyes biztonsági mentési pillanatképek megőrzésének időpontja.
Tárolókörnyezet beállítása
Mielőtt engedélyezi a védelmet egy virtuális gépen, használja a Set-AzRecoveryServicesVaultContext parancsot a tárolókörnyezet beállításához. A tárolási környezet beállítását követően az minden további parancsmagra érvényes lesz. Az alábbi példa a testvault tároló tárolókörnyezetét állítja be.
Get-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "Contoso-docs-rg" | Set-AzRecoveryServicesVaultContext
A tárolóazonosító beolvasása
Tervezzük a tárolókörnyezet beállításának elavulását Azure PowerShell irányelveknek megfelelően. Ehelyett tárolhatja vagy lekérheti a tárolóazonosítót, és továbbíthatja a megfelelő parancsok számára. Ha tehát még nem állította be a tárolókörnyezetet, vagy meg szeretné adni a futtatandó parancsot egy adott tárolóhoz, adja meg a tárolóazonosítót "-vaultID" néven az összes releváns parancsnak, az alábbiak szerint:
$targetVault = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault"
$targetVault.ID
Vagy
$targetVaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
A tárreplikációs beállítások módosítása
Használja a Set-AzRecoveryServicesBackupProperty parancsot a tároló tárolóreplikációs konfigurációjának beállításához LRS/GRS értékre
Set-AzRecoveryServicesBackupProperty -Vault $targetVault -BackupStorageRedundancy GeoRedundant/LocallyRedundant
Megjegyzés
A tárredundancia csak akkor módosítható, ha nincsenek a tárolóban védett biztonsági mentési elemek.
Védelmi szabályzat létrehozása
Helyreállítási tár létrehozásakor a tár alapértelmezett védelmi és megőrzési szabályzatokkal rendelkezik. Az alapértelmezett védelmi szabályzat naponta egyszer, adott időben aktivál egy biztonsági mentési feladatot. Az alapértelmezett megőrzési szabályzat 30 napig őrzi meg a napi helyreállítási pontokat. Az alapértelmezett szabályzattal gyorsan megvédheti a virtuális gépet, és később más részletekkel szerkesztheti a szabályzatot.
Használja a Get-AzRecoveryServicesBackupProtectionPolicy parancsot a tárolóban elérhető védelmi szabályzatok megtekintéséhez. Ezzel a parancsmaggal lekérhet egy adott szabályzatot, vagy megtekintheti a számítási feladattípushoz társított szabályzatokat. Az alábbi példa lekéri az AzureVM számításifeladat-típusra vonatkozó szabályzatokat.
Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID
A kimenet a következő példához hasonló:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
DefaultPolicy AzureVM AzureVM 4/14/2016 5:00:00 PM
Megjegyzés
A PowerShell BackupTime mezőjének időzónája UTC. Ha azonban a biztonsági mentési idő megjelenik a Azure Portal, az idő a helyi időzónához igazodik.
A biztonsági mentési védelmi szabályzat legalább egy adatmegőrzési szabályzattal van társítva. A megőrzési szabályzat határozza meg, hogy a helyreállítási pontok mennyi ideig legyenek megőrizve a törlés előtt.
- 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ályzattal kapcsolatos információkat tartalmaz.
- Az ütemezési és adatmegőrzési szabályzat objektumai bemenetként szolgálnak a New-AzRecoveryServicesBackupProtectionPolicy parancsmaghoz.
Alapértelmezés szerint a kezdési időpont az Ütemezési házirend objektumban van meghatározva. Az alábbi példában a kezdési időpontot a kívánt kezdési időpontra módosíthatja. A kívánt kezdési időpontnak UTC-ben is meg kell lennie. Az alábbi példa feltételezi, hogy a napi biztonsági mentésekhez a kívánt kezdési időpont 01:00 (UTC) lesz.
$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime
Fontos
A kezdési időpontot csak 30 perces többszörösökben kell megadnia. A fenti példában csak "01:00:00" vagy "02:30:00" lehet. A kezdési időpont nem lehet "01:15:00"
Az alábbi példa az ütemezési házirendet és a megőrzési szabályzatot változókban tárolja. A példa ezeket a változókat használja a paraméterek meghatározására a NewPolicy nevű védelmi szabályzat létrehozásakor.
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType "AzureVM" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultId $targetVault.ID
A kimenet a következő példához hasonló:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
NewPolicy AzureVM AzureVM 4/24/2016 1:30:00 AM
Védelem engedélyezése
A védelmi szabályzat definiálása után továbbra is engedélyeznie kell a szabályzatot egy elemhez. A védelem engedélyezéséhez használja az Enable-AzRecoveryServicesBackupProtection parancsot. A védelem engedélyezéséhez két objektumra van szükség: az elemre és a szabályzatra. Miután a szabályzatot társította a tárolóhoz, a biztonsági mentési munkafolyamat a szabályzatütemezésben meghatározott időpontban aktiválódik.
Fontos
Ha a PowerShell használatával egyszerre több virtuális gépről is engedélyezi a biztonsági mentést, győződjön meg arról, hogy egyetlen szabályzathoz nem tartozik több mint 100 virtuális gép. Ez egy ajánlott eljárás. Jelenleg a PowerShell-ügyfél nem tiltja le explicit módon, ha több mint 100 virtuális gép van, de az ellenőrzést a jövőben tervezik hozzáadni.
Az alábbi példák a NewPolicy szabályzatot használó V2VM elem védelmét teszik lehetővé. A példák eltérnek attól függően, hogy a virtuális gép titkosítva van-e, és hogy milyen típusú titkosításról van szó.
A nem titkosított Resource Manager virtuális gépek védelmének engedélyezése:
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID
A titkosított (BEK és KEK használatával titkosított) virtuális gépek védelmének engedélyezéséhez engedélyt kell adnia a Azure Backup szolgáltatásnak a kulcsok és titkos kódok key vaultból való beolvasására.
Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToKeys backup,get,list -PermissionsToSecrets get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID
A titkosított virtuális gépek védelmének engedélyezéséhez (csak BEK használatával titkosítva) engedélyt kell adnia a Azure Backup szolgáltatásnak a titkos kulcsok key vaultból való olvasásához.
Set-AzKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToSecrets backup,get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1" -VaultId $targetVault.ID
Megjegyzés
Ha a Azure Government felhőt használja, használja a ServicePrincipalName paraméter értékét ff281ffe-705c-4f53-9f37-a40e6f2c68f3
a Set-AzKeyVaultAccessPolicy parancsmagban.
Ha szelektíven szeretne biztonsági másolatot készíteni néhány lemezről, és kizárni másokat az ezekben a forgatókönyvekben leírtak szerint, akkor csak a megfelelő lemezek védelmét és biztonsági mentését konfigurálhatja az itt dokumentált módon.
Biztonsági mentési feladat figyelése
A Azure Portal használata nélkül figyelheti a hosszú ideig futó műveleteket, például a biztonsági mentési feladatokat. Folyamatban lévő feladat állapotának lekéréséhez használja a Get-AzRecoveryservicesBackupJob parancsmagot. Ez a parancsmag lekéri egy adott tároló biztonsági mentési feladatait, és ez a tároló a tárolókörnyezetben van megadva. Az alábbi példa tömbként lekéri egy folyamatban lévő feladat állapotát, és az állapotot a $joblist változóban tárolja.
$joblist = Get-AzRecoveryservicesBackupJob –Status "InProgress" -VaultId $targetVault.ID
$joblist[0]
A kimenet a következő példához hasonló:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- ----------
V2VM Backup InProgress 4/23/2016 5:00:30 PM cf4b3ef5-2fac-4c8e-a215-d2eba4124f27
Ahelyett, hogy lekérdezi ezeket a feladatokat a befejezéshez – ami felesleges további kód – használja a Wait-AzRecoveryServicesBackupJob parancsmagot. Ez a parancsmag szünetelteti a végrehajtást, amíg a feladat befejeződik, vagy el nem éri a megadott időtúllépési értéket.
Wait-AzRecoveryServicesBackupJob -Job $joblist[0] -Timeout 43200 -VaultId $targetVault.ID
Azure-beli virtuális gépek biztonsági mentésének kezelése
Védelmi szabályzat módosítása
A védelmi szabályzat módosításához használja a Set-AzRecoveryServicesBackupProtectionPolicy parancsot az SchedulePolicy vagy a RetentionPolicy objektumok módosításához.
Ütemezett idő módosítása
Védelmi szabályzat létrehozásakor a rendszer alapértelmezés szerint kezdési időpontot rendel hozzá. Az alábbi példák bemutatják, hogyan módosíthatja egy védelmi szabályzat kezdési időpontját.
$SchPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$UtcTime = Get-Date -Date "2019-03-20 01:00:00Z" (This is the time that you want to start the backup)
$UtcTime = $UtcTime.ToUniversalTime()
$SchPol.ScheduleRunTimes[0] = $UtcTime
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol -SchedulePolicy $SchPol -VaultId $targetVault.ID
Adatmegőrzés módosítása
Az alábbi példa 365 napra módosítja a helyreállítási pont megőrzését.
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
$retPol.DailySchedule.DurationCountInDays = 365
$pol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -VaultId $targetVault.ID
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $pol -RetentionPolicy $RetPol -VaultId $targetVault.ID
Az azonnali visszaállítás pillanatkép-megőrzésének konfigurálása
Megjegyzés
Azure PowerShell 1.6.0-s verziójától kezdve frissíthető a pillanatkép-megőrzési időszak a szabályzatban a PowerShell használatával
$bkpPol = Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM" -VaultId $targetVault.ID
$bkpPol.SnapshotRetentionInDays=7
Set-AzRecoveryServicesBackupProtectionPolicy -policy $bkpPol -VaultId $targetVault.ID
Az alapértelmezett érték 2 lesz. Az értéket legalább 1 és legfeljebb 5 értékre állíthatja be. A heti biztonsági mentési szabályzatok esetében az időszak 5-ösre van állítva, és nem módosítható.
Azure Backup erőforráscsoport létrehozása pillanatkép-megőrzés közben
Megjegyzés
A Azure PowerShell 3.7.0-s verziójától kezdve létrehozhatja és szerkesztheti az azonnali pillanatképek tárolására létrehozott erőforráscsoportot.
Az erőforráscsoport-létrehozási szabályokkal és más kapcsolódó részletekkel kapcsolatos további információkért tekintse meg Virtual Machines dokumentáció Azure Backup erőforráscsoportot.
$bkpPol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -name "DefaultPolicyForVMs"
$bkpPol.AzureBackupRGName="Contosto_"
$bkpPol.AzureBackupRGNameSuffix="ForVMs"
Set-AzureRmRecoveryServicesBackupProtectionPolicy -policy $bkpPol
Védett virtuális gép lemezeinek kizárása
Az Azure-beli virtuális gépek biztonsági mentése lehetővé teszi az ilyen esetekben hasznos lemezek szelektív kizárását vagy belefoglalását. Ha a virtuális gépet már védi az Azure-beli virtuális gép biztonsági mentése, és minden lemezről biztonsági másolatot készít, akkor módosíthatja a védelmet úgy, hogy szelektíven foglalja bele vagy zárja ki a lemezeket az itt leírtak szerint.
Biztonsági mentés aktiválása
Biztonsági mentési feladat aktiválásához használja a Backup-AzRecoveryServicesBackupItem parancsot. Ha ez a kezdeti biztonsági mentés, akkor teljes biztonsági mentés. A későbbi biztonsági mentések növekményes másolatot készítnek. Az alábbi példa egy virtuális gép biztonsági mentését 60 napig őrzi meg.
$namedContainer = Get-AzRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$item = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM" -VaultId $targetVault.ID
$endDate = (Get-Date).AddDays(60).ToUniversalTime()
$job = Backup-AzRecoveryServicesBackupItem -Item $item -VaultId $targetVault.ID -ExpiryDateTimeUTC $endDate
A kimenet a következő példához hasonló:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- ----------
V2VM Backup InProgress 4/23/2016 5:00:30 PM cf4b3ef5-2fac-4c8e-a215-d2eba4124f27
Megjegyzés
A PowerShell StartTime és EndTime mezőinek időzónája UTC. Ha azonban az idő megjelenik a Azure Portal, az idő a helyi időzónához lesz igazítva.
Biztonsági mentési elemek házirendjének módosítása
Módosíthatja a meglévő szabályzatot, vagy módosíthatja a biztonsági mentési elem szabályzatát Policy1-ről Policy2-ra. Ha biztonsági mentési elem házirendjeire szeretne váltani, kérje le a vonatkozó szabályzatot és biztonsági mentési elemet, és használja az Enable-AzRecoveryServices parancsot biztonsági mentési elemlel paraméterként.
$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID
A parancs megvárja, amíg a biztonsági mentés konfigurálása befejeződik, és a következő kimenetet adja vissza.
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
TestVM ConfigureBackup Completed 3/18/2019 8:00:21 PM 3/18/2019 8:02:16 PM 654e8aa2-4096-402b-b5a9-e5e71a496c4e
A védelem kikapcsolása
Adatok megőrzése
Ha le szeretné állítani a védelmet, használja a Disable-AzRecoveryServicesBackupProtection PowerShell parancsmagot. Ez leállítja az ütemezett biztonsági mentéseket, de az eddig biztonsági másolatban tárolt adatok örökre megmaradnak.
$bkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -Name "<backup item name>" -VaultId $targetVault.ID
Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID
Biztonsági mentés folytatása
Ha a védelem le van állítva, és a biztonsági mentési adatok megmaradnak, ismét folytathatja a védelmet. A megújult védelemhez szabályzatot kell hozzárendelnie. A parancsmag megegyezik a biztonsági mentési elemek változásszabályzatával.
$TargetPol1 = Get-AzRecoveryServicesBackupProtectionPolicy -Name <PolicyName> -VaultId $targetVault.ID
$anotherBkpItem = Get-AzRecoveryServicesBackupItem -WorkloadType AzureVM -BackupManagementType AzureVM -Name "<BackupItemName>" -VaultId $targetVault.ID
Enable-AzRecoveryServicesBackupProtection -Item $anotherBkpItem -Policy $TargetPol1 -VaultId $targetVault.ID
Biztonsági mentési adatok törlése
A tárolóban tárolt biztonsági mentési adatok teljes eltávolításához adja hozzá a "-RemoveRecoveryPoints" jelzőt/ kapcsolót a "disable" védelmi parancshoz.
Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $targetVault.ID -RemoveRecoveryPoints
Azure-beli virtuális gép visszaállítása
Fontos különbség van a virtuális gép Azure Portal használatával történő visszaállítása és a virtuális gép PowerShell-lel történő visszaállítása között. A PowerShell használatával a visszaállítási művelet befejeződik a helyreállítási pont lemezeinek és konfigurációs adatainak létrehozása után. A visszaállítási művelet nem hozza létre a virtuális gépet. Ha lemezről szeretne virtuális gépet létrehozni, olvassa el a Virtuális gép létrehozása visszaállított lemezekről című szakaszt. Ha nem szeretné visszaállítani a teljes virtuális gépet, de szeretne visszaállítani vagy helyreállítani néhány fájlt egy Azure-beli virtuális gép biztonsági mentéséből, tekintse meg a fájlhelyreállítási szakaszt.
Tipp
A visszaállítási művelet nem hozza létre a virtuális gépet.
Az alábbi ábra az objektumhierarchiát mutatja be a RecoveryServicesVaulttól a BackupRecoveryPointig.
A biztonsági mentési adatok visszaállításához azonosítsa a biztonsági mentési elemet és az időponthoz kötött adatokat tároló helyreállítási pontot. A Restore-AzRecoveryServicesBackupItem paranccsel visszaállíthatja az adatokat a tárból a fiókjába.
Az Azure-beli virtuális gépek visszaállításának alapvető lépései a következők:
- Válassza ki a virtuális gépet.
- Válasszon egy helyreállítási pontot.
- Állítsa vissza a lemezeket.
- Hozza létre a virtuális gépet a tárolt lemezekről.
Mostantól a PowerShell használatával közvetlenül is visszaállíthatja a biztonsági mentési tartalmat egy virtuális gépre (eredeti/új), anélkül, hogy külön hajtja végre a fenti lépéseket. További információ: Adatok visszaállítása virtuális gépre a PowerShell használatával.
Válassza ki a virtuális gépet (fájlok visszaállításakor)
A megfelelő biztonsági mentési elemet azonosító PowerShell-objektum lekéréséhez kezdje a tárolóból, és lépjen lefelé az objektumhierarchián. A virtuális gépet képviselő tároló kiválasztásához használja a Get-AzRecoveryServicesBackupContainer parancsmagot, és adja meg a Get-AzRecoveryServicesBackupItem parancsmagnak.
$namedContainer = Get-AzRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM" -VaultId $targetVault.ID
Helyreállítási pont kiválasztása (fájlok visszaállításakor)
A Get-AzRecoveryServicesBackupRecoveryPoint parancsmaggal listázhatja a biztonsági mentési elem összes helyreállítási pontjának listáját. Ezután válassza ki a visszaállítani kívánt helyreállítási pontot. Ha nem biztos abban, hogy melyik helyreállítási pontot szeretné használni, érdemes a listában a legutóbbi RecoveryPointType = AppConsistent pontot választani.
A következő szkriptben a $rp változó a kijelölt biztonsági mentési elem helyreállítási pontjainak tömbje az elmúlt hét napból. A tömb fordított sorrendben van rendezve, a legújabb helyreállítási pont pedig a 0 indexben. A helyreállítási pont kiválasztásához használja a standard PowerShell-tömbindexelést. A példában $rp[0] kiválasztja a legújabb helyreállítási pontot.
$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]
A kimenet a következő példához hasonló:
RecoveryPointAdditionalInfo :
SourceVMStorageType : NormalStorage
Name : 15260861925810
ItemName : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType : AppConsistent
RecoveryPointTime : 4/23/2016 5:02:04 PM
WorkloadType : AzureVM
ContainerName : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType : AzureVM
BackupManagementType : AzureVM
A lemezek visszaállítása
A Restore-AzRecoveryServicesBackupItem parancsmaggal visszaállíthatja egy biztonsági mentési elem adatait és konfigurációját egy helyreállítási pontra. Miután azonosított egy helyreállítási pontot, használja azt a -RecoveryPoint paraméter értékeként. A fenti mintában $rp[0] volt a használni kívánt helyreállítási pont. Az alábbi mintakódban $rp[0] a lemez visszaállításához használandó helyreállítási pont.
A lemezek és a konfigurációs adatok visszaállítása:
$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID
$restorejob
Felügyelt lemezek visszaállítása
Megjegyzés
Ha a háttérbeli virtuális gép rendelkezik felügyelt lemezekkel, és felügyelt lemezként szeretné visszaállítani őket, bevezettük a képességet Azure PowerShell RM modul 6.7.0-s verzióban. Től.
Adjon meg egy további TargetResourceGroupName paramétert annak az RG-nek a megadásához, amelyre a felügyelt lemezek vissza lesznek állítva.
Fontos
Erősen ajánlott a TargetResourceGroupName paramétert használni a felügyelt lemezek visszaállításához, mivel jelentős teljesítménybeli javulást eredményez. Ha ez a paraméter nincs megadva, akkor nem használhatja ki az azonnali visszaállítási funkciót, és a visszaállítási művelet lassabb lesz. Ha a cél a felügyelt lemezek nem felügyelt lemezekként való visszaállítása, akkor ne adja meg ezt a paramétert, és a paraméter megadásával tegye egyértelművé a -RestoreAsUnmanagedDisks
szándékot. A -RestoreAsUnmanagedDisks
paraméter a Azure PowerShell 3.7.0-tól kezdve érhető el. A jövőbeli verziókban kötelező lesz ezen paraméterek egyikét megadni a megfelelő visszaállítási élmény érdekében.
$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID
A VMConfig.JSON fájl vissza lesz állítva a tárfiókba, és a felügyelt lemezek a megadott cél RG-be lesznek visszaállítva.
A kimenet a következő példához hasonló:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- ----------
V2VM Restore InProgress 4/23/2016 5:00:30 PM cf4b3ef5-2fac-4c8e-a215-d2eba4124f27
A Wait-AzRecoveryServicesBackupJob parancsmaggal várja meg, amíg a visszaállítási feladat befejeződik.
Wait-AzRecoveryServicesBackupJob -Job $restorejob -Timeout 43200
A visszaállítási feladat befejezése után a Get-AzRecoveryServicesBackupJobDetail parancsmaggal kérje le a visszaállítási művelet részleteit. A JobDetails tulajdonság tartalmazza a virtuális gép újraépítéséhez szükséges információkat.
$restorejob = Get-AzRecoveryServicesBackupJob -Job $restorejob -VaultId $targetVault.ID
$details = Get-AzRecoveryServicesBackupJobDetail -Job $restorejob -VaultId $targetVault.ID
Felügyelt identitás használata lemezek visszaállításához
Azure Backup lehetővé teszi a felügyelt identitás (MSI) használatát is a visszaállítási művelet során azokhoz a tárfiókokhoz való hozzáféréshez, amelyekbe lemezeket kell visszaállítani. Ez a beállítás jelenleg csak felügyelt lemez-visszaállítás esetén támogatott.
Ha a tároló rendszer által hozzárendelt felügyelt identitását szeretné használni a lemezek visszaállításához, adjon át egy további -UseSystemAssignedIdentity jelzőt a Restore-AzRecoveryServicesBackupItem parancsnak. Ha felhasználó által hozzárendelt felügyelt identitást szeretne használni, adjon meg egy -UserAssignedIdentityId paramétert a tároló felügyelt identitásának Azure Resource Manager-azonosítójával a paraméter értékeként. Ebből a cikkből megtudhatja, hogyan engedélyezheti a felügyelt identitásokat a tárolókhoz.
Szelektív lemezek visszaállítása
A felhasználók a teljes biztonsági mentési készlet helyett csak néhány lemezt állíthatnak vissza. Adja meg a szükséges lemez LUN-okat paraméterként, hogy csak az itt dokumentált teljes készlet helyett állítsa vissza őket.
Fontos
A lemezek szelektív visszaállításához szelektíven kell biztonsági másolatot készíteni a lemezekről. További részleteket itt talál.
A lemezek visszaállítása után lépjen a következő szakaszra a virtuális gép létrehozásához.
Lemezek visszaállítása másodlagos régióba
Ha a régiók közötti visszaállítás engedélyezve van azon a tárolón, amellyel védte a virtuális gépeket, a biztonsági mentési adatok a másodlagos régióba lesznek replikálva. A biztonsági mentési adatok használatával visszaállítást hajthat végre. Hajtsa végre a következő lépéseket egy visszaállítás indításához a másodlagos régióban:
Kérje le azt a tárolóazonosítót , amellyel a virtuális gépek védettek.
Válassza ki a visszaállítani kívánt biztonsági mentési elemet.
Válassza ki a visszaállításhoz használni kívánt másodlagos régióban a megfelelő helyreállítási pontot.
A lépés végrehajtásához futtassa a következő parancsot:
$rp=Get-AzRecoveryServicesBackupRecoveryPoint -UseSecondaryRegion -Item $backupitem -VaultId $targetVault.ID $rp=$rp[0]
Futtassa a Restore-AzRecoveryServicesBackupItem parancsmagot a paraméterrel,
-RestoreToSecondaryRegion
hogy visszaállítást aktiváljon a másodlagos régióban.A lépés végrehajtásához futtassa a következő parancsot:
$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -TargetResourceGroupName "DestRGforManagedDisks" -VaultId $targetVault.ID -VaultLocation $targetVault.Location -RestoreToSecondaryRegion -RestoreOnlyOSDisk
A kimenet az alábbi példához hasonló lesz:
WorkloadName Operation Status StartTime EndTime JobID ------------ --------- ------ --------- ------- ---------- V2VM CrossRegionRestore InProgress 4/23/2016 5:00:30 PM cf4b3ef5-2fac-4c8e-a215-d2eba4124f27
Hajtsa végre a Get-AzRecoveryServicesBackupJob parancsmagot a paraméterrel a
-UseSecondaryRegion
visszaállítási feladat monitorozásához.A lépés végrehajtásához futtassa a következő parancsot:
Get-AzRecoveryServicesBackupJob -From (Get-Date).AddDays(-7).ToUniversalTime() -To (Get-Date).ToUniversalTime() -UseSecondaryRegion -VaultId $targetVault.ID
A kimenet az alábbi példához hasonló lesz:
WorkloadName Operation Status StartTime EndTime JobID ------------ --------- ------ --------- ------- ----- V2VM CrossRegionRestore InProgress 2/8/2021 4:24:57 PM 2d071b07-8f7c-4368-bc39-98c7fb2983f7
Zónák közötti visszaállítás
Az Azure-zónában rögzített virtuális gépeket visszaállíthatja ugyanazon régió bármely rendelkezésre állási zónájában .
Ha vissza szeretne állítani egy virtuális gépet egy másik zónába, adja meg a TargetZoneNumber
paramétert a Restore-AzRecoveryServicesBackupItem parancsmagban.
$restorejob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG" -VaultId $targetVault.ID -TargetZoneNumber 3
A kimenet az alábbi példához hasonló lesz:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
zonevmeus2 Restore InProgress 1/3/2022 10:27:20 AM b2298...
A zónák közötti visszaállítás csak olyan esetekben támogatott, amikor:
- A forrás virtuális gép zóna van rögzítve, és NINCS titkosítva.
- A helyreállítási pont csak a tárolószinten van jelen. Csak pillanatképek, illetve pillanatkép- és tárolószintek nem támogatottak.
- A helyreállítási lehetőség egy új virtuális gép létrehozása vagy lemezek visszaállítása. A Lemezek cseréje beállítás lecseréli a forrásadatokat; ezért a rendelkezésre állási zóna lehetőség nem alkalmazható.
- Virtuális gépek/lemezek létrehozása ugyanabban a régióban, ha a tároló tárhelyredundanciája ZRS. Vegye figyelembe, hogy nem működik, ha a tároló tárolási redundanciája GRS, annak ellenére, hogy a forrás virtuális gép zóna van rögzítve.
- Virtuális gépek/lemezek létrehozása a párosított régióban, ha a tároló tárredundanciája engedélyezve van a régiók közötti visszaállításhoz, és ha a párosított régió támogatja a zónákat.
Lemezek cseréje azure-beli virtuális gépen
A lemezek és a konfigurációs adatok cseréjéhez hajtsa végre a következő lépéseket:
- 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.
Megjegyzé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ó: Egyéni Azure-szerepkörök.
- A lemezek visszaállítása után beszerezhet egy üzembe helyezési sablont, amelyet közvetlenül használhat új virtuális gép létrehozásához. A felügyelt/nem felügyelt virtuális gépek létrehozásához nincs szükség különböző PowerShell-parancsmagokra, amelyek titkosítottak vagy titkosítatlanok.
Virtuális gép létrehozása az üzembe helyezési sablonnal
Az eredményül kapott feladat részletei megadják a lekérdezhető és üzembe helyezhető sablon URI-ját.
$properties = $details.properties
$storageAccountName = $properties["Target Storage Account Name"]
$containerName = $properties["Config Blob Container Name"]
$templateBlobURI = $properties["Template Blob Uri"]
A sablon nem érhető el közvetlenül, mivel az ügyfél tárfiókja és az adott tároló alatt található. A sablon eléréséhez szükségünk van a teljes URL-címre (egy ideiglenes SAS-jogkivonattal együtt).
Először bontsa ki a sablon nevét a templateBlobURI fájlból. A formátumot az alábbiakban említettük. A PowerShell felosztási műveletével kinyerheti a végső sablonnevet ebből az URL-címből.
https://<storageAccountName.blob.core.windows.net>/<containerName>/<templateName>
Ezután létrehozhatja a teljes URL-címet az itt ismertetett módon.
Set-AzCurrentStorageAccount -Name $storageAccountName -ResourceGroupName <StorageAccount RG name> $templateBlobFullURI = New-AzStorageBlobSASToken -Container $containerName -Blob <templateName> -Permission r -FullUri
Helyezze üzembe a sablont egy új virtuális gép létrehozásához az itt ismertetett módon.
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateUri $templateBlobFullURI
Virtuális gép létrehozása a konfigurációs fájllal
A következő szakasz a virtuális gép VMConfig-fájllal történő létrehozásához szükséges lépéseket sorolja fel.
Megjegyzés
Erősen ajánlott a fent részletezett üzembehelyezési sablont használni egy virtuális gép létrehozásához. Ez a szakasz (1–6. pont) hamarosan elavult.
A feladat részleteinek lekérdezése a visszaállított lemeztulajdonságok között.
$properties = $details.properties $storageAccountName = $properties["Target Storage Account Name"] $containerName = $properties["Config Blob Container Name"] $configBlobName = $properties["Config Blob Name"]
Á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"
Csatlakoztassa az operációsrendszer-lemezt és az adatlemezeket. Ez a lépés példákat tartalmaz a különböző felügyelt és titkosított virtuálisgép-konfigurációkra. Használja a virtuális gép konfigurációjának megfelelő példát.
- Nem felügyelt és nem titkosított virtuális gépek – Használja az alábbi mintát a nem felügyelt, nem titkosított virtuális gépekhez.
Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach" $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType foreach($dd in $obj.'properties.StorageProfile'.DataDisks) { $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach" }
- Nem felügyelt és titkosított virtuális gépek Azure AD (csak BEK esetén) – Nem felügyelt, titkosított virtuális gépek Azure AD (csak BEK használatával titkosítva), a kulcstartóba kell visszaállítania a titkos kódot, mielőtt lemezeket csatolhat. További információ: Titkosított virtuális gép visszaállítása Azure Backup helyreállítási pontról. Az alábbi minta bemutatja, hogyan csatolhat operációs rendszert és adatlemezeket titkosított virtuális gépekhez. Az operációsrendszer-lemez beállításakor mindenképpen említse meg a megfelelő operációsrendszer-típust.
$dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163" $dekUrl = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault" Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows/Linux $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType foreach($dd in $obj.'properties.storageProfile'.dataDisks) { $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach" }
- Nem felügyelt és titkosított virtuális gépek Azure AD (BEK és KEK) – A Azure AD (BEK és KEK használatával titkosított) nem felügyelt, titkosított virtuális gépek esetén a lemezek csatolása előtt állítsa vissza a kulcsot és a titkos kulcsot a kulcstartóba. További információ: Titkosított virtuális gép visszaállítása Azure Backup helyreállítási pontról. Az alábbi minta bemutatja, hogyan csatolhat operációs rendszert és adatlemezeket titkosított virtuális gépekhez.
$dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163" $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006" $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault" Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType foreach($dd in $obj.'properties.storageProfile'.dataDisks) { $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach" }
- Nem felügyelt és titkosított virtuális gépek Azure AD nélkül (csak BEK esetén) – Nem felügyelt, titkosított, Azure AD nélküli virtuális gépek esetén (csak BEK használatával titkosítva), ha a forráskulcsVault/secret nem áll rendelkezésre, állítsa vissza a titkos kulcsokat a kulcstartóba a nem titkosított virtuális gépek visszaállítása Azure Backup helyreállítási pontról című témakörben leírt eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-blob titkosítási részleteinek beállításához (ez a lépés nem szükséges adatblobokhoz). A $dekurl a visszaállított keyVaultból lehet lekérni.
A következő szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/secret nem érhető el.
$dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163" $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault" $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""}}]}" $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd" $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting $osBlob.ICloudBlob.SetMetadata()
Miután a titkos kódok elérhetővé válnak , és a titkosítási adatok is be vannak állítva az operációsrendszer-blobon, csatolja a lemezeket az alábbi szkripttel.
Ha a forráskulcsVault/secrets már elérhető, akkor a fenti szkriptet nem kell végrehajtani.
Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach" $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType foreach($dd in $obj.'properties.StorageProfile'.DataDisks) { $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach" }
- Nem felügyelt és titkosított virtuális gépek Azure AD nélkül (BEK és KEK) – Nem felügyelt, titkosított, Azure AD nélküli (BEK & KEK használatával titkosított) virtuális gépek esetén, ha a forráskulcsVault/kulcs/titkos kulcs nem áll rendelkezésre, állítsa vissza a kulcsot és a titkos kulcsokat a kulcstartóba a nem titkosított virtuális gépek visszaállítása Azure Backup helyreállítási pontból című témakörben leírt eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-blob titkosítási részleteinek beállításához (ez a lépés nem szükséges adatblobokhoz). A $dekurl és a $kekurl lekérhetők a visszaállított keyVaultból.
Az alábbi szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/key/secret nem érhető el.
$dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163" $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006" $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault" $encSetting = "{""encryptionEnabled"":true,""encryptionSettings"":[{""diskEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""secretUrl"":""$dekUrl""},""keyEncryptionKey"":{""sourceVault"":{""id"":""$keyVaultId""},""keyUrl"":""$kekUrl""}}]}" $osBlobName = $obj.'properties.StorageProfile'.osDisk.name + ".vhd" $osBlob = Get-AzStorageBlob -Container $containerName -Blob $osBlobName $osBlob.ICloudBlob.Metadata["DiskEncryptionSettings"] = $encSetting $osBlob.ICloudBlob.SetMetadata()
Miután a kulcs/titkos kulcsok elérhetővé válnak , és a titkosítási adatok be vannak állítva az operációsrendszer-blobon, csatolja a lemezeket az alábbi szkripttel.
Ha a forráskulcsVault/key/secrets elérhető, akkor a fenti szkriptet nem kell végrehajtani.
Set-AzVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach" $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType foreach($dd in $obj.'properties.StorageProfile'.DataDisks) { $vm = Add-AzVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach" }
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 Azure AD (csak BEK esetén) – A Azure AD (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 Azure AD (BEK és KEK) – A Azure AD (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 Azure AD nélkül (csak BEK esetén) – Felügyelt, titkosított, Azure AD nélküli virtuális gépek esetén (csak BEK használatával titkosítva), ha a forráskulcsVault/secret nem áll rendelkezésre, állítsa vissza a titkos kulcsokat a kulcstartóba a nem titkosított virtuális gépek visszaállítása Azure Backup helyreállítási pontról című témakörben leírt eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-lemez titkosítási részleteinek beállításához (ez a lépés adatlemezhez nem szükséges). A $dekurl a visszaállított keyVaultból lehet lekérni.
Az alábbi szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/secret nem érhető el.
$dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163" $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault" $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement] $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement) $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1" Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
Miután a titkos kulcsok elérhetővé válnak, és a titkosítási adatok be vannak állítva az operációsrendszer-lemezen, a visszaállított felügyelt lemezek csatolásához lásd: Adatlemez csatolása Windows rendszerű virtuális géphez a PowerShell használatával.
- Felügyelt és titkosított virtuális gépek Azure AD nélkül (BEK és KEK) – A Azure AD nélküli felügyelt, titkosított virtuális gépek esetében (a BEK & KEK használatával titkosítva), ha a forráskulcsVault/kulcs/titkos kulcs nem érhető el, állítsa vissza a kulcsot és a titkos kulcsokat a Kulcstartóba a nem titkosított virtuális gépek visszaállítása Azure Backup helyreállítási pontról című témakörben leírt eljárással. Ezután hajtsa végre a következő szkripteket a visszaállított operációsrendszer-lemez titkosítási részleteinek beállításához (ez a lépés adatlemezekhez nem szükséges). A $dekurl és a $kekurl lekérhetők a visszaállított keyVaultból.
A következő szkriptet csak akkor kell végrehajtani, ha a forráskulcsVault/key/secret nem érhető el.
$dekUrl = "https://ContosoKeyVault.vault.azure.net/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163" $kekUrl = "https://ContosoKeyVault.vault.azure.net/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006" $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault" $diskupdateconfig = New-AzDiskUpdateConfig -EncryptionSettingsEnabled $true $encryptionSettingsElement = New-Object Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement $encryptionSettingsElement.DiskEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndSecretReference $encryptionSettingsElement.DiskEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault $encryptionSettingsElement.DiskEncryptionKey.SourceVault.Id = $keyVaultId $encryptionSettingsElement.DiskEncryptionKey.SecretUrl = $dekUrl $encryptionSettingsElement.KeyEncryptionKey = New-Object Microsoft.Azure.Management.Compute.Models.KeyVaultAndKeyReference $encryptionSettingsElement.KeyEncryptionKey.SourceVault = New-Object Microsoft.Azure.Management.Compute.Models.SourceVault $encryptionSettingsElement.KeyEncryptionKey.SourceVault.Id = $keyVaultId $encryptionSettingsElement.KeyEncryptionKey.KeyUrl = $kekUrl $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings = New-Object System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.EncryptionSettingsElement] $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettings.Add($encryptionSettingsElement) $diskupdateconfig.EncryptionSettingsCollection.EncryptionSettingsVersion = "1.1" Update-AzDisk -ResourceGroupName "testvault" -DiskName $obj.'properties.StorageProfile'.osDisk.name -DiskUpdate $diskupdateconfig
Miután a kulcs/titkos kulcsok elérhetővé válnak, és a titkosítási adatok be vannak állítva az operációsrendszer-lemezen, a visszaállított felügyelt lemezek csatolásához lásd: Adatlemez csatolása Windows rendszerű virtuális géphez a PowerShell használatával.
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
ADE-bővítmény leküldése. Ha az ADE-bővítmények leküldése nem történik meg, akkor az adatlemezek titkosítatlanként lesznek megjelölve, ezért az alábbi lépések végrehajtása kötelező:
Azure AD rendelkező virtuális gépek esetén – Az alábbi paranccsal manuálisan engedélyezheti a titkosítást az adatlemezeken
Csak BEK
Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -VolumeType Data
BEK és KEK
Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
Azure AD nélküli virtuális gépek esetén – Az alábbi paranccsal manuálisan engedélyezheti az adatlemezek titkosítását.
Ha a parancs végrehajtása során AADClientID-t kér, frissítenie kell a Azure PowerShell.
Csak BEK
Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
BEK és KEK
Set-AzVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm.Name -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -SkipVmBackup -VolumeType "All"
Megjegyzés
Győződjön meg arról, hogy manuálisan törli a titkosított virtuális gép visszaállítási lemezfolyamatának részeként létrehozott JASON-fájlokat.
Fájlok visszaállítása Azure-beli virtuális gépek biztonsági mentéséből
A lemezek visszaállítása mellett egyes fájlokat is visszaállíthat egy Azure-beli virtuális gép biztonsági másolatából. A fájlok visszaállítása funkció hozzáférést biztosít a helyreállítási pontban lévő összes fájlhoz. A fájlokat a normál fájlokhoz hasonlóan Fájlkezelő kezelheti.
A fájlok Azure-beli virtuális gépek biztonsági mentéséből történő visszaállításának alapvető lépései a következők:
- Válassza ki a virtuális gépet
- Helyreállítási pont kiválasztása
- A helyreállítási pont lemezeinek csatlakoztatása
- A szükséges fájlok másolása
- A lemez leválasztása
Válassza ki a virtuális gépet (a virtuális gép visszaállításakor)
A megfelelő biztonsági mentési elemet azonosító PowerShell-objektum lekéréséhez kezdje a tárolóból, és haladjon végig az objektumhierarchián. A virtuális gépet képviselő tároló kiválasztásához használja a Get-AzRecoveryServicesBackupContainer parancsmagot, és adja meg a Get-AzRecoveryServicesBackupItem parancsmagnak.
$namedContainer = Get-AzRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM" -VaultId $targetVault.ID
$backupitem = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM" -VaultId $targetVault.ID
Helyreállítási pont kiválasztása (a virtuális gép visszaállításakor)
A Get-AzRecoveryServicesBackupRecoveryPoint parancsmaggal listázhatja a biztonsági mentési elem összes helyreállítási pontját. Ezután válassza ki a visszaállítani kívánt helyreállítási pontot. Ha nem biztos abban, hogy melyik helyreállítási pontot használja, érdemes a listában a legutóbbi RecoveryPointType = AppConsistent pontot választani.
A következő szkriptben a $rp változó a kiválasztott biztonsági mentési elem helyreállítási pontjainak tömbje az elmúlt hét napból. A tömb fordított sorrendben van rendezve, a legújabb helyreállítási ponttal a 0.indexnél. A helyreállítási pont kiválasztásához használja a standard PowerShell-tömbindexelést. A példában $rp[0] kiválasztja a legújabb helyreállítási pontot.
$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime() -VaultId $targetVault.ID
$rp[0]
A kimenet a következő példához hasonló:
RecoveryPointAdditionalInfo :
SourceVMStorageType : NormalStorage
Name : 15260861925810
ItemName : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType : AppConsistent
RecoveryPointTime : 4/23/2016 5:02:04 PM
WorkloadType : AzureVM
ContainerName : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType : AzureVM
BackupManagementType : AzureVM
A helyreállítási pont lemezeinek csatlakoztatása
A Get-AzRecoveryServicesBackupRPMountScript parancsmaggal kérje le a szkriptet a helyreállítási pont összes lemezének csatlakoztatásához.
Megjegyzés
A lemezek iSCSI-hez csatlakoztatott lemezként vannak csatlakoztatva ahhoz a géphez, amelyen a szkript fut. A csatlakoztatás azonnal megtörténik, és nem kell díjat fizetnie.
Get-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID
A kimenet a következő példához hasonló:
OsType Password Filename
------ -------- --------
Windows e3632984e51f496 V2VM_wus2_8287309959960546283_451516692429_cbd6061f7fc543c489f1974d33659fed07a6e0c2e08740.exe
Futtassa a szkriptet azon a gépen, amelyen helyre szeretné állítani a fájlokat. A szkript végrehajtásához meg kell adnia a megadott jelszót. A lemezek csatolása után a Windows Fájlkezelő használatával tallózhat az új kötetek és fájlok között. További információ: Fájlok helyreállítása az Azure-beli virtuális gépek biztonsági mentéséből című biztonsági mentési cikk.
A lemezek leválasztása
A szükséges fájlok másolása után a Disable-AzRecoveryServicesBackupRPMountScript használatával válassza le a lemezeket. Ügyeljen arra, hogy leválasztsa a lemezeket, hogy a helyreállítási pont fájljaihoz való hozzáférés el legyen távolítva.
Disable-AzRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0] -VaultId $targetVault.ID
Adatok visszaállítása virtuális gépre a PowerShell használatával
Mostantól közvetlenül visszaállíthatja az adatokat az eredeti/alternatív virtuális gépre több lépés végrehajtása nélkül.
Adatok visszaállítása az eredeti virtuális gépre
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$OriginalLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -VaultId $vault.ID -VaultLocation $vault.Location
WorkloadName Operation Status StartTime EndTime
------------ --------- ------ --------- -------
V2VM Restore InProgress 26-Apr-16 1:14:01 PM 01-Jan-01 12:00:00 AM
Az utolsó parancs elindít egy eredeti hely-visszaállítási műveletet az adatok helyben történő visszaállításához a meglévő virtuális gépen.
Adatok visszaállítása újonnan létrehozott virtuális gépre
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "resourceGroup" -Name "vaultName"
$BackupItem = Get-AzRecoveryServicesBackupItem -BackupManagementType "AzureVM" -WorkloadType "AzureVM" -Name "V2VM" -VaultId $vault.ID
$StartDate = (Get-Date).AddDays(-7)
$EndDate = Get-Date
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -StartDate $StartDate.ToUniversalTime() -EndDate $EndDate.ToUniversalTime() -VaultId $vault.ID
$AlternateLocationRestoreJob = Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -TargetResourceGroupName "Target_RG" -StorageAccountName "DestStorageAccount" -StorageAccountResourceGroupName "DestStorageAccRG" -TargetVMName "TagetVirtualMachineName" -TargetVNetName "Target_VNet" -TargetVNetResourceGroup "" -TargetSubnetName "subnetName" -VaultId $vault.ID -VaultLocation $vault.Location
WorkloadName Operation Status StartTime EndTime
------------ --------- ------ --------- -------
V2VM Restore InProgress 26-Apr-16 1:14:01 PM 01-Jan-01 12:00:00 AM
Az utolsó parancs elindít egy alternatív hely-visszaállítási műveletet, amely új virtuális gépet hoz létre Target_RG erőforráscsoportban a TargetVMName, TargetVNetName, TargetVNetName, TargetVNetResourceGroup, TargetSubnetName paraméterek által megadott bemeneteknek megfelelően. Ez biztosítja az adatok visszaállítását a szükséges virtuális gépen, virtuális hálózaton és alhálózaton.
Következő lépések
Ha inkább a PowerShellt szeretné használni az Azure-erőforrások használatához, tekintse meg a Windows Server biztonsági mentésének üzembe helyezése és kezelése című PowerShell-cikket. Ha a DPM biztonsági másolatait kezeli, tekintse meg a DPM biztonsági mentésének üzembe helyezése és kezelése című cikket.