Google Distributed Cloud 上の VM ランタイムで使用する仮想ディスク イメージを qcow2 形式に変換する

このドキュメントは、Google Distributed Cloud 上の VM ランタイムで仮想マシン(VM)を実行するプラットフォーム管理者とアプリケーション オーナーを対象としています。 このドキュメントでは、既存の仮想ディスク イメージを qcow2 形式に変換し、ソースイメージを使用して Anthos VM ランタイムで VM を作成して実行できるようにする方法について説明します。その後、この変換された仮想ディスク イメージから VM を直接作成する方法を確認します。

Google Distributed Cloud 上の VM ランタイムは、必要に応じてデプロイ中に既存のディスク イメージを qcow2 形式に自動で変換します。ただし、非 qcow2 仮想ディスク イメージから複数の VM を作成する場合、Google Distributed Cloud 上の VM ランタイムは毎回イメージを変換する必要があります。イメージを qcow2 形式に変換するこのプロセスによって、VM の作成と起動に要する時間が増大します。各 VM の作成に要する時間を短縮するには、まずこのドキュメントで説明するように、仮想ディスク イメージを qcow2 形式に変換します。

始める前に

既存の仮想ディスク イメージを変換した後に VM を作成するには、次のリソースへのアクセス権が必要です。

仮想ディスク イメージを変換する

このドキュメントでは、QEMU ディスク イメージ ユーティリティを使用して、既存の仮想ディスク イメージを qcow2 形式に変換します。qemu-img ツールでは、仮想ディスク イメージを vmdkvhdx などの複数の形式から qcow2 形式に変換し、Google Distributed Cloud 上の VM ランタイムで使用できます。

仮想ディスク イメージを qcow2 形式に変換するには、次の手順を行います。

  1. Linux ディストリビューションのパッケージ マネージャーを使用して qemu-utils パッケージをインストールします。

    Ubuntu

    apt-get install qemu-utils
    

    RHEL / CentOS

    yum install qemu-utils
    
  2. qemu-img を使用して既存の仮想ディスク イメージを変換します。

    qemu-img convert -f EXISTING_DISK_IMAGE_FORMAT -O qcow2 \
      EXISTING_DISK_IMAGE_NAME \
      CONVERTED_DISK_IMAGE_NAME.qcow2
    

    次の値を置き換えます。

    • EXISTING_DISK_IMAGE_FORMAT: 既存の仮想ディスク イメージの形式(vmdk など)。
    • EXISTING_DISK_IMAGE_NAME: 既存の仮想ディスク イメージのパスと名前。
    • CONVERTED_DISK_IMAGE_NAME: 変換された qcow2 仮想ディスク イメージのパスと名前。

    さまざまなイメージ形式のオプションなど、qemu-img ツールの詳細については、QEMU ディスク イメージ ユーティリティのドキュメントをご覧ください。

変換されたイメージを使用して VM を作成する

変換された仮想ディスク イメージの動作を確認するには、VM を作成し、前のセクションで作成したローカルの qcow2 形式のイメージを使用します。本番環境で使用する場合は、変換した仮想ディスク イメージを中央リポジトリにアップロードし、HTTP ソースから VM ブートディスクを作成するか、Cloud Storage から Secret を使用して VM ブートディスクを作成します。

ローカルで変換した仮想ディスク イメージを使用するには、次の手順を行います。

  1. クラスタで VM を作成します。

    kubectl virt create vm VM_NAME \
      --os-type OS_TYPE \
      --image CONVERTED_DISK_IMAGE_NAME.qcow2
    

    このコマンドは、2 個の CPU、4 GB のメモリが搭載されたデフォルトの VM を作成します。

    次の値を置き換えます。

    • VM_NAME: VM の名前。
    • OS_TYPE: 変換された仮想ディスク イメージの OS タイプ。linuxwindows のいずれかを設定できます。
    • CONVERTED_DISK_IMAGE_NAME: 前のセクションから変換された qcow2 仮想ディスク イメージのパスと名前。
  2. イメージのサイズによっては、ローカルで変換した仮想ディスク イメージから VM を作成するために 10~20 分を要する場合があります。kubectl コマンドで VM のステータスを確認します。

    kubectl get gvm VM_NAME
    

    VM_NAME は実際の VM 名に置き換えます。

    次の出力例は、プロセスが完了したときに Running 状態になっている VM を示しています。

    NAME    STATUS    AGE   IP
    MY_VM   Running   64s   192.168.2.124
    

次のステップ

qcow2 形式に変換された仮想ディスク イメージを HTTP ソースまたは Cloud Storage にアップロードできます。次のドキュメントでは、これらのソースから VM を作成する方法について説明しています。