Delen via


Een back-up maken van een Azure-bestandsshare met behulp van PowerShell

In dit artikel wordt beschreven hoe u Met Azure PowerShell een back-up maakt van een Azure Files-bestandsshare via een Azure Backup Recovery Services-kluis .

In dit artikel komt het volgende aan bod:

  • PowerShell instellen en de Recovery Services-provider registreren.
  • Maak een Recovery Services-kluis.
  • Configureer een back-up voor een Azure-bestandsshare.
  • Voer een back-uptaak uit.

Voordat u begint

  • Meer informatie over Recovery Services-kluizen.

  • Raadpleeg de naslaginformatie voor de Az.RecoveryServices-cmdlet in de Azure-bibliotheek.

  • Bekijk de volgende PowerShell-objecthiërarchie voor Recovery Services:

    Recovery Services-objecthiërarchie

PowerShell instellen

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Notitie

Azure PowerShell biedt momenteel geen ondersteuning voor back-upbeleid met een uurschema. Gebruik Azure Portal om deze functie te gebruiken. Meer informatie

Stel PowerShell als volgt in:

  1. Download de nieuwste versie van Azure PowerShell.

    Notitie

    De minimaal vereiste PowerShell-versie voor back-up van Azure-bestandsshares is Az.RecoveryServices 2.6.0. Als u de nieuwste versie of ten minste de minimale versie gebruikt, kunt u problemen met bestaande scripts voorkomen. Installeer de minimale versie met behulp van de volgende PowerShell-opdracht:

    Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0
    
  2. Zoek de PowerShell-cmdlets voor Azure Backup met behulp van deze opdracht:

    Get-Command *azrecoveryservices*
    
  3. Controleer de aliassen en cmdlets voor Azure Backup, Azure Site Recovery en de Recovery Services-kluis. Hier volgt een voorbeeld van wat u kunt zien. Het is geen volledige lijst met cmdlets.

    Lijst met Recovery Services-cmdlets

  4. Meld u aan bij uw Azure-account met behulp van Connect-AzAccount.

  5. Op de webpagina die wordt weergegeven, wordt u gevraagd uw accountreferenties in te voeren.

    U kunt uw accountreferenties ook opnemen als een parameter in de cmdlet Connect-AzAccount met behulp van -Credential.

    Als u een CSP-partner bent die namens een tenant werkt, geeft u de klant op als tenant. Gebruik hun tenant-id of primaire domeinnaam van de tenant. Een voorbeeld is Connect-AzAccount -Tenant 'fabrikam.com'.

  6. Koppel het abonnement dat u wilt gebruiken met het account, omdat een account verschillende abonnementen kan hebben:

    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  7. Als u Azure Backup voor het eerst gebruikt, gebruikt u de cmdlet Register-AzResourceProvider om de Azure Recovery Services-provider bij uw abonnement te registreren:

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  8. Controleer of de providers zijn geregistreerd:

    Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  9. Controleer in de uitvoer van de opdracht of RegistrationState wordt gewijzigd in Registered. Als dit niet het probleem is, voert u de cmdlet Register-AzResourceProvider opnieuw uit.

Een Recovery Services-kluis maken

De Recovery Services-kluis is een Resource Manager-resource, dus u moet deze in een resourcegroep plaatsen. U kunt een bestaande resourcegroep gebruiken of u kunt een resourcegroep maken met behulp van de cmdlet New-AzResourceGroup . Wanneer u een resourcegroep maakt, geeft u de naam en locatie voor deze groep op.

Volg deze stappen om een Recovery Services-kluis te maken:

  1. Als u geen bestaande resourcegroep hebt, maakt u een nieuwe met behulp van de cmdlet New-AzResourceGroup . In dit voorbeeld maken we een resourcegroep in de regio VS - west:

    New-AzResourceGroup -Name "test-rg" -Location "West US"
    
  2. Gebruik de cmdlet New-AzRecoveryServicesVault om de kluis te maken. Geef dezelfde locatie op voor de kluis die u hebt gebruikt voor de resourcegroep.

    New-AzRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    

De kluizen in een abonnement weergeven

Als u alle kluizen in het abonnement wilt weergeven, gebruikt u Get-AzRecoveryServicesVault:

Get-AzRecoveryServicesVault

