你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
虚拟机的软删除
VM 的软删除可保护 VM 的备份免遭意外删除。 即使删除了备份,这些备份也会以软删除状态再保留 14 天。
注意
软删除只是保护已删除的备份数据。 如果删除未备份的 VM,则软删除功能不会保留数据。 应使用 Azure 备份保护所有资源,以确保能够完全复原。
支持的区域
软删除在所有 Azure 公共和国家区域都可用。
使用 Azure 门户对 VM 进行软删除
若要删除虚拟机 (VM) 的备份数据,必须停止备份。 在 Azure 门户中,转到“恢复服务保管库”,右键单击备份项,然后选择“停止备份”。
在接下来的窗口中,会提供用于删除或保留备份数据的选项。 如果依次选择“保留备份数据”、“停止备份”,则不会永久删除 VM 备份。 相反,这会停止所有计划的备份作业并保留备份数据。 在这种情况下,策略中设置的保留期不适用于备份数据。 它会继续定价,直到手动删除数据。 如果选择“删除备份数据”,则会将一封“删除”警报电子邮件发送到配置的电子邮件 ID,告知用户备份数据将延期保留 14 天。 在第 12 天时也会发送一封警报电子邮件,告知还有两天时间可以恢复已删除的数据。 删除会推迟到第 15 天,到时数据将永久删除,同时系统会发送最后一封警报电子邮件,告知数据已永久删除。
在这 14 天内,恢复服务保管库中已软删除的 VM 旁边会显示一个红色的“软删除”图标。
注意
如果保管库中存在任何已软删除的备份项,此时无法删除该保管库。 请在永久删除了备份项且保管库中未留下任何处于软删除状态的项之后,尝试删除保管库。
若要还原软删除的 VM,必须先将其取消删除。 若要取消删除,请选择软删除的 VM,然后选择“取消删除”选项。
窗口中会显示一条警告,指出如果选择取消删除选项,将取消删除 VM 的所有还原点,这些还原点可用于执行还原操作。 VM 将保留为“停止保护并保留数据”状态,备份将会暂停,备份数据将永久保留,且没有任何生效的备份策略。
此时,还可以通过从选定还原点中选择“还原 VM”来还原 VM。
注意
只有在用户执行“恢复备份”操作后,垃圾回收器才会运行并清理已过期的恢复点。
取消删除操作完成后,状态将恢复为“停止备份并保留数据”,然后,你可以选择“恢复备份”。 “恢复备份”操作会恢复处于活动状态的、与定义备份和保留计划的用户所选的备份策略相关联的备份项。
使用 Azure PowerShell 对 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 对 VM 进行软删除
如何禁用软删除
建议不要禁用此功能。 唯一应该考虑禁用软删除的情况是,你打算将受保护的项移到新保管库,需要在删除后重新进行保护,因此等不及要求的 14 天(例如在测试环境中)。有关如何禁用软删除的说明,请参阅启用和禁用软删除。
后续步骤
- 阅读有关软删除的常见问题解答
- 了解 Azure 备份中的所有安全功能