1.4. イメージの固定 VHD 形式への変換

すべての Microsoft Azure 仮想マシンイメージは、固定 VHD 形式である必要があります。イメージは、VHD に変換する前に 1 MB の境界で調整する必要があります。このセクションでは、必要に応じて、イメージを、qcow2 形式から固定の VHD 形式に変換して配置する方法を説明します。イメージを変換したら、Azure にアップロードできます。

手順

  1. イメージを qcow2 形式から raw 形式に変換します。

    $ qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
  2. 以下のコンテンツを使用してシェルスクリプトを作成します。

    #!/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. スクリプトを実行します。この例では align.sh という名前を使用します。

    $ sh align.sh <image-xxx>.raw
    • Your image is already aligned. You do not need to resize. (イメージはすでに整列しています。サイズを変更する必要はありません。)と表示されたら、次の手順に進みます。
    • 値が表示されると、イメージは調整されません。イメージの調整 セクションの手順を使用してイメージのサイズを変更してから、次の手順に進むようにしてください。
  4. 次のコマンドを使用して、ファイルを固定 VHD 形式に変換します。

    サンプルでは qemu-img バージョン 2.12.0 を使用します。

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

    変換されると、VHD ファイルは Azure にアップロードする準備が整います。

イメージのアライメント

以下の手順は、raw ファイルの整列が行われていない場合にのみ行います。

  1. 検証スクリプトの実行時に表示される丸め値を使用して、raw ファイルのサイズを変更します。

    $ qemu-img resize -f raw <image-xxx>.raw <rounded-value>
  2. 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

    変換されると、VHD ファイルは Azure にアップロードする準備が整います。