Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du använder Azure PowerShell för att säkerhetskopiera Azure Files via ett Azure Backup Recovery Services-valv.
Förutsättningar
Innan du säkerhetskopierar Azure Files kontrollerar du att följande krav uppfylls:
Läs mer om Recovery Services-valv.
Granska cmdlet-referensen för Az.RecoveryServices 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 tillämpa den här funktionen. Läs mer
Konfigurera PowerShell på följande sätt:
Ladda ned den senaste versionen av Azure PowerShell.
Kommentar
Den minsta PowerShell-version som krävs för säkerhetskopiering av Azure Files är Az.RecoveryServices 2.6.0. Den senaste versionen, eller åtminstone den lägsta versionen, hjälper dig att 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.0Hitta 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 cmdlets.
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 (Cloud Service Provider) 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 $SubscriptionNameOm 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 leverantörerna har registrerats framgångsrikt.
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:
Skapa en ny resursgrupp med hjälp av cmdleten New-AzResourceGroup om du inte har en befintlig. 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 inom en prenumeration
Om du vill visa alla valv i prenumerationen använder du Get-AzRecoveryServicesVault:
Get-AzRecoveryServicesVault
Resultatet är liknande det följande. 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.
Kontexten för valvet ä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 avveckla inställningen för valvkontext i enlighet med Azure PowerShell-riktlinjerna. I stället kan du lagra eller hämta valvets ID och överföra det till relevanta kommandon. Om du inte har ställt in valvkontexten eller om du vill ange kommandot som ska köras för ett visst valv, skickar du valv-ID:t -vaultID till alla relevanta kommandon.
$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 ska behållas. 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 av
Get-AzRecoveryServicesBackupRetentionPolicyObject. - Visa standardprincipen för schemaläggning av säkerhetskopior med hjälp av
Get-AzRecoveryServicesBackupSchedulePolicyObject. - Skapa en ny säkerhetskopieringsprincip med hjälp av
New-AzRecoveryServicesBackupProtectionPolicy. Ange schema- och kvarhållningsprincipobjekt som indata.
Välj en säkerhetskopieringsnivå:
Om du vill skapa en säkerhetskopieringsprincip som konfigurerar flera säkerhetskopior om dagen för säkerhetskopiering av Azure Files-ögonblicksbilder kör du följande cmdletar:
Hämta schemaprincipobjektet.
$schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly $schPolExempel på utdata:
ScheduleRunFrequency : Hourly ScheduleRunDays : ScheduleRunTimes : ScheduleInterval : 8 ScheduleWindowStartTime : 12/22/2021 8:00:00 AM ScheduleWindowDuration : 16 ScheduleRunTimeZone : India Standard TimeAnge de olika parametrarna i schemat efter behov.
$schpol.ScheduleInterval=4 $schpol.ScheduleWindowDuration=12Den 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.IdOm 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] = $UtcTimeHämta kvarhållningsprincipobjektet med hjälp av följande cmdlet:
$retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency HourlyAnge kvarhållningsvärdena efter behov.
$retPol.DailySchedule.DurationCountInDays=15Skapa en ny säkerhetskopieringsprincip med New-AzRecoveryServicesBackupProtectionPolicy.
Du kan ange schema- och kvarhållningsprincipobjekt som angavs tidigare som inputparametrar.
New-AzRecoveryServicesBackupProtectionPolicy -Name "FilesPolicytesting" -WorkloadType AzureFiles -RetentionPolicy $retpol -SchedulePolicy $schpolUtdata 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 Files med hjälp av principen.
Hämta en säkerhetskopieringspolicy
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"
Exempel på utdata:
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 policy
Följande policy hämtar säkerhetskopieringspolicy med namnet dailyafs:
$afsPol = Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"
Aktivera skydd och tillämpa principen
Aktivera skydd med hjälp av Enable-AzRecoveryServicesBackupProtection. När policyn har associerats med valvet startas säkerhetskopieringar i enlighet med policyschemat.
I följande exempel aktiverar du skydd för Azure Files testAzureFS i lagringskonto testStorageAcct med policyn 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
Det här avsnittet beskriver en viktig ändring av säkerhetskopior av Azure Files inför allmän tillgänglighet.
När du aktiverar en säkerhetskopia för Azure Files får användaren 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. För att hantera scenarier med mjuk borttagning, där en filresurs tas bort och en ny med samma namn skapas, använder Azure Files nu ett unikt 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 Files. Med den här versionen är FriendlyName-filtret tillgängligt för kommandot Get-AzRecoveryServicesBackupItem.
Skicka namnet på Azure Files 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
Om du vill köra en säkerhetskopiering på begäran för en skyddad Azure Files använder du cmdleten Backup-AzRecoveryServicesBackupItem :
- Hämta lagringskontot från containern i valvet som innehåller dina säkerhetskopierade data med hjälp av Get-AzRecoveryServicesBackupContainer.
- Starta ett säkerhetskopieringsjobb och hämta information om Azure Files 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
Azure Files-ögonblicksbilder används när säkerhetskopiorna tas. Vanligtvis slutförs jobbet när kommandot returnerar dessa utdata.
Nästa steg
- Återställa Azure Files med Azure PowerShell.
- Återställ Azure Files med hjälp av Azure-portalen, Azure CLI, REST API.
- Hantera Azure Files-säkerhetskopior med hjälp av Azure-portalen, Azure PowerShell, Azure CLI, REST API.
- Exempelskript på GitHub för att använda en Azure Automation-runbook för att schemalägga säkerhetskopieringar.