Udostępnij za pośrednictwem


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.