4.8. 将镜像转换为固定 VHD 格式
所有 Microsoft Azure VM 镜像都必须是固定的 VHD
格式。镜像必须在将镜像转换为 VHD 之前被对齐到 1 MB 边界。要将镜像从 qcow2
转换为固定的 VHD
格式,并保持一致,请参阅以下流程。转换镜像后,您可以将其上传到 Azure。
流程
将镜像从
qcow2
转换为raw
格式。qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
$ qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个具有以下内容的 shell 脚本:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行脚本。本例使用名称
align.sh
。sh align.sh <image-xxx>.raw
$ sh align.sh <image-xxx>.raw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如需显示 "Your image is already aligned.You do not need to resize.",执行以下步骤。
- 如果显示了一个值,代表您的镜像没有被对齐。
使用以下命令来将文件转换为固定的
VHD
格式:示例使用 qemu-img 版本 2.12.0。
qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 转换后,
VHD
文件就可以上传到 Azure。如果
raw
镜像不一致,请完成以下步骤使其保持一致。在运行验证脚本时,使用显示的舍入值来调整
raw
文件的大小。qemu-img resize -f raw <image-xxx>.raw <rounded-value>
$ qemu-img resize -f raw <image-xxx>.raw <rounded-value>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
raw
镜像文件转换为VHD
格式。示例使用 qemu-img 版本 2.12.0。
qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 转换后,
VHD
文件就可以上传到 Azure。