2011年6月21日火曜日

libvirt で作成したvmimage をConvirt で管理してみる

Convirt は libvirt を使っていないっぽいので、Virtual-Machine-Manager とか libvirt で作ったvmimage はそのままでは管理できない(コンソール上に表示されない)。
以下の方法で取り込みを行う。

1.[server] -> [管理ホスト] -> [Import Virtual Machine Config Files] で、そのまま kvm config ファイル(.xml)をインポートしようとしても、エラーが出てしまう。

Error adding file, /etc/libvirt/qemu/vm01.xml. invalid syntax (<string>, line 1)

どうやらConvirtが認識できる形式に変換が必要のようだ。

http://www.convirture.org/forums/viewtopic.php?f=35&t=1846&sid=af572c0eda863de0c85fe134c579248f&start=10#p2871

2.ここにある conversion utility を使って、kvm の .xml ファイルを変換する。

# ./batch_convert.sh /etc/libvirt/qemu/

カレントディレクトリに変換後のファイル(.cfg)が保存される。

3.再度 [server] -> [管理ホスト] -> [Import Virtual Machine Config Files] で、変換したconfig ファイル(.cfg)をインポートする。

Task Status が Suceeded になって、管理ホスト下に追加した仮想ホストが表示されたらO.K.

4.インポートに成功した仮想ホストを起動しようとしたら、こんなエラーが出て起動出来ない。
 
 ('TUNSETIFF: Device or resource busy\nqemu: could not open disk image raw:/var/lib/libvirt/images/vm01.img: No such file or directory\n', 1)

libvirtd がイメージを掴んでいるのかと考え、libvirtdを停止したりしても解消せず。
調べてみると、どうも、仮想ホストのディスク設定の変更が必要みたいだ。

http://www.convirture.com/forums/viewtopic.php?f=34&t=5403

5.[仮想ホスト] -> [Edit Settings] -> [Storage] -> [Location]tab

raw:/var/lib/libvirt/images/vm01.img

/var/lib/libvirt/images/vm01.img

あと、そのまま閉じようとすると [Please enter Guest OS Flavor under General tab] って怒られるので、[General]tab の [Guest OS Flavor:] [Guest OS Name:] [Guest OS Version:] を適当に入れておく。

6.再度仮想ホストを起動すると、今度は正常に起動する。



 って、先に libvirtd で vmimage を作っていた場合は、ひとつずつConfigをインポートして、イメージの設定変更をしてあげないといけないのか...
てっきりConvirt は libvirt のAPIを使って色々管理していて、libvirtd で vmimage を既に作成している環境でも、インストールしてすぐに使えるのかと思ってた...

libvirtd で 作ったvmimage を一括で取り込むシェルなりを用意しないと、既存環境で使うのは大変ですね。
ちょっと考えよう。

0 件のコメント:

コメントを投稿