Säkerhetskopiera en Azure-filresurs med hjälp av PowerShell
Den här artikeln beskriver hur du använder Azure PowerShell för att säkerhetskopiera en Azure Files-filresurs via ett Azure Backup Recovery Services-valv.
I den här artikeln förklaras hur du
- Konfigurera PowerShell och registrera Recovery Services-providern.
- Skapa ett Recovery Services-valv.
- Konfigurera säkerhetskopiering för en Azure-filresurs.
- Kör ett säkerhetskopieringsjobb.
Innan du börjar
Läs mer om Recovery Services-valv.
Granska referensreferensen för Az.RecoveryServices-cmdleten i Azure-biblioteket.
Granska följande PowerShell-objekthierarki för Recovery Services:
Konfigurera PowerShell
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Kommentar
Azure PowerShell stöder för närvarande inte säkerhetskopieringsprinciper med timschema. Använd Azure-portalen för att utnyttja den här funktionen. Läs mer
Konfigurera PowerShell på följande sätt:
Ladda ned den senaste versionen av Azure PowerShell.
Kommentar
Den lägsta PowerShell-version som krävs för säkerhetskopiering av Azure-filresurser är Az.RecoveryServices 2.6.0. Med den senaste versionen, eller åtminstone den lägsta versionen, kan du undvika problem med befintliga skript. Installera den lägsta versionen med hjälp av följande PowerShell-kommando:
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Hitta PowerShell-cmdletarna för Azure Backup med hjälp av det här kommandot:
Get-Command *azrecoveryservices*
Granska alias och cmdletar för Azure Backup, Azure Site Recovery och Recovery Services-valvet. Här är ett exempel på vad du kan se. Det är inte en fullständig lista över cmdletar.
Logga in på ditt Azure-konto med hjälp av Connect-AzAccount.
På webbsidan som visas uppmanas du att ange dina autentiseringsuppgifter för kontot.
Du kan också inkludera dina kontoautentiseringsuppgifter som en parameter i cmdleten Connect-AzAccount med hjälp av -Credential.
Om du är en CSP-partner som arbetar för en klientorganisation anger du kunden som klientorganisation. Använd deras klientorganisations-ID eller klientorganisationens primära domännamn. Ett exempel är Connect-AzAccount -Tenant "fabrikam.com".
Associera den prenumeration som du vill använda med kontot eftersom ett konto kan ha flera prenumerationer:
Select-AzSubscription -SubscriptionName $SubscriptionName
Om du använder Azure Backup för första gången använder du cmdleten Register-AzResourceProvider för att registrera Azure Recovery Services-providern med din prenumeration:
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
Kontrollera att providrar har registrerats:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
I kommandots utdata kontrollerar du att RegistrationState ändras till Registrerad. Om den inte gör det kör du cmdleten Register-AzResourceProvider igen.
Skapa ett Recovery Services-valv
Recovery Services-valvet är en Resource Manager-resurs, så du måste placera det i en resursgrupp. Du kan använda en befintlig resursgrupp eller skapa en resursgrupp med hjälp av cmdleten New-AzResourceGroup . När du skapar en resursgrupp anger du namnet och platsen för den.
Följ dessa steg för att skapa ett Recovery Services-valv:
Om du inte har någon befintlig resursgrupp skapar du en ny med hjälp av cmdleten New-AzResourceGroup . I det här exemplet skapar vi en resursgrupp i regionen USA, västra:
New-AzResourceGroup -Name "test-rg" -Location "West US"
Använd cmdleten New-AzRecoveryServicesVault för att skapa valvet. Ange samma plats för valvet som du använde för resursgruppen.
New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
Visa valven i en prenumeration
Om du vill visa alla valv i prenumerationen använder du Get-AzRecoveryServicesVault:
Get-AzRecoveryServicesVault
Utdata liknar följande. Observera att utdata innehåller den associerade resursgruppen och platsen.
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
Ange valvkontexten
Lagra valvobjektet i en variabel och ange valvkontexten.
Många Azure Backup-cmdletar kräver Recovery Services-valvobjektet som indata, så det är praktiskt att lagra valvobjektet i en variabel.
Valvets sammanhang är typen av data som skyddas i valvet. Ange det med Set-AzRecoveryServicesVaultContext. När kontexten har angetts gäller den för alla efterföljande cmdletar.
I följande exempel anges valvkontexten för testvault:
Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext
Hämta valv-ID:t
Vi planerar att inaktuella inställningen för valvkontexten i enlighet med Azure PowerShell-riktlinjerna. I stället kan du lagra eller hämta valv-ID:t och skicka det till relevanta kommandon. Om du inte har angett valvkontexten eller om du vill ange kommandot som ska köras för ett visst valv skickar du valv-ID:t -vaultID
enligt alla relevanta kommandon på följande sätt:
$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID
Konfigurera en säkerhetskopieringspolicy
En säkerhetskopieringsprincip anger schemat för säkerhetskopieringar och hur länge säkerhetskopieringsåterställningspunkter ska behållas.
En säkerhetskopieringsprincip är associerad med minst en kvarhållningsprincip. En kvarhållningsprincip definierar hur länge en återställningspunkt sparas innan den tas bort. Du kan konfigurera säkerhetskopior med kvarhållning varje dag, varje vecka, varje månad eller år. Med flera säkerhetskopieringsprinciper kan du även konfigurera kvarhållning av säkerhetskopior per timme.
Viktigt!
Följande cmdletar används för säkerhetskopieringsprinciperna:
- Visa standardprincipen för kvarhållning av säkerhetskopior med hjälp
Get-AzRecoveryServicesBackupRetentionPolicyObject
av . - Visa standardprincipen för säkerhetskopieringsschema med hjälp
Get-AzRecoveryServicesBackupSchedulePolicyObject
av . - Skapa en ny säkerhetskopieringsprincip med hjälp
New-AzRecoveryServicesBackupProtectionPolicy
av . Ange schema- och kvarhållningsprincipobjekt som indata.
Följ dessa steg för att skapa en säkerhetskopieringsprincip som konfigurerar flera säkerhetskopior om dagen:
Hämta schemaprincipobjektet med hjälp av cmdleten nedan:
$schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly $schPol
Utdatan liknar följande:
ScheduleRunFrequency : Hourly ScheduleRunDays : ScheduleRunTimes : ScheduleInterval : 8 ScheduleWindowStartTime : 12/22/2021 8:00:00 AM ScheduleWindowDuration : 16 ScheduleRunTimeZone : India Standard Time
Ange de olika parametrarna i schemat efter behov.
$schpol.ScheduleInterval=4 $schpol.ScheduleWindowDuration=12
Den tidigare konfigurationen hjälper dig att schemalägga 4 säkerhetskopior om dagen i ett fönster mellan 08.00 och 20.00 (08.00+12 timmar). Du kan också ange tidszonen enligt följande cmdlet:
$timeZone= $timeZone=Get-TimeZone -ListAvailable |Where-Object{$_.Id-match "Russia Time Zone 11"} $schPol.ScheduleRunTimeZone=$timeZone.Id
Om du vill skapa en princip med dagligt schema kör du följande cmdlet:
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z" $UtcTime = $UtcTime.ToUniversalTime() $schpol.ScheduleRunTimes[0] = $UtcTime
Hämta kvarhållningsprincipobjektet med hjälp av följande cmdlet:
$retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
Ange kvarhållningsvärdena efter behov.
$retPol.DailySchedule.DurationCountInDays=15
Skapa en ny säkerhetskopieringsprincip med New-AzRecoveryServicesBackupProtectionPolicy.
Du kan skicka schema- och kvarhållningsprincipobjekt som angetts tidigare som indata.
New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpol
Utdata visar principkonfigurationen:
Name WorkloadType BackupManagementType ScheduleFrequency BackupTime WindowStartTime Interval WindowDuration TimeZone (UTC) (Hours) ---- ------------ -------------------- ----------------- ------------ --------------- -------- -------------- -------- FilesPolicy testing AzureFiles AzureStorage Hourly 12/22/2021 8:00:00 AM 4 12 Russia Time Zone 11
Aktivera säkerhetskopiering
När du har definierat säkerhetskopieringsprincipen kan du aktivera skydd för Azure-filresursen med hjälp av principen.
Hämta en säkerhetskopieringsprincip
Du hämtar det relevanta principobjektet med hjälp av Get-AzRecoveryServicesBackupProtectionPolicy. Använd den här cmdleten för att visa de principer som är associerade med en arbetsbelastningstyp eller för att hämta en specifik princip.
Hämta en princip för en arbetsbelastningstyp
I följande exempel hämtas principer för arbetsbelastningstypen AzureFiles:
Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"
De utdata som genereras liknar följande:
Name WorkloadType BackupManagementType BackupTime DaysOfWeek
---- ------------ -------------------- ---------- ----------
dailyafs AzureFiles AzureStorage 1/10/2018 12:30:00 AM
Kommentar
Tidszonen för fältet BackupTime i PowerShell är i UTC. När säkerhetskopieringstiden visas i Azure Portal justeras tiden till din lokala tidszon.
Hämta en specifik princip
Följande princip hämtar säkerhetskopieringsprincipen med namnet dailyafs:
$afsPol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"
Aktivera skydd och tillämpa principen
Aktivera skydd med hjälp av Enable-AzRecoveryServicesBackupProtection. När principen har associerats med valvet utlöses säkerhetskopior i enlighet med principschemat.
I följande exempel kan du skydda Azure-filresurstestetAzureFS i lagringskontotestStorageAcct med principen dailyafs:
Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol
Kommandot väntar tills jobbet configure-protection har slutförts och ger utdata som liknar följande exempel:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
testAzureFS ConfigureBackup Completed 11/12/2018 2:15:26 PM 11/12/2018 2:16:11 PM ec7d4f1d-40bd-46a4-9edb-3193c41f6bf6
Mer information om hur du hämtar en lista över filresurser för ett lagringskonto finns i den här artikeln.
Viktigt meddelande: Identifiering av säkerhetskopieringsobjekt
I det här avsnittet beskrivs en viktig ändring av säkerhetskopior av Azure-filresurser inför allmän tillgänglighet.
När du aktiverar en säkerhetskopia för Azure-filresurser ger användaren kunden ett filresursnamn som entitetsnamn och ett säkerhetskopieringsobjekt skapas. Säkerhetskopieringsobjektets namn är en unik identifierare som Azure Backup-tjänsten skapar. Vanligtvis är identifieraren ett användarvänligt namn. Men för att hantera scenariot med mjuk borttagning, där en filresurs kan tas bort och en annan filresurs kan skapas med samma namn, är den unika identiteten för en Azure-filresurs nu ett ID.
Om du vill veta det unika ID:t för varje objekt kör du kommandot Get-AzRecoveryServicesBackupItem med relevanta filter för backupManagementType och WorkloadType för att hämta alla relevanta objekt. Observera sedan namnfältet i det returnerade PowerShell-objektet/svaret.
Vi rekommenderar att du listar objekt och sedan hämtar deras unika namn från namnfältet i svaret. Använd det här värdet för att filtrera objekten med parametern Namn . Annars kan du använda parametern FriendlyName för att hämta objektet med dess ID.
Viktigt!
Kontrollera att PowerShell har uppgraderats till den lägsta versionen (Az.RecoveryServices 2.6.0) för säkerhetskopior av Azure-filresurser. Med den här versionen är FriendlyName-filtret tillgängligt för kommandot Get-AzRecoveryServicesBackupItem.
Skicka namnet på Azure-filresursen till parametern FriendlyName . Om du skickar namnet på filresursen till parametern Namn genererar den här versionen en varning om att skicka namnet till parametern FriendlyName .
Om du inte installerar den lägsta versionen kan det leda till ett fel i befintliga skript. Installera den lägsta versionen av PowerShell med hjälp av följande kommando:
Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
Utlösa en säkerhetskopiering på begäran
Använd Backup-AzRecoveryServicesBackupItem för att köra en säkerhetskopiering på begäran för en skyddad Azure-filresurs:
- Hämta lagringskontot från containern i valvet som innehåller dina säkerhetskopierade data med hjälp av Get-AzRecoveryServicesBackupContainer.
- Om du vill starta ett säkerhetskopieringsjobb hämtar du information om Azure-filresursen med hjälp av Get-AzRecoveryServicesBackupItem.
- Kör en säkerhetskopiering på begäran med hjälp av Backup-AzRecoveryServicesBackupItem.
Kör säkerhetskopieringen på begäran enligt följande:
$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job = Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem
Kommandot returnerar ett jobb med ett ID som ska spåras, enligt följande exempel:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
testAzureFS Backup Completed 11/12/2018 2:42:07 PM 11/12/2018 2:42:11 PM 8bdfe3ab-9bf7-4be6-83d6-37ff1ca13ab6
Ögonblicksbilder av Azure-filresurser används när säkerhetskopiorna tas. Vanligtvis slutförs jobbet när kommandot returnerar dessa utdata.
Nästa steg
- Lär dig mer om att säkerhetskopiera Azure Files i Azure Portal.
- Se exempelskriptet på GitHub för att använda en Azure Automation-runbook för att schemalägga säkerhetskopieringar.