使用 PowerShell 管理Azure Files备份

本文介绍如何使用 Azure Backup 通过 Azure PowerShell 管理和监视备份Azure Files(snapshot 和 vaulted 备份)。 还可以使用 Azure portal、Azure CLI、REST API2 管理Azure Files备份。

警告

确保 PowerShell 版本已升级到用于 Azure Files 备份的 Az.RecoveryServices 2.6.0 的最低版本。 了解有关更改要求的详细信息。

若要了解 Azure Files支持的备份和还原方案、区域可用性和限制,请参阅 support matrix。 有关常见问题,请参阅 常见问题。

修改保护策略

选择备份层:

  • 快照层
  • 保管库标准层

若要更改用于备份Azure Files的策略,请使用 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 Files的保护:

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

可能会产生将恢复点保留在存储中时的成本,因为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 Files备份。