Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье объясняется, как восстановить всю общую папку или определенные файлы из точки восстановления, созданной службой архивации Azure с помощью Azure PowerShell. Вы также можете восстановить файлы Azure с помощью портала Azure, Azure CLI, REST API.
Вы можете восстановить всю общую папку или определенные файлы в общей папке. Восстановить данные можно в исходном или альтернативном расположении.
Предупреждение
Для работы с резервными копиями AFS убедитесь, что служба PowerShell обновлена как минимум до версии "Az.RecoveryServices 2.6.0". Дополнительные сведения см. в разделе, описывающем требования для этого изменения.
Примечание.
- Восстановление файлов Azure поддерживается только в той же подписке при использовании PowerShell или CLI.
- Azure Backup теперь поддерживает восстановление нескольких файлов или папок в исходном или альтернативном расположении с помощью PowerShell. Обратитесь к этому разделу документа, чтобы узнать, как это сделать.
Получение точек восстановления
Выполните командлет Get-AzRecoveryServicesBackupRecoveryPoint, чтобы вывести полный список точек восстановления для элемента резервного копирования.
В приведенном ниже сценарии:
- Переменная $rp представляет собой массив точек восстановления для выбранного архивного элемента за последние семь дней.
- Массив сортируется по времени в обратном порядке, так что последняя точка восстановления получает индекс 0.
- Используйте стандартное индексирование массива PowerShell для выбора точки восстановления.
- В примере $rp[0] выбирает последнюю точку восстановления.
$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
Выход аналогичен приведенному ниже.
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
После выбора соответствующей точки восстановления вы восстановите общую папку или файл в исходное расположение или в альтернативное расположение.
Восстановление общей папки в альтернативном расположении
Используйте командлет Restore-AzRecoveryServicesBackupItem для восстановления до выбранной точки восстановления. Укажите приведенные ниже параметры, чтобы определить альтернативное расположение:
- TargetStorageAccountName: учетная запись хранения, в которую восстанавливается содержимое резервной копии. Целевая учетная запись хранения должна быть в том же расположении, что и резервное хранилище.
- TargetFileShareName: файловые ресурсы в целевой учетной записи хранения, в которую восстанавливается резервная копия содержимого.
- TargetFolder: папка в общей папке, в которой восстанавливаются данные. Если содержимое резервной копии необходимо восстановить в корневую папку, укажите значения целевой папки в виде пустой строки.
- ResolveConflict: инструкции в случае конфликта с восстановленными данными. Принимает перезаписать или пропустить.
Выполните командлет с приведенными ниже параметрами:
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -ResolveConflict Overwrite
Эта команда возвращает задание с идентификатором для отслеживания, как показано в следующем примере.
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
testAzureFS Restore InProgress 12/10/2018 9:56:38 AM 9fd34525-6c46-496e-980a-3740ccb2ad75
Восстановление файлов Azure в альтернативном расположении
Используйте командлет Restore-AzRecoveryServicesBackupItem для восстановления до выбранной точки восстановления. Укажите эти параметры, чтобы определить альтернативное расположение и однозначно определить файл, который требуется восстановить.
- TargetStorageAccountName: учетная запись хранения, в которую восстанавливается содержимое резервной копии. Целевая учетная запись хранения должна быть в том же расположении, что и резервное хранилище.
- TargetFileShareName: файловые ресурсы в целевой учетной записи хранения, в которую восстанавливается резервная копия содержимого.
- TargetFolder: папка в общей папке, в которой восстанавливаются данные. Если содержимое резервной копии необходимо восстановить в корневую папку, укажите значения целевой папки в виде пустой строки.
- SourceFilePath: абсолютный путь к файлу, который необходимо восстановить в общей папке, в виде строки. Тот же самый путь используется в командлете PowerShell Get-AzStorageFile.
- SourceFileType: выбран элемент: каталог или файл. Принимает каталог или файл.
- ResolveConflict: инструкции в случае конфликта с восстановленными данными. Принимает перезаписать или пропустить.
Дополнительные параметры (SourceFilePath и SourceFileType) относятся только к отдельному файлу, который требуется восстановить.
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
Эта команда возвращает задание с идентификатором, который можно отслеживать, как показано в предыдущем разделе.
Восстановление файлов Azure и файлов в исходном расположении
При восстановлении в исходное расположение не нужно указывать параметры, связанные с местом назначения и целевыми объектами. Нужно только указать ResolveConflict.
Перезапись файлов Azure
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite
Перезапись файлов Azure
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
Восстановление нескольких файлов или папок в исходном или альтернативном расположении
Выполните командлет Restore-AzRecoveryServicesBackupItem, передав путь ко всем файлам или папкам, которые требуется восстановить, в качестве значения параметра MultipleSourceFilePath.
Восстановление нескольких файлов
В следующем сценарии мы попытаемся восстановить файлы FileSharePage.png и 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
Восстановление нескольких каталогов
В следующем сценарии мы попытаемся восстановить каталоги zrs1_restore и Restore.
$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
Результат будет выглядеть примерно так:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
azurefiles Restore InProgress 4/5/2020 8:01:24 AM cd36abc3-0242-44b1-9964-0a9102b74d57
Если вы хотите восстановить несколько файлов или папок в альтернативное расположение, используйте приведенные выше скрипты, указав значения параметров, связанных с целевым расположением, как описано выше в статье "Восстановление файлов Azure в альтернативном расположении".
Следующие шаги
Управление резервными копиями файлов Azure с помощью портала Azure, Azure PowerShell, Azure CLI, REST API.