PowerShell을 사용하여 Azure Files 복원

이 문서에서는 Azure PowerShell을 사용하여 Azure Backup 서비스를 통해 만든 복원 지점에서 전체 파일 공유 또는 특정 파일을 복원하는 방법을 설명합니다.

전체 파일 공유 또는 공유 중인 특정 파일을 복원할 수 있습니다. 원래 위치 또는 대체 위치로 복원할 수 있습니다.

Warning

AFS 백업의 경우 PowerShell 버전이 'Az.RecoveryServices 2.6.0'의 최소 버전으로 업그레이드되었는지 확인합니다. 자세한 내용은 이 변경에 대한 요구 사항을 설명하는 섹션을 참조하세요.

참고 항목

이제 Azure Backup에서는 PowerShell을 사용하여 원본 또는 대체 위치로 여러 파일 또는 폴더를 복원할 수 있습니다. 자세한 내용은 문서에서 이 섹션을 참조하세요.

복구 지점 가져오기

Get-AzRecoveryServicesBackupRecoveryPoint를 사용하여 백업 항목에 대한 모든 복구 지점을 나열합니다.

다음 스크립트에서

  • 변수 $rp는 지난 7일간 선택한 백업 항목에 대한 복구 지점의 배열입니다.
  • 배열은 인덱스 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

관련 복구 지점이 선택되면 파일 공유를 복원하거나, 파일을 원래 위치나 대체 위치로 복원합니다.

Azure 파일 공유를 대체 위치로 복원

Restore-AzRecoveryServicesBackupItem을 사용하여 선택한 복구 지점으로 복원합니다. 이러한 매개 변수를 지정하여 대체 위치를 식별합니다.

  • TargetStorageAccountName: 백업된 콘텐츠가 복원되는 스토리지 계정입니다. 대상 스토리지 계정은 자격 증명 모음과 동일한 위치에 있어야 합니다.
  • TargetFileShareName: 백업된 콘텐츠가 복원되는 대상 스토리지 계정 내의 파일 공유입니다.
  • TargetFolder: 데이터가 복원되는 파일 공유 아래에 있는 폴더입니다. 백업된 콘텐츠를 루트 폴더로 복원해야 하는 경우 대상 폴더 값을 빈 문자열로 제공합니다.
  • ResolveConflict: 복원된 데이터와 충돌이 있는 경우 적용되는 지침입니다. 덮어쓰기 또는 건너뛰기를 수락합니다.

다음과 같이 매개 변수를 사용하여 cmdlet을 실행합니다.

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -ResolveConflict Overwrite

이 명령은 다음 예제에 표시된 대로 추적할 ID가 포함된 작업을 반환합니다.

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: 파일 공유 내에서 복원되는 파일의 절대 경로(문자열)입니다. 이 경로는 Get-AzStorageFile PowerShell cmdlet에 사용되는 경로와 동일합니다.
  • SourceFileType: 디렉터리 또는 파일이 선택되었는지 여부입니다. 디렉터리 또는 파일을 수락합니다.
  • ResolveConflict: 복원된 데이터와 충돌이 있는 경우 적용되는 지침입니다. 덮어쓰기 또는 건너뛰기를 수락합니다.

추가 매개 변수(SourceFilePath 및 SourceFileType)는 복원 하려는 개별 파일에만 관련됩니다.

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite

이 명령은 이전 섹션에 표시된 대로 추적할 ID가 포함된 작업을 반환합니다.

Azure 파일 공유 및 파일을 원래 위치로 복원

원래 위치로 복원하는 경우에는 모든 대상 및 대상 관련 매개 변수를 지정할 필요가 없습니다. ResolveConflict만 제공해야 합니다.

Azure 파일 공유 덮어쓰기

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite

Azure 파일 덮어쓰기

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite

원래 위치나 대체 위치로 여러 파일 또는 폴더 복원

복원하려는 모든 파일 또는 폴더의 경로를 MultipleSourceFilePath 매개 변수에 대한 값으로 전달하여 Restore-AzRecoveryServicesBackupItem 명령을 사용합니다.

여러 파일 복원

다음 스크립트에서 FileSharePage.pngMyTestFile.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_restoreRestore 디렉터리를 복원하려고 합니다.

$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 Portal에서 Azure Files을 복원하는 방법에 대해 알아봅니다 .