Red Hat Training

A Red Hat training course is available for RHEL 8

2.7. Convertir la imagen a un formato VHD fijo

Todas las imágenes de Microsoft Azure VM deben estar en un formato fijo VHD. La imagen debe estar alineada en un límite de 1 MB antes de ser convertida a VHD. Esta sección describe cómo convertir la imagen de qcow2 a un formato fijo de VHD y alinear la imagen, si es necesario. Una vez que haya convertido la imagen, puede subirla a Azure.

Procedimiento

  1. Convierte la imagen de qcow2 al formato raw.

    $ qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
  2. Cree un script de shell con el contenido que se indica a continuación.

    #!/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
  3. Ejecute el script. Este ejemplo utiliza el nombre align.sh.

    $ sh align.sh <image-xxx>.raw
    • Si aparece el mensaje "Your image is already aligned. You do not need to resize.", continúe con el siguiente paso.
    • Si aparece un valor, su imagen no está alineada.
  4. Utilice el siguiente comando para convertir el archivo a un formato fijo VHD.

    The sample uses qemu-img version 2.12.0.

    $ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd

    Una vez convertido, el archivo VHD está listo para subir a Azure.

Aligning the image

Complete los siguientes pasos sólo si el archivo raw no está alineado.

  1. Cambie el tamaño del archivo raw utilizando el valor redondeado que se muestra al ejecutar el script de verificación.

    $ qemu-img resize -f raw <image-xxx>.raw <rounded-value>
  2. Convierte el archivo de imagen raw a un formato VHD.

    The sample uses qemu-img version 2.12.0.

    $ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd

    Una vez convertido, el archivo VHD está listo para subir a Azure.