1.4. イメージの固定 VHD 形式への変換
すべての Microsoft Azure 仮想マシンイメージは、固定 VHD
形式である必要があります。イメージは、VHD に変換する前に 1 MB の境界で調整する必要があります。このセクションでは、必要に応じて、イメージを、qcow2
形式から固定の VHD
形式に変換して配置する方法を説明します。イメージを変換したら、Azure にアップロードできます。
手順
イメージを
qcow2
形式からraw
形式に変換します。$ qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
以下のコンテンツを使用してシェルスクリプトを作成します。
#!/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
スクリプトを実行します。この例では
align.sh
という名前を使用します。$ sh align.sh <image-xxx>.raw
- 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
変換されると、
VHD
ファイルは Azure にアップロードする準備が整います。
イメージのアライメント
以下の手順は、raw
ファイルの整列が行われていない場合にのみ行います。
検証スクリプトの実行時に表示される丸め値を使用して、
raw
ファイルのサイズを変更します。$ qemu-img resize -f raw <image-xxx>.raw <rounded-value>
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 にアップロードする準備が整います。