使用 PowerShell 管理Azure Files备份

本文介绍如何使用 Azure Backup 通过 Azure PowerShell 管理和监视备份Azure Files(snapshotvaulted 备份)。 还可以使用 Azure portalAzure CLIREST 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备份。