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.

Den här artikeln beskriver 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

Konfigurera PowerShell

Anteckning

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.

Anteckning

Azure PowerShell stöder för närvarande inte säkerhetskopieringsprinciper med schema för varje timme. Använd Azure-portalen för att använda den här funktionen. Läs mer

Konfigurera PowerShell på följande sätt:

  1. Ladda ned den senaste versionen av Azure PowerShell.

    Anteckning

    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
    
  2. Leta upp PowerShell-cmdletar 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 cmdletar.

    Lista över Recovery Services-cmdletar

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

  5. På den webbsida som visas uppmanas du att ange autentiseringsuppgifterna för ditt konto.

    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 en 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 providrar har registrerats:

    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.

skapar ett Recovery Services-valv

Recovery Services-valvet är en Resource Manager resurs, så du måste placera den 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 namn och plats för den.

Följ dessa steg för att skapa ett Recovery Services-valv:

  1. Om du inte har en 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"
    
  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 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 tillhandahå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 hjälp av 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 göra valvkontextinställningen inaktuell i enlighet med Azure PowerShell riktlinjer. 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 -vaultID :t till 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 ska behållas innan den tas bort. Du kan konfigurera säkerhetskopior med kvarhållning varje dag, vecka, månad eller år. Med flera säkerhetskopieringsprinciper kan du även konfigurera kvarhållning av säkerhetskopior per timme.

Välj en principtyp:

Här följer några cmdletar för säkerhetskopieringsprinciper:

Som standard definieras en starttid i schemaprincipobjektet. Använd följande exempel för att ändra starttiden till önskad starttid. Önskad starttid ska vara i UTC (Universal Coordinated Time). Exemplet förutsätter att önskad starttid är 01:00 UTC för dagliga säkerhetskopieringar.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$UtcTime = Get-Date -Date "2019-03-20 01:30:00Z"
$UtcTime = $UtcTime.ToUniversalTime()
$schpol.ScheduleRunTimes[0] = $UtcTime

Viktigt

Du behöver bara ange starttiden i multiplar på 30 minuter. I föregående exempel kan det bara vara "01:00:00" eller "02:30:00". Starttiden får inte vara "01:15:00".

I följande exempel lagras schemaprincipen och kvarhållningsprincipen i variabler. Sedan används dessa variabler som parametrar för en ny princip (NewAFSPolicy). NewAFSPolicy tar en daglig säkerhetskopia och behåller den i 30 dagar.

$schPol = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureFiles"
$retPol = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureFiles"
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol

De utdata som genereras liknar följande:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewAFSPolicy           AzureFiles            AzureStorage              10/24/2019 1:30:00 AM

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ä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"

De utdata som genereras liknar följande:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
dailyafs             AzureFiles         AzureStorage         1/10/2018 12:30:00 AM

Anteckning

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äkerhetskopiorna i enlighet med principschemat.

I följande exempel aktiveras skydd för Azure-filresurstestEtAzureFS i lagringskontot testStorageAcct, 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äkerhetskopiering 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 använder du 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 att befintliga skript misslyckas. 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:

  1. Hämta lagringskontot från containern i valvet som innehåller dina säkerhetskopierade data med hjälp av Get-AzRecoveryServicesBackupContainer.
  2. Om du vill starta ett säkerhetskopieringsjobb hämtar du information om Azure-filresursen 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

Ögonblicksbilder av Azure-filresurser används när säkerhetskopiorna görs. Vanligtvis slutförs jobbet när kommandot returnerar dessa utdata.

Nästa steg