ここでの vmdk ファイルは OS のイメージではなく、単にデータのみのイメージです。
OS イメージとしての vmdk ファイルを Xen 用の xva ファイルに変換する方法ではありません。
Windows ホストでの変換作業
qemu-img を使って、vmdk から raw 形式に変換
今回は、Windows ホスト上で行っています。コマンドプロントで qemu-img を実行します。D:\Shared は共有フォルダです。
qemu-img.exe convert -f vmdk D:\hdd.vmdk -t raw -O D:\Shared\hdd.img
XenCenter でストレージを作成
インポート先のストレージ(受け皿)を作成します。
- XenCenter の [Local storage] を選択します。
- [Add Disk…] をクリックします。
- 任意の Name とディスクサイズをインポートするイメージのサイズを指定します。これが小さいと途中で失敗してしまいます。
- [Add] をクリックして完了。
XenServer にログイン
Windows 共有フォルダをマウント
\\Winhost\Shared が共有されているとします。Windows 上のユーザー名は waccount とします。
# mount.cifs //Winhost/Shared /mnt -o user=waccount
ストレージのUUIDを確認
# xe vdi-list
uuid ( RO) : aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
name-label ( RW): storage
name-description ( RW):
sr-uuid ( RO): xxxxxxxx-yyyy-zzzz-wwww-vvvvvvvvvvvv
virtual-size ( RO): 21474836480
sharable ( RO): false
read-only ( RO): false
さきほどの XenCenter で作成した Storage の Name とname-label が一致する uuid を調べます。
イメージをインポートする
# cd /mnt
# xe vdi-import filename=”hdd.img” uuid=”aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee”
ポイント
一旦、XenServer 上にコピーしようとすると親ホストに割り当てられている記憶領域の容量不足でできない。Windows ではなければ NFS マウントするなりでネットワーク越しにインポートを試みる。