Fabricで召しませWebVirtMgr それっておいしいの?
さまり
GUIは入れたくないけど手軽に使えるKVM管理ツール的なものが欲しい(切実)。
http://www.linux-kvm.org/page/Management_Tools の中からUI TypeがWebかつLicenseがCommercialでないものを探しては、なんか違うなぁ、と思って生きてきた。
今回扱うWebVirtMgrは単にlibvirtを扱うWebUIで、機能はかなり絞られている。
最初にCLIで少し準備をして、起動と終了と画面転送だけ使う。といった具合に割り切る必要があるけど、 簡単なので使い方次第では丁度いいと思うんだ。
トポロジ
大体こういう感じ。一応、管理する側とされる側を分離してみる。まぁIPとかそういうのは適当でいいわ。
いや、ほら、なんか…PCの画像がオサレだったから…意味も無く描いただけで…はい…。
WebVirtMgr(Frontend)のインストール
Ubuntu 14.04 server amd64を使います。このノードには、仮想化機能があってもなくても良いです。
インストール方法は ここ に書いてあります。
で、実はインストール方法をだばーっと書こうと思っていたんです。
が、つい先日Fabricを用いたDeploy方法がマージされたらしく、明らかにこっちの方が楽でしょという感じなので、これを使います。
ではスタート(既にFabricをインストールした環境がある場合は、一部スキップできます):
|
|
- ログインユーザはsudoersである必要があります
- パスワードは必要な時に聞いてくれるので、fabコマンドと一緒に書く必要はありません(-p passwordみたいに)
- HTTP/HTTPS proxyのことは知らん。sudo -Eしたり/etc/environmentに書いたりしろ
少し待つと、DB初期化について対話形式になるので、適当に答える。アカウントはadmin/adminとかにしておきましょうかね。:
|
|
少し待てば完了。 http://<frontend-ip>/
にレッツアクセス。
KVM(Hypervisor)のインストール
今度は、IP経由でlibvirtdに接続できるように設定。これもUbuntu 14.04 server amd64を例にします。
公式ドキュメント参照: https://help.ubuntu.com/14.04/serverguide/virtualization.html
KVMインストール
|
|
/etc/libvirt/libvirtd.conf
|
|
/etc/default/libvirt-bin
|
|
TCP LISTENの確認(接続場所はどこからでも。今回はlocalhostでとりあえずチェック)
|
|
WebVirtMgrで設定
アクセスするとログイン画面が出るので、インストール時に設定したアカウントでログインする。今回はadmin/adminで作ったのでそれで。
[Add Host]から管理対象のハイパーバイザの登録。
auth_tcp = "none"
の場合でも、ユーザ名とパスワードには何か入れないといけない。ダミーで問題なし。
HDDっぽいアイコンをクリックして、ストレージ画面へ。
ただ、WebVirtMgrには仮想HDDの作成機能はあるけどメディアのアップロード機能は無いらしい。
そこで、普通にsshしてイメージファイルを置くか、イメージファイル置き場をNFSマウントとかして登録するか…とか色々あるんだけど、今回は普通にsshでログインして、メディアを置くことにする。:
|
|
これで、画面を更新すると、ストレージの参照画面から見えるようになった。
右上の[New Instance]から仮想マシンの作成(ここでは、適当なFlavorを選んでCreate)。
できた。
ではインストールをしてみよう。
まず、Settings->Mediaの[Connect]からCDを挿入する。
画面転送にはNoVNCを使用するので、デフォルトのキーボードマップが日本語の人は、jpに変えておく方が良いでしょう。
Access -> VNC Keymapから [Set Keymap]
で変更。
あとは電源を投入。
起動状態になったら、Access->VNC Consoleの[Console]ボタンで画面が転送されてくる。
- もし転送されてこない場合は、NoVNCが正しく動作していないか、ファイアウォールで止まっていないか確認しましょう。
初回起動時はsudo service webvirtmgr-novnc start
を自分で打っておかないとNoVNCが動作してない可能性があります。
あとは通常のOSインストール手順となるので割愛。まぁでも単にlibvirtの仲介してるだけなので、普通に動きます。
ありがたいこと
- 簡単
- 軽い
- FabricによるDeploy
- ごく基本的な動作に限っては十分に機能する
- NoVNCがちゃんと動く
- Snapshotが使える
- LiveMigrationが使える
- Hypervisorの環境があんまり汚れない
あーだこーだ
- (簡単に)CPUのFeature管理ができない
- (簡単に)メモリの量を後から細かく変更できない
- (簡単に)仮想マシンのNICを後から増やせない
- (簡単に)Open vSwitchには対応していないらしい
- 対応パッチ書いて投げたら取り込まれた ので、一応ブリッジとして使う位は出来ます。
- 「ポチポチすれば簡単にできる」わけではない、だけ
- 仮想マシン管理ページのSettings -> XMLを自分で編集すればできるので、Webから抜ける必要はない
openvswitchのポートをBRIDGEで作ってマシンを起動しようとすると、こんな感じで怒られます。
- BlockMigrationはできない
- ストレージにファイルをアップロードできない
- 自分で別途ファイルを置くか、ファイルが置いてあるストレージパスを登録するか、どちらにせよWeb以外の方法で実施
- 追加できるストレージプールタイプが少ない
- プロビジョニングツールとの連携は無い
- 単なるlibvirtのWebフロントエンドと考えると妥当
- SPICEは?
- 今のところ無さそう