🚀

KVMのqcow2イメージファイルをESXiに持ってくる方法

2021/08/11に公開

バージョンなど

ESXi 6.0U2 (無償版)

イメージのコンバート

さすがの ESXi でも qcow2 イメージは読めないので vmdk にコンバートする必要がある。

KVM が動いているサーバー上で、以下のコマンドを使えば変換できる。

qemu-img convert -O vmdk [入力ファイル].qcow2 [出力先].vmdk

イメージの転送

一番素直なのは、 vSphere Client か  Web Client を使ってデータストアに

ファイルをアップロードすることだけれども、転送速度があまり出ないわ、Web Client は

セッションタイムアウトで中断するわであまりうれしくない。

そこで、ESXi ホスト上で SSH を有効にして、scp コマンドを使って転送することにした。

scp imagefile.vmdk root@[esxiホストのIPアドレス]:/vmfs/volumes/datastore1/imagefile.vmdk

イメージを Zeroedthick に変換

転送したイメージファイルは.vmdk なので普通にそのまま VM に接続できそうに思えるが、

実際に接続してみると、以下のエラーがでる。

"Unsupported or invalid disk type 7. Ensure the disk has been imported"

どうも、形式が微妙に違うようなので変換する。

ESXi ホストに SSH して、以下のコマンドを使う。

cd /vmfs/volumes/datastore1/
mkdir temp
cd temp
mv ../imagefile.vmdk temp
vmkfstools -i imagefile.vmdk [VM名].vmdk

わざわざ、datastore1 の下にディレクトリを作ってそこで作業しているのは、

どういうわけか、datastore1 直下だと元ファイルの読み込みに失敗するから。

ファイルが存在しているのにファイルがないとか言われたりして少しハマった。

完了

最後に作った vmdk をよしなな位置に移動して、仮想マシンに接続すれば OK。

Discussion