Przywracanie usługi Azure Files przy użyciu programu PowerShell
W tym artykule wyjaśniono, jak przywrócić cały udział plików lub określone pliki z punktu przywracania utworzonego przez usługę Azure Backup przy użyciu programu Azure PowerShell.
Można przywrócić cały udział plików lub określone pliki w udziale. Możesz przywrócić do oryginalnej lokalizacji lub do lokalizacji alternatywnej.
Ostrzeżenie
Upewnij się, że wersja programu PowerShell została uaktualniona do minimalnej wersji polecenia "Az.RecoveryServices 2.6.0" dla kopii zapasowych usługi AFS. Aby uzyskać więcej informacji, zobacz sekcję przedstawiającą wymaganie tej zmiany.
Uwaga
Usługa Azure Backup obsługuje teraz przywracanie wielu plików lub folderów do oryginalnej lub alternatywnej lokalizacji przy użyciu programu PowerShell. Zapoznaj się z tą sekcją dokumentu, aby dowiedzieć się, jak to zrobić.
Pobieranie punktów odzyskiwania
Użyj polecenia Get-AzRecoveryServicesBackupRecoveryPoint , aby wyświetlić listę wszystkich punktów odzyskiwania dla elementu kopii zapasowej.
W poniższym skry skryptzie:
- Zmienna $rp jest tablicą punktów odzyskiwania dla wybranego elementu kopii zapasowej z ostatnich siedmiu dni.
- Tablica jest sortowana w odwrotnej kolejności czasu z najnowszym punktem odzyskiwania w indeksie 0.
- Użyj standardowego indeksowania tablic programu PowerShell, aby wybrać punkt odzyskiwania.
- W tym przykładzie $rp[0] wybiera najnowszy punkt odzyskiwania.
$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
Dane wyjściowe są podobne do poniższych.
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
Po wybraniu odpowiedniego punktu odzyskiwania przywracasz udział plików lub plik do oryginalnej lokalizacji lub do lokalizacji alternatywnej.
Przywracanie udziału plików platformy Azure do lokalizacji alternatywnej
Użyj polecenia Restore-AzRecoveryServicesBackupItem , aby przywrócić do wybranego punktu odzyskiwania. Określ następujące parametry, aby zidentyfikować lokalizację alternatywną:
- TargetStorageAccountName: konto magazynu, do którego jest przywracana kopia zapasowa zawartości. Docelowe konto magazynu musi znajdować się w tej samej lokalizacji co magazyn.
- TargetFileShareName: udziały plików na docelowym koncie magazynu, do którego przywracana jest kopia zapasowa zawartości.
- TargetFolder: folder w udziale plików, do którego przywrócono dane. Jeśli kopia zapasowa zawartości ma zostać przywrócona do folderu głównego, nadaj wartościom folderu docelowego jako pusty ciąg.
- ResolveConflict: Instrukcja, jeśli występuje konflikt z przywróconymi danymi. Akceptuje zastępowanie lub pomijanie.
Uruchom polecenie cmdlet z parametrami w następujący sposób:
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -ResolveConflict Overwrite
Polecenie zwraca zadanie z identyfikatorem do śledzenia, jak pokazano w poniższym przykładzie.
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
testAzureFS Restore InProgress 12/10/2018 9:56:38 AM 9fd34525-6c46-496e-980a-3740ccb2ad75
Przywracanie pliku platformy Azure do lokalizacji alternatywnej
Użyj polecenia Restore-AzRecoveryServicesBackupItem , aby przywrócić do wybranego punktu odzyskiwania. Określ te parametry, aby zidentyfikować lokalizację alternatywną, oraz unikatowo zidentyfikować plik, który chcesz przywrócić.
- TargetStorageAccountName: konto magazynu, do którego jest przywracana kopia zapasowa zawartości. Docelowe konto magazynu musi znajdować się w tej samej lokalizacji co magazyn.
- TargetFileShareName: udziały plików na docelowym koncie magazynu, do którego przywracana jest kopia zapasowa zawartości.
- TargetFolder: folder w udziale plików, do którego przywrócono dane. Jeśli kopia zapasowa zawartości ma zostać przywrócona do folderu głównego, nadaj wartościom folderu docelowego jako pusty ciąg.
- SourceFilePath: ścieżka bezwzględna pliku, która ma zostać przywrócona w udziale plików, jako ciąg. Ta ścieżka jest tą samą ścieżką używaną w poleceniu cmdlet Get-AzStorageFile programu PowerShell.
- SourceFileType: czy wybrano katalog, czy plik. Akceptuje katalog lub plik.
- ResolveConflict: Instrukcja, jeśli występuje konflikt z przywróconymi danymi. Akceptuje zastępowanie lub pomijanie.
Dodatkowe parametry (SourceFilePath i SourceFileType) są powiązane tylko z pojedynczym plikiem, który chcesz przywrócić.
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
To polecenie zwraca zadanie z identyfikatorem do śledzenia, jak pokazano w poprzedniej sekcji.
Przywracanie udziałów plików i plików platformy Azure do oryginalnej lokalizacji
Podczas przywracania do oryginalnej lokalizacji nie trzeba określać parametrów związanych z lokalizacją docelową i docelową. Należy podać tylko wartość ResolveConflict .
Zastępowanie udziału plików platformy Azure
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite
Zastępowanie pliku platformy Azure
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
Przywracanie wielu plików lub folderów do oryginalnej lub alternatywnej lokalizacji
Użyj polecenia Restore-AzRecoveryServicesBackupItem, przekazując ścieżkę wszystkich plików lub folderów, które chcesz przywrócić jako wartość parametru MultipleSourceFilePath.
Przywracanie wielu plików
W poniższym skryfcie próbujemy przywrócić pliki FileSharePage.png i MyTestFile.txt .
$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
Przywracanie wielu katalogów
W poniższym skryscie próbujemy przywrócić katalogi zrs1_restore i Przywróć .
$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
Dane wyjściowe będą mieć postać podobną do następującej:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
azurefiles Restore InProgress 4/5/2020 8:01:24 AM cd36abc3-0242-44b1-9964-0a9102b74d57
Jeśli chcesz przywrócić wiele plików lub folderów do lokalizacji alternatywnej, użyj powyższych skryptów, określając wartości parametrów związanych z lokalizacją docelową, jak wyjaśniono powyżej w temacie Przywracanie pliku platformy Azure do lokalizacji alternatywnej.
Następne kroki
Dowiedz się więcej o przywracaniu usługi Azure Files w witrynie Azure Portal.