Dela via


Säkerhetskopiera Azure Files med Azure PowerShell

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:

    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:

  1. 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.0
    
  2. Hitta PowerShell-cmdletarna för Azure Backup med hjälp av det här kommandot:

    Get-Command *azrecoveryservices*
    
  3. 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.

    Lista över Recovery Services-cmdletar

  4. Logga in på ditt Azure-konto med hjälp av Connect-AzAccount.

  5. 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".

  6. Associera den prenumeration som du vill använda med kontot eftersom ett konto kan ha flera prenumerationer:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. 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"
    
  8. Kontrollera att leverantörerna har registrerats framgångsrikt.

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. 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:

  1. 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"
    
  2. 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:

  1. Hämta schemaprincipobjektet.

    $schPol=Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    $schPol
    
    

    Exempel på utdata:

    ScheduleRunFrequency    : Hourly
    ScheduleRunDays         :
    ScheduleRunTimes        :
    ScheduleInterval        : 8
    ScheduleWindowStartTime : 12/22/2021 8:00:00 AM
    ScheduleWindowDuration  : 16
    ScheduleRunTimeZone     : India Standard Time
    
    
  2. 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
    
  3. Hämta kvarhållningsprincipobjektet med hjälp av följande cmdlet:

    $retPol=Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType AzureFiles -BackupManagementType AzureStorage -ScheduleRunFrequency Hourly
    
  4. Ange kvarhållningsvärdena efter behov.

    $retPol.DailySchedule.DurationCountInDays=15
    
  5. Skapa 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 $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 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 :

  1. Hämta lagringskontot från containern i valvet som innehåller dina säkerhetskopierade data med hjälp av Get-AzRecoveryServicesBackupContainer.
  2. Starta ett säkerhetskopieringsjobb och hämta information om Azure Files med hjälp av Get-AzRecoveryServicesBackupItem.
  3. 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