2.7. Convertendo a imagem para um formato VHD fixo
Todas as imagens do Microsoft Azure VM devem estar em um formato fixo VHD
. A imagem deve ser alinhada em um limite de 1 MB antes de ser convertida para VHD. Esta seção descreve como converter a imagem de qcow2
para um formato VHD
fixo e alinhar a imagem, se necessário. Uma vez convertida a imagem, você pode carregá-la para o Azure.
Procedimento
Converta a imagem de
qcow2
para o formatoraw
.qemu-img converter -f qcow2 -O bruto <image-name>.qcow2 <image-name>.raw
Crie um roteiro de shell usando o conteúdo abaixo.
#!/bin/bash MB=$((1024 * 1024)) size=$(qemu-img info -f raw --output json "$1" | gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}') rounded_size=$((($size/$MB + 1) * $MB)) if [ $(($size % $MB)) -eq 0 ] then echo "Your image is already aligned. You do not need to resize." exit 1 fi echo "rounded size = $rounded_size" export rounded_size
Execute o roteiro. Este exemplo usa o nome
align.sh
.$ sh align.sh <image-xxx>.raw
- Se a mensagem "Your image is already aligned. You do not need to resize." for exibida, siga para o seguinte passo.
- Se um valor for exibido, sua imagem não está alinhada.
Use o seguinte comando para converter o arquivo para um formato
VHD
fixo.The sample uses qemu-img version 2.12.0.
$ qemu-img converter -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
Uma vez convertido, o arquivo
VHD
está pronto para ser carregado no Azure.
Aligning the image
Complete os seguintes passos somente se o arquivo raw
não estiver alinhado.
Redimensione o arquivo
raw
usando o valor arredondado exibido quando você executou o roteiro de verificação.$ qemu-img redimensionamento -f raw <image-xxx>.raw <rounded-value>
Converta o arquivo de imagem
raw
para um formatoVHD
.The sample uses qemu-img version 2.12.0.
$ qemu-img converter -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
Uma vez convertido, o arquivo
VHD
está pronto para ser carregado no Azure.