自宅サーバでは、kvmが動作しており、その管理にWebvirtmgrを使用していることは以前書きました。
結局VNCに接続できず、なんだかなあと思いながらも惰性で使っていたんですね。
すごくいいGUIを発見してしまったので、紹介します。

その名も、Kimchi


公式スライドの1ページ目がこれですからね。

ちなみに

キムチのお国製というわけではなさそうです。
別にキムチのお国が嫌いというわけではないですが、、、

特徴

「最近のkvm管理システムは、大規模を重視しすぎ!小規模でも使いやすいものを!」という思想のもと、開発されています。
よって、小規模環境、いわば、自宅サーバ環境に非常に使いやすい設計となっています。

以下、特徴です。

  • libvirtで動作
  • unixユーザで動作
  • テンプレートドリブンのマシン構築
  • RESTfull
  • NoVNCによる、ブラウザ上でのコンソール操作
  • 近未来的なインターフェース
  • 導入がとってもかんたん

libvirtで動作

kvmの管理ツールであるlivbirtを利用して動作します。
この点は、virt-managerや、webvirtmgrと同様ですね。

unixユーザで動作

新たにユーザを作成せずとも、unixのユーザでログインできます。
ユーザ管理が煩雑にならずにすみますね!

テンプレートドリブンのマシン構築

これが一番の特徴だと思います。
Kimchiでは、すべての仮想マシンをテンプレートから作成します。
初期状態では、テンプレートを作成する必要があるんですが、テンプレートの作成方法がなかなか面白くて、

  • ローカルISO
  • 既存ディスク
  • リモートISO

以上の3種類から選択します。
リモートISOとは、httpで公開されているISOを、ストリーミングで参照できる機能です。
これは便利ですね!

RESTfull

仮想マシンの状態を、RESTで引っ張ってきたりできるそうです。
例えば、

  • /vms で、vmのリストを取得
  • /vms/:vm_name で、vmの詳細を取得
  • /vms/:vm_name/iface で、vmのNIC情報を取得

などなど。jsonで出力されるそうです。

NoVNC

ConohaやOpenStackなどでも利用されている、VNC Over Httpツールです。(たぶん)
Javaの実装とは違い、Chromeでも実行できます。セキュリティ的にも問題ないそうです。

近未来的なインターフェース


かっこいい!

導入が簡単

Githubのとおりにやってれば、どこも引っかからずに終わります。
ブリッジ設定もやってくれるという素晴らしさ。

導入

Ubuntu 14.10で導入した手順を紹介します。

1. aptでmakeの準備

1
2
3
4
5
6
7
8
9
10
sudo apt-get install gcc make autoconf automake gettext git \
                       python-cherrypy3 python-cheetah python-libvirt \
                       libvirt-bin python-imaging \
                       python-pam python-m2crypto python-jsonschema \
                       qemu-kvm libtool python-psutil python-ethtool \
                       sosreport python-ipaddr python-ldap \
                       python-lxml nfs-common open-iscsi lvm2 xsltproc \
                       python-parted nginx \
                       firewalld python-guestfs libguestfs-tools \
                       websockify novnc spice-html5

2. プロジェクトをクローンする

あとで/usr/binにインストールされるので、クローンする場所はどこでもいいです。

1
git clone https://github.com/kimchi-project/kimchi.git

3. makeする

1
2
3
./autogen.sh --system
make
sudo make install

すると、/usr/binkimchidが格納されるはずです。

4. iptablesに穴を開ける

ポート8001番を開けておきましょう。

5. 起動する

1
sudo kimchid --host=192.168.xx.xxx

こうすることで、localhost以外からのアクセスも行えるようになります。
xxの場所には、サーバのIPアドレスの適切なものを入れてください。(わかってるでしょうが、、、)

6. アクセス!

https://192.168.xx.xxx:8001 にアクセスしましょう。
無事、アクセスできましたね!

まとめ

個人ユースのkvmフロントエンドの決定版だと思います。
まだまだ機能は少ないですが、頻繁に更新されているのであまり心配はなさそうです。
LDAP連携なんかもできるみたいです。中小企業のバックエンドなんかにも良さそうですね!
IBMのソフトらしく、Power8でも動作するそうです。お持ちの方はぜひ。

情報

https://github.com/kimchi-project/kimchi
http://www.linux-kvm.org/wiki/images/8/8f/Kvm-forum-2013-kimchi.pdf
http://2014.texaslinuxfest.org/sites/default/files/tlf_2014_kimchi-cloud.pdf