使用 PowerShell 管理 Azure 文件备份

本文介绍如何通过 Azure PowerShell 使用 Azure Backup 管理和监视已备份的 Azure Files(快照安全备份)。 还可以使用 Azure 门户Azure CLIREST API 管理 Azure 文件备份。

警告

确保 PowerShell 版本升级到 Azure 文件备份的最低版本 Az.RecoveryServices 2.6.0详细了解更改的要求

修改保护策略

选择备份层:

  • 快照层
  • 保管库标准层

若要更改用于备份 Azure 文件的策略,请使用 Enable-AzRecoveryServicesBackupProtection。 指定相关备份项和新的备份策略。

以下示例将“testAzureFS”保护策略从“dailyafs”更改为“monthlyafs” 。

$monthlyafsPol =  Get-AzRecoveryServicesBackupProtectionPolicy -Name "monthlyafs"
$afsContainer = Get-AzRecoveryServicesBackupContainer -FriendlyName "testStorageAcct" -ContainerType AzureStorage
$afsBkpItem = Get-AzRecoveryServicesBackupItem -Container $afsContainer -WorkloadType AzureFiles -Name "testAzureFS"
Enable-AzRecoveryServicesBackupProtection -Item $afsBkpItem -Policy $monthlyafsPol

修改现有备份实例的保护

若要修改现有备份实例的保护,请运行以下 cmdlet:

  1. 获取存储帐户中可用的容器。

    $saName = "MyStorage" 
    $container = Get-AzRecoveryServicesBackupContainer ` 
    -VaultId $vault.ID ` 
    -ContainerType AzureStorage ` 
    -FriendlyName $saName 
    $container
    

    示例输出:

    PS C:\Users\testuser> $container
    
    FriendlyName                             ResourceGroupName                        Status               ContainerType
    ------------                             -----------------                        ------               -------------
    dayaafssa                                Daya-BCDR-RG                             Registered           AzureStorage
    
  2. 获取要修改的备份项。

    $item = Get-AzRecoveryServicesBackupItem ` 
    -VaultId $vault.ID ` 
    -Container $container ` 
    -WorkloadType AzureFiles 
    

    示例输出:

    PS C:\Users\testuser> $item
    
    Name                                     FriendlyName         ContainerType        ContainerUniqueName                      WorkloadType         Protec
                                                                                                                                                    tionSt
                                                                                                                                                    atus
    ----                                     ------------         -------------        -------------------                      ------------         ------
    AzureFileShare;C3706F26E2AED1C4082559C3… dpafs-2              AzureStorage         StorageContainer;Storage;Daya-BCDR-RG;d… AzureFiles           Healt…
    AzureFileShare;216165261F88994EC0E80277… dpafs-1              AzureStorage         StorageContainer;Storage;Daya-BCDR-RG;d… AzureFiles           Healt…
    
  3. 修改保护。

    $enableJob =  Enable-AzRecoveryServicesBackupProtection ` 
    -VaultId $vault.ID ` 
    -Policy $policy ` 
    -Item $item[01] 
    

跟踪备份和还原作业

按需备份和还原操作会返回一个作业和一个 ID,如运行按需备份时所示。 使用 Get-AzRecoveryServicesBackupJobDetails cmdlet 跟踪作业进度和详细信息。

$job = Get-AzRecoveryServicesBackupJob -JobId 00000000-6c46-496e-980a-3740ccb2ad75 -VaultId $vaultID

 $job | fl


IsCancellable        : False
IsRetriable          : False
ErrorDetails         : {Microsoft.Azure.Commands.RecoveryServices.Backup.Cmdlets.Models.AzureFileShareJobErrorInfo}
ActivityId           : 00000000-5b71-4d73-9465-8a4a91f13a36
JobId                : 00000000-6c46-496e-980a-3740ccb2ad75
Operation            : Restore
Status               : Failed
WorkloadName         : testAFS
StartTime            : 12/10/2018 9:56:38 AM
EndTime              : 12/10/2018 11:03:03 AM
Duration             : 01:06:24.4660027
BackupManagementType : AzureStorage

$job.ErrorDetails

 ErrorCode ErrorMessage                                          Recommendations
 --------- ------------                                          ---------------
1073871825 Microsoft Azure Backup encountered an internal error. Wait for a few minutes and then try the operation again. If the issue persists, please contact Microsoft support.

停止对文件共享的保护

可通过以下方式之一停止对 Azure 文件的保护:

  • 停止所有将来的备份作业,并删除所有恢复点
  • 停止所有将来的备份作业,但保留恢复点

在存储中保留恢复点可能会产生费用,因为 Azure 备份创建的基础快照将会保留。 但是,保留恢复点的好处是以后可以根据需要还原文件共享。 如需了解保留恢复点的成本,请参阅定价详细信息。 如果选择删除所有恢复点,则无法还原文件共享。

停止保护但保留恢复点

若要在停止保护的同时保留数据,请使用 Disable-AzRecoveryServicesBackupProtection cmdlet。

以下示例停止对 afsfileshare 文件共享的保护,但保留所有恢复点:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "afstesting" -Name "afstest" | select -ExpandProperty ID
$bkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureStorage -WorkloadType AzureFiles -Name "afsfileshare" -VaultId $vaultID
Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $vaultID
WorkloadName     Operation         Status         StartTime                 EndTime                   JobID
------------     ---------         ------         ---------                 -------                   -----
afsfileshare     DisableBackup     Completed      1/26/2020 2:43:59 PM      1/26/2020 2:44:21 PM      98d9f8a1-54f2-4d85-8433-c32eafbd793f

输出中的作业 ID 属性对应的是备份服务为您执行停止保护操作而创建的作业的作业 ID。 若要跟踪作业的状态,请使用 Get-AzRecoveryServicesBackupJob cmdlet。

停止保护而不保留恢复点

若要停止保护而不保留恢复点,请使用 Disable-AzRecoveryServicesBackupProtection cmdlet 并添加“-RemoveRecoveryPoints”参数。

以下示例停止对 afsfileshare 文件共享的保护,而不保留恢复点:

$vaultID = Get-AzRecoveryServicesVault -ResourceGroupName "afstesting" -Name "afstest" | select -ExpandProperty ID
$bkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureStorage -WorkloadType AzureFiles -Name "afsfileshare" -VaultId $vaultID
Disable-AzRecoveryServicesBackupProtection -Item $bkpItem -VaultId $vaultID -RemoveRecoveryPoints
WorkloadName     Operation            Status         StartTime                 EndTime                   JobID
------------     ---------            ------         ---------                 -------                   -----
afsfileshare     DeleteBackupData     Completed      1/26/2020 2:50:57 PM      1/26/2020 2:51:39 PM      b1a61c0b-548a-4687-9d15-9db1cc5bcc85

后续步骤

了解如何 在 Azure 门户中管理 Azure 文件备份。