本文介绍 Azure 备份中虚拟机(VM)的软删除如何帮助保护备份数据免受意外或恶意删除。 删除 VM 备份后,备份数据将保留为 14 天软删除状态,以便根据需要进行恢复。 此功能可增强数据复原能力,并确保有一个窗口在永久删除关键备份数据之前还原关键备份数据。
注意
软删除只是保护已删除的备份数据。 如果删除未备份的 VM,则软删除功能不会保留数据。 应使用 Azure 备份保护所有资源,以确保能够完全复原。
 
软删除 Azure VM 备份
              选择客户端:
- 若要删除虚拟机 (VM) 的备份数据,必须停止备份。 在 Azure 门户中,转到“恢复服务保管库”,右键单击备份项,然后选择“停止备份”。 - 
                
 
- 在以下窗口中,可以选择删除或保留备份数据。 如果依次选择“保留备份数据”、“停止备份”,则不会永久删除 VM 备份。 相反,这会停止所有计划的备份作业并保留备份数据。 在此方案中,策略中设置的保留范围不适用于备份数据。 它会继续定价,直到手动删除数据。 如果选择“删除备份数据”,则会将一封“删除”警报电子邮件发送到配置的电子邮件 ID,告知用户备份数据将延期保留 14 天。 在第 12 天时也会发送一封警报电子邮件,告知还有两天时间可以恢复已删除的数据。 删除会推迟到第 15 天,到时数据将永久删除,同时系统会发送最后一封警报电子邮件,告知数据已永久删除。 - 
                
 
- 在这 14 天内,恢复服务保管库中已软删除的 VM 旁边会显示一个红色的“软删除”图标。 - 
                
 - 
- 注意 - 如果保管库中存在任何已软删除的备份项,此时无法删除该保管库。 请在永久删除了备份项且保管库中未留下任何处于软删除状态的项之后,尝试删除保管库。 
 
- 若要还原软删除的 VM,必须先将其取消删除。 若要取消删除,请选择软删除的 VM,然后选择“取消删除”选项。 - 
                
 - 窗口中会显示一条警告,指出如果选择取消删除选项,将取消删除 VM 的所有还原点,这些还原点可用于执行还原操作。 VM 将保留为“停止保护并保留数据”状态,备份将会暂停,备份数据将永久保留,且没有任何生效的备份策略。 - 
                
 - 此时,还可以通过从选定还原点中选择“还原 VM”来还原 VM。 - 
                
 - 
- 注意 - 只有在用户执行“恢复备份”操作后,垃圾回收器才会运行并清理已过期的恢复点。 
 
- 取消删除操作完成后,状态将恢复为“停止备份并保留数据”,然后,你可以选择“恢复备份”。 “恢复备份”操作会恢复处于活动状态的、与定义备份和保留计划的用户所选的备份策略相关联的备份项。 - 
                
 
重要
使用 Azure PowerShell 进行软删除所需的 Az.RecoveryServices 版本最低为 2.2.0。 可使用 Install-Module -Name Az.RecoveryServices -Force 获取最新版本。
 
如上所述 Azure 门户,使用 Azure PowerShell 时,步骤顺序是相同的。
使用 Azure PowerShell 删除备份项
使用 Disable-AzRecoveryServicesBackupProtection PowerShell cmdlet 删除备份项。
Disable-AzRecoveryServicesBackupProtection -Item $myBkpItem -RemoveRecoveryPoints -VaultId $myVaultID -Force
WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
AppVM1           DeleteBackupData     Completed            12/5/2019 12:44:15 PM     12/5/2019 12:44:50 PM     0488c3c2-accc-4a91-a1e0-fba09a67d2fb
备份项的“DeleteState”状态将从NotDeleted变为ToBeDeleted。 备份数据会保留 14 天。 如果要还原删除操作,则应执行撤消-删除操作。
使用 Azure PowerShell 撤销删除操作
首先,提取处于软删除状态(也就是即将删除)的相关备份项。
Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -VaultId $myVaultID | Where-Object {$_.DeleteState -eq "ToBeDeleted"}
Name                                     ContainerType        ContainerUniqueName                      WorkloadType         ProtectionStatus     HealthStatus         DeleteState
----                                     -------------        -------------------                      ------------         ----------------     ------------         -----------
VM;iaasvmcontainerv2;selfhostrg;AppVM1    AzureVM             iaasvmcontainerv2;selfhostrg;AppVM1       AzureVM              Healthy              Passed               ToBeDeleted
$myBkpItem = Get-AzRecoveryServicesBackupItem -BackupManagementType AzureVM -WorkloadType AzureVM -VaultId $myVaultID -Name AppVM1
然后,使用 Undo-AzRecoveryServicesBackupItemDeletion PowerShell cmdlet 执行撤消删除操作。
Undo-AzRecoveryServicesBackupItemDeletion -Item $myBKpItem -VaultId $myVaultID -Force
WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
AppVM1           Undelete             Completed            12/5/2019 12:47:28 PM     12/5/2019 12:47:40 PM     65311982-3755-46b5-8e53-c82ea4f0d2a2
备份项的 DeleteState 将还原为 NotDeleted。 但保护仍处于停止状态。 
              恢复备份以重新启用保护。
- 如此处所述,使用 REST API 删除备份。
- 如果你想要撤消这些删除操作,请参阅此处所述的步骤。
 
如何禁用软删除
建议不要禁用此功能。 唯一应该考虑禁用软删除的情况是,你打算将受保护的项移到新保管库,需要在删除后重新进行保护,因此等不及要求的 14 天(例如在测试环境中)。有关如何禁用软删除的说明,请参阅启用和禁用软删除。
后续步骤