Elastic Compute Service (ECS) にインポートできるのは、RAW、VHD、およびQCOW2形式の画像のみです。 イメージファイルが別の形式の場合、ファイルをECSにインポートする前に、ファイルをサポートされている形式に変換する必要があります。 このトピックでは、オープンソース変換ツールqemu-imgを使用してイメージの形式を変換する方法について説明します。
制限事項
qemu-imgツールは、RAW、QCOW2、QCOW1、VMDK、VDI、VHD、VHDX、およびQEDを含むフォーマット間で画像を変換できます。
qemu-imgツールは、ISO形式からRAW、VHD、またはQCOW2形式に画像を直接変換することはできません。
イメージをISO形式からRAW、VHD、またはQCOW2形式に直接変換するには、仮想マシンを作成し、ISOイメージを使用して仮想マシンとオペレーティングシステムを起動します。 次に、仮想マシンにオペレーティングシステムをインストールし、仮想マシンのディスクをRAW、VHD、またはQCOW2形式の仮想ディスクイメージとしてエクスポートします。 詳細については、「仮想マシンの作成とオペレーティングシステムのインストール」または「仮想マシンの作成とオペレーティングシステムのインストール」をご参照ください。
イメージをVHDから別の形式に、または別の形式からVHDに変換する場合は、vhd形式のイメージファイルのファイル名拡張子としてVHDの代わりに
vpc
を使用します。 そうしないと、qemu-imgツールがVHDイメージフォーマットを認識できないため、変換が失敗する可能性があります。 次のようなエラーメッセージが返されます。
手順
qemu-imgツールをWindowsインスタンスにインストールし、イメージの形式を変換します
次の手順を実行して、Windowsにqemu-imgツールをインストールし、イメージ形式を変換します。
このセクションでは、Windows Server 2016オペレーティングシステムにqemu-imgをインストールする方法について説明します。 インスタンスが他のバージョンのオペレーティングシステムを使用している場合、操作が異なる場合があります。
qemu-imgツールをインストールします。
qemu-imgツールをダウンロードしてインストールします。 次の例では、インストールパスはC:\Program Files\qemuです。
qemu-imgの環境変数を設定します。
Windows Serverデスクトップで、アイコンを右クリックし、[システム] をクリックします。
左側のナビゲーションウィンドウで、[システムの詳細設定] をクリックします。
[システムのプロパティ] ダイアログボックスで、[詳細設定] タブをクリックし、[環境変数] をクリックします。
[環境変数] ダイアログボックスで、[システム変数] セクションの [パス] 変数を見つけ、[編集] をクリックします。 パス変数が存在しない場合は、[新規] をクリックして変数を作成します。
Path変数を作成するか、Path変数に値を追加します。
パス変数の編集
[新規作成] をクリックし、
C:\Program Files\qemu
変数値を追加します。パス変数の作成
[変数名] フィールドに
[パス]
を入力し、[変数値] フィールドにC:\Program Files\qemu
を入力します。
環境変数が正しく設定されているか確認します。
Windowsコマンドプロンプトを開きます。
qemu-img -- help
コマンドを実行します。qemu-imgツールのバージョン情報が返された場合、環境変数は適切に設定されています。
画像形式を変換します。
コマンドプロンプトウィンドウで、次のコマンドを実行して、ソースイメージファイルが配置されているディレクトリ (たとえば、
C:\Program Files\ConvertImage
) に切り替えます。cd C:\Program Files\ConvertImage
次のコマンドを実行して、イメージの形式を変換します。
以下の例では、画像がQCOW2からRAWに変換され、別の画像がVHDからRAWに変換される。 要件に基づいて、コマンドラインの画像形式を置き換えます。
次のコマンドを実行して、イメージをQCOW2からRAWに変換します
qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw
関連するパラメータは次のとおりです。
-f
: このパラメーターの後にソースイメージの形式が続きます。qcow2
の値は、ソースイメージファイルの形式がqcow2であることを示します。 このパラメーターはオプションです。説明qemu-img convert -O raw centos.qcow2 centos.raw
コマンドを実行し、-f
パラメーターとその値を省略してイメージ形式を変換できます。-O
: このパラメーターは大文字で、その後にソースイメージの変換先のイメージ形式、ソースイメージファイルの名前、およびターゲットイメージファイルの名前が順番に続きます。 centos.qcow2イメージファイルをraw形式のcentos. RAWイメージファイルに変换します。
次のコマンドを実行して、イメージをVHDからRAWに変換します。
qemu-img convert -f vpc -O raw centos.vhd centos.raw
関連するパラメータは次のとおりです。
-f
: このパラメーターの後にソースイメージの形式が続きます。vpc
の値は、ソースイメージファイルの形式がVHDであることを示します。 このパラメーターはオプションです。説明qemu-img convert -O raw centos.vhd centos.raw
コマンドを実行し、-f
パラメーターとその値を省略して画像形式を変換できます。-O
: このパラメーターは大文字で、その後にソースイメージの変換先のイメージ形式、ソースイメージファイルの名前、およびターゲットイメージファイルの名前が順番に続きます。 centos.vhdイメージファイルをraw形式のcentos. RAWイメージファイルに変换します。重要他の形式をVHDに変換する場合は、ターゲットイメージファイルのファイル名拡張子としてvhdの代わりに
vpc
を使用します。 たとえば、RAWからVHDに画像を変換するには、次のコマンドを実行します。qemu-img convert -f raw -O vpc centos.raw centos.vhd
。
変換された画像ファイルを取得します。
変換されたイメージファイルは、ソースイメージファイルが配置されているディレクトリに保存されます。 この例では、変換されたイメージファイルは
C:\Program Files\ConvertImage
に保存されます。qemu-img info <destination file name>
コマンドを実行して、変換されたイメージファイルの詳細を表示することもできます。
Linuxインスタンスにqemu-imgツールをインストールし、イメージの形式を変換します
次の手順を実行して、Linuxにqemu-imgツールをインストールし、イメージ形式を変換します。
このセクションでは、Alibaba Cloud Linux 3またはUbuntuオペレーティングシステムにqemu-imgをインストールする方法について説明します。 インスタンスが他のバージョンのオペレーティングシステムを使用している場合、操作が異なる場合があります。
次のコマンドを実行して、qemu-imgツールをインストールします。
Alibaba Cloud Linux 3
sudo yum install qemu-img
説明エラーメッセージが返され、どの依存関係ライブラリが欠落しているかを示さない場合は、
sudo pip install -r requirements.txt
コマンドを実行して、cloud-initのrequirements.txtファイルに含まれるすべての依存関係ライブラリをインストールできます。Ubuntu
sudo apt-get install qemu-utils
説明インストールプロセス中に
Unable to locate package qemu-utils
というエラーメッセージが返された場合は、次のコマンドを実行してqemu-imgツールをインストールします。sudo apt-get update # Update the package list. sudo apt-get install qemu-utils # Install the qemu-img tool.
次のコマンドを実行して、イメージの形式を変換します。
以下の例では、画像がQCOW2からRAWに変換され、別の画像がVHDからRAWに変換される。 要件に基づいて、コマンドラインの画像形式を置き換えます。
次のコマンドを実行して、イメージをQCOW2からRAWに変換します
qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw
関連するパラメータは次のとおりです。
-f
: このパラメーターの後にソースイメージの形式が続きます。qcow2
の値は、ソースイメージファイルの形式がqcow2であることを示します。 このパラメーターはオプションです。説明qemu-img convert -O raw centos.qcow2 centos.raw
コマンドを実行し、-f
パラメーターとその値を省略してイメージ形式を変換できます。-O
: このパラメーターは大文字で、その後にソースイメージの変換先のイメージ形式、ソースイメージファイルの名前、およびターゲットイメージファイルの名前が順番に続きます。 centos.qcow2イメージファイルをraw形式のcentos. RAWイメージファイルに変换します。
次のコマンドを実行して、イメージをVHDからRAWに変換します
qemu-img convert -f vpc -O raw centos.vhd centos.raw
関連するパラメータは次のとおりです。
-f
: このパラメーターの後にソースイメージの形式が続きます。vpc
の値は、ソースイメージファイルの形式がVHDであることを示します。 このパラメーターはオプションです。説明qemu-img convert -O raw centos.vhd centos.raw
コマンドを実行し、-f
パラメーターとその値を省略して画像形式を変換できます。-O
: このパラメーターは大文字で、その後にソースイメージの変換先のイメージ形式、ソースイメージファイルの名前、およびターゲットイメージファイルの名前が順番に続きます。 centos.vhdイメージファイルをraw形式のcentos. RAWイメージファイルに変换します。重要他の形式をVHDに変換する場合は、ターゲットイメージファイルのファイル名拡張子としてvhdの代わりに
vpc
を使用します。 たとえば、RAWからVHDに画像を変換するには、次のコマンドを実行します。qemu-img convert -f raw -O vpc centos.raw centos.vhd
。
変換された画像ファイルを取得します。
変換されたイメージファイルは、ソースイメージファイルが配置されているディレクトリに保存されます。
qemu-img info <destination file name>
コマンドを実行して、変換されたイメージファイルの詳細を表示することもできます。
次のステップ
イメージファイル形式を変換した後、カスタムイメージをインポートするために、イメージファイルをOSSバケットにアップロードする必要があります。 詳細については、「OSSへの画像ファイルのアップロード」をご参照ください。
参考資料
qemu-imgは、仮想マシンイメージを作成、変換、および管理するためのコマンドラインインターフェイス (CLI) です。 これは、Quick EMUlator (QEMU) プロジェクトの一部です。 qemu-imgは、イメージ形式の変換に加えて、イメージの作成や仮想マシンイメージのサイズ変更などの機能もサポートしています。 詳細については、QEMU公式ウェブサイトをご覧ください。
qemu-imgツールは、Open Virtualization Appliance (OVA) およびOpen Virtualization Format (OVF) 形式をサポートしていません。 qemu-imgツールは主にディスクイメージファイルを作成、変換、管理するためです。 OVAおよびOVF形式のイメージファイルは、構成ファイル、説明ファイル、およびディスクイメージを含む仮想化パッケージです。 OVAおよびOVFフォーマットは、分散管理タスクフォース (DMTF) によって維持される。 詳細については、DMTF公式ウェブサイトをご覧ください。