如何在不同资源组的Azure DevTest Lab间共享基础镜像?
跨资源组DevTest Lab共享基础镜像解决方案
DevTest Lab添加自定义镜像时确实不支持直接选择快照,得先把快照转换成可识别的VHD格式,再导入目标实验室,具体步骤如下:
1. 把快照转成托管磁盘
- Azure Portal操作:找到你导出的目标快照,点击顶部的「创建磁盘」,选择和快照同区域的资源组(可先选源资源组,后续再转移),填写磁盘名称后完成创建。
- Azure CLI命令:
az disk create --resource-group <源资源组名称> --name <新托管磁盘名称> --source <快照的资源ID>
2. 将托管磁盘导出为VHD到存储账户
- 先确认目标资源组有标准存储账户(Premium存储不支持VHD导出,若没有就新建一个,冗余选LRS即可)。
- 在Portal找到刚创建的托管磁盘,点击「导出」,生成SAS URL(注意设置合理的过期时间)。
- 用AzCopy把VHD复制到目标资源组的存储账户容器里:
也可以用Azure Storage Explorer可视化完成复制操作。azcopy copy "<生成的SAS URL>" "https://<目标存储账户名>.blob.core.windows.net/<容器名>/<自定义VHD文件名>.vhd"
3. 在目标DevTest Lab添加自定义镜像
- 进入目标实验室,左侧菜单选「自定义镜像」→「添加」。
- 选择「使用现有VHD」,找到刚才复制到目标存储账户的VHD文件,填写镜像名称、匹配的操作系统类型(Windows/Linux),确认后完成创建。
额外技巧(同区域跨资源组)
如果源快照和目标实验室在同一区域,可先把快照直接复制到目标资源组,再重复上面的步骤:
New-AzSnapshotConfig -SourceResourceId <源快照的资源ID> -Location <区域名称> | New-AzSnapshot -ResourceGroupName <目标资源组名> -SnapshotName <复制后的快照名称>
注意事项
- 源资源和目标资源必须处于同一Azure区域,跨区域需先把快照复制到目标区域再操作。
- 存储账户必须是标准类型,Premium存储无法导出VHD。
- 自定义镜像的操作系统类型必须和源镜像完全匹配,否则创建虚拟机时会报错。
内容的提问来源于stack exchange,提问作者Amateur
相关产品推荐
相关产品推荐