De uitvoer is vergelijkbaar met het volgende. Houd er rekening mee dat de uitvoer de bijbehorende resourcegroep en locatie biedt.

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

De kluiscontext instellen

Sla het kluisobject op in een variabele en stel de kluiscontext in.

Veel Azure Backup-cmdlets vereisen het Recovery Services-kluisobject als invoer, dus het is handig om het kluisobject op te slaan in een variabele.

De context van de kluis is het type gegevens dat in de kluis wordt beveiligd. Stel deze in met Set-AzRecoveryServicesVaultContext. Nadat de context is ingesteld, is deze van toepassing op alle volgende cmdlets.

In het volgende voorbeeld wordt de kluiscontext voor testvault ingesteld:

Get-AzRecoveryServicesVault -Name "testvault" | Set-AzRecoveryServicesVaultContext

De kluis-id ophalen

We zijn van plan om de instelling voor kluiscontext te verwijderen in overeenstemming met de Azure PowerShell-richtlijnen. In plaats daarvan kunt u de kluis-id opslaan of ophalen en deze doorgeven aan relevante opdrachten. Als u de kluiscontext niet hebt ingesteld of als u de opdracht wilt opgeven die moet worden uitgevoerd voor een bepaalde kluis, geeft u de kluis-id -vaultID als volgt door aan alle relevante opdrachten:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "Contoso-docs-rg" -Name "testvault" | select -ExpandProperty ID
New-AzRecoveryServicesBackupProtectionPolicy -Name "NewAFSPolicy" -WorkloadType "AzureFiles" -RetentionPolicy $retPol -SchedulePolicy $schPol -VaultID $vaultID

Een back-upbeleid configureren

Met een back-upbeleid wordt de planning voor back-ups opgegeven en hoe lang herstelpunten voor back-ups moeten worden bewaard.

Een back-upbeleid is gekoppeld aan ten minste één bewaarbeleid. Een bewaarbeleid bepaalt hoe lang een herstelpunt wordt bewaard voordat het wordt verwijderd. U kunt back-ups configureren met dagelijkse, wekelijkse, maandelijkse of jaarlijkse retentie. Met beleid voor meerdere back-ups kunt u ook retentie per uur configureren voor back-ups.

Kies een beleidstype:

Hier volgen enkele cmdlets voor back-upbeleid:

Standaard wordt een begintijd gedefinieerd in het planningsbeleidsobject. Gebruik het volgende voorbeeld om de begintijd te wijzigen in de gewenste begintijd. De gewenste begintijd moet zich in Universal Coordinated Time (UTC) bevinden. In het voorbeeld wordt ervan uitgegaan dat de gewenste begintijd 01:00 UUR UTC is voor dagelijkse back-ups.

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

Belangrijk

U moet alleen de begintijd opgeven in veelvouden van 30 minuten. In het voorgaande voorbeeld kan dit alleen '01:00:00' of '02:30:00' zijn. De begintijd kan niet '01:15:00' zijn.

In het volgende voorbeeld worden het planningsbeleid en het bewaarbeleid opgeslagen in variabelen. Vervolgens worden deze variabelen gebruikt als parameters voor een nieuw beleid (NewAFSPolicy). NewAFSPolicy maakt dagelijks een back-up en bewaart deze gedurende 30 dagen.

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

De uitvoer lijkt op het volgende:

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

Back-up inschakelen

Nadat u het back-upbeleid hebt gedefinieerd, kunt u beveiliging voor de Azure-bestandsshare inschakelen met behulp van het beleid.

Een back-upbeleid ophalen

U haalt het relevante beleidsobject op met behulp van Get-AzRecoveryServicesBackupProtectionPolicy. Gebruik deze cmdlet om het beleid weer te geven dat is gekoppeld aan een workloadtype of om een specifiek beleid op te halen.

Een beleid voor een workloadtype ophalen

In het volgende voorbeeld wordt beleid opgehaald voor het workloadtype AzureFiles:

Get-AzRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureFiles"

De uitvoer lijkt op het volgende:

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

Notitie

De tijdzone van het veld BackupTime in PowerShell bevindt zich in UTC. Wanneer de back-uptijd wordt weergegeven in Azure Portal, wordt de tijd aangepast aan uw lokale tijdzone.

Een specifiek beleid ophalen

