是否需先上传VHD至Azure Blob存储容器再通过PowerShell复制到Azure数据盘?
将本地VHD转为Azure数据磁盘的操作路径说明
其实你问到的核心点很明确:必须先把VHD上传到Blob Storage容器,但不一定非要用PowerShell来导出成数据磁盘——Azure给了好几种操作路径,我给你拆解清楚:
为什么必须先上传到Blob容器?
Azure的数据磁盘本质是存储在Blob Storage里的固定大小页Blob,所以不管用哪种方式创建数据磁盘,都得先把你的VHD文件放到Blob容器里,这一步是绕不开的。
两种常用的转换方法
方法1:用PowerShell/CLI(适合批量或自动化场景)
如果你习惯用命令行,确实可以通过PowerShell直接把Blob里的VHD转换成数据磁盘,示例命令如下:
# 先创建磁盘配置 $diskConfig = New-AzDiskConfig -Location "eastus" -CreateOption Import ` -SourceUri "https://your-storage-account.blob.core.windows.net/your-container/your-server2016.vhd" ` -OsType Windows # 基于配置创建数据磁盘 New-AzDisk -ResourceGroupName "your-resource-group" -DiskName "rds-data-disk" -Disk $diskConfig
方法2:用Azure Portal(可视化操作,适合单磁盘场景)
如果不想写代码,直接在Portal里就能完成,步骤更直观:
- 先把VHD上传到Blob容器:可以用Azure Storage Explorer(上传大文件更稳定),或者直接在存储账户的容器页面点击「上传」
- 进入Azure Portal的「磁盘」服务,点击「创建」
- 在创建页面,「源类型」选择「存储 blob」,然后依次选择你的存储账户、容器,以及上传好的VHD文件
- 填写磁盘名称、资源组、区域,选择磁盘大小(必须大于等于你的VHD实际大小),最后点击「创建」即可
关键注意事项
- 上传的VHD必须是固定大小的页Blob,如果你的本地VHD是动态类型,需要先转换成固定大小再上传
- 如果这个VHD是要作为系统盘用于远程桌面服务的虚拟机,记得先对Server 2016系统执行
sysprep通用化操作;如果只是用作数据盘,就不需要这一步 - 大体积VHD推荐用
AzCopy命令行工具上传,比Portal或Storage Explorer的断点续传能力更强,速度也更稳定
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

