You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法本地解压VHD,如何在Azure Blob上传Zip后解压生成托管磁盘?

实现步骤

1. 上传Zip包到Blob存储

先用AzCopy把16GB的Zip文件上传到目标Blob容器(比如命名为zip-uploads):

azcopy copy "本地路径\your-vhd.zip" "https://<你的存储账户名>.blob.core.windows.net/zip-uploads/your-vhd.zip" --recursive

2. 准备存放解压后VHD的容器

创建一个新的Blob容器(比如vhd-storage),用于存储解压后的500GB VHD:

az storage container create --name vhd-storage --account-name <你的存储账户名>

3. 用Azure容器实例(ACI)挂载Blob并解压

ACI可以直接挂载Blob容器作为本地卷,在容器内执行解压操作,适合处理大文件解压需求。需要配置足够的CPU、内存和临时磁盘空间(至少550GB,保证解压过程有足够临时存储)。

部署ACI执行解压

用Azure CLI启动ACI容器,挂载两个Blob容器,同时安装解压工具并执行解压命令:

az container create \
  --name unzip-vhd-task \
  --resource-group <你的资源组名> \
  --image ubuntu:latest \
  --cpu 4 \
  --memory 16 \
  --os-disk-size-gb 550 \
  --azure-file-volume-account-name <你的存储账户名> \
  --azure-file-volume-account-key <你的存储账户密钥> \
  --azure-file-volume-share-name zip-uploads \
  --azure-file-volume-mount-path /mnt/zip \
  --azure-file-volume-account-name <你的存储账户名> \
  --azure-file-volume-account-key <你的存储账户密钥> \
  --azure-file-volume-share-name vhd-storage \
  --azure-file-volume-mount-path /mnt/vhd \
  --command-line "apt-get update && apt-get install -y unzip && unzip /mnt/zip/your-vhd.zip -d /mnt/vhd/"

说明:如果使用托管身份而非存储密钥,需要提前为ACI配置存储账户的访问权限,避免明文传递密钥。

4. 从Blob中的VHD创建托管磁盘

解压完成后,直接从Blob存储的VHD文件创建托管磁盘:

az disk create \
  --resource-group <你的资源组名> \
  --name <目标托管磁盘名> \
  --source https://<你的存储账户名>.blob.core.windows.net/vhd-storage/your-vhd.vhd \
  --os-type <Windows/Linux> \
  --sku Premium_LRS \
  --size-gb 500

替代方案:Azure Batch(适合重复任务)

如果需要多次执行这类大文件解压+磁盘创建操作,Azure Batch更适合。创建Batch池并挂载Blob存储,定义解压任务,流程和ACI类似,但支持批量调度和资源复用。

注意事项

  • 完成解压后及时删除ACI实例,避免不必要的资源费用。
  • 确保存储账户的网络配置允许ACI访问(比如不要限制为特定IP,或把ACI加入允许列表)。
  • 解压过程耗时较长,可通过Azure门户或CLI查看ACI的日志进度。

内容的提问来源于stack exchange,提问作者Brandon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 11:47:41