Azure Files herstellen met PowerShell
In dit artikel wordt uitgelegd hoe u een volledige bestandsshare of specifieke bestanden kunt herstellen vanaf een herstelpunt dat is gemaakt door de Azure Backup-service met behulp van Azure PowerShell.
U kunt een volledige bestandsshare of specifieke bestanden op de share herstellen. U kunt herstellen naar de oorspronkelijke locatie of naar een alternatieve locatie.
Waarschuwing
Zorg ervoor dat de PowerShell-versie is bijgewerkt naar de minimale versie voor 'Az.RecoveryServices 2.6.0' voor AFS-back-ups. Zie de sectie met een overzicht van de vereisten voor deze wijziging voor meer informatie.
Notitie
Azure Backup ondersteunt nu het herstellen van meerdere bestanden of mappen naar de oorspronkelijke of alternatieve locatie met behulp van PowerShell. Raadpleeg deze sectie van het document voor meer informatie.
Herstelpunten ophalen
Gebruik Get-AzRecoveryServicesBackupRecoveryPoint om alle herstelpunten voor het back-upitem weer te geven.
In het volgende script:
- De variabele $rp is een matrix met herstelpunten voor het geselecteerde back-upitem van de afgelopen zeven dagen.
- De matrix wordt in omgekeerde volgorde van tijd gesorteerd met het meest recente herstelpunt op index 0.
- Gebruik standaard PowerShell-matrixindexering om het herstelpunt te kiezen.
- In het voorbeeld selecteert $rp[0] het meest recente herstelpunt.
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "azurefiles" -Name "azurefilesvault"
$Container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureStorage -Status Registered -FriendlyName "afsaccount" -VaultId $vault.ID
$BackupItem = Get-AzRecoveryServicesBackupItem -Container $Container -WorkloadType AzureFiles -VaultId $vault.ID -FriendlyName "azurefiles"
$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -VaultId $vault.ID -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime()
$rp[0] | fl
De uitvoer is vergelijkbaar met het volgende.
FileShareSnapshotUri : https://testStorageAcct.file.core.windows.net/testAzureFS?sharesnapshot=2018-11-20T00:31:04.00000
00Z
RecoveryPointType : FileSystemConsistent
RecoveryPointTime : 11/20/2018 12:31:05 AM
RecoveryPointId : 86593702401459
ItemName : testAzureFS
Id : /Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Micros oft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;teststorageRG;testStorageAcct/protectedItems/AzureFileShare;testAzureFS/recoveryPoints/86593702401462
WorkloadType : AzureFiles
ContainerName : storage;teststorageRG;testStorageAcct
ContainerType : AzureStorage
BackupManagementType : AzureStorage
Nadat het relevante herstelpunt is geselecteerd, herstelt u de bestandsshare of het bestand naar de oorspronkelijke locatie of naar een alternatieve locatie.
Een Azure-bestandsshare herstellen naar een alternatieve locatie
Gebruik restore-AzRecoveryServicesBackupItem om het geselecteerde herstelpunt te herstellen. Geef deze parameters op om de alternatieve locatie te identificeren:
- TargetStorageAccountName: het opslagaccount waarnaar de back-up van de inhoud wordt hersteld. Het doelopslagaccount moet zich op dezelfde locatie bevinden als de kluis.
- TargetFileShareName: de bestandsshares in het doelopslagaccount waarnaar de inhoud waarvan een back-up is gemaakt, wordt hersteld.
- TargetFolder: de map onder de bestandsshare waarin de gegevens worden hersteld. Als de inhoud waarvan een back-up is gemaakt, moet worden teruggezet naar een hoofdmap, geeft u de waarden van de doelmap op als een lege tekenreeks.
- ResolveConflict: Instructie als er een conflict is met de herstelde gegevens. Accepteert Overschrijven of Overslaan.
Voer de cmdlet als volgt uit met de parameters:
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -ResolveConflict Overwrite
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 Restore InProgress 12/10/2018 9:56:38 AM 9fd34525-6c46-496e-980a-3740ccb2ad75
Een Azure-bestand herstellen naar een alternatieve locatie
Gebruik restore-AzRecoveryServicesBackupItem om het geselecteerde herstelpunt te herstellen. Geef deze parameters op om de alternatieve locatie te identificeren en om het bestand dat u wilt herstellen, uniek te identificeren.
- TargetStorageAccountName: het opslagaccount waarnaar de back-up van de inhoud wordt hersteld. Het doelopslagaccount moet zich op dezelfde locatie bevinden als de kluis.
- TargetFileShareName: de bestandsshares in het doelopslagaccount waarnaar de inhoud waarvan een back-up is gemaakt, wordt hersteld.
- TargetFolder: de map onder de bestandsshare waarin de gegevens worden hersteld. Als de inhoud waarvan een back-up is gemaakt, moet worden teruggezet naar een hoofdmap, geeft u de waarden van de doelmap op als een lege tekenreeks.
- SourceFilePath: het absolute pad van het bestand, dat in de bestandsshare moet worden hersteld, als een tekenreeks. Dit pad is hetzelfde pad dat wordt gebruikt in de PowerShell-cmdlet Get-AzStorageFile .
- SourceFileType: of een map of een bestand is geselecteerd. Accepteert map of bestand.
- ResolveConflict: Instructie als er een conflict is met de herstelde gegevens. Accepteert Overschrijven of Overslaan.
De extra parameters (SourceFilePath en SourceFileType) zijn alleen gerelateerd aan het afzonderlijke bestand dat u wilt herstellen.
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
Met deze opdracht wordt een taak geretourneerd met een id die moet worden bijgehouden, zoals weergegeven in de vorige sectie.
Azure-bestandsshares en -bestanden herstellen naar de oorspronkelijke locatie
Wanneer u herstelt naar een oorspronkelijke locatie, hoeft u geen doel- en doelparameters op te geven. Alleen ResolveConflict moet worden opgegeven.
Een Azure-bestandsshare overschrijven
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite
Een Azure-bestand overschrijven
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
Meerdere bestanden of mappen herstellen naar de oorspronkelijke of alternatieve locatie
Gebruik de opdracht Restore-AzRecoveryServicesBackupItem door het pad door te geven van alle bestanden of mappen die u wilt herstellen als een waarde voor de parameter MultipleSourceFilePath .
Meerdere bestanden herstellen
In het volgende script proberen we de FileSharePage.png - en MyTestFile.txt-bestanden te herstellen.
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "azurefiles" -Name "azurefilesvault"
$Container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureStorage -Status Registered -FriendlyName "afsaccount" -VaultId $vault.ID
$BackupItem = Get-AzRecoveryServicesBackupItem -Container $Container -WorkloadType AzureFiles -VaultId $vault.ID -FriendlyName "azurefiles"
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -VaultId $vault.ID
$files = ("FileSharePage.png", "MyTestFile.txt")
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -MultipleSourceFilePath $files -SourceFileType File -ResolveConflict Overwrite -VaultId $vault.ID -VaultLocation $vault.Location
Meerdere mappen herstellen
In het volgende script proberen we de mappen zrs1_restore en Herstellen te herstellen.
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "azurefiles" -Name "azurefilesvault"
$Container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureStorage -Status Registered -FriendlyName "afsaccount" -VaultId $vault.ID
$BackupItem = Get-AzRecoveryServicesBackupItem -Container $Container -WorkloadType AzureFiles -VaultId $vault.ID -FriendlyName "azurefiles"
$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -VaultId $vault.ID
$files = ("Restore","zrs1_restore")
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -MultipleSourceFilePath $files -SourceFileType Directory -ResolveConflict Overwrite -VaultId $vault.ID -VaultLocation $vault.Location
De uitvoer ziet er ongeveer als volgt uit:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
azurefiles Restore InProgress 4/5/2020 8:01:24 AM cd36abc3-0242-44b1-9964-0a9102b74d57
Als u meerdere bestanden of mappen wilt herstellen naar een alternatieve locatie, gebruikt u de bovenstaande scripts door de parameterwaarden voor de doellocatie op te geven, zoals hierboven wordt uitgelegd in Een Azure-bestand herstellen naar een alternatieve locatie.
Volgende stappen
Meer informatie over het herstellen van Azure Files in de Azure Portal.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor