Bagikan melalui


Memulihkan File Azure dengan PowerShell

Artikel ini menjelaskan cara memulihkan seluruh File Share, atau file tertentu, dari titik pemulihan yang dibuat oleh layanan Azure Backup menggunakan Azure PowerShell. Anda juga dapat memulihkan Azure Files menggunakan portal Microsoft Azure, Azure CLI, REST API.

Anda dapat memulihkan seluruh Berkas Berbagi atau file tertentu pada berkas berbagi. Anda dapat memulihkan ke lokasi asli, atau ke lokasi alternatif.

Peringatan

Pastikan versi PowerShell ditingkatkan ke versi minimum untuk 'Az.RecoveryServices 2.6.0' untuk cadangan AFS. Untuk detail selengkapnya, lihat bagian yang menguraikan persyaratan untuk perubahan ini.

Catatan

  • Pemulihan Azure Files hanya didukung dalam langganan yang sama saat menggunakan PowerShell atau CLI.
  • Azure Backup sekarang mendukung pemulihan beberapa file atau folder ke lokasi asli atau alternatif menggunakan PowerShell. Lihat bagian dokumen ini untuk mempelajari caranya.

Ambil titik pemulihan

GunakanGet-AzRecoveryServicesBackupRecoveryPoint untuk mencantumkan semua titik pemulihan untuk item cadangan.

Jalankan skrip berikut:

  • Variabel $rp adalah array dari titik pemulihan untuk item cadangan yang dipilih selama tujuh hari terakhir.
  • Larik diurutkan dalam urutan terbalik berdasarkan waktu dengan titik pemulihan terbaru di indeks0.
  • Gunakan pengindeksan larik PowerShell standar untuk memilih titik pemulihan.
  • Dalam contoh,$rp[0]memilih titik pemulihan terbaru.
$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

Outputnya mirip dengan berikut ini.

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

Setelah titik pemulihan yang relevan dipilih, Anda bisa memulihkan File Share atau file ke lokasi asli, atau ke lokasi alternatif.

Memulihkan Berkas Bersama ke lokasi alternatif

Gunakan Restore-AzRecoveryServicesBackupItem untuk memulihkan ke titik pemulihan yang dipilih. Tentukan parameter ini untuk mengidentifikasi lokasi alternatif:

  • TargetStorageAccountName: Akun penyimpanan tempat konten cadangan dipulihkan. Akun penyimpanan target harus berada di lokasi yang sama dengan kubah.
  • TargetFileShareName: Saham Berkas dalam akun penyimpanan target menjadi tempat konten yang dicadangkan dipulihkan.
  • TargetFolder : Folder di bawah Berbagi File tempat data dipulihkan. Jika konten yang dicadangkan akan dipulihkan ke folder akar, berikan nilai folder target sebagai string kosong.
  • ResolveConflict: Instruksi jika ada konflik dengan data yang dipulihkan. Menerima opsi Timpa atau Lewati.

Jalankan cmdlet dengan parameter sebagai berikut:

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

Perintah menampilkan tugas dengan ID yang akan dilacak, seperti yang diperlihatkan dalam contoh berikut.

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
testAzureFS        Restore              InProgress           12/10/2018 9:56:38 AM                               9fd34525-6c46-496e-980a-3740ccb2ad75

Memulihkan Azure Files ke lokasi alternatif

Gunakan Restore-AzRecoveryServicesBackupItem untuk memulihkan ke titik pemulihan yang dipilih. Tentukan parameter ini untuk mengidentifikasi lokasi alternatif, dan untuk mengidentifikasi file yang ingin Anda pulihkan secara unik.

  • TargetStorageAccountName: Akun penyimpanan tempat konten cadangan dipulihkan. Akun penyimpanan target harus berada di lokasi yang sama dengan kubah.
  • TargetFileShareName: Saham Berkas dalam akun penyimpanan target menjadi tempat konten yang dicadangkan dipulihkan.
  • TargetFolder : Folder di bawah Berbagi File tempat data dipulihkan. Jika konten yang dicadangkan akan dipulihkan ke folder akar, berikan nilai folder target sebagai string kosong.
  • SourceFilePath: Jalur absolut file, untuk dipulihkan dalam File Share, sebagai string. Jalur ini adalah jalur yang sama yang digunakan dalam cmdlet Get-AzStorageFile PowerShell.
  • SourceFileType: Pilih apakah direktori atau file telah dipilih. Menerima Direktori atau Berkas.
  • ResolveConflict: Instruksi jika ada konflik dengan data yang dipulihkan. Menerima opsi Timpa atau Lewati.

Parameter tambahan (SourceFilePath dan SourceFileType) hanya terkait dengan file individual yang ingin Anda pulihkan.

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

Perintah ini mengembalikan pekerjaan dengan ID yang dapat dilacak, seperti yang dijelaskan di bagian sebelumnya.

Memulihkan Azure Files dan file ke lokasi asli

Saat memulihkan ke lokasi asli, Anda tidak perlu menentukan parameter yang terkait tujuan dan target. Hanya Selesaikan Konflik yang harus disediakan.

Timpa file Azure

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

Timpa file Azure

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

Memulihkan beberapa file atau folder ke lokasi asli atau alternatif

Gunakan perintah Restore-AzRecoveryServicesBackupItem dengan melewati jalur semua file atau folder yang ingin Anda pulihkan sebagai nilai untuk parameter MultipleSourceFilePath.

Pulihkan beberapa berkas

Dalam skrip berikut, kami mencoba memulihkan FileSharePage.pngMyTestFile.txt file.

$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

Pulihkan beberapa direktori

Dalam skrip berikut, kami mencoba memulihkan direktori zrs1_restore dan Restore direktori.

$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

Outputnya akan mirip dengan contoh berikut:

WorkloadName         Operation         Status          StartTime                EndTime       JobID
------------         ---------         ------          ---------                -------       -----
azurefiles           Restore           InProgress      4/5/2020 8:01:24 AM                    cd36abc3-0242-44b1-9964-0a9102b74d57

Jika Anda ingin memulihkan beberapa file atau folder ke lokasi alternatif, gunakan skrip di atas dengan menentukan nilai parameter terkait lokasi target, seperti yang dijelaskan di atas dalam Memulihkan Azure Files ke lokasi alternatif.

Langkah berikutnya

Mengelola cadangan Azure Files menggunakan portal Microsoft Azure, Azure PowerShell, Azure CLI, REST API.