从 Azure 下载 Linux VHD
适用于:✔️ Linux VM ✔️ 灵活规模集
本文介绍如何使用 Azure 门户从 Azure 下载 Linux 虚拟硬盘 (VHD) 文件。
停止 VM
如果 VHD 附加到正在运行的 VM,则不能从 Azure 下载。 如果要使 VM 保持运行,可以创建快照,然后下载快照。
若要停止 VM,请执行以下操作:
登录 Azure 门户。
在左侧菜单中,选择“虚拟机”。
从列表中选择 VM。
在 VM 的页面上,选择“停止”。
替代方法:创建 VM 磁盘快照
创建要下载的磁盘快照。
- 在门户中选择 VM。
- 在左侧菜单中选择“磁盘”,然后选择要创建快照的磁盘。 系统将显示磁盘的详细信息。
- 从页面的顶部菜单选择“创建快照”。 “创建快照”页将打开。
- 在“名称”中键入快照的名称。
- 对于“快照类型”,选择“完全”或“增量” 。
- 完成操作后,选择“查看 + 创建”。
很快会创建快照,然后可以使用该快照下载或创建另一个 VM。
注意
如果不先停止 VM,快照将不会清理。 快照的状态就好像在创建快照时 VM 已重启或崩溃一样。 尽管这通常是安全的,但如果当时正在运行的应用程序会因崩溃受到影响,则可能会导致问题。
仅建议具有单个操作系统磁盘的 VM 使用此方法。 在下载快照之前,或者在为操作系统磁盘和每个数据磁盘创建快照之前,应停止具有一个或多个数据磁盘的 VM。
使用 Microsoft Entra ID 保护下载和上传
如果使用 Microsoft Entra ID 来控制资源访问,现在可使用它来限制 Azure 托管磁盘的上传和下载。 此功能在所有区域以正式版产品/服务的形式提供。 当用户尝试上传或下载磁盘时,Azure 会在 Microsoft Entra ID 中验证发出请求的用户的标识,并确认该用户具有所需的权限。 在更高级别,系统管理员可以在 Azure 帐户或订阅级别设置策略,以确保所有磁盘和快照都必须使用 Microsoft Entra ID 进行上传或下载。 如果对使用 Microsoft Entra ID 保护上传或下载有任何疑问,请联系此电子邮件地址:azuredisks@microsoft .com
限制
- 无法将 VHD 上传到空快照。
- Azure 备份目前不支持使用 Microsoft Entra ID 保护的磁盘。
- Azure Site Recovery 目前不支持使用 Microsoft Entra ID 保护的磁盘。
先决条件
- 安装最新的 Azure PowerShell 模块。
分配 RBAC 角色
若要访问受 Microsoft Entra ID 保护的托管磁盘,发出请求的用户必须具有托管磁盘角色的数据操作员角色,或者是具有以下权限的自定义角色:
- Microsoft.Compute/disks/download/action
- Microsoft.Compute/disks/upload/action
- Microsoft.Compute/snapshots/download/action
- Microsoft.Compute/snapshots/upload/action
有关分配角色的详细步骤,请参阅以下关于门户、PowerShell 或 CLI 的文章。 若要创建或更新自定义角色,请参阅以下关于门户、PowerShell 或 CLI 的文章。
启用数据访问身份验证模式
启用“数据访问身份验证模式”以限制对磁盘的访问。 你可以在创建磁盘时启用它,也可以在“磁盘导出”页面中现有磁盘的“设置”下启用它。
生成 SAS URL
若要下载 VHD 文件,需要生成共享访问签名 (SAS) URL。 生成 URL 时,将为 URL 分配到期时间。
重要
2025 年 2 月 15 日,磁盘和快照的共享访问签名 (SAS) 访问时间将限制为最多 60 天。 尝试生成有效期超过 60 天的 SAS 会导致错误。 已创建的有效期超过 60 天的任何现有磁盘或快照 SAS 在创建日期过去 60 天后可能会停止工作,并且在授权过程中会导致 403 错误。
如果托管磁盘或快照 SAS 的有效期超过 60 天,请撤销其访问权限,并生成请求访问 60 天(5,184,000 秒)或更少时间的新 SAS。 通过使用有效期更短的 SAS 来提高整体安全性。 请在 2025 年 2 月 15 日之前进行这些更改,以防止服务中断。 以下链接可用于查找、撤销和请求新的 SAS。
- 若要检查磁盘是否具有活动的 SAS,可以使用 REST API、Azure CLI 或 Azure PowerShell 模块,并检查 DiskState 属性。
- 若要撤销 SAS,可以使用 REST API、Azure CLI 或 Azure PowerShell 模块。
- 若要创建 SAS,可以使用 REST API、Azure CLI 或 Azure PowerShell 模块,并将访问持续时间设置为 5,184,000 秒或更少。
- 在 VM 页的菜单上,选择“磁盘”。
- 为 VM 选择操作系统磁盘,然后选择“磁盘导出”。
- 如果需要,请更新“URL 到期时间(秒)”的值,留出足够的时间来完成下载。 默认值为 3600 秒(1 小时)。
- 选择“生成 URL”。
下载 VHD
注意
如果使用 Microsoft Entra ID 来保护托管磁盘下载,则下载 VHD 的用户必须具有相应的 RBAC 权限。
在生成的 URL 下,选择“下载 VHD 文件”。
可能需要选择浏览器中的“保存”以开始下载。 VHD 文件的默认名称为 abcd。