Met het volgende beleid wordt het back-upbeleid met de naam dailyafs opgehaald:

$afsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "dailyafs"

Beveiliging inschakelen en het beleid toepassen

Schakel beveiliging in met Enable-AzRecoveryServicesBackupProtection. Nadat het beleid is gekoppeld aan de kluis, worden back-ups geactiveerd volgens het beleidsschema.

In het volgende voorbeeld wordt beveiliging ingeschakeld voor de Azure-bestandsshare testAzureFS in het opslagaccount testStorageAcct, met het dagelijkse beleid:

Enable-AzRecoveryServicesBackupProtection -StorageAccountName "testStorageAcct" -Name "testAzureFS" -Policy $afsPol

De opdracht wacht totdat de configuratiebeveiligingstaak is voltooid en geeft een uitvoer die vergelijkbaar is met het volgende voorbeeld:

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

Zie dit artikel voor meer informatie over het ophalen van een lijst met bestandsshares voor een opslagaccount.

Belangrijke kennisgeving: Identificatie van back-upitem

In deze sectie wordt een belangrijke wijziging beschreven in back-ups van Azure-bestandsshares ter voorbereiding op algemene beschikbaarheid.

Tijdens het inschakelen van een back-up voor Azure-bestandsshares geeft de gebruiker de klant een bestandssharenaam als de naam van de entiteit en wordt er een back-upitem gemaakt. De naam van het back-upitem is een unieke id die door de Azure Backup-service wordt gemaakt. Meestal is de id een gebruiksvriendelijke naam. Maar om het scenario van voorlopig verwijderen af te handelen, waarbij een bestandsshare kan worden verwijderd en een andere bestandsshare met dezelfde naam kan worden gemaakt, is de unieke identiteit van een Azure-bestandsshare nu een id.

Als u de unieke id van elk item wilt weten, voert u de opdracht Get-AzRecoveryServicesBackupItem uit met de relevante filters voor backupManagementType en WorkloadType om alle relevante items op te halen. Bekijk vervolgens het naamveld in het geretourneerde PowerShell-object/-antwoord.

U wordt aangeraden items weer te geven en vervolgens hun unieke naam op te halen uit het naamveld in het antwoord. Gebruik deze waarde om de items te filteren met de parameter Naam . Gebruik anders de parameter FriendlyName om het item met de bijbehorende id op te halen.

Belangrijk

Zorg ervoor dat PowerShell is bijgewerkt naar de minimale versie (Az.RecoveryServices 2.6.0) voor back-ups van Azure-bestandsshares. Met deze versie is het FriendlyName-filter beschikbaar voor de opdracht Get-AzRecoveryServicesBackupItem .

Geef de naam van de Azure-bestandsshare door aan de parameter FriendlyName . Als u de naam van de bestandsshare doorgeeft aan de parameter Name , genereert deze versie een waarschuwing om de naam door te geven aan de parameter FriendlyName .

Als u de minimale versie niet installeert, kan dit leiden tot een fout in bestaande scripts. Installeer de minimale versie van PowerShell met behulp van de volgende opdracht:

Install-module -Name Az.RecoveryServices -RequiredVersion 2.6.0

Een on-demand back-up activeren

Gebruik Backup-AzRecoveryServicesBackupItem om een back-up op aanvraag uit te voeren voor een beveiligde Azure-bestandsshare:

  1. Haal het opslagaccount op uit de container in de kluis met uw back-upgegevens met behulp van Get-AzRecoveryServicesBackupContainer.
  2. Als u een back-uptaak wilt starten, haalt u informatie over de Azure-bestandsshare op met behulp van Get-AzRecoveryServicesBackupItem.
  3. Voer een back-up op aanvraag uit met behulp van Backup-AzRecoveryServicesBackupItem.

Voer de back-up op aanvraag als volgt uit:

$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType "AzureFiles" -FriendlyName "testAzureFS"
$job =  Backup-AzRecoveryServicesBackupItem -Item $afsBkpItem

De opdracht retourneert een taak met een id die moet worden bijgehouden, zoals wordt weergegeven in het volgende voorbeeld:

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

Momentopnamen van Azure-bestandsshares worden gebruikt terwijl de back-ups worden gemaakt. Meestal wordt de taak voltooid op het moment dat de opdracht deze uitvoer retourneert.

Volgende stappen