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:
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:
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
Zoek de PowerShell-cmdlets voor Azure Backup met behulp van deze opdracht:
Get-Command *azrecoveryservices*
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.
Meld u aan bij uw Azure-account met behulp van Connect-AzAccount.
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'.
Koppel het abonnement dat u wilt gebruiken met het account, omdat een account verschillende abonnementen kan hebben:
Select-AzSubscription -SubscriptionName $SubscriptionName
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"
Controleer of de providers zijn geregistreerd:
Get-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
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:
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"
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:
- Bekijk de standaardretentie van back-upbeleid met behulp van Get-AzRecoveryServicesBackupRetentionPolicyObject.
- Bekijk de standaardplanning voor back-upbeleid met behulp van Get-AzRecoveryServicesBackupSchedulePolicyObject.
- Maak een nieuw back-upbeleid met behulp van New-AzRecoveryServicesBackupProtectionPolicy. U voert de plannings- en bewaarbeleidsobjecten in als invoer.
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:
- Haal het opslagaccount op uit de container in de kluis met uw back-upgegevens met behulp van Get-AzRecoveryServicesBackupContainer.
- Als u een back-uptaak wilt starten, haalt u informatie over de Azure-bestandsshare op met behulp van Get-AzRecoveryServicesBackupItem.
- 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
- Meer informatie over het maken van back-ups van Azure Files in Azure Portal.
- Raadpleeg het voorbeeldscript op GitHub voor het gebruik van een Azure Automation-runbook om back-ups te plannen.