glanceに既存イメージを取り込んで起動する方法について

320 views
Skip to first unread message

FamTom

unread,
Jul 7, 2015, 1:40:56 AM7/7/15
to openst...@googlegroups.com
こんにちは

glanceへVMwareやVirtualBoxに存在している既存の仮想環境をエクスポートして、
登録したいと思っているのですが、可能でしょうか?

調べている限りではやるべきではない、困難という情報が多く、
そのような使い方をするのは難しいのかなと思いこちらに質問をさせて頂きました。

実際に、既存の仮想環境からvmdkをとりだし、保存→インスタンスの起動まで行ってみましたがうまくいきませんでした。

Warning: Could not boot.

Warning: /dev/centos/root does not exist

Warning: /dev/centos/swap does not exist

Warning: /dev/mapper/centos-root does not exist


もし情報をお持ちの方がいらっしゃいましたら、

ご教示頂けますと幸いです。


失礼致します。

Naoto Gohko

unread,
Jul 8, 2015, 5:18:15 AM7/8/15
to openst...@googlegroups.com
FamTomさん

郷古です。

だいぶざっくりとしたお話なんで、自分の個人的な意見を書いてみます。

まず、この答えをこの情報だけでは出すことはできないと思いますよ。

理由を列挙しますと
 -1) まずは、Nova Compute nodeのHypervisorがなんなのか(local boot)、明確ではない (libvirt kvm, vSphere,  Hyper-V, LXC, etc.)
 -2) Cinderの 有無など、cinder bootする場合のvolume imageとして使うのかどうか

他にもありそうですが、nova compute nodeに限定しても Linux libvirt KVMのHypervisorでは
イメージ変換に "qemu-img" コマンドを使います。Cinderでのイメージ書き込みとかもそうですね。
libvirt xen(XenServerじゃないほう), hypver-vあたりもqemu-img.exeを使っていたような気がします。

qmeu-imgコマンドでのイメージ変換できる種類はOSまたはディストリビューションのバージョン、
に依存します。また、コマンドでできたとしても、その処理がないとできなかったりします。
(もちろん、イメージ展開の時にqemu-img convertする処理を追加したりすれば...)

また、nova computeでのハイパーバイザがどのイメージに対する処理が存在するのかといった
問題もあります。その辺は、ソースを読んでみるのが良いと思います。

ちょっとnovaでgrepしてみるとこんな感じですね (Juno)>
2nd-ConoHa-MacBook-Pro:dev-nova chroum$ grep -r "qemu-img" ./nova-stable-juno/ | grep "convert" | grep -v test
./nova-stable-juno//nova/virt/hyperv/vmops.py:               help='Path of qemu-img command which is used to convert '
./nova-stable-juno//nova/virt/images.py:    cmd = ('qemu-img', 'convert', '-O', out_format, source, dest)
./nova-stable-juno//nova/virt/libvirt/driver.py:                    utils.execute('qemu-img', 'convert', '-f', 'qcow2',
./nova-stable-juno//nova/virt/libvirt/driver.py:        utils.execute('qemu-img', 'convert', '-f', 'raw',
./nova-stable-juno//nova/virt/libvirt/driver.py:        utils.execute('qemu-img', 'convert', '-f', 'qcow2',
./nova-stable-juno//nova/virt/libvirt/utils.py:    qemu_img_cmd = ('qemu-img', 'convert', '-f', source_fmt, '-O', dest_fmt)

イメージ展開の時に、convertが入るのか、入らないのか、どのような条件でそのまま
使えるのか、compute nodeはどのような設定なのかとかとか。

なので、簡単に割り切ると、つかっているハイパーバイザで現在使っているイメージ形式が
一番良いということになります。

glanceが "Image service" という名称で、かつ他のサービスに対してシンプルなので、 
image convertとかimage validationとかあったらいいなと考えたことはありますが、
image uploadする前に、使っているハイパーバイザで動作確認してから、uploadした
ほうが心が安らかになると思い直しました :)

自分の場合、事前に、qemu-img convert, VBoxManage clonehd などのコマンドをつかって変換して、
KVMで動作確認してから使います。



2015年7月7日 14:40 FamTom <am....@gmail.com>:

--
このメールは Google グループのグループ「日本OpenStackユーザ会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには openstack-ja...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
----
Naoto Gohko (chr...@gmail.com)
Reply all
Reply to author
Forward
0 new messages